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

3.3.7. Пошукові методи оптимізації технічних об’єктів та систем

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

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

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

Всі методи оптимізації спрямовані знайти таку послідовність керованих параметрів Х0, Х1, Х2,… і т. д. , при якій F(X0) > F(X1) > F(X2) >……. при пошуку мінімуму F(X) i F(X0) < F(X1) < F(X2) <……. при пошуку максимуму F(X) . В такому випадку забезпечується збіжність і екстремум може бути знайдений. Схема алгоритму пошуку наведена на рис. 3.33.

Початкова точка Х0 повинна належати області визначення і , за можливості, знаходитися якомога ближче до екстремуму. Сутність конкретного метода оптимізації визначається етапами 2 і 3, де отримують координати чергової точки Хк+1 на траєкторії пошуку. Після обчислення цільової функції в цій точці F(Xk+1) роблять висновки щодо досягнення екстремуму або щодо необхідності продовження пошуку.

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

З методів послідовного пошуку метод дихотомії (половинного ділення) є найбільш простим.

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

; ,

де δ > 0 – константа, яка визначає відстань між двома значеннями аргументу;

ак і вк – межі інтервалу на к – тому кроці.

Після визначення F(X1, k) i F(X2, k) знаходять інтервал невизначеності. Для пошуку мінімуму:

  • якщо F(X1, k) < F(X2, k), то ак+1 = ак ; вк+1 = х2, к;

  • якщо F(X1, k) = F(X2, k), то ак+1 = х1,к ; вк+1 = х2, к;

  • якщо F(X1, k) > F(X2, k), то ак+1 = х1,к ; вк+1 = вк

Потім знову обчислюють координати х1 та х2 і продовжують пошук. Після n експериментів (n – парне число) екстремум буде обмежений інтервалом довжиною:

,

де (в – а) – інтервал на початку пошуку.

В методі золотого перерізу експерименти X1, k i X2, k визначають з урахуванням коефіцієнту пропорційності τ = 0,382:

Х1, к = ак + 0,382(вкак); Х2, к = вк - 0,382(вкак).

В цих точках визначають цільову функцію F(X), аналізують інтервал невизначеності і продовжують пошук.

На рис. 3.34 наведена блок – схема алгоритмів половинного ділення та золотого переріза.

Послідовність пошуку екстремуму (мінімуму) за найбільш розповсюдженим з методів оптимізації з апроксимацією функції – методом квадратичної інтерполяції є наступною.

Етап 1. Обчислення F(x) в початковій точці х0.

Етап 2. Призначення кроку h. Якщо F(x0 +h) < F(x0), переходять до етапу 3; якщо F(x0 +h) ≥ F(x0), приймають h = - h і виконують етап 3.

Етап 3. Обчислення хк+1 = хк + h і F(xk+1).

Етап 4. Якщо F(xк+1) ≤ F(xк), то крок h подвоюють і виконують етап 3. Якщо F(xк+1) > F(xк), то хк+1 позначають через хm, хк – через хm – 1, зменшують h наполовину і етап 3 виконують в останній раз.

Етап 5. Виключення з отриманих чотирьох значень хm + 1, хm, хm - 1, хm - 2 які знаходяться на однаковій відстані одне від одного, або хm + 1, або хm - 2 в залежності від того, яка з цих точок знаходиться на більшій відстані від точки х, в якій функція F(х) має найменше значення.

Припустимо, ха, хв, хс – точки, що залишилися; хс – центральна з цих точок, а ха = хс – h; хв = хс + h.

Етап 6. Проведення квадратичної інтерполяції для визначення координати екстремуму:

.

Блок – схема алгоритму наведена на рис. 3.35.

Проілюструємо процедуру пошуку оптимуму за розглянутими методами.

Приклад. Знайти оптимальний коефіцієнт витрати повітря х для однозонної печі, який забезпечує мінімальну витрату полива F на її опалення за експериментально отриманою моделлю:

F = 1200 – 1320х + 600х2, .

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

Рішення. а) Пошук за методом половинного ділення.

Приймаємо рекомендовані границі інтервалу х на першому кроці а1 = 0,6; в1 = 2,0; відстань між двома значеннями х: δ = 0,02.

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

; ;

F(x1,1) = 1200 – 1320x1,1+ 600x1,12 = 1200 – 1320*1,29 + 600*1,292 = 95,66 ;

F(x2,1) = 1200 – 1320x2,1+ 600x2,12 = 1200 – 1320*1,31 + 600*1,312 =500,46 .

Оскільки F(x1,1) < F(x2,1), то на другому кроці приймаємо:

а2 = а1 = 0,6; в2 = х2,1 = 1,31; ;

;

F(x1,2) = 1200 – 1320x1,2+ 600x1,22 = 1200 – 1320*0,945 + 600*0,9452 = 488,415 ; F(x2,2) = 1200 – 1320x2,2+ 600x2,22 = 1200 – 1320*0,965 + 600*0,9652 = 484,935 .

Враховуючи, що F(x1,2) > F(x2,2), приймаємо: а3 = х1,2 = 0,945; в3 = в2 = 1,31 і виконуємо третій крок пошуку.

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

; ; F(x1,3) = 1200 – 1320x1,3+ 600x1,32 = 1200 – 1320*1,1175 + 600*1,11752 = 474,181 ; F(x2,3) = 1200 – 1320x2,3+ 600x2,32 = 1200 – 1320*1,1375 + 600*1,13752 = 474,84 .

