
lectures / Kospekt_Ch2
.pdfМІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ―ЛЬВІВСЬКА ПОЛІТЕХНІКА‖
В.М.Теслюк, Д.Д.Пелешко
МЕТОДИ ЦІЛОЧИСЕЛЬНОГО ПРОГРАМУВАННЯ ТА НУЛЬОВОГО ПОРЯДКУ
КОНСПЕКТ ЛЕКЦІЙ (Частина 2)
з курсу ―Методи синтезу та оптимізації‖ для студентів базового напрямку ―Комп’ютерні науки ‖
Затверджено на засіданні кафедри
Системи автоматизованого проектування
Протокол № 7 від 20 грудня 2012 р.
Львів - 2013
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
Теслюк В.М., Пелешко Д.Д. Методи цілочисельного програмування та нульового порядку: Ч.2. Конспект лекцій з курсу
―Методи синтезу та оптимізації‖ для студентів базового напрямку ―Комп’ютерні науки‖. – Львів: Видавництво Національного університету ―Львівська політехніка‖, 2013. – 82 с.
Частина друга конспекту лекцій з курсу ―Методи синтезу та оптимізації‖ містить два розділи і є логічнм продовженням матеріалу, який викладений в частині першій. В першому розділі даного конспекту лекцій ―Методи розв’язання задач цілочисельного програмування‖ розглянуто питання пов’язані з основними методами розв’язання задач цілочисельного програмування, а саме: метод перебору цілочисельних варіантів рішень, графічний метод, метод гілок та границь і метод Гоморі. Наведено особливості розглянутих методів, їх переваги та недоліки.
В другому розділі з назвою ―Методи розв’язання задач безумовної оптимізації з використанням методів нульового порядку‖ описано методи розв’язання задач багатопараметричної оптимізації з використанням методів нульового порядку. Зокрема розглянуто ідею, наведено алгоритм застосування та наведено приклади розв’язання практичних оптимізаційних задач з використанням симплекс методу, методів Нелдера-Міда, Хука-Дживса, Пауела та Розенброка. Наведено результати порівняння ефективності зазначених методів та їх особливості застосування.
Призначено для аспірантів та студентів, що навчаються за напрямом підготовки фахівців ―Комп’ютерні науки‖.
Відповідальний за випуск: Ткаченко С.П., канд. техн. наук., доц.
Рецензенти: Цмоць І.Г., докт. техн. наук, проф. каф. АСУ Національного університету ―Львівська політехніка‖;
Каркульовський В. І., канд. техн. наук, доц. каф. САП Національного університету ―Львівська політехніка‖.
2
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
Зміст |
|
Вступ |
4 |
Список умовних скорочень |
5 |
РОЗДІЛ 4. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ ЦІЛОЧИСЕЛЬНОГО |
|
ПРОГРАМУВАННЯ |
6 |
4.1. Основні поняття та визначення цілочисельного програмування |
6 |
4.2. Метод перебору варіантів рішень в задачах цілочисельного |
|
програмування |
8 |
4.3. Графічний метод розв’язання ЗЦП |
14 |
4.4. Застосування методу гілок та границь до розв’язання ЗЦП |
19 |
4.5. Метод Гоморі |
34 |
4.6. Контрольні запитання та завдання для самостійного розв’язання |
41 |
РОЗДІЛ 5. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ БЕЗУМОВНОЇ |
|
ОПТИМІЗАЦІЇ З ВИКОРИСТАННЯМ МЕТОДІВ |
|
НУЛЬОВОГО ПОРЯДКУ |
43 |
5.1. Поняття багатопараметричної оптимізації |
43 |
5.2. Класифікація методів нелінійного програмування |
45 |
5.3. Особливості методів прямого пошуку |
46 |
5.4. Метод пошуку по симплексу ( S 2 - метод) |
48 |
5.5. Метод пошуку оптимуму по симплексу |
49 |
5.6. Метод пошуку по деформованому багатограннику (Нелдера- |
|
Міда) |
56 |
5.7. Метод Хука-Джівса |
61 |
5.8. Метод спряжених напрямків (метод Пауела) |
71 |
5.9. Метод Розенброка |
74 |
5.10. Контрольні запитання з завдання для самостійного розв’язання |
77 |
Література |
80 |
3
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
Вступ
Автоматизоване проектування складних об’єктів та систем потребує розв’язання ряду оптимізаційних задач в процесі розроблення нових та модернізації існуючих пристроїв. Зокрема на системному рівні автоматизованого проектування необхідно розв’язувати задачу цілочисельного
(дискретного) програмування під час вибору оптимальної структури проектного рішення, а в процесі доведення параметрів структури проектованого виробу до вимог технічного завдання необхідно розв’язувати задачі нелінійного програмування.
Частина друга конспекту лекцій з курсу ―Методи синтезу та оптимізації‖ містить два розділи і є логічнм продовженням матеріалу, який викладений в частині першій. В першому розділі даного конспекту лекцій ―Методи розв’язання задач цілочисельного програмування‖ розглянуто питання пов’язані з основними методами розв’язання задач цілочисельного програмування, а саме: метод перебору цілочисельних варіантів рішень,
графічний метод, метод гілок та границь і метод Гоморі. Наведено особливості розглянутих методів, їх переваги та недоліки.
В другому розділі з назвою ―Методи розв’язання задач безумовної оптимізації з використанням методів нульового порядку‖ описано методи розв’язання задач багатопараметричної оптимізації з використанням методів нульового порядку. Зокрема розглянуто ідею, наведено алгоритм застосування та наведено приклади розв’язання практичних оптимізаційних задач з використанням симплекс методу, методів Нелдера-Міда, Хука-Дживса, Пауела та Розенброка. Наведено результати порівняння ефективності зазначених методів та їх особливості застосування.
4
|
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації” |
|
Список умовних скорочень |
ЦП |
– Цілочисельне програмування |
ОЗ |
– Оптимізаційна задача |
ЛП |
– Лінійне програмування |
ЗЛП |
– Задача лінійного програмування |
ЗЦП |
– Задача цілочисельного програмування |
ЗЦЛП |
– Задача цілочисельного лінійного програмування |
ЦФ |
– Цільова функція |
МГ |
– Метод Гоморі |
МГГ |
– Метод гілок та границь |
ПК |
– Персональний комп’ютер |
МНП |
– Метод нульового порядку |
МПП |
– Метод першого порядку |
МДП |
– Метод другого порядку |
КНМ |
– Квазіньютонівський метод |
5
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
РОЗДІЛ 4. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ ЦІЛОЧИСЕЛЬНОГО ПРОГРАМУВАННЯ
4.1 Основні поняття та визначення цілочисельного програмування
В теорії оптимізації досить часто зустрічаються випадки, коли необхідно накласти спеціальну вимогу на значення проектних параметрів, а саме: вимогу цілочисельності. Для прикладу проектні параметри можуть приймати лише такі значення, як 0, 1, 2,…, N. Це обумовлено тим, що не цілочисельні значення проектних параметрів не мають фізичного змісту в проектуванні чи моделюванні ряду складних процесів та систем. Наприклад, якщо у задачі необхідно визначити оптимальну кількість певного типу обладнання,
оптимальну кількість автомобілів певної марки, працівників деякого підприємства, тощо. Ми в щоденному житті не вживаємо такі вирази, як «0,5
автомобіля», «0,47 деревообробного станка», «половину велосипеда» та ін.
Відповідно, такі оптимізаційні задачі, де значення проектних параметрів приймають значення цілих чисел – називаються задачами цілочисельного програмування (ЗЦП). Задачі цілочисельного програмування широко зустрічаються в процесі автоматизованого проектування складних об’єктів та систем. Для прикладу, альтернатива проектного рішення, чи вибору альтернативи, яка задовольняє вимоги технічного завдання та інше.
В загальному випадку проектні параметри в ЗЦП можуть бути усі цілочисельні, або їх частина може прийняти цілочисельні рішення, а інша – дійсні значення. Відповідно, отримуємо два види ЗЦП. Перша називається задачею повністю ЦП, а в другому випадку – частково цілочисельною.
Слід додати, що досить велику групу задач цілочисельного програмування складають задачі економічного характеру і, в більшості, такі задачі називають задачами цілочисельного лінійного програмування (ЗЦЛП). Оскільки вираз для цільової функції та обмеження є лінійними функціями.
6

Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
Задачу цілочисельного програмування можна сформулювати наступним чином. Для прикладу, необхідно знайти такі значення проектних параметрів x1 , x2 , ..., xn , які забезпечують максимум (оптимум) цільової функції (задача 4.1)
max F = 3x1 + 2x2 , (4.1)
при цьому необхідно забезпечити виконання таких умов:
x1 + x2 + x3 = 13, |
|
|||
x1 - x2 + x4 = 6, |
(4.2) |
|||
- 3x1 + x2 + x5 = 9, |
|
|||
та |
|
|
|
|
|
|
|
|
|
x j |
≥0, ( j = 1,5) , |
|
||
де x j - |
цілі числа. |
|
Розділ задач цілочисельного програмування активно почав розвиватися в
50-х роках минулого століття і в першу чергу завдячуючи американським математикам Дж. Дацингу та Р. Гоморі. Значний вклад в розвиток цієї області внесли Канторович Л.В., Гавурін Л.В. та інші.
Для розв’язання ЗЦП використовують багато різних методів. Розглянемо найбільш відомі з них, а саме (рис.4.1):
Методи
цілочисельного
програмування
Методперебору варіантіврішень |
Графічний метод |
МетодГоморі |
Методгілок та |
границь |
|
|
|
. . . |
|
Рис.4.1. Класифікація методів розв’язання задач цілочисельного програмування
7
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
-метод перебору варіантів рішень;
-графічний метод розв’язання ЗЦП;
-метод гілок та границь (МГГ);
-метод Гоморі (МГ).
4.2Метод перебору варіантів рішень в задачах цілочисельного
програмування
Основна ідея цього методу полягає в тому, що існує можливість визначити усі можливі цілочисельні варіанти розв’язання сформульованої задачі. Отже кількість цих варіантів є обмеженою множиною і затрати ресурсу ПК достатні для знаходження розв’язку задачі. Алгоритм застосування методу зображено на рис.4.2.
Для прикладу розглянемо задачу цілочисельного програмування та застосуємо метод перебору варіантів рішень. Зокрема (задача 4.2), на придбання устаткування для нової ділянки цеху можна витратити 20000 доларів США. При цьому можна зайняти площу не більше 38 м2. Існує можливість придбати верстати типу А та верстати типу Б. При цьому верстати типу А коштують 5000 доларів США та займають площу 8 м2 (включаючи необхідні технологічні проходи) і мають продуктивність 7 тис. одиниць продукції за зміну. Верстати типу Б коштують 2000 доларів США, займають площа 4 м2 і
мають продуктивність 3 тис. одиниць продукції за зміну. Необхідно розрахувати оптимальний варіант придбання устаткування, що забезпечує при заданих обмеженнях максимум загальної продуктивності ділянки.
Розв’яжемо оптимізаційну задачу (ОЗ). Приймемо, нехай x1 - кількість верстатів типу А, а x2 - кількість верстатів типу Б, що входять у комплект устаткування. Потрібно вибрати такий комплект устаткування так, щоб максимізувати продуктивність С ділянки (у тис. одиниць за зміну), тому цільова функція буде наступного виду:
C 7x1 3x2 max . |
(4.3) |
8
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації”
При цьому необхідно виконати наступні обмеження: по вартості вибраного
обладнання (у тис. доларів США): |
|
5x1 2x2 20 , |
(4.4) |
та по займаній площі (в м2) розміщеного обладнання в приміщенні: |
|
8x2 4x2 38 , |
(4.5) |
а також знову з'являються специфічні обмеження по цілочисельності, а |
|
саме, |
|
x1 0 , x2 0 та x1 , x2 - цілі числа. |
|
Сформульована математична задача відрізняється від |
задачі лінійного |
програмування тільки умовою цілочисельності на проектні параметри. Однак наявність цієї умови дає змогу (у даному конкретному випадку) досить легко розв’язати задачу перебором варіантів рішень. Дійсно, як обмеження по вартості, так і обмеження по площі дають, що x1 4 . Отже, x1 може приймати лише одне з 5 можливих значень, а саме: 0, 1, 2, 3, 4.
Розглянемо послідовно п’ять варіантів можливих розв’язань задачі. x1
будемо задавати, а x2 - визначати виходячи з вимог задачі цілочисельного програмування (4.4) та (4.5).
|
1. Отже, |
якщо x1 4 , то із обмеження по вартості слідує, що x2 |
0 , а тому |
||
C 7 x1 28 . |
|
|
|
||
|
2. |
Якщо |
x1 |
3 , то із першого обмеження випливає, що x2 2 , |
із другого |
x3 3 . |
Значить, |
максимальне C при умові виконання обмежень досягається при |
|||
x2 2 , |
а саме C 21 6 27 . |
|
|||
|
3. |
Якщо x1 |
2 , то з першого обмеження слідує, що x2 5 , із другого також |
||
x2 |
5 . |
Значить, |
максимальне C при умові виконання обмежень досягається при |
||
x2 |
5, |
а саме C 14 15 29 . |
|
||
|
4. |
Якщо |
x1 1, то з першого обмеження маємо x2 7 , із другого також |
||
x2 |
7 . Значить, максимальне C при умові виконання обмежень досягається при |
||||
x2 |
7 , а саме C 7 21 28 . |
|
|||
|
|
|
|
9 |
|

Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. Методи синтезу та оптимізації” |
|||||
|
|
|
Початок |
|
|
|
|
|
1 |
|
|
|
|
Ввід вхідних даних |
|
||
2 |
|
|
|
||
|
|
Оцінка кількості |
|
|
|
варіантів розв’язань ЗЦП |
|
||||
|
|
(N) та ресурсів ПК |
|
|
|
|
|
3 |
|
так |
|
|
|
N≥M |
|
|
|
|
|
|
|
|
|
|
|
ні |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
Виведення повідомлення |
|
|
5 |
|
|
про недостатність |
|
|
|
i=1, Fopt=0 |
|
ресурсів ПК |
|
|
6 |
|
|
|
|
Оцінка значення ЦФ |
|
|||
для i-го розв’язання Fi |
|
||||
так |
|
7 |
|
8 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Fi > Fopt |
|
Fopt=Fi |
|
|
|
ні |
|
|
ні |
|
|
9 |
|
10 |
|
|
|
|
|
|
|
|
|
i=N |
|
i=i+1 |
|
|
|
|
|
|
|
|
|
так |
|
|
|
|
|
11 |
|
|
|
|
|
Вивід Fopt та |
|
|
|
|
знач.проект.парам. |
|
|
|
|
|
|
Кінець |
|
|
Рис.4.2. Блок-схема алгоритму застосування методу перебору варіантів рішень ЗЦП
10