You are on page 1of 84

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ

УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ―ЛЬВІВСЬКА ПОЛІТЕХНІКА‖

В.М.Теслюк, Д.Д.Пелешко

МЕТОДИ ЦІЛОЧИСЕЛЬНОГО ПРОГРАМУВАННЯ ТА


НУЛЬОВОГО ПОРЯДКУ

КОНСПЕКТ ЛЕКЦІЙ
(Частина 2)
з курсу ―Методи синтезу та оптимізації‖
для студентів базового напрямку
―Комп’ютерні науки ‖

Затверджено
на засіданні кафедри
Системи автоматизованого проектування
Протокол № 7 від 20 грудня 2012 р.

Львів - 2013
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Теслюк В.М., Пелешко Методи


Д.Д. цілочисельного
програмування та нульового порядку: Ч.2. Конспект лекцій з курсу
―Методи синтезу та оптимізації‖ для студентів базового напрямку
―Комп’ютерні науки‖. – Львів: Самвидав кафедри САП Національного
університету ―Львівська політехніка‖, реєстр. номер від .–
84 с.

В другій частині конспекту лекцій з курсу ―Методи синтезу та


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

Відповідальний за випуск: Ткаченко С.П., канд. техн. наук., доц.

Рецензенти: Цмоць І.Г., докт. техн. наук, проф. каф. АСУ


Національного університету ―Львівська політехніка‖;

Каркульовський В. І., канд. техн. наук, доц. каф. САП


Національного університету ―Львівська політехніка‖.

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. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ БЕЗУМОВНОЇ
ОПТИМІЗАЦІЇ З ВИКОРИСТАННЯМ МЕТОДІВ
НУЛЬОВОГО ПОРЯДКУ 44
5.1. Поняття багатопараметричної оптимізації 44
5.2. Класифікація методів нелінійного програмування 46
5.3. Особливості методів прямого пошуку 47
5.4. Метод пошуку по симплексу ( S 2 - метод) 49
5.5. Метод пошуку оптимуму по симплексу 50
5.6. Метод пошуку по деформованому багатограннику (Нелдера-
Міда) 57
5.7. Метод Хука-Джівса 62
5.8. Метод спряжених напрямків (метод Пауела) 72
5.9. Метод Розенброка 75
5.10. Контрольні запитання з завдання для самостійного розв’язання 79
Література 82

3
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Вступ

Автоматизоване проектування складних об’єктів та систем потребує


розв’язання ряду оптимізаційних задач в процесі розроблення нових та
модернізації існуючих пристроїв. Зокрема на системному рівні
автоматизованого проектування необхідно розв’язувати задачу цілочисельного
(дискретного) програмування під час вибору оптимальної структури
проектного рішення, а в процесі доведення параметрів структури
проектованого виробу до вимог технічного завдання необхідно розв’язувати
задачі нелінійного програмування.
Частина друга конспекту лекцій з курсу ―Методи синтезу та оптимізації‖
містить два розділи і є логічнм продовженням матеріалу, який викладений в
частині першій. В першому розділі даного конспекту лекцій ―Методи
розв’язання задач цілочисельного програмування‖ розглянуто питання
пов’язані з основними методами розв’язання задач цілочисельного
програмування, а саме: метод перебору цілочисельних варіантів рішень,
графічний метод, метод гілок та границь і метод Гоморі. Наведено особливості
розглянутих методів, їх переваги та недоліки [1 - 18].
В другому розділі з назвою ―Методи розв’язання задач безумовної
оптимізації з використанням методів нульового порядку‖ описано методи
розв’язання задач багатопараметричної оптимізації з використанням методів
нульового порядку. Зокрема розглянуто ідею, наведено алгоритм застосування
та наведено приклади розв’язання практичних оптимізаційних задач з
використанням симплекс методу, методів Нелдера-Міда, Хука-Дживса, Пауела
та Розенброка. Наведено результати порівняння ефективності зазначених
методів та їх особливості застосування [19 - 26].

4
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Список умовних скорочень

ЦП – Цілочисельне програмування
ОЗ – Оптимізаційна задача
ЛП – Лінійне програмування
ЗЛП – Задача лінійного програмування
ЗЦП – Задача цілочисельного програмування
ЗЦЛП – Задача цілочисельного лінійного програмування
ЦФ – Цільова функція
МГ – Метод Гоморі
МГГ – Метод гілок та границь
ПК – Персональний комп’ютер
МНП – Метод нульового порядку
МПП – Метод першого порядку
МДП – Метод другого порядку
КНМ – Квазіньютонівський метод

5
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

РОЗДІЛ 4. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ ЦІЛОЧИСЕЛЬНОГО


ПРОГРАМУВАННЯ

4.1 Основні поняття та визначення цілочисельного програмування

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


накласти спеціальну вимогу на значення проектних параметрів, а саме: вимогу
цілочисельності. Для прикладу проектні параметри можуть приймати лише такі
значення, як 0, 1, 2,…, N. Це обумовлено тим, що не цілочисельні значення
проектних параметрів не мають фізичного змісту в проектуванні чи
моделюванні ряду складних процесів та систем. Наприклад, якщо у задачі
необхідно визначити оптимальну кількість певного типу обладнання,
оптимальну кількість автомобілів певної марки, кількість працівників деякого
підприємства, тощо. Ми в щоденному житті не вживаємо такі вирази, як «0,5
автомобіля», «0,47 деревообробного станка», «половину велосипеда» та ін.
Відповідно, такі оптимізаційні задачі, де значення проектних параметрів
приймають значення цілих чисел – називаються задачами цілочисельного
програмування (ЗЦП). Задачі цілочисельного програмування широко
зустрічаються в процесі автоматизованого проектування складних об’єктів та
систем. Для прикладу, альтернатива проектного рішення, чи вибору
альтернативи, яка задовольняє вимоги технічного завдання та інше.
В загальному випадку проектні параметри в ЗЦП можуть бути усі
цілочисельні, або їх частина може прийняти цілочисельні рішення, а інша –
дійсні значення. Відповідно, отримуємо два види ЗЦП. Перша називається
задачею повністю ЦП, а в другому випадку – частково цілочисельною.
Слід додати, що досить велику групу задач цілочисельного програмування
складають задачі економічного характеру і, в більшості, такі задачі називають
задачами цілочисельного лінійного програмування (ЗЦЛП). Оскільки вираз для
цільової функції та обмеження є лінійними функціями.
Задачу цілочисельного програмування можна сформулювати наступним

6
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

чином. Для прикладу, необхідно знайти такі значення проектних параметрів x1 ,


x 2 , ..., x n , які забезпечують максимум (оптимум) цільової функції (задача 4.1)

max F = 3x1 + 2 x2 , (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), [3] на
придбання устаткування для нової ділянки цеху можна витратити 20000 доларів
США. При цьому можна зайняти площу не більше 38 м2. Існує можливість
придбати верстати типу А та верстати типу Б. При цьому верстати типу А
коштують 5000 доларів США та займають площу 8 м2 (включаючи необхідні
технологічні проходи) і мають продуктивність 7 тис. одиниць продукції за
зміну. Верстати типу Б коштують 2000 доларів США, займають площу 4 м2 і
мають продуктивність 3 тис. одиниць продукції за зміну. Необхідно
розрахувати оптимальний варіант придбання устаткування, що забезпечує
при заданих обмеженнях максимум загальної продуктивності ділянки.
Розв’яжемо оптимізаційну задачу (ОЗ). Приймемо, нехай x1 - кількість
верстатів типу А, а x 2 - кількість верстатів типу Б, що входять у комплект
устаткування. Потрібно вибрати такий комплект устаткування так, щоб
максимізувати продуктивність С ділянки (у тис. одиниць за зміну), тому
цільова функція буде наступного виду:
C  7 x1  3x2  max . (4.3)

8
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

При цьому необхідно виконати наступні обмеження: по вартості вибраного


обладнання (у тис. доларів США):
5x1  2 x2  20 , (4.4)
та по займаній площі (в м2) розміщеного обладнання в приміщенні:
8x2  4 x2  38 , (4.5)
а також знову з'являються специфічні обмеження по цілочисельності, а саме,
x1  0 , x2  0 та x1 , x 2 - цілі числа.

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


