Нелинейное программирование - что это такое, определение и понятие

Содержание:

Anonim

Нелинейное программирование - это метод оптимизации целевой функции путем максимизации или минимизации. Это с учетом различных ограничений. Он характеризуется тем, что целевая функция или некоторые ограничения могут быть нелинейными.

Таким образом, нелинейное программирование - это процесс, в котором функция, которая должна быть максимизирована, или любое из ограничений отличается от линейного уравнения или уравнения первой степени, в котором переменные возведены в степень 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).

Мы должны предупредить, что этот тип программирования более сложен, чем линейный, и в Интернете не так много инструментов для решения этого типа оптимизации. Показанный пример представляет собой очень упрощенный случай.