Оскільки значення цільової функції F(x1,3) наближено дорівнює її величині в точці x2,3, можна прийняти х* як середнє з кінцевого діапазону:

.

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

F = 1200 – 1320x* + 600(x*)2 = 1200 – 1320*1,1275 + 600*1,12752 = 474,5 .

Це значення є декілька більшим, ніж отримане в точці х1,3, тому більш доцільно остаточно прийняти х* = х1,3 = 1,1175, де значення F становить 474,181 .

б) Пошук за методом золотого перерізу.

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

х1,1 = а1 + 0,382(в1 - а1) = 0,6 + 0,382(2,0 – 0,6) = 1,1348;

х2,1 = в1 - 0,382(в1 - а1) = 2,0 - 0,382(2,0 – 0,6) = 1,4652;

F(x1,1) = 1200 – 1320x1,1+ 600x1,12 = 1200 – 1320*1,1348 + 600*1,13482 = 474,7266 ;

F(x2,1) = 1200 – 1320x2,1+ 600x2,12 = 1200 – 1320*1,4652 + 600*1,46522 = 554,0226 .

Оскільки F(x1,1) < F(x2,1), то границі інтервалу на другому кроці приймаємо:

а2 = а1 = 0,6; в2 = х2,1 = 1,4652.

Дослідні точки на другому кроці і значення F в них:

х1,2 = 0,6 + 0,382(1,4652 – 0,6) = 0,9305;

х2,2 = 1,4652 - 0,382(1,4652 – 0,6) = 1,1347;

F(x1,2) = 1200 – 1320x1,2+ 600x1,22 = 1200 – 1320*0,9305 + 600*0,93052 = 491,2382 ;

F(x2,2) = 1200 – 1320x2,2+ 600x2,22 = 1200 – 1320*1,1347 + 600*1,13472 = 474,7225 .

З огляду на дотримання нерівності F(x1,2) > F(x2,2), приймаємо для третього кроку: а3 = х1,2 = 0,9305; в3 = в2 = 1,4652, обчислюємо координати дослідних точок і величини цільової функції в них:

х1,3 = а3 + 0,382(в3а3) = 0,9305 + 0,382(1,4652 – 0,9305) = 1,1348;

х2,3 = в3 - 0,382(в3а3) = 1,4652 - 0,382(1,4652 – 0,9306) = 1,2609;

F(x1,3) = 1200 – 1320x1,3+ 600x1,32 = 1200 – 1320*1,1348 + 600*1,13482 = 474,7266 ;

F(x2,3) = 1200 – 1320x2,3+ 600x2,32 = 1200 – 1320*1,2609 + 600*1,26092 = 489,5333 .

Для четвертого кроку приймаємо: а4 = а3 = 0,9305; в4 = х2,3 = 1,2609, оскільки F(x1,.3) < F(x2,3).

х1,4 = а4 + 0,382(в4а4) = 0,9305 + 0,382(1,2609 – 0,9305) = 1,0567;

х2,4 = в4 - 0,382(в4а4) = 1,2609 - 0,382(1,2609 – 0,9306) = 1,1135;

F(x1,4) = 1200 – 1320x1,4+ 600x1,42 = 1200 – 1320*1,0567 + 600*1,05672 = 475,125 ;

F(x2,4) = 1200 – 1320x2,4+ 600x2,42 = 1200 – 1320*1,1135 + 600*1,11352 = 474,11 .

Наближено значення F(x1,4) і F(x2,4) дорівнюють одне одному, тому припиняємо пошук і визначаємо х*.

Якщо прийняти: , то значення цільової функції становить:

F(x*) = 1200 – 1320x*+ 600(x*)2 = 1200 – 1320*1,0851 + 600*1,08512 = 474,2 .

З наведених раніш міркувань приймаємо х* = х2,4 = 1,1135, де F приймає значення 474,11 .

в) Пошук за методом квадратичної інтерполяції.

Початкову точку приймаємо посередині припустимого інтервалу варіювання:

.

Величину кроку залишимо базовою: h = δ = 0,02.

Значення цільової функції в початковій точці:

F(x0) = 1200 – 1320x0+ 600x02 = 1200 – 1320*1,3 + 600*1,32 = 498 .

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

х1 = х0 + h = 1,3 + 0,02 = 1,32;

F(x1) = 1200 – 1320x1+ 600x12 = 1200 – 1320*1,32 + 600*1,322 = 503,04 .

Оскільки F(x0) < F(x1), змінюємо напрям руху на протилежний шляхом нового визначення кроку і координат точки на траєкторії пошуку:

h1 = - h = - 0,02; х1 = х0 - h = 1,3 - 0,02 = 1,28;

F(x1) = 1200 – 1320*1,28 + 600*1,282 = 493,44 .

Враховуючи, що знайдене F(x1) = 493,44 < F(x0) = 498 , приймаємо подвоєний крок у вибраному напрямку, знаходимо координату точки траєкторії і величину цільової функції в ній:

h2 = 2h1 = 2(- 0,02) = - 0.04; х2 = х1 + h2 = 1,28 - 0,04 = 1,24;

F(x2) = 1200 – 1320x2+ 600x22 = 1200 – 1320*1,24 + 600*1,242 = 485,76 .

Зважаючи на нерівність F(x2) < F(x1), продовжуємо рух у тому ж напрямку:

х3 = х2 + h2 = 1,24 - 0,04 = 1,20;