програмування тільки умовою цілочисельності на проектні параметри. Однак
наявність цієї умови дає змогу (у даному конкретному випадку) досить легко
розв’язати задачу шляхом перебору можливих варіантів рішень. Дійсно, як
обмеження по вартості, так і обмеження по площі дають, що x1  4 . Отже, x1
може приймати лише одне з 5 можливих значень, а саме: 0, 1, 2, 3, 4.
Розглянемо послідовно п’ять варіантів можливих розв’язань задачі. x1
будемо задавати, а x 2 - визначати виходячи з вимог задачі цілочисельного
програмування (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

так 8
7
Fi > Fopt Fopt=Fi
ні

ні 9 10
i=N i=i+1
так
11
Вивід Fopt та
знач.проект.парам.

Кінець

Рис.4.2. Блок-схема алгоритму застосування методу перебору варіантів рішень


ЗЦП

5. Якщо x1  0 , то з першого обмеження випливає, що x2  10 , із другого


x2  9 . Відповідно, максимальне C при умові виконання обмежень досягається

10
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

при x2  9 , а саме C  27 .
Всі можливі випадки розглянуті, і максимальна продуктивність C  29
(тисяч одиниць продукції за зміну) досягається при x1  2 , x2  5 . Отже, слід
купувати 2 верстати типу А і 5 верстатів типу Б, щоб забезпечити максимальне
значення продуктивності нової ділянки.
Цей метод на практиці використовується досить рідко. Оскільки потребує
перебору усіх варіантів проектних рішень ЗЦП, що призводить до великих
затрат ресурсу ПК. Використання цього методу розв’язати ЗЦП обмежене в
силу недостатності ресурсу ПК. Значно прискорити процес розв’язання ЗЦП з
використанням методу перебору можна шляхом використання технологій
паралельного опрацювання інформації [5, 6].
Розв’яжемо задачу технічного контролю з використанням методу перебору
варіантів рішень (задача 4.3) [4].
Постановка задачі технічного контролю. У відділі технічного контролю
(ВТК) деякої фірми працюють контролери першого та другого розрядів. Норма
вироблення ВТК за 8 - годинний робочий день складає не менше ніж 1800
виробів. Контролер першого розряду перевіряє 25 виробів за годину, причому,
не помиляється в 98% випадків. Контролер другого розряду перевіряє 15
виробів за годину точність його перевірки становить 95%.
Заробітна плата контролера першого розряду рівна 4 грн. за годину, а
контролер другого розряду отримує 3 грн. за годину. При кожній помилці
контролера фірма несе збиток в розмірі 2 грн. Фірма може використати 8
контролерів першого розряду і 10 контролерів другого розряду. Керівництво
фірми хоче визначити оптимальний склад ВТК, при якому загальні витрати на
контроль будуть мінімальні.
Нехай x1 і x 2 означають кількість контролерів першого та другого
розрядів, відповідно. Число контролерів кожного розряду, які може
використати підприємство обмежене, тобто мають бути включені наступні
обмеження:
x1  8 (кількість контролерів першого розряду),

11
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

x 2  10 (кількість контролерів другого розряду).

Щодня необхідно перевіряти не менше 1800 виробів. Тому, слід записати


наступну нерівність (вісім годин необхідно помножити на кількість деталей за
одну годину роботи і на кількість контролерів відповідного розряду):
8 * 25 * x1  8 *15 * x2  200 * x1  1200 * x2  1800 ,

або спростивши (розділимо праву та ліву частини на 40), отримаємо:


5 * x1  3x2  45 .

При побудові цільової функції потрібно мати на увазі, що витрати фірми,


пов'язані з контролем, включають дві складові:
 зарплату контролерів;
 збитки, викликані помилками контролерів.
Витрати на одного контролера першого розряду складають:
4грн  2 * 25 * 0,02  5 грн./год.

Витрати на одного контролера другого розряду рівні:


3грн  2 *15 * 0,005  4,50 грн./год.

Отже, мінімізуюча цільова функція, яка виражає щоденні витрати на


контроль, має наступний вигляд:
z  8 * (5 * x1  450 * x2 )  40 * x1  36 * x2  min .

Отже, в кінцевому випадку, можна сформулювати наступну задачу ЦП:


Мінімізувати: z  40 * x1  36 * x2 ,
при обмеженнях:
x1  8 , x2  10 ,

5 * x1  3 * x2  45 ,

x1  0 , x2  0 , x1 та x 2 - цілі числа.

З сформульованої задачі бачимо, що маємо 9 варіантів підмножин


розв’язань задачі про ВТК. Виконаємо значення параметрів та цільової функції
для кожного з можливих варіантів розв’язань задачі, який є найбільш
ймовірний варіант. Для обчислення будемо призначати значення для змінної x1 ,
а для змінної x 2 будемо вибирати найменше значення з можливих, які

12
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

визначаються виходячи з обмежень ЗЦП про ВТК.


1. x1  0 , x2  10 , Z  40 * 0  36 *10  360 , 5 * 0  3*10  30 ≥45 - не виконуються
обмеження, які ставляться до ЗЦП. При x1  0 в будь-якому випадку
відбувається порушення хоча б одного з обмежень. Тобто відсутні задовільні
варіанти розв’язань ЗЦП. Аналогічна ситуація для x1 = 1 , x1 = 2 та x1 = 3 .
2. x1  1 , x2  10 , Z  40 *1  36 *10  400 , 5 *1  3 *10  35  45 - не виконується;
3. x1  2 , x2  10 , Z  40 * 2  36 *10  440 , 5 * 2  3 *10  40  45 - не виконується;
4. x1  3 , x2  10 , Z  40 * 0  36 *10  360 , 5 * 3  3 *10  45  45 - виконується;
5. x1  4 , x2  9 , Z  40 * 4  36 * 9  484 , 5 * 4  3 * 9  47  45 .
В даному випадку вимога виконується і вибираємо значення для змінної
x2 = 9 , оскільки мінімізуємо значення цільової функції. Можливим значенням

для другої змінної є і 10, але, в цьому випадку будемо мати більше значення для
цільової функції. У випадку, коли змінній x 2 присвоїмо 8, то буде порушено
обмеження, а саме: 5 * 4 + 3 * 8 = 20 + 24 = 44 ≥45 .
Для усіх інших варіантів для значення першої змінної виконаємо
аналогічні обчислення.
6. x1  5 , x2  7 , Z = 40 * 5 + 36 * 7 = 459 , 5 * 5  3* 7  46  45 ;
7. x1  6 , x2  5 , Z  40 * 6  36 * 5  420 , 5 * 6  3 * 5  45  45 ;
8. x1  7 , x2  4 , Z  40 * 7  36 * 4  424 , 5 * 7  3 * 4  47  45 ;
9. x1  8 , x2  2 , Z  40 * 8  36 * 2  392 , 5 * 8  3 * 2  46  45 .
З отриманих результатів слідує, що оптимальнийо варіант розв’язання
задачі x1  8 , x2  2 , а значення цільової функції рівне 392.
Підсумовуючи опис методу та результати наведених прикладів, можна
зробити наступний висновок про переваги та недоліки методу загального
перебору варіантів рішень: перевагою перебору є його простота та наочність, а
недоліком методу є необхідність перебору усіх варіантів розв’язання ЗЦП, що
вимагає значних ресурсів ПК. Часом для повного перебору варіантів рішень
може бути недостатньо ресурсів комп’ютера.

13
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

4.3 Графічний метод розв’язання ЗЦП

Основою методів відтинання до якої належить графічний метод


розв’язання ЗЦП є ідея поступового «звуження» області допустимих розв’язків
розглядуваної задачі. Пошук цілочислового оптимуму починається з
розв’язування задачі з так званими послабленими обмеженнями, тобто без
урахування вимог цілочисельності змінних. Далі введенням у модель
спеціальних додаткових обмежень, що враховують цілочисельність змінних,
багатогранник допустимих розв’язків послабленої задачі поступово зменшують
доти, доки змінні оптимального розв’язку не набудуть цілочислових значень.
Відповідно, основна ідея графічного методу розв’язання ЗЦП полягає в
тому, що на першому етапі використовується графічний метод розв’язання
задач лінійного програмування. Наступний етап передбачає визначення
цілочисельних варіантів розв’язань оптимізаційної задачі та визначення з них
найоптимальнішого. Блок-схема алгоритму застосування графічного методу
розв’язання ЗЦП наведена на рис.4.3.
Наведемо приклад застосування графічного методу до розв’язання
наступної ЗЦП (задача 4.4).
max F  4 x1  x2 , (4.6)
3x1  x2 ≤9 , (4.7)
3x1  2 x2 ≤6 , (4.8)
x1, 2 ≥0, цілі значення змінних. (4.9)

Оскільки число невідомих задачі дорівнює двом, розв’язання можна


знайти, використовуючи геометричну інтерпретацію задачі. Для цього,
насамперед, побудуємо багатокутник розв’язання задачі, що складає у
визначенні максимального значення лінійної функції (4.6) при виконанні умов
(4.4) і (4.5) (див. рисунок). Координати всіх точок побудованого багатокутника
рішення ОАВС задовольняють систему лінійних нерівностей (4.7 - 4.8). Разом з
тим умові (4.9), тобто умові цілочисельності змінних, задовольняють
координати лише 20 точок, відзначених на рис.4.4.

14
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Початок

1
Ввід вхідних даних

Розв’язання ЗЛП

3
Визначення
цілочисельних
розв’язань
оптимізаційної задачі
4
Визначення
оптимального
цілочисельного
розв’язання задачі
5
Виведення результатів
оптимізації.

Кінець

Рис.4.3. Блок-схема алгоритму розв’язання ЗЦП з використанням графічного


методу

Щоб знайти точку, координати якої визначають розв’язання вихідної


задачі, замінимо багатокутник ОАВС багатокутником, що містить усі
припустимі точки з цілочисловими координатами і такими, що координати
кожної з вершин є цілими числами. Виходить, якщо знайти точку максимуму
функції (4.6) на отриманому багатокутнику, то координати цієї точки і
визначать оптимальний варіант розв’язання задачі.
Для цього побудуємо вектор ∇F = (4;1) – градієнт цільової функції і
перпендикуляр до неї – лінію рівня цільової функції, тобто лінію, в точках якої
цільова функція приймає одне й те ж значення. Побудовану пряму пересуваємо
в напрямку вектора доти, поки вона не пройде через останню загальну точку її
з даним багатокутником. Координати цієї точки і визначають оптимальний
15
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

варіант розв’язання задачі, а значення цільової функції в ній є максимальним.


У даному випадку шуканою є точка Е(2;3), в якій цільова функція приймає
максимальне значення. Отже, координати точки Е визначають оптимальний
варіант розв’язання задачі (4.6-4.9).
Перевагою графічного методу є його простота і наочність, а недоліком –
неможливість розв’язання ЗЦП з кількістю проектних параметрів більше 2.

Рис.4.4. Графічна ілюстрація розв’язання ЗЦП (4.6 – 4.9)

Застосуємо графічний метод розв’язання задач ЦП до задачі 4.3. Згідно з


алгоритмом, який зображено на рис. 4.3, розв’яжемо задачу, як задачу лінійного
програмування застосовуючи графічний метод. Результати знаходження області
рішень для задачі лінійного програмування наведено на рис.4.5. Покриємо
сіткою область розв’язання АВС та визначимо кількість цілочисельних рішень
задачі (див. рис.4.6).

16
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

x2
15

x1  8
x2  10
10
A B

5x
5 1

3
x
2


C
0 5 45 10 x1
Рис.4.5. Область розміщення розв’язання задачі 4.3.

x2
15
x1  8

A x2  10
10
B
5x

5 1
3
x

2

45

0 5 10 x1
Рис.4.6. Відображення цілочисельних розв’язань задачі 4.3.

З графіка на рис.4.6 бачимо, що кількість цілочисельних розв’язань задачі

17
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

рівна 29. Визначимо градієнт від цільової функції:


z = 40 * x1 + 36 * x2 ,
∇z = (40,36) .
На рис.4.7. зображено напрям градієнта зростання значення цільової
функції. В протилежному напрямку будемо мати напрям зменшення значення
цільової функції. Побудуємо пряму перпендикулярня до напряму градієнта і
визначимо перше цілочисельне рішення ЗЦП (точку) рухаючись від початку
координат. Така точка має координати (8,2), а значення цільової функції 392.

x2
15
x1  8
A x2  10
10
B
∇z
5x
5 
1

3x

2

45
C

0 5 10 x1

Рис.4.7. Відображення напряму градієнта цільової функції

18
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

4.4 Застосування методу гілок та границь до розв’язання ЗЦП

Отже, як було показано вище, метод гілок та границь належить до групи


комбінаторних методів дискретного програмування і є одним з найбільш
поширених методів цієї групи. Вперше він був застосований Лендом і Дойгом у
1960 році для розв’язання задач лінійного цілочисельного програмування.
Однак ця робота не зробила помітного внеску в розвиток ідей дискретного
програмування. Друге народження методу пов'язане з роботою Літла, Мурті,
Суіні і Керел, 1963 р., присвяченої розв’язанню задачі комівояжера.
Метод гілок та границь є одним з найбільш популярних і ефективних
методів неперервної і дискретної глобальної оптимізації. В основу МГГ
покладений той факт, що для одержання розв’язання задачі оптимізації на
деякій допустимій множині рішень, можна розбити цю множину на
підмножини, знайти розв’язання задачі на кожній з підмножин і як відповідь
взяти найкраще з отриманих рішень, відповідно до критерію якості задачі
(найбільшим чи найменшим значенням цільової функції).
Розвиваючи описану ідею можна зробити висновок, що замість
знаходження точного розв’язання задачі (що може бути надзвичайно складно),
можна розбити на підмножини та знайти тільки його оцінку, а потім уточнити її
шляхом дроблення на підмножини. Іншою особливістю МГГ є можливість
відкидання так званих "безперспективних" підмножин, тобто підмножин, в яких
гарантовано не може бути розв’язання задачі.
Розв’язання задач оптимізації з використанням методу гілок та границь
використовує алгоритм, який зображено на рис.4.9. Цей алгоритм передбачає
ввід вхідних даних (1) та контроль правильності і їх коректності (2). Наступний
крок передбачає формування правила розбиття множини рішень задачі на
підмножини (3). Особливістю цього правила є те, що воно має бути однакове
для всіх ітерацій. Вибір правила оцінки кожної підмножини (4). Після цього
згідно з сформованим правилом розбиття необхідно розділити множину
розв’язань оптимізаційної задачі на підмножини і, згідно з правилом граничної

19
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

оцінки кожної підмножини визначити це граничне значення величини критерію


оптимальності (5).

Ao

A 1
1
... Ai1 ... A1j 1–й крок

A 1
2
... A i
2
... Al2 2–й крок

... ... ...

A1k ... Aik ... A l


k
k–й крок

k 1
A1k 1 ... Aik 1 ... A l
(k+1)–й крок

Рис.4.8. Схема застосування методу гілок та границь

Крок 6 полягає в перевірці умови закінчення процесу оптимізації, що


може бути викликане неможливістю подальшого поділу на підмножини,
отриманні оптимального значення чи виконанні певної кількості ітерацій. Якщо
необхідно продовжити процес пошуку оптимальних значень оптимізаційної
задачі, то вибирається підмножина з найкращим значенням (величиною
критерію оптимальності) цільової функції і приймається, що вона є тою, надалі,
основною множиною (7) та перехід на крок 5. В іншому випадку – виведення
результатів розв’язання оптимізації задачі (8) та завершення обчислень.
20
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Початок

1
Ввід вхідних даних

2
Перевірка коректності
вхідних даних
3
Вибір правила
розбиття на
підмножини
4
Вибір правила
граничної оцінки
кожної підмножини
5
Розбиття на
підмножини та оцінка
кожної з них
7
6
Виконуються ні Призначення однієї з
умови підмножин як
оптимальності основну множину
так
8
Вивід вихідних даних
у текстовому вигляді

Кінець
Рис.4.9. Блок-схема алгоритму застосування методу гілок та границь до
розв’язання ЗЦП

Застосуємо метод гілок та границь до розв’язання ЗЦП. Отже, знайти такі


значення проектних параметрів x1 та x 2 , які забезпечують максимум ЦФ:

21
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

max F  7 x1  9 x2 , (4.10)
при виконанні таких умов:
- x1 + 3 x2 ≤6,
7 x1 + x2 ≤35,
x1 ≥0,
(4.11)
x2 ≥0,
x1 , x2 ö³ë³ ÷èñëà
Задачу (4.10-4.11) необхідно звести до стандартної форми запису, щоб
застосувати симплекс-метод. Для цього додамо додаткові змінні, а саме: змінну
x3 додамо до першого обмеження і отримаємо рівність з нерівності. А до

другого обмеження нерівності додамо змінну x 4 і отримаємо також обмеження-


рівність. В результаті отримаємо наступні вирази для обмежень.
- x1 + 3 x2 + x 3 = 6,
7 x1 + x2 + x 4 = 35,
x1 ≥0,
x2 ≥0, (4.12)
x3 ≥0,
x4 ≥0.
Отже, ЗЦП (4.10), (4.11) записана в стандартній формі і розв’яжемо її як
задачу лінійного програмування застосовуючи симплекс-метод. Результати
розв’язання якої зображено на рис.4.10 та рис.4.11.
В кінцевому випадку x1 та x 2 не є цілочисельні, а саме:
Для нульової ітерації:

x 0 = (4.64;3.55;0;0) ,

F 0 max = 64.36 .

22
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.10. Результати розв’язання ЗЦП

Отримане розв’язання не задовольняє умову цілочисельності. Проектна


змінна x1 = 3,55 та x2 = 4,64 - дійсні числа. Відповідно, можемо взяти за змінну
на основі якої будемо виконувати поділ на підмножини як x1 , так і x2 . Для
прикладу першою візьмемо до розгляду нецілочисельну змінну x1 . В даному
випадку загальну множину рішень розділимо на дві. Перша підмножина
рішень, коли x1 ≤4 , а друга, коли x1 ≥5

x10 ≤4 , x10 ≥5 .
Якщо позначимо через D - множину розв’язань задачі, а верхнім індексом
номер ітерації, то
D 0  D11 ∪D21 ,

23
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

D11 - перша підмножина розв’язань ЗЦП першої ітерації; D21 - друга підмножина

розв’язань ЗЦП першої ітерації.

Рис.4.11. Результати розв’язання ЗЦП

Відповідно, в результаті, отримуємо дві задачі цілочисельного


програмування шляхом додавання обмежень до ЗЦП (4.7 та 4.9):
Знайти максимум (ЗЦП 1)
max F = 7 x1 + 9 x2 , (4.13)
при виконанні умов:
- x1  3x2 ≤6 ,

7 x1  x2 ≤35 ,

x1 ≤4 , - додаткове обмеження,

x1 ≥0, x2 ≥0 .

Знайти максимум (ЗЦП 2)

24
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

max F = 7 x1 + 9 x2 , (4.14)
при виконанні умов:
- x1  3x2 ≤6 ,

7 x1  x2 ≤35 ,

x1  5 , - додаткове обмеження,

x1 ≥0, x2 ≥0 .

Перед розв’язанням ЗЦП 1 необхідно її звести до стандартної форми. Для


цього додамо додаткові змінні до трьох рівнянь і отримаємо обмеження в
наступному вигляді:
- x1  3x 2  x 3  6,
7 x1  x 2  x 4  35,
(4.12)
x1  x5  4,
x1 ≥0, x 2 ≥0, x3 ≥0, x 4 ≥0, x5 ≥0.

Розв’яжемо сформульовану задачу (4.13) з обмеженнями (4.15), що


зображено на рис.4.12 та рис.4.13.

Рис.4.12. Результати розв’язання (4.13) та (4.15)

25
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.13. Результати розв’язання (4.13) та (4.15)

Отримані результати дають змогу стверджувати, що отримано не повністю


цілочисельне рішення для проектних змінних x1 та x 2 . При цьому, проектна
змінна x1  4 , x2  3,33 , значення цільової функції рівне 58. На наступній ітерації
(2-й) задачу (4.13) необхідно розбити на дві. Для першої необхідно додати
обмеження x2  3 , а для другої - x2  4 .
Першу задачу сформулюємо наступним чином:
знайти максимум :
max F = 7 x1 + 9 x2 , (4.16)
при виконанні умов:
- x1  3x2  6 ,

7 x1  x2  35 ,

x1  4 ,

x2  3 , - додаткове обмеження,

26
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

x1  0, x2  0 .

Друга задача, знайти максимум


max F = 7 x1 + 9 x2 , (4.17)
при виконанні умов:
- x1  3x2  6 ,

7 x1  x2  35 ,

x1  4 ,

x2  4 , - додаткове обмеження,

x1  0, x2  0 .

Застосуємо метод великих чисел до розв’язання другої підзадачі


цілочисельного програмування (4.14). Щоб звести задачу до стандартної форми
запису необхідно модифікувати обмеження та вираз для цільової функції. Отже,
- x1  3 x 2  x 3  6,
7 x  x  x  35,
 1 2 4

 x1  5, (4.18)
 x ≥0, x ≥0, x ≥0,
 1 2 3

 x 4 ≥0, x5 ≥0.


- x1  3 x2  x 3  6,
7 x1  x2  x 4  35,
x1 - x 5  5, (4.19)
x1 ≥0, x2 ≥0, x3 ≥0,
x4 ≥0, x5 ≥0.


- x1  3 x2  x 3  6,
7 x1  x2  x 4  35,
x1 - x 5  x6 ( R1 )  5, (4.20)
x1 ≥0, x2 ≥0, x3 ≥0,
x4 ≥0, x5 ≥0.

27
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.14. Результати розв’язання ЗЦП 2

Модифікуємо цільову функцію:


x1 - x5  x6 ( R1 )  5,
R  5  x5 - x1 ,
Z max  7 x1  9 x 2  R1 M  ( M  7) x1  9 x 2 - Mx5 - 5M  (4.21)
 1007 x1  9 x 2 - 1000 x5 - 5000.

Результати розв’язання задачі (4.14) зображено на рис.4.14 та рис.4.15.


Отриманий розв’язок містить цілочисельне рішення. Для якого x1  5 , x2  0 , а
значення цільової функції рівне 35.
Отримані розв’язання можна зобразити з допомогою схеми, яка
зображена на рис.4.16, де наведено результати розв’язань після першої ітерації.
Результати розв’язання задач після другої ітерації (задачі 4.16 та 4.17)
наведено на рис.4.17. Розв’язок задачі (4.17) виключаємо з розгляду, оскільки
значення цільової функції прямує до ∞, а розв’язання задачі (4.16) є частково
32
цілочисельним, де x1  , x2  3 , F12  59 .
7

28
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.15. Результати розв’язання ЗЦП 2

Змінною, яка визначає отримання задач третьої ітерації є x1 . Для однієї


задачі x1  3 , а іншої x1  4 , а саме:
Перша:
max F = 7 x1 + 9 x2 , (4.22)
- x1  3 x 2  6,
7 x1  x 2  35,
x 2  3, x1  3,
x1  0, x 2  0.

Друга
max F = 7 x1 + 9 x2 , (4.23)
- x1  3 x 2  6,
7 x1  x 2  35,
x1  4, x 2  3,
x1  4,
x1  0, x 2  0.

Результати розв’язання наведено на рис.4.18.

29
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.16. Результати розв’язання першої групи ЗЦП

В кінцевому випадку маємо усі цілочисельні розв’язання ЗЦП і


вибираємо те розв’язання, для якого значення цільової функції має найбільше
значення. Зокрема, при x1  4 , x2  3 отримуємо F1  55

Рис.4.17. Результати розв’язання другої групи ЗЦП

На сучасному рівні розвитку обчислювальної техніки, зокрема

30
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

персональних комп'ютерів, основним шляхом підвищення її продуктивності є


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

Рис.4.18. Результати розв’язання третьої групи ЗЦП

Ще однією особливістю методу гілок та границь є його природний


паралелізм, який випливає з описаної вище можливості розв’язання незалежних
задач оптимізації на кожній з підмножин розбиття. Власне притаманність
методу природного паралелізму, тобто можливості розпаралелювання без
додаткових обмежень і модифікації й стала причиною обрання його для
реалізації різними засобами створення паралельних програм. Крім того,
паралельна реалізація методу досить добре зарекомендувала себе в роботі на
кластерних системах.
31
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Алгоритм паралельного варіанта методу гілок та границь має такий вид


(рис.4.19):
1. Введення даних.
2. Початкове розбиття припустимої множини на підмножини.
3. Розподіл отриманих підмножин між процесорами (ядрами).
4. Обчислення центра ваги, верхньої і нижньої оцінок кожним
процесором для своїх підмножин.
5. Визначення підмножини з мінімальною оцінкою знизу.
6. Якщо не виконується умова виходу (різниця між оцінкою зверху й
оцінкою знизу менше заданої точності) чи умова синхронізації процесів
(виконана визначена кількість ітерацій), то відбувається розбиття знайденої
підмножини на дві нові підмножини й обчислення для них центрів ваги,
верхньої і нижньої оцінок, інакше переходимо до пункту 8.
7. Видалення безперспективних підмножин і перехід до пункту 5.
8. Якщо на одному з процесів виконалася умова виходу з ітераційного
процесу, а на всіх інші - умова синхронізації, то відбувається порівняння
нижніх оцінок перспективних підмножин. Якщо оцінка знизу перспективної
підмножини є найменшою, то формується відповідь  повідомлення про
завершення ітераційного процесу і перехід до пункту 11. Якщо немає
повідомлення про завершення ітераційного процесу, то відбувається видалення
безперспективних підмножин за найменшою серед всіх оцінкою зверху.
10. Перерозподіл множин між ядрами і перехід до пункту 5.
11. Завершення обчислень.
Головний недолік алгоритму методу гілок і границь полягає в
необхідності повністю розвязувати задачі лінійного програмування, асоційовані
з кожною із вершин багатогранника допустимих рішень. Для задач великої
розмірності це вимагає значних і, певною мірою, невиправданих із практичної
точки зору витрат часу центрального процесора.

32
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Початок

Ввід вхідних
даних

Вибір критерія
поділу на
підмножини

Вибір критерія для


визначення нижньої
(верхньої) границі

Поділ базової
множини на
підмножини згідно з В якості базової
вибраним критерієм взяти найбільш
перспективну
Розподіл підмножини підмножину
між процесорами
(ядрами)
Видалити
Обчислення безперспективні
нижньої (верхньої) підмножини
границі кожним
процесором

Визначення підмножини
з мінімальною
(максимальною)
оцінкою знизу(зверху)

Так Ні Ні
Виконується
Виконується
умова завершення
Вивід результатів умова завершення обчислень
обчислень по по кількості ітерацій
точності?
Так

кінець Повідомлення та
результати обчислень

Рис.4.19. Блок-схема алгоритму застосування методу гілок та границь для


розв’язку задач з використанням мультипроцесорної платформи

33
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Таким чином, незважаючи на такі недоліки методу гілок та границь,


можна стверджувати, що в даний час алгоритм методу є найбільш надійним
засобом розв’язання цілочисленних задач, які зустрічаються в практичних
дослідженнях. Це не означає, однак, що будь-яка цілочисельна задача може
бути розв’язана за допомогою розглянутого методу. Разом з тим бачимо, що
цей метод піддається розпаралеленню і значно зменшити обсяг обчислень d в
процесі розв’язання ЗЦП можна шляхом застосування технологій CUDA [5, 6].

Початок

Введення
вхід. даних

Розвязання задачі
ЛП симплекс
методом

Так
Усі змінні
цілі числа
Ні
Виведення
Модифікація даних
оптимізаційних
задач
Кінець

Застосування
методу великих
чисел

Рис.4.20. Блок схема алгоритму розв’язання ЗЦП з використанням методу


Гоморі

4.5 Метод Гоморі

Більш ефективним методом розв’язання задач цілочисельного


програмування ніж метод гілок та границь є метод Гоморі. Блок-схема
алгоритму якого зображена на рис.4.20 і який включає наступні основні кроки.

34
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Крок.1. Розв’язання ЗЦП як ЗЛП.


Крок 2. Перевірка змінних на цілочисельність. У випадку, якщо усі змінні
цілі числа, то розв’язання оптимальне, завершити обчислення і перехід до
кроку 4. В іншому випадку перехід до кроку 3.
Крок 3. Введення додаткового обмеження для змінної, яка не є цілим
числом. Перехід до кроку 1.
Крок 4. Завершити обчислення.
Застосуємо метод Гоморі до розв’язання задачі цілочисельного
програмування (4.1 – 4.2). Згідно з алгоритмом необхідно на першому кроці
розв’язати ЗЦП як задачу лінійного програмування з використанням симплекс –
методу або його модифікації. Зрозуміло, що в загальному випадку необхідно
попередньо ЗЦП звести до стандартної форми. Результати застосування
симплекс-методу до задачі (4.1 – 4.2) наведено на рис.4.21, рис.4.22 та рис.4.23.
Отже, дробові частини для значень змінних x1 та x 2 рівні між собою.
Тому для однієї з цих змінних необхідно скласти додаткове обмеження.
Складемо, наприклад, таке обмеження для змінної x 2 спираючись на останню
симплекс-таблицю, що зображено на рис.4.24.

Рис.4.21а. Результати розв’язання ЗЦП


35
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Таким чином, до системи обмежень задачі, додаємо нерівність.


1 1 7
x 2    x3    x 4  . (4.24)
2 2 5

Від коефіцієнтів при змінних необхідно залишити дробову частину, тоді


1  1 7
f (1) x2  f   x3  f    x4  f   , (4.25)
2  2 5
1 1 1
x3  x 4  .
2 2 2
1
Розділимо праву та ліву частини на і отримаємо
2
x3  x 4  1 . (4.26)

Рис.4.21б. Результати розв’язання ЗЦП

36
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.22. Результати розв’язання ЗЦП

Рис.4.23. Результати розв’язання ЗЦП

37
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.24. Особливості побудови додаткового обмеження

В загальному випадку, додаткове обмеження будується на основі


наступної формули:

∑f (ai*, j )x j ≥ f (bi* ),
j

де ai*, j та bi* – перетворені початкові дані ai , j і bi значення, які необхідно взяти

( )
з останньої симплекс-таблиці, а f ai*, j та f (bi* ) – дробові частини чисел (під

дробовою частиною деякого числа a розуміється найменше невід’ємне число b


таке, що різниця між а і b є ціле число).
Якщо в задачі на певному етапі існує декілька дробових значень, то
додаткове обмеження будується для рівняння з найбільшою дробовою
частиною.
Сформулюємо нову задачу на основі симплекс таблиці, яка зображена на
рис.4.24 та додамо обмеження (4.22), що зображено на рис.4.25 і для
розв’язання нової задачі застосуємо двох кроковий метод.
Отже необхідно розв’язати наступну задачу цілочисельного
програмування, яка визначається значенням симплекс-таблиці (рис. 4.24) та
додаткового обмеження (4.22):

38
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

max F  2,5x3  0,5x4  35,5,

1 1 7
x2  x3  x 4  ,
2 2 2
1 1 19
x1  x3  x 4  ,
2 2 2
x3  2 x 4  x5  34,
x3  x 4  1,
x1  0, x 2  0, x3  0, x 4  0.

Застосуємо метод великих чисел. Для цього необхідно модифікувати


обмеження x3  x4  1 . Зокрема
x3  x4  x6  x6 ( R1 )  1 ,

звідки
R  1  x3  x4  x6 .

Модифікуємо цільову функцію


Z max  2,5 x3  0,5 x 4  R1 M  35,5 
 2,5 x3  0,5 x 4  M (1  x3  x 4  x6 )  35,5 
 2,5 x3  Mx3  0,5 x 4  Mx 4  Mx6  M  35,5 
 997,5 x3  999,5 x 4  1000 x6  1000  35,5 
 997,5 x3  999,5 x 4  1000 x6  964,5.

Рис.4.25. Приклад побудови нової ЗЦП


39
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Необхідно розв’язати ЗЦП

max F = 997,5x3 + 999,5x4 1000 x6 964,5 .


1 1 7
x2 + x x4 = ,
2 3 2 2
1 1 19
x1 + x3 x4 = ,
2 2 2
x3 + 2 x4 + x5 = 34,
x3 + x4 x6 + x7 ≥1,
x1 ≥0, x2 ≥0, x3 ≥0, x4 ≥0,
x5 ≥0, x6 ≥0, x7 ≥0.
x1 , x2 , x3 , x4 , x5 , x6 , x7 - цілі числа

Результати розв’язання наведені на рис. 4.26. рис. 4.27.


Оптимальне розв’язання наступне:
x *  (9;4;0;1;32) , Fmax  35 .

Рис.4.26. Результати розв’язання ЗЦП

40
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.4.27. Результати розв’язання ЗЦП

Метод Гоморі у порівнянні з методом гілок та границь потребує набагато


менший обсяг обчислень оскільки процес розв’язання задачі ЦП передбачає
додавання обмеження і продовження пошуку оптимуму. До того ж існує
мажливість розпаралелення процесу обчислень на етапі розв’язання ЗЦП.

4.6. Контрольні запитання та завдання для самостійного розв’язання

1. Яка оптимізаційна задача називається задачею цілочисельного


програмування?
2. Яка задача називається задачею цілочисельного лінійного
програмування?
3. Які методи для розв’язання задач цілочисельного програмування Ви
знаєте?
4. Які значення приймають проектні параметри в ЗЦП?

41
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

5. Яка перевага розв’язання ЗЦП з використанням методу перебору


варіантів рішень?
6. Які недоліки розв’язання ЗЦП з використанням методу перебору
варіантів рішень?
7. Які основні кроки включає алгоритм розв’язання ЗЦП з використанням
методу перебору варіантів рішень?
8. Яка перевага розв’язання ЗЦП з використанням графічного методу?
9. Які недоліки розв’язання ЗЦП з використанням графічного методу?
10. Які основні кроки включає алгоритм розв’язання ЗЦП з використанням
графічного методу?
11. Яка перевага розв’язання ЗЦП з використанням методу гілок та границь?
12. Які недоліки розв’язання ЗЦП з використанням методу гілок та границь?
13. Які основні кроки включає алгоритм розв’язання ЗЦП з використанням
методу гілок та границь?
14. Яка перевага розв’язання ЗЦП з використанням методу Гоморі?
15. Які недоліки розв’язання ЗЦП з використанням методу Гоморі?
16. Які основні кроки включає алгоритм розв’язання ЗЦП з використанням
методу Гоморі?
17. Який з вищеперерахованих методів найефективніший?
18. На заводі виконують зборку двох видів приладів, які
використовують три види мікросхем А, В і С. На виготовлення першого
приладу використовується одна мікросхема А, дві мікросхеми В і одна
мікросхема С. Для другого приладу витрати мікросхем, відповідно, рівні 4, 2,
3. Запас мікросхем А, В і С - 65, 30 і 40 шт. Скільки приладів кожного типу
потрібно зібрати для отримання максимального прибутку, якщо ціна першого
приладу складає 15 у.о., а другого - 20 у.о.?
19. На придбання обладнання для нової виробничої дільниці є
капіталовкладення в розмірі 45 тис. у.о,, а для його розміщення виділена площа
в 75 м2. Можна придбати обладнання трьох видів. Одиниця обладнання
першого вигляду займає 9 м2 і вартує 6 тис. у.о. Для обладнання 2-го І 3-го видів

42
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

ці дані такі: 4 м2 і 3 тис. у.о., 3 м2 і 1.5 тис. у.о. Прибуток від одиниці нового
обладнання кожного виду становить 4.5, 2 і 1 тис. у.о., відповідно. Скільки треба
придбати нового обладнання кожного виду, щоб отримати найбільший
прибуток і, при цьому, повністю витратити виділені капіталовкладення?
20. Редакційно-видавничий відділ (РВВ) в даному місяці має ліміт на
папір 850 кг, а підготовлені до видання посібники а, b, с вимагають витрат
відповідно 50, 70 і 80 кг на 100 примірників. Трудомісткість виготовлення 100
примірників рівна 80, 60 і 90 нормо-год, а місячний трудовий ресурс РВВ
становить 940 нормо-год. Ціна одного посібника а, b, с 0,9, 1 і 2 у.о. відповідно.
Знайти місячний план випуску літератури, максимізуючий її сумарну вартість
при умові повного використання трудового ресурсу РВВ?
21. Для озеленення периметра площі, довжина якого рівна 120 м, можуть
бути використані жоржини, бегонії і айстри. На один погонний метр може бути
висаджено або 3 кущі жоржин, або 5 бульб бегонії, або 10 кущів айстр. Вартість
куща жоржин 2 у.о., бульби бегонії 1 у.о., куща айстр 0,2 у.о. В наявності є 60
кущів жоржин, 280 бульб бегоній і 500 кущів айстр. Знайти такі кількості
рослин кожного виду для забезпечення озеленення з найменшою сумарною
вартістю квітів?

43
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

РОЗДІЛ 5. МЕТОДИ РОЗВ’ЯЗАННЯ ЗАДАЧ БЕЗУМОВНОЇ


ОПТИМІЗАЦІЇ З ВИКОРИСТАННЯМ МЕТОДІВ НУЛЬОВОГО
ПОРЯДКУ

5.1 Поняття багатопараметричної оптимізації

Переважна більшість задач оптимізації, які представляють практичний


інтерес, є багатовимірними: в них цільова функція залежить від декількох
аргументів (проектних параметрів), причому, іноді їх число може бути
надзвичайно великим, десятки, сотні і навіть тисячі.
Математична постановка таких задач аналогічна їх постановці в
одновимірному випадку, а саме: необхідно знайти такі значення проектних
параметрів, які забезпечують найменше (найбільше) значення цільової функції,
забезпечуючи виконання заданих обмежень на проектні параметри.
Як і в одновимірному випадку, характер задачі і, відповідно, можливі
методи її розв’язання істотно залежать від тієї інформації про цільову функцію,
яка нам доступна в процесі дослідження. В одних випадках цільова функція
задається аналітичною формулою, будучи при цьому диференційованою
функцією. Тоді можна обчислити її похідні, отримати явний вираз для
градієнта функції, який можна визначити в кожній точці області визначення та
отримати напрям максимального зростання чи спадання функції, і використати
цю інформацію для розв’язання поставленої задачі багатовимірної оптимізації.
В інших випадках ніякої формули чи виразу для цільової функції немає, а
є лише можливість визначити її значення в будь-якій точці області визначення,
шляхом проведення експериментів. В таких задачах в процесі розв’язання
задачі ми фактично можемо знайти значення цільової функції лише в певному
числі точок, і по цій інформації необхідно наближено встановити її найменше
значення для всієї області, що досить часто зустрічається на практиці.
Багатовимірні задачі, природно, є більш складними і трудомісткими, ніж
одновимірні, причому, труднощі при їх розв’язанні зростають при збільшенні

44
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

розмірності. Для того, щоб краще відчути це, візьмемо найпростіший по своїй
ідеї наближений метод пошуку найменшого значення функції, який
обговорювався для одновимірних задачах оптимізації (метод загального
перебору). Покриємо область, що розглядається сіткою з кроком h (Рис. 5.1) і
визначимо значення цільової функції в її вузлах. Порівнюючи отримані числа
між собою, знайдемо серед них найменше і приймемо його за найменше
значення цільової функції для всієї області.
Z

z C33 C37 C41 C45

C 17 C21 C25 C29

0 y C46

C1 C5 C9 C13 C30
x C47

C2
C6 C10 C14 C31 C48

C3 C32
C7 C11 C15

C4 C8 C12 C16
X

Рис. 5.1. Приклад побудова сітки з кроком h = Δx = Δy = Δz h для наближеного


визначення найменшого значення цільової функції двох змінних

Як ми вже обговорювали вище, цей метод використовується для


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

45
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

буде дорівнювати 108. Нехай обчислення значення функції в одній точці


вимагає 1000 арифметичних операцій. У такому випадку, загальне число
операцій становитиме 1011. Якщо в нашому розпорядженні є ПК з швидкодією
1 млн. операцій в секунду, то для розв’язання оптимізаційної задачі за
допомогою даного методу буде потрібно 105 секунд, що перевищує добу
безперервної роботи. Додавання ще однієї незалежної змінної збільшить цей
час в 40 разів.
Проведена оцінка показує, що для реальних задач оптимізації метод
суцільного перебору непридатний. Іноді суцільний перебір замінюють
випадковим пошуком. В цьому разі точки сітки переглядаються не підряд, а у
випадковому порядку. В результаті, пошук найменшого значення цільової
функції істотно прискорюється, але втрачає свою надійність.

5.2 Класифікація методів нелінійного програмування

Загальним для методів нелінійного програмування є те, що їх


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

46
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

безумовної оптимізації і використовують в процесі розв’язання оптимізаційної


задачі лише значення цільової функції.
Методи першого порядку (МПП), на відміну від методів нульового
порядку, використовують значення перших похідних від цільового функції і
безпосередньо значення ЦФ.
Методи другого порядку (МДП) під час розв’язання задач безумовної
оптимізації використовують значення цільової функції та перші і другі похідні
від ЦФ.
Квазінютонівські методи (КМ), на відміну від методів другого порядку,
де використовуються другі похідні від ЦФ, в процесі розв’язання
оптимізаційної задачі використовують апроксимацію других похідних від ЦФ
використовуючи для цієї процедури перші похідні від ЦФ.

Методи безумовної
оптимізації Квазіньютонівські
Методи першого
Метод нульового

Методи другого
порядку

порядку
порядку

методи

Рис.5.2. Класифікація методів для розв’язання задач безумовної оптимізації

5.3. Особливості методів прямого пошуку

Отже, прямі методи (методи нульового порядку) не потребують


інформації про цільову функцію в явному виді. В даному випадку мається на

47
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

увазі явний вираз для цільової функції. Вони не потребують регулярності і


неперервності цільової функції та існування першої та другої похідних. Це є
суттєвою перевагою при розв’язанні складних технічних і економічних задач.
При реалізації прямих методів суттєво скорочується етап підготовки до
розв’язання задачі, так як немає необхідності в визначенні перших та других
похідних. Прямі методи в основному носять евристичний характер. До прямих
методів відноситься цілий ряд алгоритмів, які відрізняються за своєю
ефективністю. Ці методи призначені для розв’язання задач безумовної
оптимізації (визначити мінімум цільової функції f (x) , де x належить області

En
minn f ( x)
x∈E .
де E n - n - вимірна область рішень оптимізаційної задачі.

Методи прямого
пошуку

Еврістичні Теоретичні
(на інтуїтивних геометричних (на фундаментальних
представленнях) математичних теоремах)
Метод Нелдера-
Метод пошуку
по симплексу

Метод Хука-

Спряжених

Розенброка
напрямків
Пауела
Дживса

Метод
Міда

Рис.5.3. Класифікація методів прямого пошуку

48
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”
2
5.4. Метод пошуку по симплексу ( S - метод)

Перші спроби розв’язання оптимізаційних задач [1, 2] без обмежень з


використанням прямого пошуку пов'язані з використанням одновимірних
методів оптимізації. Як правило, при реалізації таких методів область
визначення показника якості функціонування системи (цільової функції)
міняється на дискретну множину (сіткою) точок простору керованих змінних, а
потім використовуються різні стратегії зменшення області, яка містить
розв’язання задачі. Часто ця процедура виявляється еквівалентною
рівномірному пошуку у вузлах сітки і, отже, непридатна для розв’язання задач
з числом змінних більше від 2. Більш корисна ідея полягає у виборі базової
точки і оцінці значень цільової функції в точках, які оточують базову точку.
Наприклад, при розв’язання задачі з двома змінними можна скористатися
квадратним зразком, зображеним на рис. 5.4. Потім «найкраща» з п'яти точок,
які досліджують вибирається як наступна базова точка, навколо якої будується
аналогічний зразок (рис.5.5). Якщо ні одна з кутових точок не має переваги
перед базовою, то розміри зразка потрібно зменшити, після чого продовжити
пошук. Завершується процес пошуку оптимуму, коли різниця між вузлами
зразка не стане менше деякої наперед заданої величини.
Цей тип еволюційної оптимізації був використаний Боксом та іншими
дослідниками для аналізу функціонування промислових підприємств, коли
ефект варіювання значень змінних, які описують виробничі процеси,
вимірюється з помилкою. В задачах великої розмірності обчислення значень
цільової функції проводиться в усіх вершинах, а також в центрі ваги гіперкуба,
тобто в точках так званого кубічного зразка. Якщо кількість змінних
(розмірність простору в якому ведеться пошук) рівна n , то пошук за кубічним
зразком вимагає 2n  1 обчислень значень функції для одного зразка. При
збільшенні розмірності задачі необхідна кількість обчислень значення цільової
функції зростає надзвичайно швидко. Таким чином, незважаючи на логічну
простоту пошуку за кубічним зразком, виникає необхідність використання

49
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

більш ефективних методів прямого пошуку для розв’язання практичних


оптимізаційних задач.
Схема пошуку оптимуму оптимізаційної задачі для двовимірної області
зображена на рис.5.5.

Пробна точка
X1
X2
X0

Базовий
X3 X4

Рис. 5.4 Квадратний зразок

X1 X1 X2
X2
X0 X0

X3 X4 X5
X3 X4

F(X4)<F(X1)<F(X2)<F(X3)<F(X0) X7 X6

Рис.5.5. Схема пошуку оптимуму за квадратним взірцем

5.5. Метод пошуку оптимуму по симплексу

Одна із стратегій методу пошуку по симплексу, яка викликає особливий


інтерес у дослідників (пошук по симплексу), запропонована Спендлі, Хекстом і
Хімсвортом. Слід відмітити, що вказаний метод та інші подібні методи не
мають відношення до симплекс-методу розв’язання задач лінійного
програмування, а схожість назв носить випадковий характер. Процедура
50
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

симплексного пошуку Спендлі, Хекста і Хімсворта грунтується на тому, що


експериментальним зразком, який містить найменшу кількість точок, є
регулярний симплекс. Регулярний симплекс в n - мірному просторі являє
собою багатогранник, утворений n  1 рівновіддаленими одна від одної точками
- вершинами.
Означення: Правильним симплексом в просторі En називається множина
з n+1 рівновіддалених одна від одної точок (вершин симплекса). Відрізок, що
з’єднує дві вершини, називається ребром симплекса.

Для прикладу, в разі двох змінних симплексом є рівносторонній


трикутник, а в тривимірному просторі симплекс являє собою тетраедр (рис.5.6).

Рис.5.6. Приклади симплексів для двовимірної та тривимірної областей

В алгоритмі симплексного пошуку використовується важлива властивість


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

51
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

ілюструє процес побудови нового симплекса на площині (двовимірний


випадок). В процесі розв’язання оптимізаційної задачі маємо шлях з
трикутників від початкової точки до точки оптимуму (див.рис.5.8).

1) 2) 3)
X1 X1 X1

