
- •8.1. Основні поняття теорії графів
- •8.2. Засоби завдання графів. Зважені графи та мережі
- •8.3. Потоки на мережах. Поняття розрізу
- •8.4. Задача про максимальний потік
- •Загальна постановка
- •8.4.2. Алгоритм Форда-Фалкерсона
- •8.4.3 Приклад
- •8.5. Задача про найкоротшу відстань
- •8.5.1. Загальна постановка
- •8.5.2. Алгоритм розв’язування
- •8.5.3. Приклад
- •8.6. Транспортна задача у сітьовій постановці
- •Висновки
- •Контрольні запитання
- •9.1. Властивості нелінійних задач
- •9.2. Деякі поняття та визначення
- •9.3. Задачі опуклого програмування
- •9.4. Аналіз цільової функції на екстремум
- •9.5. Алгоритми розв’язку найпростіших нелінійних задач
- •9.5.1 Метод множників Лагранжа
- •9.5.2. Градієнтні методи
- •Висновки
- •Контрольні запитання
- •Список літератури
- •Основні поняття теорії графів.....................................................193
Висновки
Теорія графів в частиною загальної теорії дискретної математики.
Для ряду прикладних задач ефективно використовувати спеціальні методи теорії графів, які враховують особливості структури сітьових постановок. Математичний апарат теорії графів дозволяє розв’язувати задачі, які пов’язані з питаннями максимізації обсягів перевезення вантажу, знаходженням найкоротшої відстані постачання вантажу, оптимізацією структур, взаємозв’язків між елементами та ін.
Методи розв’язування задач у сітьовій постановці мають форму рекурсивних обчислювань, що легко піддається процесу алгоритмізації та реалізації розв’язування таких задач на ЕОМ.
Контрольні запитання
Які зустрічаються типи графів?
Що таке ізоморфність графів?
Які існують відображення графів?
Що таке зважений граф?
Що таке розріз мережі?
Яка основна ідея методи Форда-Фалкерсона?
Що таке максимальний потік мережі?
На чому базується метод розв’язування задачі про найкоротшу відстань?
РОЗДІЛ 9
НЕЛІНІЙНЕ ПРОГРАМУВАННЯ
9.1. Властивості нелінійних задач
У процесі дослідження задач планування та керування економічними явищами зустрічаються задачі з нелінійними залежностями. При цьому припущення про лінійні залежності і згідно з цим використання методів лінійного програмування для цих задач, приводить до того, що такий розв’язок, як правило не відповідає оптимальному варіанту.
Тому задачі, які мають або обмеження, або цільову функцію, або те і друге разом у вигляді нелінійних залежностей, виділяються до окремого класу задач, для якого існує низка спеціальних методів розв’язування, які об’єднуються до класу задач нелінійного програмування.
Ці методи поки що знаходяться у процесі розвитку, тому використання їх обмежене, оскільки за нашого часу знайдено ефективні методи тільки для окремих груп задач оптимізації нелінійного типу, тобто універсального алгоритму розв’язування задач нелінійного програмування не існує.
Найчіткіше
розроблено методи розв’язування
нелінійних задач з
опуклою областю допустимих розв’язків
та увігнутою чи опуклою цільовою
функцією
,
тому що в таких задачах глобальний
екстремум
завжди збігається з локальним. Такі
задачі складають клас задач опуклого
програмування і
є частковим випадком задач нелінійного
програмування.
Загальний вигляд математичної моделі нелінійного типу такий:
де
та усі
,
або хоча б одне з них має нелінійну
залежність.
За мірою важкості задачі нелінійного програмування можна класифікувати, наприклад, як показано на рис. 9.1.
З адачі нелінійного програмування
Опукле програмування
Неопукле
програмування
Без обмежень
З обмеженнями
Квадратична
цільова
функція
Неквадратична
цільова функція
З лінійними
обмеженнями
З нелінійними
обмеженнями
Квадратична
цільова функція
Неквадратична
цільова функція
напрям
зростаючої важкості розв’язування
задач.
Рис. 9.1
У процесі роз’вязування задач нелінійного програмування зустрічаються значні перешкоди, пов’язані з такими властивостями нелінійних задач.
Наявність множини локальних точок екстремуму поряд з глобальними. При цьому з’являється небезпечність прийняття одного з локальних екстремумів за глобальний, наприклад, геометрично це має вигляд, як зображено на рис. 9.2.
20
50
30
40
40
30
20
40
30
20
Рис. 9.2
На рис. 9.2. є кілька точок, де похідна дорівнює нулю. На жаль, це є необхідна, але не достатня умова існування глобального оптимуму.
Оптимальний розв’язок нелінійних задач може розміщуватися не тільки на межі або у крайніх точках області допустимих розв’язків, а й усередині цієї області.
О
бласть допустимих розв’язків у нелінійних задачах може мати незв’язані підобласті, тобто розпадатися на кілька окремих частин, наприклад, як на рис. 9.3.
Рис. 9.3
Методи розв’язування нелінійних задач опуклого характеру можна поділити на дві групи. При цьому кожний з розроблених методів розв’язування використовується тільки для певного типу нелінійних задач.
До першої групи згруповуються методи, що зводяться до розв’язування за допомогою безумовної оптимізації. У цьому випадку розв’язок задачі знаходиться як межа послідовності безумовних екстремумів за допомогою спеціально складених допоміжних функцій. До них відносять метод штрафних функцій, метод центрів, метод множників Лагранжа.
Для знаходження стаціонарної точки цими методами треба розв’язати п рівнянь з п змінними. Проте така система складається з ряду нелінійних рівнянь, а тому розв’язування такої системи є складною самостійною задачею. Крім того, задачі, що зустрічаються на практиці, мають цільову функцію не завжди диференційовну, що також утруднює процес розв’язування задачі,
До
другої групи входять методи, що базуються
на ідеї поступового
наближення до точки екстремуму. При
цьому
має виконуватися умова монотонної
зміни цільової функції
,
якщо
і
навпаки,
якщо
.
Такі методи розв’язування
нелінійних задач
називають ітеративними.
Основним класом цієї групи є градієнтні методи: метод покоординатного спуску (метод Гаусса-Зейделя), метод крутого сходу (метод Бокса-Уілсона) або метод найшвидшого спуску та інші.
Треба зауважити, що такий розподіл методів надто умовний.
У випадку, коли для задач нелінійного програмування не вдається побудувати ефективний алгоритм розв’язування, то іноді використовують деякі штучні підходи:
1) зведення нелінійної задачі до задачі лінійного програмування, якщо це можливо, не впливаючи на точність і зміст розв’язку; це має місце у випадках слабкої нелінійної залежності;
2) зведення нелінійної задачі до структури багатокрокових задач, що дозволяє використовувати метод динамічного програмування.