Нелінійне програмування - що це таке, визначення та поняття

Зміст:

Anonim

Нелінійне програмування - це метод, за допомогою якого цільова функція оптимізується або шляхом максимізації, або мінімізації. Це з урахуванням різних наведених обмежень. Він характеризується тим, що цільова функція або деякі обмеження можуть бути нелінійними.

Отже, нелінійне програмування - це процес, коли функція, яку слід максимізувати, або будь-яке з обмежень відрізняється від лінійного рівняння або рівняння першого ступеня, коли змінні піднімаються до рівня 1.

Треба пам’ятати, що лінійне рівняння - це математична рівність, яка може мати одну або кілька невідомих. Таким чином, він має наступну основну форму, де a і b - константи, тоді як x і y - змінні:

сокира + b = y

Слід додати, що не всі елементи, що складають цей тип програмування, будуть відповідати цій характеристиці. Наприклад, може бути, що цільова функція є рівнянням другого ступеня, а одна зі змінних має квадрат, виконуючи наступну форму:

y = сокира2+ bx + c

Тепер за допомогою нелінійного програмування цю функцію можна оптимізувати, знаходячи максимальне або мінімальне значення y. Це, беручи до уваги, що x підпадає під певні обмеження.

Елементи нелінійного програмування

Основними елементами нелінійного програмування є наступні:

  • Завдання: Це функція, яка оптимізована, або шляхом максимізації, або мінімізації її результату.
  • Обмеження: Це ті умови, яким необхідно дотримуватися при оптимізації цільової функції. Це можуть бути алгебраїчні рівняння або нерівності.

Вправа з нелінійного програмування

Подивимось, на закінчення, вправа з нелінійного програмування.

Припустимо, ми маємо таку функцію:

y = 25 + 10x-x2

Ми також маємо таке обмеження:

y = 50-3x

Як ми бачимо на графіку, цільова функція та обмеження перетинаються в двох точках, але де максимум максимізується, коли x = 2,3, де y = 43 (десяткові цифри є приблизними).

Точки відсікання можна знайти, прирівнявши обидва рівняння:

25 + 10x-x2= 50-3x

0 = х2-13x + 25

Тоді квадратичне рівняння має два розв’язки або корені, які можна знайти за такими формулами, де a = 1, b = -13 та c = 25.

Таким чином, ми знаходимо, що x1 = 2,3467 (y = 43) і x2 = 10,653 (y = 18).

Ми повинні попередити, що цей тип програмування є більш складним, ніж лінійний, і в Інтернеті не так багато інструментів для вирішення цього типу оптимізації. Наведений приклад - дуже спрощений випадок.