- •Навчальне видання Вітлінський Вальдемар Володимирович Наконечний Степан Ількович терещенко Тетяна Опанасівна математичне програмування
- •03680, М. Київ, просп. Перемоги, 54/1
- •Рекомендована література 245
- •1.1. Предмет курсу «математичне програмування»
- •Тема 1. Предмет, особливості та сфери застосування математичного програмування в економіці. Класифікація задач
- •Тема 9. Задачі динамічного програмування
- •Розділ 2
- •2.1. Загальна математична модель лінійного програмування
- •Приклад 2.1.
- •2.2. Форми запису задач лп
- •2.3. Геометрична інтерпретація злп
- •2.5. Графічний метод розв’язування задач лінійного програмування
- •Задача 2.1.
- •Задача 2.2.
- •Задача 2.3.
- •Задача 2.4.
- •2.5.3. Приклади та завдання для самостійної роботи
- •Задача 2.5.
- •Задача 2.6.
- •Задача 2.7.
- •Задача 2.8.
- •Задача 2.9.
- •Задача 2.35.
- •Задача 2.36.
- •§ 2.6. Симплексний метод розв’язування задач лп
- •Задача 2.41.
- •Задача 2.42.
- •Задача 2.43.
- •Задача 2.44.
- •2.6.3. Приклади та завдання для самостійної роботи
- •Задача 2.45.
- •Задача 2.46.
- •Задача 2.47.
- •Задача 2.48.
- •Задача 2.49.
- •2 .8. Контрольні запитання
- •2.9. Теми рефератів
- •2 .10. Основні терміни та поняття
- •Тема 10. Моделі та методи стохастичного програмування
- •Тема 11. Елементи теорії ігор
- •Розділ 3 двоїстість у лінійному програмуванні
- •3.2. Теореми двоїстості
- •3.3. Навчальні завдання
- •Задача 3.1.
- •Задача 3.2.
- •Задача 3.3.
- •3 .6. Контрольні запитання
- •3 .7. Теми рефератів
- •4.1. Економічна інтерпретація двоїстої задачі
- •4.2. Навчальні завдання
- •Задача 4.1.
- •Задача 4.2.
- •Задача 4.3.
- •Задача 4.4.
- •Задача 4.5.
- •Задача 4.6.
- •Задача 4.7.
- •Задача 4.8.
- •Задача 4.9.
- •Задача 4.10.
- •Задача 4.11.
- •Задача 4.12.
- •Задача 4.13.
- •Задача 4.20.
- •Задача 4.21.
- •4.4. Заключні зауваження
- •5.2. Метод потенціалів
- •5.3. Навчальні завдання
- •Задача 5.1.
- •Задача 5.2.
- •Задача 5.3.
- •Задача 5.4.
- •Задача 5.37.
- •Задача 5.38.
- •Задача 5.39.
- •Задача 5.40.
- •5.5. Заключні зауваження
- •5.6. Контрольні запитання
- •5 .7. Теми рефератів
- •5 .8. Основні терміни та поняття
- •4.5. Контрольні запитання
- •4 .6. Теми рефератів
- •4 .7. Основні терміни та поняття
- •Розділ 6
- •6.1. Цілочислове програмування
- •6.1.1. Постановка задачі
- •6.1.2. Метод Гоморі
- •Задача 6.1.
- •6.1.3. Метод «віток і меж»
- •6.1.4. Приклади цілочислових економічних задач
- •Задача 6.2.
- •Задача 6.3.
- •Задача 6.4.
- •Задача 6.5.
- •Задача 6.6.
- •6.1.5. Приклади та завдання для самостійної роботи
- •Задача 6.7.
- •Задача 6.8.
- •Задача 6.9.
- •Задача 6.10.
- •Задача 6.11.
- •Задача 6.11.
- •Задача 6.11.
- •2) Максимізації комплектів, до яких деталі входять відповідно 6.2. Дробово-лінійне програмування
- •6.2.1. Постановка задачі та алгоритм розв’язування
- •6.2.2. Приклади дробово-лінійних задач
- •Задача 6.14.
- •Задача 6.15.
- •Задача 6.16.
- •6.2.3. Приклади та завдання для самостійної роботи
- •Задача 6.17.
- •Задача 6.18.
- •6.3. Нелінійне програмування
- •6.3.1. Постановка задачі
- •6.3.2. Труднощі розв’язування задач нелінійного програмування
- •6.3.3. Метод множників Лагранжа
- •Задача 6.19.
- •6.3.4. Приклади задач нелінійного програмування
- •Задача 6.20.
- •6.3.5. Приклади та завдання для самостійної роботи
- •Задача 6.21.
- •Задача 6.22.
- •6.4. Динамічне програмування
- •6.4.2. Методика розв’язування динамічних задач
- •6.4.3. Приклади розв’язування динамічних задач
- •Задача 6.23.
- •Задача 6.24.
- •6.4.4. Приклади та завдання для самостійної роботи
- •Задача 6.25.
- •Задача 6.26.
- •Задача 6.27.
- •Задача 6.28.
- •Задача 6.29.
- •Задача 6.30.
- •Задача 6.31.
- •Задача 6.32.
- •Задача 6.33.
- •6.5 Теорія ігор
- •6.5.1. Основні поняття теорії ігор
- •Задача 6.34.
- •Задача 6.35.
- •6.5.3. Приклади та завдання для самостійної роботи
- •Задача 6.36.
- •6.6. Стохастичне програмування
- •6.6.1 Постановка задач і методи розв’язування
- •6.6.2. Приклади стохастичних економічних задач
- •Задача 6.37.
- •Задача 6.38.
- •Задача 6.39.
- •Задача 6.40.
- •Задача 6.41.
- •Задача 6.42.
- •Задача 6.43.
- •6.6.3. Приклади та завдання для самостійної роботи
- •Задача 6.44.
- •Задача 6.45.
- •Задача 6.46.
- •Задача 6.45.
- •Задача 6.46.
- •6.7. Заключні зауваження
- •6.8. Контрольні запитання
- •6 .9. Теми рефератів
- •6 .10. Основні терміни та поняття
6.3.2. Труднощі розв’язування задач нелінійного програмування
Задачу нелінійного програмування намагаються звести до лінійного вигляду. Проте в такому разі можливі значні похибки. Нехай, наприклад, собівартість продукції y визначено як функцію , де х — обсяги виробництва. Ввівши заміну , дістанемо лінійну залежність . За такої заміни похибки немає. А коли , то заміна цієї залежності деякою лінійною функцією призводить до значних похибок, що ілюструє рис. 6.3.
Рис. 6.3.
У точках х1 і х3 значення собівартості для обох розглядуваних функцій однакові, але в усіх інших точках ці значення відрізняються, причому в точці х2 значною мірою:
.
Отже, лінеаризація нелінійних процесів є досить складною математичною задачею.
Для лінійних задач можна завжди знайти оптимальний розв’язок універсальним методом — симплексним. При цьому немає проблеми з доведенням існування такого розв’язку. Адже в результаті розв’язування задачі симплексним методом завжди дістаємо один із варіантів відповіді: 1) знайдено розв’язок; 2) задача суперечлива, тобто її розв’язку не існує; 3) цільова функція не- обмежена, отже, розв’язку також немає.
Для задач нелінійного програмування не існує універсального методу розв’язування, тому щоразу слід доводити існування розв’язку задачі, а також його єдиність. Це досить складна математична задача.
Відомі точні методи розв’язування нелінійних задач, але при цьому постають труднощі обчислювального характеру. Навіть для сучасних ПЕОМ відповідні алгоритми є доволі трудомісткими.
Для розв’язування нелінійних задач застосовують наближені методи, стикаючись із проблемою локальних і глобальних оптимумів. Наприклад, на рис. 6.4. маємо на відрізку локальні оптимуми в точках х0, х1, х2, х3, х4, х5, х6, х7, х8, х9, а глобальний — у точці х4 і х6.
Рис. 6.4
Більшість наближених методів дають змогу знаходити локальний оптимум. Визначивши всі локальні оптимуми, методом порівняння можна знайти глобальний. Проте для практичних розрахунків такий метод не є ефективним. Часто наближені методи не «вловлюють» глобального оптимуму, зокрема тоді, коли глобальний оптимум лежить досить близько до локального. Якщо відрізок [x0, x10] розіб’ємо на десять підвідрізків і глобальний оптимум потрапить у відрізок [xi, xi+1] (див. рис. 6.4), а ліворуч від xi та праворуч від xi+1 крива y = f (x) підніматиметься, то глобальний оптимум буде пропущеним. Звернемо увагу ще на один дуже важливий момент. У задачах лінійного програмування точка оптимуму завжди була граничною. Для нелінійних задач точка, яка є оптимальним планом, може бути граничною або такою, що міститься всередині допустимої області розв’язків (планів).
6.3.3. Метод множників Лагранжа
Для розв’язування задач нелінійного програмування не існує, як уже зазначалося, універсального методу, а тому доводиться застосовувати багато методів і обчислювальних алгоритмів, які ґрунтуються, здебільшого, на теорії диференціального числення, і вибір їх залежить від конкретної постановки задачі та форми економіко-математичної моделі.
Методи нелінійного програмування бувають прямі та непрямі. Прямими методами оптимальні розв’язки відшукують у напрямку найшвидшого збільшення (зменшення) цільової функції. Типовими для цієї групи методів є градієнтні. Непрямі методи полягають у зведенні задачі до такої, знаходження оптимуму якої вдається спростити. До них належать, насамперед, найбільш розроблені методи квадратичного та сепарабельного програмування.
Оптимізаційні задачі, на змінні яких не накладаються обмеження, розв’язують методами класичної математики. Оптимізацію з обмеженнями-рівностями виконують методами зведеного градієнта, скажімо методом Якобі, та множників Лагранжа. У задачах оптимізації з обмеженнями-нерівностями досліджують необхідні та достатні умови існування екстремуму Куна—Таккера.
Розглянемо метод множників Лагранжа на прикладі такої задачі нелінійного програмування:
(6.15)
за умов
(6.16)
,
де функції і диференційовані.
Ідея методу множників Лагранжа полягає в заміні даної задачі простішою: на знаходження екстремуму складнішої функції, але без обмежень. Ця функція називається функцією Лагранжа і подається у вигляді:
(6.17)
де λі — не визначені поки що величини, так звані множники Лагранжа.
Знайшовши частинні похідні функції L за всіма змінними і прирівнявши їх до нуля:
запишемо систему
(6.18)
що є, як правило, нелінійною.
Розв’язавши цю систему, знайдемо і — стаціонарні точки. Оскільки їх визначено з необхідної умови екстремуму, то в них можливий максимум або мінімум. Іноді стаціонарна точка є точкою перегину (сідлова точка). Отже, для визначення достатніх умов екстремуму та діагностування його типу існує спеціальний алгоритм [15].
Розв’яжемо методом множників Лагранжа наведену далі задачу.