
моп / 33. Метод отсекающих плоскостей (Келли)
.pdf1
ЛАБОРАТОРНА РОБОТА №3 МЕТОД КЕЛІ
3.1 Мета роботи
Вивчення методу Келі для задач умовної мінімізації, застосування його до розв'язання конкретних завдань. Розвиток навичок використання ЕОМ і мов програмування.
3.2 Методичні вказівки по організації самостійної роботи студентів
Генерація мінімізируючої послідовності x(k ) в методі Келі здійснюється таким чином, що кожна із точок x(k ) є неприпустимою точкою,
тобто x(k ) K k . Це є одним з недоліків методу Келі й приводить до того, що процес обчислення не можна зупиняти навіть при досить великих k.
Збіжність до оптимального розв'язання по функціоналу метод Келі гарантує в тому випадку, якщо K опукла область.
Послідовність областей K (0) , K (1) ,.., K являє собою родину вкладених
множин. Якщо ця властивість виконується k , то при цьому не відбувається втрати частини припустимої області, що можливо, якщо множина K неопукла.
Зі збільшенням кількості ітерацій k зростає розмірність задачі лінійного програмування. Крім того, при наближенні до розв’язання площини, що відтинають, починають практично збігатися, що утрудняє розв’язання задачі. Використання процедури відкидання площин дозволяє зменшувати розмірність задачі, але відкидати можна лише ті обмеження, які не є активними для оптимального плану попереднього завдання.
Виклавши основні моменти методу Келі, опишемо послідовність дій при
його роботі. |
Q x - лінійна, тобто |
Q x представлена у вигляді: |
Нехай функція |
||
n |
|
|
Q x c j x j . Розглянемо наступну задачу: |
|
|
j 1 |
|
|
n |
|
|
Q x c j x j min , |
(3.75) |
|
j 1 |
x K |
|
K x R n : gi x 0, i 1,..., m , |
(3.76) |
де gi x - вгнуті функції, множина K опукла множина. Алгоритм розв'язання задачі (3.75)-(3.76) полягає в наступному: 1. Задати множину K (0) x R n : x j x j x j , K K (0) . Розв’язати задачу.
2
n |
|
|
Q x c j x j min . |
(3.77) |
|
j 1 |
x K (0) |
|
Задача (3.77) являє собою задачу лінійного програмування. Для її розв'я- зання необхідно використовувати методи лінійного програмування (наприклад,
симплекс-метод). Нехай x(1) - розв'язання задачі (3.77). Для k=1,2,... виконати наступну послідовність кроків. 2. Обчислити індекс p I 1,2,..., m у такий спосіб:
g p x(k ) max gi x(k ) ,0 , де x(k ) - розв'язок задачі на k -й ітерації.
i I
Перевірити умову закінчення обчислень: якщо g p x(k ) , то припи-
нити обчислення. У протилежному випадку перейти до пункту 3. 3. Побудувати відтинаючи площини наступного виду:
g~ p x; x(k ) g p x(k ) g p x(k ) x x(k ) .
Нехай H (k ) - півпростір вигдяду:
H (k ) x R n : g p x, x(k ) 0 .
Сформулювати нову систему обмежень вигляду: K (k ) K (k 1) H (k ) . Розв’язати задачу лінійного програмування вигдяду:
n |
|
|
Q x c j x j min |
. |
|
j 1 |
x K (k ) |
|
Перейти до пункту 2.
У випадку, якщо Q x нелінійна функція, то замість задачі
Q x min ,
x K
K x R n : gi x 0, i 1,..., m
розглядається задача |
|
|
|
||||
v min , |
|
|
|
(3.78) |
|
||
x K |
: gi x 0, i 1,..., m; Q x v . |
|
|||||
K x R n 1 |
(3.79) |
||||||
Таким чином, задача (3.78)-(3.79) являє собою задачу з лінійною функці- |
|||||||
єю мети. |
|
|
|
|
|
|
|
Приклад 3.1. Розв’язати методом Келі наступне завдання: [8, с. 333-335] |
|||||||
x1 x2 min , |
|
|
|
||||
|
|
x X |
|
|
|
||
g |
|
x 2x |
x2 1 0, |
|
|
||
|
1 |
|
|
1 |
2 |
|
|
|
|
x 9 0.8 x12 2x2 |
|
|
|||
X g2 |
0, . |
|
|||||
x |
|
0, x |
2 |
0. |
|
|
|
1 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
На рис. 3.1 можна побачити припустиму область цього завдання, яка лежить у прямокутнику 0 x1 5, 0 x2 4 (прямокутник можна взяти менших

3
розмірів, головне, щоб область X йому належала). Функції g1 x й g2 x вгну-
ті. Зафіксувавши деяке мале 0, перейдемо до пункту 1 алгоритму, вважаючи
K (0) x : 0 x1 5, 0 x2 4 . x2
5
4
3
2
1
~ |
(3) |
|
|
|
|
|
g2(X |
) ~ |
(1) |
|
|
|
|
|
|
g2(X ) |
|
|
|
|
|
|
|
X(2) |
X(1) |
|
|
|
|
|
|
|
~ |
(2) |
|
|
|
|
|
g1(X ) |
|
|
|
|
(4) |
X(3) |
|
|
|
|
|
X |
|
|
|
|
|
|
X* |
|
) |
|
|
(4 |
) |
|
|
~ (X |
|
|
|
|
|
|
|
g1 |
|
|
|
|
|
1 |
2 |
X(5)
3 |
4 |
5 |
6 |
x1 |
Ітерація |
1. |
|
|
|
|
|
|
|
|
|
Рисунок 3.1 |
x1 |
|
x2 |
при обмеженнях |
||||||
Знайдемо |
мінімум |
функції |
|
||||||||||||||||||
0 x1 5, 0 x2 4 . |
|
|
|
|
|
|
|
|
|
|
5,4 . |
|
|
|
|||||||
Очевидно, що розв'язанням є точка x(1) |
|
|
|
||||||||||||||||||
Оскільки |
g1 x(1) |
7 , g2 x(1) |
19 , найбільш сильно порушується об- |
||||||||||||||||||
меження g2 x 0 . Виходить, p=2. |
|
|
|
|
|
|
|
|
|
|
|||||||||||
Площина, що відтинає, задається за допомогою лінеаризації g2 x в точ- |
|||||||||||||||||||||
ці x(1) , так що |
|
|
|
|
|
|
|
(1) |
|
|
|
|
|
|
(1) |
|
|
|
|
||
~ |
|
(1) |
|
|
(1) |
|
|
g2 |
|
|
|
(1) |
|
g2 |
|
|
(1) |
|
|||
g2 |
x; x |
|
g |
2 x |
|
|
|
|
|
|
x1 x1 |
|
|
|
x2 x2 |
, |
|||||
|
|
|
x1 |
|
|
x2 |
|
||||||||||||||
~ |
x; x |
(1) |
19 8 x1 5 2 x2 4 . |
|
|
|
|
|
|
|
|||||||||||
g2 |
|
|
|
|
|
|
|
5 2 x2 4 0 . |
|||||||||||||
Таким чином, необхідно додати обмеження 19 8 x1 |
|||||||||||||||||||||
Зауважемо, що точка x(1) |
не задовольняє цьому обмеженню. Тепер варто вирі- |
||||||||||||||||||||
шити наступну пiдзадачу: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
x1 |
x2 |
min , |
|
|
|
|
|
(3.80) |
|
|
|
|
||||||||
|
|
|
|
|
x K (1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
K (1) |
x : 29 8x |
2x |
2 |
0, |
0 x |
|
5, |
0 x |
2 |
4 . (3.81) |
||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|||
Оптимальна точка задачі (3.80)-(3.81): x(2) 2.625;4 . |
|
||||||||||||||||||||
Ітерація 2. g1 x(2) 11.75 , |
g2 x(2) 4.5125. |
Ясно, що перше обме- |
ження порушується сильніше, причому величина нев'язкі велика, тому необхідно продовжувати виконання ітерацій алгоритму.
Рівняння площини, що відтинає, має такий вигляд:
~ |
x; x |
(2) |
11.75 |
2 x1 |
2.625 8 x2 |
g1 |
|
від припустимої області F.
Третя проміжна пiдзадача ЛП:
x1 x2 min ,
x K (2)
4
4 . Вона відокремлює точку x(2)
(3.82)
|
x : 29 8x1 2x2 0, |
|
|
|||
K(2) |
|
15 2x1 8x2 0, |
|
(3.83) |
||
|
. |
|||||
|
|
0 x 5, 0 x |
2 |
4 |
|
|
|
|
1 |
|
|
|
Оптимальне розв'язання задачі (3.82)-(3.83): x(3) 2.971;2.618 .
Виконання ітерацій триває доти, поки обмеження не задовольняться із запропонованою точністю . Точка x* 2.5;2 являє собою точне розв'язання.
Результати виконання послідовних ітерацій можна записати в наступному вигляді:
Номер |
x(k) |
x(k) |
f x(k) |
пiдзадачи |
1 |
2 |
1 |
|
|
|
|
1 |
5 |
4 |
-9.000 |
2 |
2.625 |
4 |
-6.625 |
3 |
2.971 |
2.618 |
-5.589 |
4 |
2.343 |
2.461 |
-4.804 |
5 |
2.516 |
2.050 |
-4.566 |
|
2.500 |
2.000 |
-4.500 |
З розгляду таблиці треба, що рух до оптимуму відбувається зі збільшенням значення цільової функції на кожній ітерації. Причина цього складається у послідовному скороченні припустимої області пiдзадач, що приводить до збільшення оптимальних рішень пiдзадач.
Література:
[8] Реклейтис Г., Рейвиндран А., Регсдел К. Оптимизация в технике: В 2-х
кн. Кн.1. - М: Мир, 1986. - 352 с.
3.3 Порядок виконання роботи та методичні вказіви по її виконанню
Вивчити метод Келі. Побудувати схему алгоритму.
Описати вхідні й робочі параметри.
Скласти програму на одній з алгоритмічних мов, ввести її в ЕОМ. Налагодити програму.

5
Зробити рахунок. Для розв'язання задачі лінійного програмування можна використовувати функцію Minimize пакета Mathematica.
3.3.1 Варіанти завдань
За допомогою методу Келі знайти мінімум функції F x в заданій області X . Покласти 0.01. Варіанти завдань визначаються виглядом функції F x ,областю X . Номер варіанта відповідає номеру студента в списку групи.
Завдання наведені в табл. 3.1. Таблиця 3.1
Номер |
|
|
|
Функція |
|
Область пошуку |
|
|
|
|
|
|
|||||||||||||||||||
варіанта |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. |
2x |
|
4x |
2 |
|
30 min, |
X :1 x1 1 |
2 |
|
x2 1 |
2 |
0, x1 x2 2 . |
|||||||||||||||||||
1 |
|
|
|
|
|
|
|
|
x X |
|
|
|
|||||||||||||||||||
2. |
2x |
|
|
3x |
2 |
|
18 min, |
|
|
2 |
|
2 |
0, |
|
|
x1 x2 2 |
|
||||||||||||||
1 |
|
|
|
|
|
|
|
|
x X |
X : 4 x1 |
x2 |
|
|
|
|||||||||||||||||
|
12x1 |
7.5x2 |
5 min, |
X : 2 2x2 |
x |
2 |
0, x , x |
2 |
0 , |
|
|||||||||||||||||||||
3. |
|
|
|
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
|
x1 |
x2 |
1.5 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
20.5x1 |
2.9x2 min, |
X : 8 0.8 x |
2 0.4 x 2 |
|
0, x |
|
, x |
2 |
0 |
, |
||||||||||||||||||||
4. |
|
|
1 |
|
|
|
2 |
|
|
|
|
1 |
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
3.7x1 x2 |
|
5 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
2x1 |
|
4x2 |
min, |
X :1 x |
2x |
2 |
0, x |
, x |
2 |
0 , |
|
|||||||||||||||||||
5. |
|
|
|
1 |
|
2 |
|
|
|
1 |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
3.2x1 x2 |
|
|
1 |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
6. |
x |
2x |
2 |
10 min, |
X : 2x2 x1 2, |
|
2 |
x2 4, |
|
x1 , x2 0 |
|||||||||||||||||||||
1 |
|
|
|
|
|
|
|
x X |
x1 |
|
|
||||||||||||||||||||
7. |
x 0.7x |
2 |
|
15 min, |
X : 2x1 x2 0, |
|
|
2 |
x2 1, |
|
x1, x2 0 |
||||||||||||||||||||
1 |
|
|
|
|
|
|
|
|
x X |
3x1 |
|
||||||||||||||||||||
8. |
x |
|
x |
2 |
min, |
2 |
2 |
|
|
x1 x2 |
|
0.5, |
x1 , x2 0 |
||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
x X |
X : x1 2x2 1, |
|
||||||||||||||||||||
9. |
x |
|
|
5x |
2 |
|
1 min, |
2 |
|
2 |
0, |
|
x1 x2 1, |
x1 , x2 0 |
|||||||||||||||||
1 |
|
|
|
|
|
|
|
x X |
X :1 x1 2x2 |
|
|||||||||||||||||||||
10. |
2x |
|
3x |
2 |
|
2 min, |
2 |
|
|
0, |
|
2x1 |
|
x2 |
0, x1, x2 |
0 |
|||||||||||||||
1 |
|
|
|
|
|
|
|
x X |
X :1 2x1 x2 |
|
|
||||||||||||||||||||
|
2x1 |
|
x2 |
min |
X : x2 |
x2 |
4x |
6x |
2 |
7 0 , |
|
||||||||||||||||||||
11. |
|
1 |
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
2x1 |
3x2 |
min |
X : x2 |
x2 |
2x 2x |
2 |
2 0 , |
|
||||||||||||||||||||||
12. |
1 |
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
4x1 |
8x2 |
min |
X : x 2 |
x2 |
4x |
|
2x |
2 |
3 0 , |
|
||||||||||||||||||||
13. |
1 |
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
x1 |
2x2 |
min |
X : x2 |
x2 |
4x |
4x |
2 |
4 0 , |
|
|||||||||||||||||||||
14. |
1 |
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x X |
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
||||||
15. |
2x1 |
4x2 |
min |
X : x2 |
x2 |
8x 8x 28 0 , |
|
|||||||
|
1 |
2 |
1 |
|
2 |
|
|
|
||||||
|
|
|
|
x X |
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
16. |
2x2 |
3x1 |
min |
X : x2 |
x2 |
2x |
4x |
2 |
0 , |
x 0, x |
2 |
0 |
||
|
|
|
|
x X |
1 |
2 |
1 |
|
|
|
1 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17. |
6x1 |
2x2 |
min |
X : x2 |
x2 |
4x 4x 4 0 , |
|
|
||||||
|
1 |
2 |
1 |
|
2 |
|
|
|
||||||
|
|
|
|
x X |
|
|
x1 0, x2 0 |
|
|
|
|
|||
18. |
3x1 |
x2 |
1 min |
X : x2 |
x2 |
2x 8x 15 0 , |
|
|
||||||
|
1 |
2 |
1 |
|
2 |
|
|
|
||||||
|
|
|
|
x X |
|
|
|
|
|
|||||
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||
19. |
x1 |
6x2 |
min |
X : x2 |
x2 |
4x 8x 18 0 , |
|
|
||||||
|
1 |
2 |
1 |
|
2 |
|
|
|
||||||
|
|
|
|
x X |
|
|
|
|
|
|||||
|
|
|
|
|
|
x1 |
0, x2 |
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||
20. |
x1 |
|
2x2 |
min |
|
X : x2 |
x2 |
2x 6x 9 0 , |
|
|
||||
|
|
1 |
2 |
1 |
|
2 |
|
|
|
|||||
|
|
|
|
x X |
|
|
x1 |
0, x2 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
3.4 Зміст звіту |
|
|
|
|
|
|
|
|
|
|
|
|||
Звіт повинен містити: постановку задачі, |
спільний рисунок ліній рівня |
функції й області, у якій шукається розв'язок; на кожному кроці виводити значення змінних і системи обмежень (вiдтинаючi площини). Накреслити площини, що відтинають, на спільному рисунку ліній рівня функції й області, у якій шукається розв'язок; показати на графіку траєкторію руху до точки мінімуму. Зробити висновок.
3.5 Контрольні питання
1 Для яких функцій можна використовувати метод Келі? 2 Які вимоги пред'являються до заданої області X ?
3. Геометрична інтерпретація методу Келі.
4 Що називається площиною, що відтинає?
5 Достоїнства й недоліки методу.