F(x3) = 1200 – 1320x3+ 600x32 = 1200 – 1320*1,20 + 600*1,202 = 485,76 .

Аналогічно виконуються наступні крокі в напрямку оптимуму:

  • F(x3) < F(x2);

х4 = х3 + h2 = 1,20 - 0,04 = 1,16;

F(x4) = 1200 – 1320*1,16 + 600*1,162 = 476,16 ;

- F(x4) < F(x3);

х5 = х4 + h2 = 1,16 - 0,04 = 1,12;

F(x5) = 1200 – 1320*1,12 + 600*1,122 = 474,24 ;

- F(x5) < F(x4);

х6 = х5 + h2 = 1,12 - 0,04 = 1,08;

F(x6) = 1200 – 1320*1,08 + 600*1,082 = 474,24 ;

- F(x6) = F(x5);

х7 = х6 + h2 = 1,08 - 0,04 = 1,04;

F(x7) = 1200 – 1320*1,04 + 600*1,042 = 476,16 .

Оскільки F(x6) < F(x7), приймаємо половинний крок і в останній раз обчислюємо координату нової точки і значення цільової функції в ній:

h3 = 0,5h2 = 0,5(- 0,04) = - 0,02; х8 = х7 + h3 = 1,04 - 0,02 = 1,02;

F(x8) = 1200 – 1320*1,02 + 600*1,022 = 477,84 .

Порівняємо останні чотири значення F(x):

F(x5) = 474,24 ; F(x6) = 474,24 ; F(x7) = 476,16 ;

F(x8) = 477,84 .

Найбільшим з них є F(x8), тому відкидаємо цю точку. Для розрахунку координати оптимуму приймаємо в якості центральної точки х6, а крайніх – х5 та х7. За формулою квадратичної інтерполяції отримуємо:

;

F(x*) = 1200 – 1320x*+ 600(x*)2 = 1200 – 1320*1,1 + 600*1,12 = 474 .

Для аналітичного рішення застосуємо необхідні та достатні умови існування екстремуму, оскільки ця елементарна функція може бути двічі диференційована:

, звідки знаходимо х* = 1,1.

> 0, що свідчить про досягнення мінімуму в точці х*.

Значення цільової функції в цій точці:

F(x*) = 1200 – 1320*1,1 + 600*1,12 = 474 ,

що відповідає знайденим пошуковими методами значенням.

Великий клас складають методи багатовимірного пошуку оптимуму.

Координатний метод Гауса – Зайделя і його розвиток метод Пауела включає здійснення послідовних одновимірних пошуків, починаючи з деякої початкової точки Х0,0 (рис. 3.36).

В цій точці початковий напрямок руху S1,0 ,….., Sn,0 вибирають паралельно координатним осям х1,…., хn, причому першим здійснюється рух уздовж n – ної осі n – вимірного простору. Для функції F(x1, x2) двох координат на рис. 3.36 спочатку напрямок S2,0 вибирають уздовж вісі х2, а потім S1,0 уздовж х1 .

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

Мінімізація або максимізація F(X0,0 + hSn,0) по h у вибраному напрямку виконується за допомогою якогось методу одновимірного оптимального пошуку і знайдений оптимальний крок дозволяє перейти в точку Х1,0 = Х0,0 + hSn,0. Потім уздовж кожного з n напрямків ця процедура повторюється. Визначенням координат точки Хn +1, 0 ( для двохвимірного випадку точку Х3,0) закінчується попередній етап пошуку і починається аналогічний наступний.

На відмінність від методу Гауса – Зайделя, який характеризується великою тривалістю пошуку, в методі Пауела потім виконується одновимірний пошук уздовж напрямку S2,1 = (Х3,0 – Х1,0) за пунктирною лінією. В новій точці Х0,1 знову приймається напрямок Sn,0 і пошук продовжується за описаною процедурою. Закінчення пошуку після завершення (n – 1) етапів здійснюється в тому випадку, коли зміна за кожною незалежною змінною стає менш, ніж задана точність ε.

Метод деформованого багатогранника Нелдера та Міда є модифікацією симплексного метода. Симплексом називають регулярний багатогранник в n – вимірному евклідовому просторі. Для двох змінних – це рівнобічний трикутник; для трьох змінних – це тетраедр. Тобто в n – вимірному просторі симплекс має (n + 1) вершину. Координати вершин вихідного симплекса можуть визначатися двома способами:

  1. За допомогою матриці R розміром n × (n + 1)

,

де r1 = ;

r2 = ;

l – відстань між вершинами симплекса.

Для двох факторів (рис. 3.37) маємо: r1 = 0,966l; r2 = 0,259l .

  1. За допомогою матриці:

де rj = ; Rj = ; j = 1, 2, 3,….., n

n – кількість параметрів.

Центр симплекса при цьому розміщений в центрі координат; вершина (n + 1) на вісі Хn ,а інші вершини розташовані симетрично відносно вісі Хn . Наприклад, для двох факторів маємо:

r1 = =0,5; R1 = ; r2 = = 0,289;

R2 = = 0,578.

Побудований за даними табл. 3.1 план вихідного симплекса за цім способом наведений на рис. 3.38.

Таблиця 3.1

Безрозмірні координати вихідного симплекса

№№ дослідів

Х1

Х2

1

- 0,5

- 0,289

2

+ 0,5

- 0,289

3

0

+ 0,578