X2 X2 Xc X2

Xc X4
X0 X0
Xc
F(X2)<F(X0)<F(X1) X3 X3

F(X2)<F(X3)<F(X0)

Рис. 5.7 Побудова нового симплекса (а - початковий симплекс ( X(1), X(2), X(3));
б - новий симплекс ( X(2), X(3), X(4))

Рис. 5.8. Приклад реалізації пошуку оптимуму по симплексу

Робота алгоритму (рис.5.9) симплексного пошуку починається з побудови


регулярного симплекса в просторі незалежних змінних і оцінки значень
цільової функції в кожній з вершин симплекса. При цьому, визначається
вершина, якій відповідає найбільше значення цільової функції. Потім знайдена
52
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

вершина проектується через центр ваги інших вершин симплекса в нову точку,
яка використовується як вершина нового симплекса.

Початок

Введення вхідних
даних

1
Побудова початкового
симплекса

2 Визначення значень
ЦФ у вершинах
симплекса
3
Визначення вершини з
максим. знач. ЦФ

4 Визначення
координати нової
точки

так
5Викон. умова
Кінець
заверш. пошуку
ні
так
6 7
Береться вершина, якій
―Накриття‖ точки
відповідає попереднє по
мінімуму
величині значення Ц.Ф.
ні
так
8 9
Циклічний рух Редукція
ні

Рис. 5.9. Блок-схема алгоритму пошуку по симплексу

53
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Якщо функція зменшується досить плавно, то ітерації продовжуються


доти, поки або не буде накрита точка мінімуму, або не почнеться циклічний рух
по двох або більш симплексах. У таких ситуаціях можна скористатися
наступними трьома правилами [19, 20].
Правило 1. «Накриття» точки мінімуму
Якщо вершина, якій відповідає найбільше значення цільової функції,
побудована на попередній ітерації, то замість неї береться вершина, якій
відповідає наступне по величині значення цільової функції.
Правило 2. Циклічний рух
Якщо деяка вершина симплекса не виключається протягом більш ніж М
ітерацій, то необхідно зменшити розміри симплекса за допомогою коефіцієнта
редукції і побудувати новий симплекс, вибравши як базову точку, якій
відповідає мінімальне значення цільової функції. Спендлі, Хекст і Хімсворт
запропонували обчислювати M по формулі
M  1,65n  0,05n 2 ,

де n - розмірність задачі, а M округлюється до найближчого цілого числа. Для


застосування даного правила потрібно встановити величину коефіцієнта
редукції.
Правило 3. Критерій закінчення пошуку
Пошук завершується, коли або розміри симплекса, або різниці між
значеннями функції у вершинах стають досить малими. Щоб можна було
застосовувати ці правила, необхідно задати величину параметра закінчення
пошуку f ( x n1 )  f ( x n )   .

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


 побудові регулярного симплекса при заданих базовій точці і
масштабному множнику;
 розрахунку координат відображеної точки.
Побудова симплекса є досить простою процедурою, оскільки з
елементарної геометрії відомо, що при заданих початковій (базовій) точці Х(0) і
масштабному множнику  координати інших n вершин симплекса в n -
54
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

вимірному просторі обчислюються по формулі:

 X j  1 , j  i
 ( 0)

X (i )
  ( 0) , для і та j=1, 2, 3, ..., n ,
X j  2, j  i

де i -номер точки, j - номер координати.
Прирости  1 і  2 залежать тільки від n і вибраного масштабного
множника  , визначаються з формул:

 n  11/ 2  n  1
δ1   α ,
 n 2 
 n  11 / 2  1
δ2   α .
 n 2 
Слід відмітити, що величина масштабного множника  вибирається
дослідником, виходячи з характеристик задачі, яку необхідно розвязати. При
α  1 ребра регулярного симплекса мають одиничну довжину.

Обчислення другого типу, пов'язані з відображенням точки з


максимальним значенням цільової функції відносно центра ваги, також
представляють нескладну процедуру. Нехай X  j - точка, що підлягає
відображенню. Центр ваги інших n точок розташований в точці:
1 N
X c   X i  .
n i 0
i j

Усі точки прямої, що проходить через X(j) і Xc задаються формулою:


x  x j   λ xc  x j  .
При   0 отримуємо початкову точку X  j  , тоді як значення   1
відповідає центру ваги X c . Для того щоб побудований симплекс володів
властивістю регулярності, відображення має бути симетричним. Отже, нова
вершина будується при   2 . Таким чином,
 j  j
X NEW  2 X c  X LAST .
Наведемо приклад розв’язання задачі безумовної оптимізаційної з

55
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

використанням вищеописаного методу. Отже, необхідно знайти такі значення


проектних параметрів x1 та x 2 , які забезпечують мінімум цільової функції:
min f ( x)  (1  x1 ) 2  (2  x2 ) 2 .

Для побудови початкового симплекса необхідно знайти початкову точку і


масштабний множник.
Отже, приймемо, що x (0)  0,0T і =2. Тоді,
3 1
1    1,3918,
2 2
3 1
2    0,5176.
2 2

Визначимо координати двох інших точок початкового симплекса:


X (1)  0  0,5176;0  1,9318  0,5176;1,3918 ,
T T

X ( 2)  0  1,9318;0  0,5176  1,3918;0,5176 .


T T

Обчислимо значення цільової функції у трьох точках симплекса:


f ( x (1) )  0,2374,
f ( x ( 2) )  3,0658,
f ( x ( 0 ) )  5.

Оскільки значення ЦФ f ( x (0) ) більше від f ( x (1) ) та f ( x ( 2) ) , то її необхідно


відобразити відносно центра ваги відносно двох інших вершин симплекса, а
саме:
1 2 (i ) 1 (1)
xc = ∑x = ( x + x ( 2) ) = [1,2247;1,2247]T ,
2 i =1 2
Тоді координати нової точки та значення ЦФ:
 2 xc  xпопер  21,2247;1,2247  0;0  2,4497;2,4497
( 3) (0) T T T
xнов
f ( x (3) )  2,3027.

На наступному кроці необхідно відобразити точку x ( 2) і продовжуємо


обчислення до тих пір, поки не виконається умова завершення обчислень.
Наведемо переваги та недоліки методу пошуку по симплексу.
Переваги:
1. Простота реалізації.
2. Не обов’язково має бути явний вираз для ЦФ.
56
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

3. Ефективніший за S 2 - метод.
Недоліки:
Великі затрати ресурсу ПК у порівнянні з градієнтними методами.

5.6. Метод пошуку по деформованому багатограннику (Нелдера-Міда)

Модифікована процедура пошуку по симплексу, розроблена Нелдером і


Мідом, частково усуває деякі з перерахованих вище недоліків пошуку
оптимуму методом по симплексу.
Неважко помітити, що хоч формула для визначення вершин регулярного
симплекса виявляється досить зручною при побудові початкового зразка, однак
вагомих аргументів для збереження властивості регулярності симплекса в
процесі пошуку оптимуму немає. Отже, при відображенні симплекса існує
можливість як його розтягнення, так і стиснення. При розрахунках по методу
(h)
Нелдера і Міда використовуються вершини симплекса x (якій відповідає
(h) (g )
найбільше значення цільової функції f , x (якій відповідає наступне по
(g ) ()
величині значення цільової функції f і xl (якій відповідає найменше
(l )
значення цільової функції f . Нагадаємо, що відображення вершини
симплекса здійснюється по прямій
 
x  x  h   λ xc  x  h  ,

або x  x h   1  θ xc  x h   .
При θ = 1 має місце так зване нормальне відображення симплекса,
( j)
оскільки точка xíîâ. розташована на відстані xc x від точки xc . Якщо

1 ≤θ ≤1, то спостерігається стиснення відображення, або стиснення симплекса,

тоді як вибір θ > 1 забезпечує розтягнуте відображення, або розтягнення


симплекса. На рис.5.10 наведені можливі варіанти відображення. Три значення
параметра θx , які використовуються при нормальному відображенні, стисненні
і розтягненні, позначаються через α, β, γ , відповідно.

57
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.5.10. Розтягнення і стиснення симплекса


а - нормальне відображення (θ = α = 1) , f l   xHOB  f  g  ; б - розтягнення (θ = γ > 1) ,
xHOB  f l  ; в - стиснення θ    0 , f(x HOB )  f  g  , f(x HOB )  f h  ; г - стиснення

(θ = β > 0) , f  g   xHOB  f h  .

Алгоритм застосування методу Нелдера-Міда (рис.5.11), який включає


такі основні кроки:
1. Побудова початкового правильного багатогранника.
2. Визначення x c , x h - найбільше значення функції, x g - значення
функції перед x h , x l - найменше значення функції.
3. Перевірка умов завершення пошуку.
4. Якщо пошук не закінчився, то вибирається одна з ситуацій
(нормальне відображення, розтягнення чи стиснення).
5. Визначаються координати наступної точки і перехід на п.3.
Реалізація методу починається з побудови початкового симплекса і

визначення координат точок x( h ) , x( g ) , x( l ) і xc . Після нормального


відображення здійснюється перевірка значень цільової функції по критерію
закінчення пошуку в точках відображеного симплекса. Якщо пошук не
закінчений, то за допомогою тестів, наведених на рис.5.10, вибирається одна з
операцій - нормальне відображення, розтягнення або стиснення симплекса. На
етапі продовження вибирається та ситуація, для якої значення цільової функції
найменше. Ітерації продовжуються доти, поки зміни значень цільової функції у
вершинах симплекса не стануть незначними. Як задовільні значення параметрів
 ,  ,  Нелдер і Мід рекомендують використати   1,   0.5,   2 .

58
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Початок

Введення
вхідних даних

Початкові точки x1 ,, xn1


Ввести  ,  , 

Обчислити f1 , f 2 ,, f n 1

Знайти
xl , x g , x h , f l , f g , f h

Знайти x 0 , f 0

Знайти xr , f r

Ні
fr  fh ?
Так
fr  fl ?
Покласти xh  xr Так
Знайти x e , fe Ні

Ні
fr  f g ? Знайти xc , t c
fe  fl ? Так
Ні
Ні Так
Так Замінити fc  fh ?
Замінити x h на xe xh на x r

Перевірка збіжності Замінити xh на xc Покласти все xi 


xi  xl 
Ні 2
Так
Обчислити
Введення f1 , f 2 ,, f n 1
вхідних даних

Початок

Рис.5.11. Блок-схема алгоритму застосування методу Нелдера-Міда

Результати окремих чисельних експериментів показують, що метод


Нелдера-Міда володіє достатньою ефективністю і високою надійністю в умовах
наявності випадкових збурень або помилок при визначенні значень цільової
функції. В 1969 р. Бокс і Дрейпер стверджували, що цей метод є «найбільш

59
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

ефективним з усіх відомих методів послідовної оптимізації». В 1972р.


Паркіинсон і Хатчинсон досліджували вплив вибору параметрів  ,  ,  і
способу побудови початкового симплекса на ефективність пошуку в
оптимізаційних задачах. Вони встановили, що орієнтація початкового
симплекса на відміну від його форми є істотним чинником, що впливає на
процедуру пошуку, і запропонували використати значення параметрів
(  ,  ,  )=(2, 0.25, 2.5). Такий вибір параметрів дав змогу забезпечити хорошу
роботу алгоритму при повторенні послідовного розтягнення симплекса.
Наведемо приклад застосування методу Нелдера-Міда де розв’язання
оптимізаційної задачі. Необхідно визначити такі значення проектних
параметрів x1 та x 2 , які забезпечують мінімум цільової функції:
f ( x)  (1  x1 ) 2  (2  x2 ) 2 .

З попереднього прикладу відомо, що x (0)  0,0T і =2, а значення


координат двох інших точок симплекса:
X (1)  0,5176;1,3918 ,
T

X ( 2)  1,3918;0,5176 .
T

Для розв’язання задачі використаємо наступні вирази:


Z 1  x c   ( x c  x n ),0    1,
Z 2  x c   ( x c  x n ),0    1,
Z 3  x c   ( x c  x n ),   1,
Z 1  x c   ( x c  x n ),   1,

при   0,5;   1;   2 маємо значення для центра мас

x c = [1,22;1,22]T ,
Визначити координати та значення цільової функції для чотирьох
можливих варіантів розвитку ситуації

Z 1  1,22;1,22  (1,22;1,22  0;0 )  1,22;1,22  0,61;0,61  0,61;0,61 ,


T 1 T T T T T

2
f ( Z )  f (0,61;0,61)  2,0842,
1

Z 2  1,22;1,22  0,61;0,61  0,83;0,83 ,


T T T

О.К.
f ( Z 2 )  f (0,83;0,83)  0,7178,

60
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Z 3  2,4497;2,4497 ,
T

f ( Z 3 )  2,3024,

Z 4  1,22;1,22  2(1,22;1,22  0;0 )  3,66;3,66 ,


T T T T

f ( Z 4 )  9,8312.

В результаті, як продовження, маємо операцію стиснення симплекса.


Результат повного розв’язання даної задачі оптимізаційної задачі з
використанням методу Нелдера-Міда зображено на рис.5.12.
Отже, в кінцевому випадку маємо кількість обчислень ЦФ - 84, значення
ЦФ – 16.0, а x1  2,0 і x2  5,0 . Наведемо переваги та недоліки методу Нелдера-
Міда.

Рис.5.12. Приклад розв’язання оптимізаційної задачі

Переваги:
1. Ефективніший за метод пошуку за правильним симплексом;
2. Простота програмної реалізації та не високі вимоги до ПК;
3. Метод ефективний в тих випадках, коли похибка обчислень значень

61
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

ЦФ велика (при його реалізації використовується найбільше значення ЦФ, а не


найменше);
4. Не обов’язково має бути явний вираз для ЦФ.
Недоліки:
1. Для того щоб запобігти сильній деформації симплекса, алгоритм
ускладнюють процедурою його обновлення;
2. Алгоритм все-таки працює досить повільно, оскільки інформація
отримана на попередніх ітераціях не використовується для прискорення
пошуку.

5.7. Метод Хука - Дживса

Викладені вище методи пошуку ґрунтуються на різних операціях над


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

+ λ(xc - x ),
( j) ( j)
x HOB = x

який визначає деякий напрям в просторі керованих змінних. Інші елементи


логічної структури пошуку пов'язані лише з вибором такої величини кроку λ ,
що дає змогу досягнути помітного «покращення» значень цільової функції.
Якщо ж основна задача роботи із зразком, складеним з пробних точок, полягає
у визначенні напрямку пошуку, то стратегію пошуку по симплексу можна
вдосконалити шляхом безпосереднього введення множини векторів, які
задають напрями пошуку. Найпростіший підхід полягає в тому, що пошук

62
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

ведеться на основі рекурсивного перебору напрямів з довільно заданої


множини. З іншого боку, можна побудувати стратегію пошуку, в рамках якої
одне або декілька напрямів пошуку уточнюють на кожній ітерації, що дає змогу
погодити систему напрямів пошуку з глобальною топологією цільової функції.
Для того, щоб гарантувати можливість проведення пошуку по всій області
пошуку, що розглядається, в обох випадках доцільно накласти вимогу лінійної
незалежності напрямів пошуку, які утворюють базис в допустимій області
визначення функції f (x) . Для прикладу, легко пересвідчитися в тому, що не
можна вести пошук оптимуму функції трьох змінних з використанням двох
напрямів пошуку. Звідси слідує, що всі методи прямого пошуку, що
розглядаються, використовують по меншій мірі n незалежних напрямів
пошуку, де n - розмірність вектора x .
Елементарним прикладом методу, в рамках якого реалізовується
процедура рекурсивного перебору на множині напрямів пошуку, є метод
циклічної зміни змінних, відповідно до якого кожний раз міняється тільки одна
змінна. При такому підході множина напрямів пошуку вибирається у вигляді
множини координатних напрямів в просторі керованих змінних оптимізаційної
задачі. Потім вздовж кожного з координатних напрямів послідовно
проводиться пошук точки оптимуму на основі методів розв’язання задач
оптимізації з однією змінною. Якщо цільова функція володіє властивістю
сферичної симетрії, такий пошук забезпечує отримання розв’язання початкової
задачі. Однак, якщо лінії рівня функції викривлені або розтягнуті (що дуже
часто має місце при розв’язання практичних задач), то ітерації можуть
перетворитися в нескінченну послідовність зменшуваних кроків і процедура
пошуку стає неефективною. Окрім того, як показав Пауел зміну координатних
напрямів пошуку (або напрямів пошуку з будь-якої заданої множини) в
циклічному порядку може не тільки виявитися неефективним, але і привести до
відсутності збіжності до точки локального оптимуму навіть при нескінченному
числі ітерацій.
Конструктивні спроби підвищення ефективності цього методу були

63
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

пов'язані з тією обставиною, що пошук, який періодично проводиться в напрямі

d i   xi   xi 1 дає змогу істотно прискорити збіжність. Ця обставина була
покладена в основу модифікованого методу, розробленого Хуком і Джівсом і
що є одним з перших алгоритмів, в яких при визначенні нового напряму
пошуку враховується інформація, отримана на попередніх ітераціях. По суті
процедура Хука - Джівса являє собою комбінацію «досліджуючого» пошуку з
циклічною зміною змінних і пошуку, який прискорюється за зразком з
використанням певних евристичних правил. Досліджуючий пошук
орієнтований на виявлення характеру локальної поведінки цільової функції та
визначення напрямів вздовж «ярів». Отримана внаслідок досліджуючого
пошуку інформація потім використовується в процесі пошуку за зразком при
русі по «ярах».

Результат
ху
ру

―досліджуючого
ям

y пошуку‖ Крок1. F(Xk-1,1) ≥F(Xk-1)


р
ап
Н

F(Xk) Крок2. F(Xk-1,2) ≤F(Xk-1)


x Xk
Вдалий крок по y Крок3. F(Xk-1,3) ≥F(Xk-1,2)
Δy Крок4. F(Xk) ≤F(Xk-1,2)
Не вдалий крок по x Xk-1
Вдалий крок по x
Xk-1,1 Δx F(Xk-1) Δx Xk-1,2
Базова

Не вдалий крок по y
Xk-1,3

Рис. 5.13. Приклад реалізації ―Досліджуючого пошуку‖

Досліджуючий пошук. Для проведення досліджуємого пошуку


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

64
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

починається в деякій початковій точці. Якщо значення цільової функції в


пробній точці не перевищує значення функції в початковій точці, то крок
пошуку розглядається як успішний. В іншому випадку необхідно повернутися в
попередню точку і зробити крок в протилежному напрямі з подальшою
перевіркою значення цільової функції. Після перебору всіх n координат
досліджуючий пошук завершується. Отриману, в результаті, точку називають
базовою точкою.
Пошук за зразком. Пошук за зразком полягає в реалізації єдиного кроку
з отриманої базової точки вздовж прямої, яка з'єднує цю точку з попередньою
базовою точкою. Нова точка зразка визначається відповідно до формули:
 
x kp1  xk   xk   xk 1 .

Як тільки рух за зразком не призводить до зменшення цільової функції, точка


x pk 1 фіксується як тимчасова базова точка і знову проводиться досліджуючий

пошук. Якщо виходить точка з меншим значенням цільової функції, ніж в


попередній точці, то вона розглядається як нова базова точка xk 1 . З іншого
боку, якщо досліджуючий пошук невдалий, то необхідно повернутися в точку
x k  і провести досліджуючий пошук з метою виявлення нового напряму

мінімізації. Зрештою виникає ситуація, коли такий пошук не призводить до


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

в процесі реалізації методу, можна записати в наступному вигляді: x


k  -

поточна базова точка; x


k 1 - попередня базова точка; x k 1 - точка,
p

побудована при русі за зразком; x


k 1 - наступна (нова) базова точка

(рис.5.14).
Наведена послідовність характеризує логічну структуру пошуку по
методу Хука – Джівса (рис.5.15).
Алгоритм пошуку оптимуму за методом Хука – Джівса
Крок 1. Визначити:
65
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

 початкову точку x 0 ,
 приріст  i , i=1, 2, 3,. ... N,

 коефіцієнт зменшення кроку   1 ,


 параметр закінчення пошуку   0 .

Пошук за зразком
Xk+1

Результат

ху
ру
―досліджуючого

ям
y пошуку‖ Крок1. F(Xk-1,1) ≥F(Xk-1)

р
ап
Н Крок2. F(Xk-1,2) ≤F(Xk-1)
Xk F(Xk)
x
Вдалий крок по y Крок3. F(Xk-1,3) ≥F(Xk-1,2)
Δy Крок4. F(Xk) ≤F(Xk-1,2)
Не вдалий крок по x Xk-1
Вдалий крок по x
Xk-1,1 Δx F(Xk-1) Δx Xk-1,2
Базова

Не вдалий крок по y
Xk-1,3

Рис. 5.14. Приклад реалізації кроку ―Пошук за зразком‖

Крок 2. Провести досліджуючий пошук.


Крок 3. Чи був досліджуючий пошук вдалим (чи знайдена точка з меншим
значенням цільової функції)?
Так: перейти до кроку 5.
Ні: продовжувати.
Крок 4. Перевірка на закінчення пошуку. Чи Виконується нерівність x   ?

Так: припинити пошук; поточна точка апроксимує точку оптимуму x*.


Ні: зменшити прирости по формулі
i  i /  , i=l, 2, 3,. .., N.

66
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Перейти до кроку 2.
Крок 5. Провести пошук за зразком:


x kp1  xk   xk   xk 1 .
Початок

Введення
вхідних даних

Обчислити значення
функції в базисній точці

Виконати дослідження

Біжуче значення
Ні
менше за значення в
базисній точці?

Ні
Крок занадто
Взяти нову базисну малий?
точку
Так
Виконати крок пошуку Введення
за зразком вхідних даних

Виконати дослідження
Початок

Біжуче значення
менше за значення в
базисній точці? Так

Ні

Зменшити величину
кроку

Рис.5.15. Блок-схема алгоритму застосування методу Хука-Дживса

67
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Крок 6. Провести досліджуючий пошук, використовуючи x pk 1 як базову точку;

нехай x pk 1 - отримана в результаті точка.

Крок 7. Виконується нерівність f xk 1   f xk   ?


Так: покласти xk 1  xk  , xk   xk 1 . Перейти до кроку 5.
Ні: перейти до кроку 4.
В ряді літературних джерел наведено приклади траєкторій руху процесу
розв’язання задачі з використанням методу Хука-Дживса зображено на
рис.5.16.

Рис.5.16. приклад траєкторії руху процесу розв’язання задачі

Наведемо приклад розв’язання оптимізаційної задачі з використанням


методу Хука — Джівса. Отже необхідно знайти точку мінімуму функції
f ( x)  8x12  4 x1 x2  5x22 [19, 20], використовуючи початкову точку x ( 0)   4,4 .
T

Для того щоб застосувати метод прямого пошуку Хука—Джівса,


необхідно задати наступні величини: x — векторна величина приросту = [1,
1]Т,  — коефіцієнт зменшення кроку = 2,  — параметр закінчення пошуку =
10 4 .

68
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Ітерації починаються з досліджуючого пошуку, в околі точки x ( 0) , якій


відповідає значення функції f ( x (0) )  272 . Фіксуючи х2, надамо приросту змінній
х1:
x2 = 4,
x1 = 4 + 1 → f ( 3, 4) = 200 < f ( x (0) ) → Óñï³õ.
Відповідно, необхідно зафіксувати х1= –3 і надати приросту змінній х2:
x1 = 3,
x2 = 4 + 1 → f ( 3, 3) = 153 < 200 → Óñï³õ.
Таким чином, у результаті досліджуючого пошуку знайдена точка
x (1)   3,3 , f ( x (1) )  153 .
T

Оскільки досліджуючий пошук, був вдалим, та переходимо до пошуку за


зразком:

x (p2)  x (1)  ( x (1)  x ( 0) )   2,2 ,


T

f ( x (p2) )  68.

Далі проводиться досліджуючий пошук навколо точки x (p2) який

виявляється вдалим при використанні додатніх приростів змінних х1 і х2. У


результаті отримуємо точку

x ( 2)   1,1 ,
T

f ( x ( 2) )  17.

Оскільки f ( x ( 2) )  f ( x (1) ) , пошук за зразком можна вважати успішним, і х(2)


стає новою базовою точкою при наступному проведенні пошуку за зразком.
Ітерації продовжуються доти, поки зменшення величини кроку не призведе до
закінчення пошуку в околі точки мінімуму x *  0,0T (див.рис.5.15).
Приклад розв’язання іншої оптимізаційної задачі зображено на рис.5.17.

69
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Рис.5.17. Результати застосування методу Хука-Дживса

Рис.5.18. Результати застосування методу Хука-Дживса

70
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Переваги методу Хука-Дживса:


1. Проста стратегія пошуку;
2. Не високі вимоги до ПК;
3. Широко використовується в інженерних обчисленнях.
Недоліки методу:
При значних нелінійних ефектах метод вироджується в послідовність
досліджуючих пошуків без переходу до прискорюючого пошуку за взірцем.
Результати порівняння ефективності (кількість обчислень цільової
функції) методів Нелдера-Міда та Хука-Дживса зведено в таблицю 5.1. Для
порівняння вибрано три функції, які включають різну кількість проектних
змінних.
Отримані результати дають змогу стверджувати, що:
1. Метод Хука-Дживса є ефективнішим ніж метод Нелдера-Міда;
2. Обсяг обчислень в методі Хука-Дживса. В залежності від виду
цільової функції, є меншим, може мінятися від 2-3 до десятків разів.
Необхідно додати, що метод Хука-Дживса, як і метод Нелдера-Міда є
ефективніший за градієнтні методи в тих випадках, коли градієнтні методи
застрягають в локальних оптимумах.

Результати порівняння методів Нелдера-Міда та Хука-Дживса


Таблиця 5.1
Цільова функція Метод Метод
Нелдера- Хука-
Міда Дживса
f ( x1 , x2 , x3 )  ( x1  2) 2  ( x2  5) 2  ( x3  2) 4 127 64

f ( x1 , x2 )  100( x2  x1 ) 2  (1  x1  5) 2
2
298 25

f ( x1 , x2 , x3 , x4 )  ( x1  10 x2 ) 2  5( x3  x4 ) 2  ( x2  2 x3 ) 4  10( x1  x4 ) 4 288 74

71
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

5.8. Метод спряжених напрямків (метод Пауелла)

Всі описані вище прямі методи мінімізації вимагають нескінечного числа


ітерації для точного визначення точки оптимуму цільової функції. Це
відноситься і до дуже випуклих квадратичних функцій, питання мінімізації, які
добре вивчені.
Однак існують прямі ітераційні методи, які призводять до точки
оптимуму (мінімуму) дуже випуклої квадратичної функції за скінченне число
кроків. Як вже відзначалось, від таких методів розумно очікувати високої
ефективності і в випадку випуклої не квадратичної цільової функції. Опишемо
один з них.

Рис. 5.19. Графічна інтерпретація ідеї методу Пауелла

Нехай p1 і p 2 – напрями головних осей цих еліпсів (рис.5.19), вони


можуть бути знайдені як ортонормований базис із власних векторів матриці A
квадратичної функції). Якщо з довільної точки x0  E 2 виконати ітераційну
процедуру xk  x   k pk , k = l, 2, де величина кроку  k знаходиться із умов
вичерпного спуску, то, очевидно, потрібно не більше двох кроків для пошуку
точки оптимуму х*.
Виберемо деякий напрям p1 та дві точки x0 і y 0 такі, щоби вектори x0 –

72
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

y 0 і p1 були неколінеарні. Виконавши вичерпний спуск з точок x 0 і y 0 в

напрямі p1 , отримаємо точки x1 і y1 . По властивості вичерпного спуску в точках


x1 і y1 . має місце дотику відповідних прямих (напрямів зниження) і еліпсів

(ліній рівня цільової функції).


Так як еліпси відрізняються гомотетією з центром в точці х*, то точки х*,
x1 і y1 розміщені на одній прямій. Тому, припустимо p2  x1  y1 і розв’язуючи

задачу f ( x1  αp2 )  min , ми знаходимо точку х*. Таким чином, і в цьому


випадку розв’язання задачі мінімізації квадратичної дуже випуклої функції
буде отримано за скінчене число кроків.

Рис. 5.20. Особливості реалізації методу Пауела

Крок 1. Вибрати початкову точку x0  E 2 .


Крок 2. Припустимо, що p1  e1 . Знайти точку x1 за допомогою
вичерпного спуску з точки x0 за напрямом p1 : f (x1 ) = min
α∈R
f (x 0 + αp1 ) .

Крок 3.
а) припустимо, що y  x  c ;
б) знайти точку у з умови вичерпного спуску з точки y 0 за напрямом p1 :
f (y1 ) = min f ( y 0 + αp1 ) ,
α∈R

73
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

в) припустимо p2  x1  y1 , знайти точку x 2 з умови f (x 2 ) = min f (x 0 + αp 2 ) .


