Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по ДО.doc
Скачиваний:
13
Добавлен:
26.10.2018
Размер:
1.56 Mб
Скачать

24. Дискретне програмування. Загальна задача, її різновиди та особливості

Дискретне програмування, як один з напрямів математичного програмування, виник у зв’язку з необхідністю знаходження екстремуму функції на множині дискретних значень змінних.

Сформулюємо загальну задачу дискретного програмування: знайти екстремум функції

(4.1.1)

за умов

, (4.1.2)

. (4.1.3)

Задача (4.1.1)-(4.1.3) відрізняється від загальної задачі математичного програмування наявністю умови (4.1.3), яка означає, що значення змінних мають вибиратися з дискретної множини . Наприклад, множина може бути деякою скінченою множиною, або множиною цілих чисел.

Якщо змінні у задачі повинні бути цілими, тоді дискретну задачу називають задачею цілочисельного програмування. Якщо всі змінні – цілі числа, тоді задача повністю цілочисельна. Якщо тільки частина змінних – цілі числа, тоді – частково цілочисельна задача.

Серед задач дискретного програмування є такі, в яких змінні можуть набувати значень тільки 0 або 1. Такі задачі називаються задачами з булевими змінними.

Крім задач цілочисельного програмування існують дискретні задачі, в яких множина допустимих значень змінних є скінченою даною множиною, тобто

,

де .

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

25. Класифікація методів дискретного програмування, їх характеристика.

Всі методи дискретного програмування можна поділити на три основні групи.

Перша група — методи відтинання. Ідея цих методів полягає в наступному: відкидаємо умову дискретності змінних і розв’язуємо ЗЛП. Якщо одержаний розв’язок задовольняє умові дискретності, тоді задача розв’язана. Якщо це не так, тоді необхідно виконати перехід до цілочисельного розв’язку. Цей перехід не може бути досягнутий простим заокругленням компонент одержаного нецілочисельного розв’язку.

Таким чином, указаний перехід від нецілочисельного до цілочисельного розв’язку задачі складає саме суть цієї групи методів. Реалізація такого підходу полягає у побудові додаткового обмеження, яке б відтинало отриманий нецілочисельний розв’язок і одночасно задовольняло би будь-якому цілочисельному розв’язку задачі. Таке додаткове обмеження називається правильним відтинанням. Потім розв’язується отримана розширена задача. У випадку необхідності додається ще одне обмеження і так далі. Процес повторюється до отримання розв’язку з відповідними властивостями цілочисельності. Таким чином, розв’язок задач дискретного програмування методами відтинання зводиться до розв’язування послідовності задач лінійного програмування.

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

Друга група методів - комбінаторні методи. Методи цієї групи спираються на скінченність числа допустимих планів задачі і засновані на ідеї перебору, але не простого, а обмеженого, з відсіюванням множин неперспективних допустимих планів. Одним з ефективних методів комбінаторного типу є метод гілок та меж. Конкретизацією цього методу для задачі комівояжера є алгоритм Літтла, Мурті, Суїні та Керола. Ідейно близький до методу гілок та меж адитивний алгоритм Балаша для розв’язування дискретний задач з булевими змінними. До комбінаторних методів належить також алгоритм, що походить від ідеї динамічного програмування стосовно деяких дискретних задач. Методи першої та другої груп належать до точних методів, але вони достатньо трудомісткі.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]