Нелинейное программирование - это метод оптимизации целевой функции путем максимизации или минимизации. Это с учетом различных ограничений. Он характеризуется тем, что целевая функция или некоторые ограничения могут быть нелинейными.
Таким образом, нелинейное программирование - это процесс, в котором функция, которая должна быть максимизирована, или любое из ограничений отличается от линейного уравнения или уравнения первой степени, в котором переменные возведены в степень 1.
Мы должны помнить, что линейное уравнение - это математическое равенство, которое может иметь одну или несколько неизвестных. Таким образом, он имеет следующую базовую форму, где a и b - константы, а x и y - переменные:
ах + Ь = у
Следует добавить, что не все элементы, составляющие этот тип программирования, будут соответствовать этой характеристике. Например, целевая функция может быть уравнением второй степени, а одна из переменных возведена в квадрат, что соответствует следующей форме:
у = топор2+ bx + c
Теперь с помощью нелинейного программирования эту функцию можно оптимизировать, найдя максимальное или минимальное значение y. Это с учетом того, что x имеет определенные ограничения.
Элементы нелинейного программирования
Основными элементами нелинейного программирования являются:
- Целевая функция: Это функция, которая оптимизируется путем максимизации или минимизации ее результата.
- Ограничения: Это те условия, которые необходимо соблюдать при оптимизации целевой функции. Это могут быть алгебраические уравнения или неравенства.
Упражнение по нелинейному программированию
В заключение рассмотрим упражнение по нелинейному программированию.
Предположим, у нас есть следующая функция:
у = 25 + 10х-х2
Также у нас есть следующее ограничение:
у = 50-3x
Как видно на графике, целевая функция и ограничение пересекаются в двух точках, но максимальное значение y происходит при x = 2.3, где y = 43 (десятичные дроби являются приблизительными).
Точки отсечения можно найти, приравняв оба уравнения:
25 + 10х-х2= 50-3x
0 = х2-13x + 25
Тогда квадратное уравнение, приведенное выше, имеет два решения или корня, которые можно найти с помощью следующих формул, где a = 1, b = -13 и c = 25.
Таким образом, получаем, что x1 = 2,3467 (y = 43) и x2 = 10,653 (y = 18).
Мы должны предупредить, что этот тип программирования более сложен, чем линейный, и в Интернете не так много инструментов для решения этого типа оптимизации. Показанный пример представляет собой очень упрощенный случай.