α∈R

Крок 4. Обчислення завершити, де х*=x2 .


Пошук точки мінімуму проводиться за так званими спряженими напрямами.

Рис.5.21. Схема реалізації методу Пауелла

Приклад застосування методу спряжених напрямків зображено на рис.5.22.

Рис.5.22. Приклад розв’язання оптимізаційної задачі з використанням методу


спряжених напрямків

74
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Отже можна зробити наступні висновки:


1. Метод спряжених напрямків найчастіше використовується для
розв’язання оптимізаційних задач у порівнянні з іншими методами нульового
порядку;
2. В процесі практичного застосування необхідно доповнити алгоритм
процедурами перевірки сходимості та лінійної незалежності системи напрямів;
3. Якщо ЦФ квадратична та містить мінімум, то точка мінімуму
знаходиться за n кроків, де n – число змінних ЦФ. В іншому випадку за більшу
кількість кроків.

5.9. Метод Розенброка

При розв’язанні задачі методом Розенброка [19, 20, 24 - 26] (метод


обертових координат) використовується перетворення на кожній ітерації
системи координат таким чином, щоб у новій системі координат одна з осей
співпадала з напрямком попереднього кроку (див.рис.5.23). Інші осі нової
системи координат звичайно знаходять за допомогою процедури
ортогоналізації Грамма-Шмидта.