Пошук мінімуму (максимуму) цільової функції виконується наступним чином. Визначають координати вершин симплекса і обчислюють в них значення цільової функції F(Х). Знаходять вершину з найгіршим для даної задачі значенням F(Х). Через цю вершину і центральну точку симплекса проводять пряму, на ній на деякий відстані від центру встановлюють нову вершину, а вершина, де спостерігалося найгірше значення F(Х), відкидається. Таким чином, новий симплекс будується на залишених і одній новій вершині.

На рис. 3.39 показаний процес пошуку оптимуму, коли здійснюється послідовна заміна найгіршої точки 1 в симплексі 1 2 3 на точку 4 з утворенням нового симплекса 2 3 4. Якщо в ньому найгіршою стає точка 2 , то вона замінюється своїм дзеркальним відображенням відносно протилежної грані 3 4 (точка 5) з побудовою нового симплекса 3 4 5. Подальший рух здійснюється шляхом відкидання найгірших точок 3, 5, 4, 6, 8 і послідовної заміни їх на точки 6, 7, 8, 9, 10 з побудовою нових симплексів.

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

В методі Нелдера і Міда координати вершин базового (початкового) симплексу визначають з матриці R, а на наступних етапах конфігурація симплекса змінюється: над ним можуть виконуватися операції відображення, як і для жорсткого симплексу; розтягу; стиску; редукції (рис. 3.40).

Позначимо Х ( j = 1, 2, …., n +1) j – ту вершину (точку) на к – тому етапі пошуку оптимуму функції F(Х). Припустимо, що вершина ХкА характеризується максимальним значенням F(Х), найгіршим для пошуку мінімуму, а вершина ХкВ – мінімальним, тобто найкращим. Вектор координат центру багатогранника ХкС має елементи:

,

де і = 1, 2, …, n – номер координати;

хікА – і – та координата вершини з максимальним значенням F(Х) на к – тому етапі пошуку.

Операція відображення – це проектування ХкА через центр зі співвідношення:

Хn+2, к = ХкС + α(ХкС – ХкА),

де α > 0 – коефіцієнт відображення; звичайно α = 1.

Розтяг використовують, якщо відображення виявилося вдалим, тобто, коли для пошуку мінімуму F(Xn+2, k) < F(XB k) . Координати нової вершини визначають зі співвідношення:

Хn+3, к = ХкС + γ(Хn+2, k – ХкC),

де γ – коефіцієнт розтягу.

Вектор (Хn+2, k – ХкC) тут розтягується, оскільки звичайно приймають γ = 2,8 – 3,0.

Стиск виконується, якщо в результаті відображення F(Xn+2, k) стало більшим, ніж решта вершин. Вектор (ХкА – ХкС) стискають за співвідношенням:

Хn+4, к = ХкС + β(ХА k – ХкC),

де 0 < β < 1 – коефіцієнт стиску, який звичайно вибирають на рівні 0,4 – 0,6.

Редукція – це стиск симплексу в 2 рази. Цю операцію застосовують при F(Xn+2, k) > F(XА k) і виконують за співвідношенням:

Хj, к = ХкB + 0,5(Х j,k – ХкB),

де j = 1, 2, ….., n + 1.

Умовою припинення пошуку є виконання співвідношення:

,

де ε > 0 – мале число, яке визначає ε – околицю екстремуму.

Алгоритм методу передбачає наступні етапи.

1. Визначення координат вершин початкового симплексу та значень цільової функції F(Х) в них.

2. Визначення вершини з найбільшим та найменшим значенням F(Х) і координат центру симплекса ХкС.

3. Виконання операції відображення: пошук координат Хn+2, к відображеної вершини і значення функції F(Xn+2, k) в ній.

4.За умови F(Xn+2, k) > F(XB k) при пошуку мінімуму переходять до п. 7.

5. Виконання операції розтягу з визначенням координат Хn+3, к і значення F(Xn+3, k) .

6. За умови F(Xn+3, k) < F(XB k) приймають ХкА = Хn+3, к; за умови F(Xn+3, k) ≥ F(XB k) приймають ХкА = Хn+2, к і переходять до п. 12.

7. Перевірка умови F(Xn+2, k) > F(Xj, k) для всіх j ≠ A. При невиконанні цієї нерівності приймають ХкА = Хn+2, к і пошук продовжують за п. 12.

8. Якщо F(Xn+2, k) ≥ F(XА k) , приймають ХкА = Хn+2, к ; за умови F(Xn+2, k) < F(XА k) приймають ХкА = ХкА .

9. Виконання операції стиску з обчисленням координати Хn+4, к та значення функції F(Xn+4, k).

10. За умови F(Xn+4, k) ≤ F(XА k) приймають ХкА = Хn+4, к і переходять до п. 12.

11. Виконання редукції симплекса.

12. За умови пошук припиняють. В разі невиконання цієї умови індекс етапу пошуку К збільшують на одиницю, тобто визначають К як К+1, і пошук мінімуму повторюють з п. 2.

Проілюструємо використання симплекс – методу та метода Гауса – Зайделя для пошуку оптимуму.

Приклад. Визначити оптимальні коефіцієнти витрати повітря z1 та z2 на спалювання палива в зонах двозонної печі, які забезпечують мінімальну витрату палива F на піч. Пошук здійснити за допомогою симплекс - метода, метода Гауса – Зайделя і порівняти результати з даними аналітичного рішення.

Цільова функція має вигляд:

F = 3500 – 2400z1 – 1500z2 + 600z12 + 375z22 + 300z1z2 , .

