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

2.4. Характеристика градієнтних методів пошуку екстремуму

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

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

1) фіксують якимось чином будь-яке допустиме рішення і обчислюють значення цільової функції;

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

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

В даний час існує багато різних методів пошуку. Основними з них є:

— метод Гауса-Зайделя (метод почергової зміни змінних);

— метод градієнту;

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

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

Градієнт функції

Розглянемо функцію двох змінних W = F (х, у). Градієнт функції F (х, у) в точці R (хr, уr,) є вектор, що визначається виразом

,

де x0 y0 — орти осей змінних x і y;

— значення відповідних приватних похідних в точці R (хr, уr,).

Градієнт функції в точці R (хr, уr) (рис. 2.6) спрямований по нормалі до лінії рівного рівня, що задається рівнянням F (хr. yr) = F (х, у).

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

,

а кут між напрямком градієнта і віссю ОХ у точці R (хr уr) визначається виразом

.

Рис. 2.6

Якщо частинні похідні не можуть бути обчислені аналітично, то визначають їх наближені значення. Для цього по черзі змінній х дають приріст х, обчислюють відповідне приріст функції F в точці R (хr уr) Позначимо його через Fxr. Аналогічно поступають зі змінною у, в результаті чого виходить приріст Fyr. При досить малих х, y можна наближено до градієнт функції F (х, у) в точці R прийняти вираз

.

Поняття градієнта поширюється і на випадок функції багатьох змінних. Градієнт функції F (х1, х2,..., хп) в точці R (х1, х2,..., хп) є вектор, що визначається векторної сумою:

,

де хojорти осей змінних величин хj- (j = 1, j = l, n);

— значення відповідних приватних похідних в точці R.

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

,

де xjдосить мале збільшення змінної хо;

Fjrприріст функції F в точці R при зміні значення тільки однієї змінної Xj на величину хj.

Метод Гауса-Зайделя

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

Спочатку змінюється змінна х1 в напрямку зменшення абсолютної величини компоненти градієнта при постійних значеннях інших змінних. Після звернення в нуль компоненти градієнта починається зміна змінної х2 у бік зменшення компоненти градієнта постійних значеннях інших координат. Далі слідує аналогічний пошук по змінній x3 і т. п.

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

Процес пошуку ілюструється по рис. 2.7.

Рис. 2.7.

Функція двох змінних F (х1, х2) представлена тут лініями рівних значень F = const. Рух, паралельне осі координат при даному методі пошуку, відбувається до тих пір, поки відповідна похідна не звернеться в НУЛЬ, що відбувається в точці дотику прямої з однієї з ліній рівних значень F = const. З рис. 2.7 ясно, що цей шлях руху до точки екстремуму не є найкоротшим.

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

Градієнтний метод

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

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

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

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

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

,

де аr > 0 — параметр довжини робочого кроку.

У новій точці знову обчислюється градієнт і знову робиться крок з його напрямку і т.д.

Екстремальне значення функції F буде знайдено, якщо на певному етапі пошуку буде досягнута точка, розташована всередині області допустимих рішень, в якій grad F = 0.

Величина робочого кроку ак може визначатися подвійно:

значення аr є постійним на всіх кроках к = а = const);

значення аr пропорційно модулю градієнта, тобто не є постійним

.

При цьому необхідно врахувати, що значення коефіцієнта аr вибирається таким чином, щоб виконувалася умова зростання функції

.

Якщо ця умова не виконується, то крок зменшується вдвічі і чергова (R + 1)-а точка береться ближче до точки у напрямку градієнта. Крок зменшується до тих пір, поки не буде дотримуватися умова зростання функції.

Іноді може виявитися, що оптимальна точка, де grad F = 0, буде досягнута за нескінченне число кроків. Тому зазвичай процес пошуку припиняють, якщо задовольняється умова |grad F| ≤ r, де r — точність обчислень.

У точці екстремуму повинні бути перевірені достатні умови максимуму (мінімуму) функції:

або .

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

Рис. 2.8

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

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

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

Метод найшвидшого підйому (спуску)

Цей метод є розвитком методу градієнта. Суть його зводиться до наступного.

Ф

X1

X1

X1

X1

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

Рис. 2.9

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

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

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

Методи визначення глобального оптимуму

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

Найбільш поширеним методом є комбінація градієнтного методу та методу випадкових випробувань (методу Монте-Карло). Суть його в наступному.

Методом випадкового пошуку вибирають координати черговий вихідної точки пошуку. З цієї точки проводиться рух градієнтним методом з урахуванням обмежень і визначається значення локального екстремуму, до якого тяжіє вихідна точка. Потім знову випадковим чином вибирається нова вихідна точка і виробляється градієнтний пошук екстремуму і т.д. При цьому запам’ятовуються значення локальних екстремумів и відповідні їм значення змінних х1, х2,..., хn. Надалі серед всіх виявлених локальних екстремумів вибирається найбільше (найменше) значення цільової функції F. Процес пошуку ілюструється на рис. 2.10.

Полотно 40

Рис. 2.10

Критерії оцінки обчислювальних методів

Різні методи обчислень можна порівнювати за такими характеристиками:

  • обсяг обчислень, необхідних для відшукання рішення із заданою точністю;

  • збіжність ітераційного процесу;

  • стійкість по відношенню до погрішностей;

  • необхідний обсяг пам’яті ЕОМ;

  • складність програмування і т.д.

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

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

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

Питання для самоперевірки:

  1. Дати математичне формулювання загальної задачі оптимізації

  2. Якими можуть бути цільова функція F та обмеження G?

  3. Дати класифікацію методів оптимізації по виду цільовой функції та обмеженням.

  4. Дати геометричну інтерпретацію задач оптимізації.

  5. Що являет собою область можливих рішень?

  6. Які задачі відносяться до класу задач математичного програмування?

  7. Які методи розроблені для вирішення задач лінійного програмування?

  8. Дати характеристику градієнтних методів пошуку екстремуму.

  9. Дати характеристику методу Гауса-Зайделя.

  10. Дати характеристику методу найшвидшого спуску.

  11. Методи визначення глобального оптимуму.

  12. Критерії оцінки обчислювальних методів.