Рис.5.23. Ілюстрація ідеї методу Розенброка [24]

75
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Траєкторія пошуку мінімуму функції Хімельблау методом Розенброка


(рис.5.24). min f (x, y ) = λ(x 2 + y 11) + (x + y 2 7) .
2 2

Рис.5.24. Ілюстрація основних кроків методу Розенброка

Якщо, наприклад, цільова функція має вузький викривлений гребінь, то


пошук по взаємо-ортогональних напрямках володіє тою властивістю, що
результуючий напрямок прагне розташуватися вздовж осі яру.
Наведемо алгоритм реалізації методу Розенброка [19, 20, 25]. При цьому
введемо наступні позначення. Нехай s1(k), s2(k), …, sn(k)  одиничні вектори в
просторі R(n), де індекс k = 0, 1, … означає кроки пошуку розв’язання
оптимізаційної задачі. Ортонормовані вектори s1(k), … , sn(k) визначаються на
основі отриманих даних з попереднього кроку пошуку, тобто (k – 1)-го.
Розглянемо k-й крок пошуку, і нехай x0(k) = xn(k–1) являє собою точку в
R(n), з якої розпочинаємо пошук; 1, 2, …, n  величини довжини кроків, що
пов’язані з наступними напрямками s1, s2, …, sn.
Крок 1. Пошук починається з точки x0(k) шляхом введення кроку, який