Початкові значення та інтервали варіювання керованих параметрів прийняти z1,0 = z2,0 = 1,0; h1 = h2 = 0,2.

Рішення. а) Пошук за симплекс – методом.

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

zj,i = zj,0 + xj,ihj ,

де і = 1, 2, …, n + 1 – номери дослідів.

Використовуємо безрозмірні значення х1,і та х2,і з вихідної матриці і отримуємо:

- для досліду і = 1: z1,1 = z1,0 + x1,1h1 = 1,0 – 0,2*0,5 = 0,9;

z2,1 = z2,0 + x2,1h2 = 1,0 – 0,2*0,289 = 0,9422;

- для досліду і = 2: z1,2 = z1,0 + x1,2h1 = 1,0 + 0,2*0,5 = 1,1;

z2,2 = z2,0 + x2,2h2 = 1,0 – 0,2*0,289 = 0,9422;

- для досліду і = 3: z1,3 = z1,0 + x1,3h1 = 1,0 + 0,2*0 = 1,0;

z2,3 = z2,0 + x2,3h2 = 1,0 + 0,2*0,578 = 1,1156.

Значення цільової функції у вихідній серії дослідів:

F1 = 3500 – 2400z1,1 – 1500z2,1 + 600z1,12 + 375z2,12 + 300z1,1z2,1 = 3500 – 2400*0,9 – 1500*0,9422 + 600*0,92 + 375*0,94222 + 300*0,9*0,9422 = 1020,4 ;

F2 = 3500 – 2400z1,2 – 1500z2,2 + 600z1,22 + 375z2,22 + 300z1,2z2,2 = 3500 – 2400*1,1 – 1500*0,9422 + 600*1,12 + 375*0,94222 + 300*1,1*0,9422 = 836,9 ;

F3 = 3500 – 2400z1,3 – 1500z2,3 + 600z1,32 + 375z2,32 + 300z1,3z2,3 = 3500 – 2400*1,0 – 1500*1,1156 + 600*1,02 + 375*1,11562 + 300*1,0*1,1156 = 828 .

За результатами вихідної серії дослідів замінюємо точку 1, в якій максимальна витрата палива, на її дзеркальне відображення відносно центра протилежної грані симплекса 2 - 3. Координати нової точки 4 визначаємо за формулою:

,

де zj,l та zj,n+2 – j – та координата найгіршої і нової точки; і ≠ l.

; .

Значення цільової функції в цій точці:

F4 = 3500 – 2400z1,4 – 1500z2,4 + 600z1,42 + 375z2,42 + 300z1,4z2,4 = 3500 – 2400*1,2 – 1500*1,1156 + 600*1,22 + 375*1,11562 + 300*1,2*1,1156 = 678,9 .

В новому симплексі, який утворений точками 2, 3, 4, найгіршою є точка 2. Тому замінюємо її новою точкою 5 з координатами:

; .

Витрата палива на опалення печі при таких коефіцієнтах витрати повітря становить:

F5 = 3500 – 2400z1,5 – 1500z2,5 + 600z1,52 + 375z2,52 + 300z1,5z2,5 = 3500 – 2400*1,1 – 1500*1,289 + 600*1,12 + 375*1,2892 + 300*1,1*1,289 = 701 .

Аналогічно виконуємо наступні кроки до оптимуму:

  • крок 3 (заміна точки 3 на точку 6)

; ;

F6 = 3500 – 2400*1,3 – 1500*1,289 + 600*1,32 + 375*1,2892 + 300*1,3*1,289 = 586,3 ;

- крок 4 (заміна точки 5 на точку 7)

; ;

F7 = 3500 – 2400*1,4 – 1500*1,1156 + 600*1,42 + 375*1,11562 + 300*1,4*1,1156 = 577,9 ;

  • крок 5 (заміна точки 4 на точку 8)

; ;

F8 = 3500 – 2400*1,5 – 1500*1,289 + 600*1,52 + 375*1,2892 + 300*1,5*1,289 = 519,7 ;

  • крок 6 (заміна точки 6 на точку 9)

; ;

F9 = 3500 – 2400*1,6 – 1500*1,1156 + 600*1,62 + 375*1,11562 + 300*1,6*1,1156 = 524,8 ;

  • крок 7 (заміна точки 7 на точку 10)

; ;

F10 = 3500 – 2400*1,7 – 1500*1,289 + 600*1,72 + 375*1,2892 + 300*1,7*1,289 = 501 ;

  • крок 8 (заміна точки 9 на точку 11)

; ;

F11 = 3500 – 2400*1,6 – 1500*1,4624 + 600*1,62 + 375*1,46242 + 300*1,6*1,4624 = 506,4 ;

  • крок 9 (заміна точки 8 на точку 12)

; ;

F12 = 3500 – 2400*1,8 – 1500*1,4624 + 600*1,82 + 375*1,46242 + 300*1,8*1,4624 = 522,1 .

Оскільки після заміни точки 8 нова точка 12 знову стає найгіршою, то можна зробити висновок, що область екстремуму досягнута і обмежена точками 9, 10, 11. Оптимальні значення z1 та z2 знаходяться в межах 1,5 ÷ 1,7 і 1,289 ÷ 1,4624 відповідно. В табл. 3.2 зведені результати пошукових рухів, а рис. 3.41 наведена графічна інтерпретація руху до оптимуму за симплекс - методом.

Таблиця 3.2

Результати пошуку оптимальної області за симплекс - методом

№№ дослідів

