- •З дисципліни
- •1 Змістовий модуль 1. Лінійне та нелінійне програмування
- •Тема 1 «Введення в дисципліну. Побудова математичних моделей проблемних ситуацій»
- •1. Загальна методологія дослідження операцій
- •2. Модель операції, основні принципи її побудови
- •3. Методика проведення дослідження операцій
- •4. Типові класи задач дослідження операцій
- •Тема 2 «Задачі математичного програмування (мп)»
- •1. Загальна постановка задачі математичного програмування (мп)
- •2. Класифікація задач мп
- •3. Типи максимумів. Теорема Вейєрштрасса та теореми про достатні умови глобального максимуму
- •4. Специфіка задач математичного програмування
- •Тема 3 «Лінійне програмування»
- •1. Загальна постановка задачі лінійного програмування (злп)
- •2. Форми запису злп (загальна, стандартна, канонічна форми)
- •Приклади практичних задач лінійного програмування
- •Тема 4 «Геометрична інтерпретація злп»
- •1. Графічний метод розв'язання злп. Умови графічного розв'язання злп.
- •2. З’ясування основних особливостей та властивостей розв’язків злп за допомогою геометричної інтерпретації.
- •3. Основні етапи графічного розв'язання злп (Алгоритм геометричної інтерпретації злп)
- •Тема 5 «Симплексний метод розв'язування злп»
- •1. Аналітичні методи розв'язування злп
- •2. Ідея симплексного методу розв'язування злп
- •3. Основні теореми, на яких базується симплексний метод
- •4. Симплекс-алгоритм розв'язування невироджених злп
- •Тема 6 «злп з штучним базисом»
- •1. Ідея симплексного методу розв'язування злп із штучною базою
- •3. Алгоритм розв'язання злп із штучною базою
- •Тема 7 «Двоїстість. Двоїстість (спряженість) у лінійному програмуванні»
- •1. Поняття двоїстості в лінійному програмуванні
- •2. Основні теореми двоїстості та їх економічний зміст
- •Тема 8 «Спеціальні задачі мп. Спеціальні методи розв’язання злп»
- •Транспортна задача ( т-Задача) та її математична модель.
- •2. Методи визначення опорного плану т-Задачі
- •3. Методи розв’язання т-задач
- •Розв'язання т-задач методом потенціалів
- •Тема 9 «Параметричне програмування»
- •2. Моделі задач параметричного програмування
- •Тема 10 «Нелінійне програмування»
- •1. Загальна постановка задачі нелінійного програмування
- •2. Класичні умови екстремуму. Метод множників Лагранжа
- •4. Задача нелінійного програмування й сідлова точка
- •5. Умови Куна-Таккера для знп. Теорема Куна-Таккера
- •2 Змістовий модуль 2. Дискретне та стохастичне програмування
- •Тема 1 «Дискретне програмування»
- •1. Загальні характеристика дискретних задач
- •2. Класифікація задач дискретного програмування. Математичні моделі задач дискретного програмування
- •1. Як у загальному виді надається задача дискретного програмування?
- •Тема 2 «Клас цілочислових лінійних задач»
- •Особливості задач цілочисельне програмування. Моделі цзлп
- •Моделі цзлп
- •2. Метод відсікань (метод Гоморі) розв'язання зцлп
- •3.Комбінаторні методи розв’язування цзлп
- •4. Метод гілок та меж в задачах цілочислового програмування. Ідея методу гілок і меж, ознака оптимальності плану
- •Тема 3 «Динамічне програмування»
- •1. Загальна структура задач динамічного програмування
- •2. Принципи динамічного програмування. Принцип оптимальності Беллмана
- •3. Приклади задач динамічного програмування
- •Тема 4 «Стохастичне програмування»
- •1. Загальна характеристика задач стохастичного програмування. Методи розв’язання задач стохастичного програмування.
- •2. Приклади задач стохастичного програмування
- •3 Змістовий модуль 3. Методи оптимізації
- •Тема 1 «Методи оптимізації функцій, що диференціюються та що не диференціюються»
- •Тема 2 «Методи оптимізації в задачах великої розмірності та методи багатокритеріальної оптимізації»
- •1. Методи оптимізації багатовимірних задач
- •Градієнтні методи
- •Найшвидший підйом з використанням одномірного пошуку
- •Метод найшвидшого спуску
- •Метод Флетчера – Рівса
- •Метод Девідона – Флетчера – Пауела
- •Метод конфігурацій Хука – Дживса
- •Метод конфігурацій Розенброка
- •4 Навчально–методичні матеріали з дисципліни
Найшвидший підйом з використанням одномірного пошуку
В деяких методах пошуку інформація про градієнт використовується для ведення одномірного пошуку в напрямку найшвидшого підйому або спуску, причому використовується співвідношення
,
(3)
де
-
величина кроку, значення якого визначаються
в напрямку градієнта.
Отримавши одномірний оптимум в напрямку даного градієнта, знаходять новий градієнт і повторюють процес до тих пір, поки наступні обчислення дозволяють покращувати отриманий результат. Головна перевага цього метода полягає в тому, що параметр можна використовувати в якості незалежної змінної для пошуку за методом Фібоначчі, і це забезпечує високу ефективність метода. Інша важлива перевага методів, які розглядаються, полягає в тому, що вони дозволяють відходити від сідловин точок поверхні, яка описується цільовою функцією (рис. 1).
Рисунок 1 - Бімодальна цільова функція
Відмітимо, однак, що, як видно з рисунку, для мультимодальних функцій градієнтні методи дозволяють знайти лише локальний оптимум. Тому, якщо характер поверхні недостатньо добре відомий, то слід випробувати декілька початкових точок і переконатися, що в усіх випадках отримується одне й те ж оптимальне рішення. Іншою причиною, яка знижує ефективність градієнтних методів, являються злами ліній рівня цільової функції. Так як такі точки відповідають розриву в нахилі лінії контура, то тут можливі помилки в визначенні напрямку подальшого пошуку. Тому пошук може уповільнитися і іти зигзагами поперек лінії зламу, а час необхідний для отримання рішення, буде на стільки великим, що рахунок прийдеться припинити. В дійсності більшість досліджуємих поверхонь має одну або більше ліній зламу, які нерідко проходять через точку оптимуму. Тому, наткнувшись на лінію зламу, слід в подальшому рухатися вздовж неї.
Метод найшвидшого спуску
Даний метод заснований на використанні ітераційної формули
,
де
,
причому усі похідні обчислюються при
;
- величина кроку, значення якого змінюється (зменшується або обчислюється) методом половинного ділення.
Алгоритм методу найшвидшого спуску:
1.
Обираємо початкові значення координат
вектора
і
початкові значення кроку ітераційного
процесу
,
які звичайно обираються з умов розв’язуємої
конкретної задачі. Хоча загальних правил
вибору
немає,
однак якщо є додаткова інформація про
область розташування мінімуму цільової
функції, то
обираємо
в цій області.
2. Задаємо номер ітерації к = 1.
3. Обчислюємо значення цільової функції в точці з координатами .
4.
Обчислюємо значення градієнта
.
5. Обчислюємо норму вектора градієнта NG.
6. Якщо
|NG| < заданої
,
то ітераційний процес закінчується і
оптимум знайдений.
7. Якщо
умова |NG| <
не
виконується, то визначаються нові
координати вектора
,
які отримуються при русі до мінімуму
цільової функції з кроком
(рис.
14.5).
8.
Порівнюємо два значення цільової функції
в двох точках з координатами векторів
і
за
формулою
,
(4)
Рисунок 2– Послідовність руху до мінімуму з заданим кроком
9. Якщо
умова не виконується, то крок був вибраний
невірно, тобто з цим кроком перескочили
через оптимум і крок потрібно зменшити,
наприклад в два рази
і
переходимо до пункту 7 (рис. 2).
10. Якщо умова (4) виконується, то запам’ятовуємо координати вектора і переходимо до пункту 4.
Схема алгоритму описаного методу представлена на рис. 3.