76
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

рівний 1(k) s1(k) в першому координатному напрямі.


Якщо виконується умова (x0(k) + 1(k)s1(k))  (x0(k)), то крок вважається
успішним, при цьому можна визначити x1(k) = x0(k) + 1(k)s1(k), а величина
кроку 1 множиться на множник  > 1. Якщо ж (x0(k) + 1s1(k)) > (x0), то крок
вважається невдалим і x0(k) не замінюється на чергову точку, а 1(k) множиться
на множник  < 0, || < 1. Потім задається збурення (пробний крок) за напрямом
s2(k). Після того як пройдені всі n напрямів s1(k), s2(k), …, sn(k), переходять до
кроку 2.
Крок 2. Якщо (xn(k)) < (x0(k)), тобто, хоча б один спуск за напрямом
виявився успішним, то присвоюємо x0(k + 1) = xn(k) і повторюємо крок 1. При
цьому реалізується пробний крок з довжиною 1(k) чи 1(k) в залежності від
результату попереднього збурення по цьому напряму. Рекомендується
вибирати  = 3 і  = –0,5.

Рис.5.25. Результат розв’язання задачі [25]

Збурення за вибраним напрямом пошуку задаються до тих пір, поки по

77
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

кожному з напрямів за успіхом - наступна невдача. На цьому k-й етап пошуку