z1

z2

F,

1

0,9

0,9422

1020,4

2

1,1

0,9422

836,9

3

1,0

1,1156

828,0

4

1,2

1,1156

678,9

5

1,1

1,289

701,0

6

1,3

1,289

586,3

7

1,4

1,1156

577,9

8

1,5

1,289

519,7

9

1,6

1,1156

524,8

10

1,7

1,289

501,0

11

1,6

1,4624

506,4

12

1,8

1,4624

522,1

б) Пошук оптимуму за методом Гауса – Зайделя.

Рух розпочинаємо уздовж вісі z2 з початкової точки z2,0 = 1,0 зі сталим кроком h2 = 0,2 при фіксованому значенні z1,0 = 1,0. Цільова функція при цьому має вигляд:

F1 = 3500 – 2400*1 – 1500z2 + 600*12 + 375z22 + 300*1*z2 = 1700 – 1200z2 + 375z22 , .

ЇЇ значення в початковій точці:

F1(z2,0) = 1700 – 1200z2,0 + 375z2,02 = 1700 – 1200*1 + 375*12 = 875 .

Координата z2 після першого кроку пошуку і значення цільової функції:

z2,1 = z2,0 + h2 = 1,0 + 0,2 = 1,2; F1(z2,1) = 1700 – 1200z2,1 + 375z2,12 = 1700 – 1200*1,2 + 375*1,22 = 800 .

Оскільки F1(z2,0) > F1(z2,1), то координата z2 на другому кроці і величина F1 становлять:

z2,2 = z2,1 + h2 = 1,2 + 0,2 = 1,4; F1(z2,2) = 1700 – 1200z2,2 + 375z2,22 = 1700 – 1200*1,4 + 375*1,42 = 755 .

Аналогічно на третьому кроці, оскільки F1(z2,1) > F1(z2,2), отримуємо:

z2,3 = z2,2 + h2 = 1,4 + 0,2 = 1,6; F1(z2,3) = 1700 – 1200z2,3 + 375z2,32 = 1700 – 1200*1,6 + 375*1,62 = 740 .

Зважаючи на нерівність F1(z2,2) > F1(z2,3), робимо наступний крок у тому ж напрямку:

z2,4 = z2,3 + h2 = 1,6 + 0,2 = 1,8; F1(z2,4) = 1700 – 1200z2,4 + 375z2,42 = 1700 – 1200*1,8 + 375*1,82 = 755 .

Нерівність F1(z2,4) > F1(z2,3) свідчить про досягнення локального оптимуму за координатою z2; для оцінки координати оптимуму z2* використаємо формулу квадратичної інтерполяції, причому приймемо в якості розрахункових рівновіддалені точки z2,2, z2,3, z2,4 :

На другому етапі здійснюємо спуск за координатою z1 при сталому значенні z2 = z2* = 1,6; вид цільової функції при русі за цією координатою буде наступний:

F2 = 3500 – 2400z1 – 1500*1,6 + 600z12 + 375*1,62 + 300z1*1,6 = 2060 – 1920z1 + 600z12 ,

В початковій точці руху в цьому напрямку (z1,0 = 1,0; z2* = 1,6) величина цільової функції складає:

F2(z1,0) = 2060 – 1920z1,0 + 600z1,02 = 2060 – 1920*1,0 + 600*1,02 = 740 .

Після першого кроку координата z1 і значення цільової функції становлять:

z1,1 = z1,0 + h1 = 1,0 + 0,2 = 1,2; F2(z1,1) = 2060 – 1920*1,2 + 600*1,22 = 620 .

Оскільки F2(z1,0) > F2(z1,1), зберігаємо вибраний напрямок руху:

z1,2 = z1,1 + h1 = 1,2 + 0,2 = 1,4; F2(z1,2) = 2060 – 1920*1,4 + 600*1,42 = 548 .

Аналогічно виконуємо третій крок (F2(z1,1) > F2(z1,2)):

z1,3 = z1,2 + h1 = 1,4 + 0,2 = 1,6; F2(z1,3) = 2060 – 1920*1,6 + 600*1,62 = 524

і четвертий (F2(z1,2) > F2(z1,3)):

z1,4 = z1,3 + h1 = 1,6 + 0,2 = 1,8; F2(z1,4) = 2060 – 1920*1,8 + 600*1,82 = 548 .

З огляду на нерівність F2(z1,4) > F2(z1,3), проводимо квадратичну інтерполяцію, причому приймаємо граничними розрахункові точки z1,2 і z1,4 , які рівновіддалені від центральної точки z1,3 з мінімальним значенням F2. Координата локального екстремуму:

На наступному етапі здійснюємо пошук за координатою z2 з початкової точки z2,0 = 1,6 при сталому значенні z1 = z1* =1,6; цільова функція при цьому має вигляд:

F3 = 3500 – 2400*1,6 – 1500z2 + 600*1,62 + 375z22 + 300*1,6*z2 = 1196 – 1020z2 + 375z22 ,

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

F3(z2.0) = 1196 – 1020*1,6 + 375*1,62 = 524 .

На першому кроці координата z2 і цільова функція F3 мають наступні значення:

z2,1 = z2,0 + h2 = 1,6 + 0,2 = 1,8; F3(z2,1) = 1196 – 1020*1,8 + 375*1,82 = 575 .

Оскільки F3(z2,1) > F3(z2,0), треба змінити напрямок руху на протилежний, тобто прийняти h2 = - 0,2:

z2,1 = z2,0 + h2 = 1,6 - 0,2 = 1,4; F3(z2,1) = 1196 – 1020*1,4 + 375*1,42 = 503 .

З огляду на нерівність F3(z2,0) > F3(z2,1), розраховуємо z2,2 і F3(z2,2) :

z2,2 = z2,1 + h2 = 1,4 - 0,2 = 1,2; F3(z2,2) = 1196 – 1020*1,2 + 375*1,22 = 512 .

Оскільки точками z2,0 = 1,6; z2,1 = 1,4; z2,2 = 1,2 обмежена область локального екстремуму (F3(z2,0) > F3(z2,1); F3(z2,2) > F3(z2,1)), квадратичною інтерполяцією знаходимо оптимальне значення z2*:

Починаємо спуск за координатою z1 з початкової точки z1 = 1,6 при сталому значенні z2 = z2* = 1,36; цільова функція при цьому набуває вигляд:

F4 = 3500 – 2400z1 – 1500*1,36 + 600z12 + 375*1,362 + 300z1*1,36 = 2153,6 – 1992z1 + 600z12 ,

В початковій точці:

z1,0 = 1,6; F4(z1,0) = 2153,6 – 1992*1,6 + 600*1,62 = 502,4 .

На першому кроці пошуку:

z1,1 = z1,0 + h1 = 1,6 + 0,2 =1,8; F4(z1,1) =2153,6 – 1992*1,8 + 600*1,82 =512 .

Оскільки F4(z1,0) виявилося менш, ніж F4(z1,1), змінюємо напрямок пошуку і приймаємо h1 = - 0,2:

z1,1/ = z1,0 + h1 = 1,6 - 0,2 = 1,4;

F4(z1,1/ ) = 2153,6 – 1992*1,4 + 600*1,42 = 540,8 .

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

Виконуємо наступний етап пошуку за координатою z2 з початкової точки z2,0 = 1,36 при z1 = z1* = 1,66 = idem; цільова функція при цьому буде:

F5 = 3500 – 2400*1,66 – 1500z2 + 600*1,662 + 375z22 + 300*1,66*z2 = 1169,4 – 1002z2 + 375z22 , ,

і її значення в початковій точці:

F5(z2,0) = 1169,4 – 1002*1,36 + 375*1,362 = 500,3 .

На першому кроці:

z2,1 = z2,0 + h2 = 1,36 + 0,2 = 1,56;

F5(z2,1) = 1169,4 – 1002*1,56 + 375*1,562 = 518,9

Оскільки F5(z2,1) > F5(z2,0), приймаємо h2 = - 0,2 і обчислюємо значення:

z2,1/ = z2,0 + h2 = 1,36 - 0,2 = 1,16;

F5(z2,1/) = 1169,4 – 1002*1,16 + 375*1,162 = 511,7 .

З огляду на нерівність F5(z2,1/) > F5(z2,0), переходимо до квадратичної інтерполяції:

Зниження ефективності пошуку екстремуму за координатою z2 до і за координатою z1 до , що менш, ніж 5%, свідчить про доцільність його припинення і прийняття координат оптимуму z1* = 1,336; z2* = 1,66. На рис. 3.42 наведена траєкторія руху до оптимуму за цім методом.

в) Аналітичне визначення оптимуму.

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

;

;

4z1 + z2 = 8;

z1 + 2,5z2 = 5;

z1* = 1,667; z2* = 1,333

Другі похідні функції:

; ;

Матриця других похідних, її кутовий мінор і визначник гесиану:

Δ1 = 1200 > 0; Δ = 120*750 – 300*300 > 0.

Тобто, маємо мінімум функції. Отримані пошуковими методами оптимальні значення z1 i z2 з урахуванням вибраної точності відповідають результатам аналітичного рішення.

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

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

Простішим з цих методів є метод сліпого пошуку або метод Монте – Карло. В ньому на наступному (К+ 1) – шому кроці пошуку з припустимої області вибирають випадкову точку Хк+1 , визначають в ній цільову функцію F(Xk+1) і порівнюють її зі значенням, яке отримано на попередньому кроці F(Xk). Якщо при пошуку мінімуму F(Xk+1) < F(X k), то координати нової точки і нове значення цільової функції запам’ятовується замість Хк і F(Xk). В разі невиконання цієї нерівності роблять спробу досягнути успіху шляхом зміни напрямку на протилежний або вибором нового випадкового напрямку. Координати нової точки знаходять зі співвідношення:

Хк+1 = Хк + hSk .

Випадковий напрямок руху Sk знаходять за допомогою випадкового вектора S = (s1, s2, …, sn), компонентами якого є випадкові величини, які рівномірно розподілені в інтервалі [- 1; + 1].

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

,

де - часткові похідні цільової функції за факторами х1, х2, …., хn ;

i, j,…, n – одиночні вектори (орти) в напрямку координатних осів.

В разі відсутності такої моделі градієнт знаходять за результатами спробних рухів у напрямку координатних осів (рис. 3.43).

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

Хк+1 = Хк + hSk ,

де h – величина кроку;

Sk – одиничний вектор напрямку пошуку на К – тому кроці.

Спосіб вибору кроку h і напрямку Sk визначає сутність конкретного методу. При пошуку мінімуму треба рухатися у напрямку, протилежному градієнту F(X). Зі співвідношення:

Sk =

можна отримати формулу для переходу від Хк до Хк+1:

Хк+1 = Хк - h ,

