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

2.3. Класифікація методів оптимізації по виду цільової функції

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

Слід зауважити, що проведена класифікація (як і будь-яка класифікація) носить умовний характер і, природно, страждає недоліками. Тому можна висловлювати зауваження щодо наведених схем, але в цілому вони дозволяють відразу охопити особливості методів.

Слід розрізняти методи визначення екстремуму функції і функціоналу (рис. 2.4).

Екстремум функціонала

Екстремум функції

Аналітичні методи

Чисельні методи

Неперервні методи

Дискретні методи

Детерміновані методи

Імовірнісні методи

Рис. 2.4

Хоча функція і є окремим випадком функціонала, методи відшукання екстремуму функції простіше. Одні методи з успіхом застосовуються для відшукання екстремуму функції і функціоналу (динамічне програмування, принцип максимуму). Інші зводять задачу відшукання екстремуму функціонала до екстремуму функції — прямі методи варіаційного обчислення (методи Ейлера, Рітца та інші, а також дискретний варіант рівняння Ейлера). Методи відшукання екстремуму функції отримали великий розвиток у кібернетиці у зв’язку з обчислювальними труднощами рішення системи алгебраїчних рівнянь виду

( ), (2.6)

особливо за наявності обмежень на координати хj.

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

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

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

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

При розгляді методів відповідно до рис. 2.4 мало місце деяке змішання двох принципів розгляду методів: за завданням та методом (або процедурою) рішення. Хоча з математичної точки зору таке розмаїття підходів може викликати великі нарікання, але з точки зору інженера-кібернетика, який повинен мати на озброєнні весь комплекс методів, такий виклад здається виправданим. Крім того, характер даної задачі, як правило, зумовлює вибір методу оптимізації, іноді групи методів. У цьому випадку вибір конкретного методу здійснюється або на підставі досвіду, ерудиції та інтуїції дослідника, або на підставі порівняльних характеристик за обсягом, складності і часу обчислень.

Основним принципом, за яким методи оптимізації поділяються на класи, є математичні властивості цільової функції (2.1) і обмежень (2.2). Серед усіх методів розрізняють (рис. 2.5):

— методи оптимізації цільової функції;

— методи оптимізації цільового функціоналу.

Класичні задачі оптимізації є такі, в яких серед обмежень немає нерівностей, немає умов невід’ємності або дискретності змінних, а цільова функція F (х1, х2,..., хn) і функції обмеження Gi1, х2,..., хn) неперервні і мають частинні похідні принаймні другого порядку. Формулювання завдання буде наступним:

Знайти max (або min) W = F (х1, х2,..., хn) при Gi1, х2,..., хn) = 0 , m < n.

Завдання в такій постановці відносять до класичних задач на умовний екстремум (іноді їх називають задачами Лагранжа). Для знаходження оптимуму використовується метод множників Лагранжа.

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

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

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

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

(2.7)

і задовольняють лінійним обмеженням виду

. (2.8)

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

Якщо цільова функція (2.7) і обмеження (2.8) не мають властивості лінійності, то використовуються методи нелінійного програмування. Сюди ж відноситься задача лінійного програмування, де передбачається цілочисельність змінних хj ( ). Такі завдання називаються завданнями цілочисельного програмування, для вирішення яких розроблені методи розгалужень (метод гілок і меж) і метод відсікань (метод Гоморі).

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

.

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

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

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

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

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

мінімізувати f (х), x Q,

Q = {х: gi (х) ≤ 0, }, gi — нелінійні функції.

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

,

, .

Якщо безліч Q обмежено і функції f і gi — гладкі, то при Ni →∞

,

де хi* — точка мінімуму функції Fi.

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

мінімізувати f (х) за умов gi (х) = 0, ; т <п.

У цьому випадку

.

Якщо існує єдине рішення x* завдання з обмеженнями, вектори gi (x*)( ) — лінійно незалежні, а функції f и giдостатньо гладкі, то при Ni→∞ xi*x*. Тут необхідно попередити, що практично отримати рішення завдання з великою точністю за допомогою методу штрафних функцій важко.

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

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

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

Оптимізація функціоналів становить предмет дослідження варіаційного числення.

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

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

Класичне варіаційне числення має справу з неперервними, кусково-неперервними, гладкими і кусково-гладкими функціями й ґрунтується на методі варіацій та диференціальному рівнянні Ейлера. Це рівняння в різних модифікаціях зустрічається практично у всіх методах варіаційного числення.

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

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