закінчується. Остання одержана точка стає початковою точкою наступного
етапу: x0(k+1) = xn(k). Нормований напрям s1(k+1) вибирається паралельним
вектору А(k) = x0(k+1), а інші напрями вибираються ортонормовані один до
одного і до s1(k) за допомогою відомих методів.
Метод Розенброка не забезпечує автоматичного закінчення процесу
пошуку після того, як знайдений екстремум (х). Пошук проводиться або на
визначену кількість етапів, або закінчується після того, як величина ||А(k)|| стає
менше певного значення на кількох послідовних етапах.
Наведемо приклад застосування методу Розенброка до розв’язання
оптимізаційної задачі (див. рис.5.25).
У порівнянні з методом Хука-Дживса метод Розенброка володіє, як
правило, більш високою ефективністю для функцій у формі ярів з не
прямолінійною формою ярів та впадин.
На відміну від інших методів нульового порядку алгоритм Розенброка
орієнтований на знаходження оптимуму в кожному напрямку, а не просто на
фіксоване зрушення в усіх напрямках. Величина кроку в процесі пошуку
безупинно змінюється в залежності від рельєфу поверхні рівня. Поєднання
обертання координат з регулюванням кроку робить метод Розенброка
ефективним при розв’язання складних задач оптимізації.
На завершення опису методів нульового порядку наведемо результати
ефективності розв’язання оптимізаційної задачі з використанням усіх
вищерозглянутих методів в залежності від точності отриманих результатів. Під
ефективністю будемо розуміти кількість обчислень значень цільової функції. З
отриманих даних слідує, що найбільш ефективним є метод Розенброка. Трохи
гіршими параметрами ефективності, в області високих точностей, володіє
метод Пауелла, хоча при менших точностях метод Пауелла є ефективніший
навіть за метод Розенброка. Досить хорошим значенням ефективності володіє
метод Хука-Дживса та метод покоординатного спуску.
Слід зауважити, що отримані результати можуть дещо змінюватися в