де ║ F(Xk)║ - норма вектора градієнта на К – тому кроці пошуку.

Тобто за методом градієнтів кожна j – та координата на (К + 1) – шому кроці визначається з формули:

, j = 1, 2, …, n.

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

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

1. Визначають всі часткові похідні цільової функції за керованими параметрами у вихідній або проміжних точках.

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

  1. Визначають координати нової точки:

Хк+1 = Хк - h .

4.Якщо умови припинення пошуку не виконуються, повертаються до п. 1.

Траєкторія пошуку за цім методом показана на рис.3.44.

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

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

Приклад. В системі здійснюється пошук екстремуму вихідного параметра у шляхом зміни управління u на її вході (рис. 3.45).

Система включає об’єкт управління, який описується рівняннями:

; φ = К212 + х22)

і виконавчі пристрої, математична модель динаміки яких має вигляд:

; .

Приймемо параметри системи: Т = 20с; К1 = 1; К1 = 1; К2 = 0,8; К3 = К4 = 0,01 ; максимально припустиме відхилення від точки екстремуму в кінці пошуку Δу = 0,4кПа; початкові умови: х10 = 2кПа; х20 = 1кПа при τ = 0.

а) пошук за методом градієнтів.

Управління u є пропорційним проекціям градієнту:

; .

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

; .

Знак “ – “ тут означає, що рух до мінімуму здійснюється у напрямку вектора градієнта. Шляхом інтегрування отримуємо:

; lnx1 = - 2K2K3τ + C1; х1 = С ехр( - 2К2К3τ).

Сталу інтегрування знаходимо з початкових умов:

х1 = х10 при τ = 0; х10 = С ехр( - 2К2К3*0) = С; х1 = х10 ехр( - 2К2К3τ).

Шляхом аналогічних перетворень отримуємо:

х2 = х20 ехр( - 2К2К4τ).

Тоді диференційне рівняння об’єкту прийме вигляд:

.

Отримане неоднорідне диференційне рівняння вирішуємо методом невизначених множників. Відповідне однорідне рівняння має вигляд:

і його рішення:

,

де А(τ) – невизначений множник.

Знайдемо похідну функції і підставимо знайдені у та в неоднорідне рівняння:

; ;

;

=

Враховуючи, що , отримуємо:

.

Сталу інтегрування С визначаємо з початкових умов:

;

.

В початковому стаціонарному стані при τ = 0 і у0 = К1φ =К1К2102 + х202), тобто вихідна величина повністю визначається координатами х10 та х20.

Тоді рішення диференційного рівняння прийме вигляд:

.

Після підстановки числових значень параметрів отримуємо:

у(τ) = 11,111е – 0,032τ – 7,111е – 0,05τ.

Підставимо в це рівняння час τ = 80; 90; 100; 101с і знайдемо відповідні значення у(80) = 0,7287; у(90) = 0,5447; у(100) = 0,4050; у(101) = 0,3931. Тобто тривалість пошуку за методом градієнтів складає приблизно 100,5с.

б) пошук за методом найшвидшого спуску.

Рух за координатами х1 та х2 здійснюється зі сталою швидкістю, яка дорівнює значенню градієнта в початковій точці, тобто:

; .

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

; .

Швидкість відпрацювання виконавчих пристроїв:

; .

З останніх рівнянь знаходимо:

х1 = - 2К2К3х10τ + С1; х2 = - 2К2К4х20τ + С2 .

З початкових умов (при τ = 0) знаходимо: С1 = х10; С2 = х20 і кінцево маємо:

х1 = - 2К2К3х10τ + х10 ; х2 = - 2К2К4х20τ + х20 .

Підставимо вирази для х1 та х2 в рівняння об’єкту:

=

.

Позначимо:

= ; = ; = .

і отримуємо неоднорідне рівняння:

.

Вирішуємо його методом невизначених множників. Рішення однорідного рівняння має вигляд:

; .

Підставимо знайдені вирази для у та в неоднорідне рівняння:

; .

Невизначений множник А(τ) знаходимо інтегруванням А/(τ):

.

Інтеграли в цій формулі є табличними:

; ; .

Тоді маємо:

;

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

;

;

,

або після підстановки числових даних:

а2 = 0,0064; а3 = 0,00004096; у(τ) = 4 – 0,160768τ + 0,0008192τ2

При часі пошуку τ = 20; 25; 26с значення вихідного параметра становить відповідно у(20) = 1,11232; у(25) = 0,4928; у(26) = 0,373, тобто тривалість пошуку за методом найшвидшого спуску складає біля 25,7с, що майже в 4 рази менш, ніж при застосуванні методу градієнтів.

Окрім розглянутих, застосовують також метод спряжених напрямків і, як його модифікація, розроблений Р. Флетчером та Ц. М. Рівсом метод спряженого градієнта.

Метод Ньютона відноситься до групи методів другого порядку. В ньому використовуються перші та другі похідні цільової функції; необхідні умови безумовного екстремуму F(X) = 0 розглядаються як система алгебраїчних рівнянь, яка вирішується за методом Ньютона. Достоїнством методу є висока збіжність, яка є вищою, ніж у методів нульового та першого порядку. Але метод потребує складних розрахунків і при великий відстані початкової точки від оптимуму взагалі можна не досягнути його. Тому цей метод доцільно використовувати на заключному етапі пошуку. Для скорочення обчислювальних процедур використовують також модифіковані методи Ньютона, методи змінної метрики.