- •Предмет оптимізаційних економіко-математичних методів і моделей. Загальна постановка задачі математичного програмування. Класифікація задач математичного програмування
- •Класифікація задач математичного програмування
- •Приклади моделей лінійного програмування
- •Загальна задача лінійного програмування
- •Форми запису та геометрична інтерпретація задач лінійного програмування
- •Основні властивості розв’язків задач лінійного програмування
- •Графічний метод розв’язування задач лінійного програмування
- •Канонічна задача лінійного програмування
- •Перехід від одного опорного плану задачі лінійного програмування до іншого
- •Оптимальний розв’язок задачі лінійного програмування. Критерій оптимальності плану
- •10. Розв’язування задачі лінійного програмування симплексним методом
- •11. Метод штучного базису
- •12. Економічна інтерпретація прямої та двоїстої задач лінійного програмування
- •13. Означення та правила побудови двоїстих задач
- •14. Основні теореми двоїстості та їх економічний зміст
- •15. Двоїстий симплексний метод
- •16. Економічна і математична постановка транспортної задачі
- •17. Умова існування розв’язку та Властивості опорних планів транспортної задачі
- •18. Методи побудови опорного плану транспортної задачі
- •19. Двоїстий критерій оптимальності розв’язку транспортної задачі
- •20. Метод потенціалів розв’язування транспортної задачі
- •21. Економічна і математична постановка цілочислової задачі лінійного програмування. Геометрична інтерпретація
- •22. Методи відтинання. Метод Гоморі
- •23. Комбінаторні методи. Метод гілок та меж
- •24. Економічна і математична постановка задачі нелінійного програмування
- •25. Класичний метод оптимізації. Метод множників Лагранжа
- •26. Необхідні умови існування сідлової точки
- •27. Теорема Куна–Таккера
- •28. Опукле програмування
- •29. Квадратичне програмування
- •30. Градієнтний метод
- •31. Економічна сутність задач динамічного програмування
- •32. Задача про розподіл капіталовкладень між двома підприємствами на n років
- •33. Метод рекурентних співвідношень
- •34. Задача про розподіл капіталовкладень між підприємствами
- •35. Багатокроковий процес прийняття рішень
29. Квадратичне програмування
Окремою частиною задач опуклого програмування є задачі квадратичного програмування. До них належать задачі, які мають лінійні обмеження, а функціонал являє собою суму лінійної і квадратичної функцій:
Квадратична функція n змінних називається квадратичною формою і може бути подана у вигляді:
,
де
,
,
,
причому
матриця С завжди симетрична, тобто
для всіх
.
Квадратична форма Z(X) називається від’ємно означеною, якщо для всіх Х, крім Х = 0, значення Z(X) < 0 (якщо Z(X) ≤ 0, то маємо від’ємно напівозначену квадратичну форму), у протилежному разі Z(X) є додатно означеною (якщо Z(X) ≥ 0, то маємо додатно напівозначену квадратичну форму). Квадратична форма Z(X) називається неозначеною, якщо вона додатна для одних значень Х і від’ємна для інших. Зазначимо, що відомим з теорії аналізу функцій є таке твердження: від’ємно означена квадратична форма є угнутою, а додатно означена – опуклою.
Розглянемо випадок від’ємно означеної квадратичної форми, що входить у цільову функцію задачі квадратичного програмування.
max
, (7.34)
; (7.35)
. (7.36)
Оскільки цільова функція задачі є опуклою, а обмеження – лінійні, тобто визначають опуклу множину допустимих розв’язків, то ця задача належить до задач опуклого програмування, для яких справджується твердження, що будь-який локальний максимум є і глобальним. Отже, використовуючи умови теореми Куна – Таккера для задачі (7.34)–(7.36), отримаємо необхідні та достатні умови оптимальності плану у вигляді такої теореми.
Теорема 7.6. Вектор
Х* є оптимальним розв’язком
задачі квадратичного програмування
тоді, і тільки тоді, коли існують такі
m-вимірні вектори
і n-вимірний вектор
,
що виконуються умови:
(І)
,
; (7.37)
(ІІ)
,
; (7.38)
(ІІІ)
,
; (7.39)
(ІV)
,
. (7.40)
Наведену теорему можна використати для побудови ефективного методу розв’язування задач квадратичного програмування на основі алгоритму симплексного методу.
30. Градієнтний метод
Градієнтні методи належать до наближених методів розв’язування задач нелінійного програмування і дають лише певне наближення до екстремуму. Зрозуміло, що градієнтні методи дають змогу знаходити точки глобального екстремуму тільки для задач опуклого програмування, де локальний і глобальний екстремуми збігаються.
В основі градієнтних методів лежить основна властивість градієнта диференційовної функції – визначати напрям найшвидшого зростання цієї функції. Ідея методу полягає у переході від однієї точки до іншої в напрямку градієнта з деяким наперед заданим кроком.
метод Франка – Вульфа, процедура якого передбачає визначення оптимального плану задачі шляхом перебору розв’язків, які є допустимими планами задачі.
Нехай необхідно відшукати
;
Допустимо, що Х0 – початкова точка, що належить множині допустимих планів даної задачі. В деякому околі цієї точки нелінійну цільову функцію замінюють лінійною і потім розв’язують задачу лінійного програмування. Нехай розв’язок лінійної задачі дав значення цільової функції F0, тоді з точки Х0 в напрямку F0 необхідно рухатись доти, поки не припиниться зростання цільової функції. Тобто у зазначеному напрямку вибирають наступну точку Х1, цільова функція знову замінюється на лінійну, і знову розв’язується задача лінійного програмування.
Розглянемо детальніше перехід від k-ої ітерації методу до (k + 1)-ої ітерації.
Припустимо, що відома точка Xk, яка належить області допустимих розв’язків. У даній точці обчислюємо градієнт цільової функції:
.
Замінюємо цільову функцію задачі лінійною функцією виду:
.
Потім розв’язуємо задачу лінійного програмування з обмеженнями початкової задачі і новою цільовою функцією:
за умов: ;
.
З початкової точки
(розвязок)
в напрямку
рухаємося з деяким довільним кроком
,
визначаючи координати нової точки
у такий спосіб:
Зауважимо, що значення
параметра
доцільно вибирати таким, що дає найбільше
значення цільової функції початкової
задачі
.
Для точки Хk+1 повторюємо розглянутий процес, для чого знову розраховуємо значення градієнта і т. д.
У такий спосіб знаходимо
послідовність точок
,
які поступово наближаються до оптимального
плану початкової задачі. Ітераційний
процес повторюється до того моменту,
поки значення градієнта цільової функції
не стане рівним нулю або виконуватиметься
умова
,
де
– досить мале число, яке означає потрібну
точність обчислень.