78
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

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

Результати порівняння ефективності методів нульового порядку


Таблиця 5.2
Метод Метод по Метод Метод Метод Метод
Точність координатного Нелдера- Хука- Пауелла Розенброка
спуску Міда Дживса
0.1 4 15 6 2 3
0.01 5 19 8 2 5
0.001 6 24 10 2 6
0.0001 7 27 12 4 8
0.00001 8 30 - 249 9

5.10. Контрольні запитання та завдання для самостійного розв’язання

22. Яка оптимізаційна задача називається задачею безумовної оптимізації?


23. Яка ідея методу пошуку по симплексу?
24. Яка перевага методу пошуку по симплексу?
25. Які недоліки методу пошуку по симплексу?
26. Які основні кроки включає алгоритм пошуку оптимуму з використанням
методу пошуку по симплексу?
27. Яка ідея методу Нелдера-Міда?
28. Яка перевага методу Нелдера-Міда?
29. Які недоліки методу Нелдера-Міда?
30. Які основні кроки включає алгоритм пошуку оптимуму з використанням
методу Нелдера-Міда?
31. Яка ідея методу Хука-Дживса?
32. Яка перевага методу Хука-Дживса?
33. Які недоліки методу Хука-Дживса?
34. Які основні кроки включає алгоритм пошуку оптимуму з використанням
методу Хука-Дживса?
79
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

35. Яка ідея методу Пауела?


36. Яка перевага методу Пауела?
37. Які недоліки методу Пауела?
38. Які основні кроки включає алгоритм пошуку оптимуму з використанням
методу Пауела?
39. Яка ідея методу Розенброка?
40. Яка перевага методу Розенброка?
41. Які недоліки методу Розенброка?
42. Які основні кроки включає алгоритм пошуку оптимуму з використанням
методу Розенброка?
22. Розв’язування задачі багатопараметричної оптимізації методами прямого
пошуку

№ Функція Метод розв’язку


п.п.
1. x2  xy  3 y 2  12 x  15 y  2 Знайти мінімум за допомогою
методу Розенброка
2.  x2  2 xy  5 y 2  12 x  15 y Знайти максимум методом
Нелдера-Міда
3. x2  4 xy  2 y 2  6 x  8 y Знайти мінімум методом
Хука-Джівса
4.  x2  xy  3 y 2  12 x  11y  6 Знайти мінімум за допомогою
методу Пауелла
5. x2  2 xy  y 2  3x  14 y Знайти мінімум методом
Нелдера-Міда
6. 3x 2  2 xy  4 y 2  3x  2 y  5 Знайти мінімум методом
Хука-Джівса
7. 3x2  2 xy  2 y 2  2 x  10 y Знайти мінімум за допомогою
методу Розенброка
8. 2 x2  2 xy  2 y 2  12 x  12 y  3 Знайти максимум методом
Хука-Джівса
9. 2 x2  5xy  2 y 2  20 x  15 y  2 Знайти мінімум за допомогою
методу Пауелла
10. x2  xy  2 y 2  5x  10 y  10 Знайти мінімум методом
Нелдера-Міда
11. x2  4 y 2  xy  6 x  4 y  2 Знайти мінімум за допомогою
методу Розенброка
12. 4 x2  2 xy  y 2  16 x  10 y  2 Знайти максимум методом
Хука-Джівса

80
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

13. 2 x2  5xy  4 y 2  3x  5 y  6 Знайти мінімум за допомогою


методу Розенброка
№ Функція Метод розв’язку
п.п.
14. 4 x2  2 xy  2 y 2  12 x  2 y  4 Знайти мінімум за допомогою
методу Пауелла
15. 2 x2  2 y 2  xy  16 x  10 y  2 Знайти мінімум за допомогою
методу Пауелла
16. 2 x2  xy  y 2  12 x  y6  5 Знайти максимум методом
Хука-Джівса
17. 2 x2  xy  4 y 2  20 x  12 y  4 Знайти мінімум за допомогою
методу Пауелла
18. x2  xy  3 y 2  12 x  14 y  6 Знайти мінімум методом
Нелдера-Міда
19. x2  2 xy  4 y 2  3x  6 y  8 Знайти мінімум за допомогою
методу Пауелла
20.  x2  xy  3 y 2  10 x  14 y  2 Знайти максимум методом
Хука-Джівса
21. 4 x 2  xy  5 y 2  50 x  60 y  5 Знайти мінімум за допомогою
методу Розенброка
22. 3x2  3xy  2 y 2  10 x  8 y  5 Знайти мінімум методом
Хука-Джівса
23. 8x2  4 xy  6 y 2  16 x  10 y  2 Знайти мінімум за допомогою
методу Пауелла
24. 5x 2  xy  y 2  10 x  y  5 Знайти мінімум методом
Нелдера-Міда
25. 4 x2  4 xy  2 y 2  2 x  10 y  8 Знайти максимум методом
Хука-Джівса
26. x2  3xy  y 2  10 x  12 y  6 Знайти мінімум за допомогою
методу Розенброка
27. 2 x2  xy  5 y 2  4 x  5 y  6 Знайти максимум методом
Нелдера-Міда
28. 5x 2  3xy  y 2  3x  4 y Знайти мінімум методом
Хука-Джівса
29.  x2  3xy  2 y 2  x  5 y  3 Знайти мінімум за допомогою
методу Розенброка
30. 5x2  3xy  4 y 2  5x  y  4 Знайти мінімум за допомогою
методу Пауелла

81
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

Література
1. Таха Х. Введение в исследование операций: В 2-х кн. Кн. 1. Пер. с англ.
- М.: Мир, 1985. - 479 с.
2. Таха Х. Введение в исследование операций: В 2-х кн. Кн. 2. Пер. с англ.
- М.: Мир, 1985. - 496 с.
3. Мастяева И.Н., Семенихина О.Н. Методы оптимизации: / Московский
государственный университет экономики, статистики и информатики. – М.:
МЭСИ, 2003. – 135 с.
4. Орлов А.И. Менеджмент. Учебник. / А.И.Орлов.- М.: Издательство
«Изумруд», 2003. - 298 с. http://rudocs.exdat.com/docs/index-19458.html?page=18
5. Боресков А. В. и др. Предисл.: Садовничий В. А. Параллельные
вычисления на GPU. Архитектура и программная модель CUDA: Учебное
пособие. – 2012, Издательство Московского университета. - 336 стр.
6. http://www.nvidia.com/object/cuda_home_new.html
7. Теслюк В.М., Андрійчук М.І. Конспект лекцій з курсу «Методи синтезу
та оптимізації» для студентів базового напряму «Комп’ютерні науки», Ч.1. -
Львів, 2005 – 64 с.
8. Теслюк В.М., Загарюк Р.В. Методи багатокритеріальної оптимізації:
Ч.1. Конспект лекцій з курсу ―Методи багатокритеріальної оптимізації‖ для
студентів спеціальності 8.05010103 ―Системне проектування‖. – Львів:
Видавництво Львівської політехніки, 2012. – 52 с.
9. Mykola Medykovskyy, Vasyl Teslyuk, Oleh Shunevych The Gomory
method applying for wind farm structure determination // Proc. of the VI-th Intern.
Conf. of Computer Science & Information Technologies 2011 (CSIT’2011). – Lviv –
P. 290 - 291.
10. Halych K.V., Tesluyk V.M. Development of system for automation of
optimal menu forming in preschool educational institutions // Proc. of the III-d Intern.
Conf. of Computer Science & Engineering, (CSE’2011). – Lviv – P. 70 – 71.
11. Теслюк В.М., Зелінський А.Я., Хамза Алі Юсеф Аль Шавабкех,
Застосування методу гілок та границь для зменшення потужності множини
альтернативних рішень при розв’язанні задач синтезу МЕМС // Моделювання
та інформаційні технології. Зб. наук. пр. ІППМЕ ім.Г.Є.Пухова НАН України. –
Київ, 2009, Вип. 50. – С.157 - 165.
12. Схрейвер А. Теория линейного и целочисленного программирования: в
2-х томах.; перевод с английского. 1991г. 360с.
13. Ху Т. Целочисленное программирование и потоки в сетях.; перевод с
английского. 1974г.
14. Кузнецов А.В., Сакович В.А., Холод Н.И. Высшая математика:
Математическое программирование. Ученик - 2-е издание. 2001г. 351с.
15. Карманов В.Г. Математическое программирование: Учебное пособие –
5-е издание, стереотип-М:ФИЗМАТ, 2001г.-264с.
16. Белоусов Е.Г. Введение в выпуклый анализ и целочисленное
программирование. М.:Издательство МГУ, 1977г.
17. Федосеев В.В., Гармаш А.Н., Дайитбегов Д.М.: Экономико-
математические методы и прикладные модели: Учеб.пособие для
82
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

вузов/ЮНИТИ, 1999г.-391с.
18. Кремер Н.Ш., Путко Б.А., Тришин И.М., Фридман М.Н.; под ред.
Проф.Н.Ш.Кремера. : Исследование операций в экономике; учеб. Пособие для
вузов.
19. Реклейтис Г., Рейвиндрон А., Рзгсдед К. Оптимизация в технике: В 2-х
кн. Кн. 1. Пер. с англ. - М.: Мир, 1986. - 349 с.
20. Реклейтис Г., Рейвиндрон А., Рзгсдел К. Оптимизация в технике: В 2-х
кн. Кн.2. Пер. с англ. - М.: Мир, 1986. - 320 с.
21. Теслюк В.М., Лобур М.В., Раєвський П.Ю., Денисюк П.Ю.
Автоматизована система розв’язування оптимізаційних задач при проектуванні
інтегральних мікровбудованих систем // Вісник Національного університету
„Львівська політехніка‖: Інформаційні системи та мережі. - Львів, 2005. -
№549.- С. 174-183.
22. Теслюк В.М., Гранат П.П., Марков В.О. Система для розв’язку
оптимізаційних задач при проектуванні інтегральних мікровбудованих систем
OptimMEMS // Матеріали міжнародної наукової конференції ―Інтелектуальні
системи прийняття рішень та прикладні аспекти інформаційних технологій‖
(ISDMIT’2005), Том 4. - Євпаторія, Крим, 2005.– С. 159 - 164.
23. Теслюк В.М., Кривий Р.З., Тарік (Мох’д Тайсір) Алі Аль Омарі, Теслюк
Т.М. Розроблення підсистеми для розв’язання оптимізаційних задач
еволюційними методами // Зб. наук.-техн. праць : Науковий вісник НЛТУ
України. – Львів : НЛТУ України. – 2009. – Вип. 19.4. – С. 243 – 249.
24. http://sapr-mgsu.narod.ru/biblio/optimiz/m6.htm
25. http://nsft.narod.ru/Programming/rosen.html
26. http://alexandr4784.narod.ru/B14/b14_6_66.pdf

83
Конспект лекцій Ч.2. Теслюк В.М., Пелешко Д.Д. “Методи синтезу та оптимізації”

НАВЧАЛЬНЕ ВИДАННЯ

Теслюк Василь Миколайович


Пелешко Дмитро Дмитрович

МЕТОДИ
ЦІЛОЧИСЕЛЬНОГО ПРОГРАМУВАННЯ
ТА НУЛЬОВОГО ПОРЯДКУ

КОНСПЕКТ ЛЕКЦІЙ

(Частина 2)

з курсу ―Методи синтезу та оптимізації‖


для студентів базового напрямку
―Комп’ютерні науки ‖

Редактор
Комп’ютерне верстання

84

You might also like