Реферати

Реферат: Нелінійне програмування

Бій у гори Кеннесо. Уведення 1 Передісторія 2 Хід кампанії 3 Сила сторін 4 Бій 5 Наслідку 6 В наші дні Список літератури Бій у гори Кеннесо Введення Бій у гори Кеннесо (The Battle of Kennesaw Mountain) відбулося 27 червня 1864 року під час Битви за Атланту, у роки американської громадянської війни. Під час бою мала місце одна із самих вражаючих фронтальних атак, початих генералом Вільямом Шерманом на позиції південної Теннесийской армії генерала Джозефа Джонстона.

Кредитування юридичних осіб Ощадбанком РФ 2. Міністерство утворення і науки РК Інноваційний Євразійський Університет. Кафедра "Фінанси" Курсова робота Кредитування юридичних осіб Ощадбанком РФ

Створення бази даних засобами табличного процесора МS Excel. Міністерство утворення і науки Російської Федерації Федеральне агентство по утворенню ДЕРЖАВНА ОСВІТНЯ УСТАНОВА ВИЩОГО ПРОФЕСІЙНОГО УТВОРЕННЯ

Біографія й огляд творчості письменника И. А. Буніна. Усі у творчості Буніна бути набагато складніше, ніж здавалося многим на перший погляд.

Інформатика і комп'ютерна техніка 2. Завдання № 1 Тема : Керування папками, файлами і ярликами Ціль : придбати уміння і навичка роботи з папками і файлами, а також створення ярликів до них. Призначення:

Південно-Уральський Державний Університет

Кафедра АїУ

реферат на тему:

Нелінійне програмування

Виконав: Пушников А. А., ПС-263.

Перевірив: Разнополов О. А.

Челябінськ - 2003.

Зміст

1. Постановка задачі нелінійного програмування

2. Критерії оптимальності в задачах з обмеженнями

2.1. Задачі з обмеженням у вигляді рівності

2.2. Множники Лагранжа

3. Умови Куна-Таккера

3.1. Умови Куна-Таккера і задача Куна-Таккера

3.2. Інтерпретація умов Куна-Таккера

3.3. Теореми Куна-Таккера

4. Функції декількох змінних

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

4.1.1. Метод пошуку по симплексу (S2 - метод)

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

1. Постановка задачі нелінійного програмування.

У задачі нелінійного програмування (НЛП) потрібно знайти значення багатомірної змінної х=(), що мінімізує цільову функцію f(х) при умовах, коли на змінну х накладені обмеження типу нерівностей,

i=1,2,...,m (1)

а змінні, т. е. компоненти вектора х, ненегативні:

(2)

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

2. Критерії оптимальності в задачах з обмеженнями.

Ряд інженерних задач пов'язаний з оптимізацією при наявності деякої кількості обмежень на керовані змінні. Такі обмеження істотно зменшують розміри області, в якій проводиться пошук оптимуму. На перший погляд може показатися, що зменшення розмірів допустимої області повинно спростити процедуру пошуку оптимуму. Тим часом, навпаки, процес оптимізації стає більш складним, оскільки встановлені вище критерії оптимальності не можна використати при наявності обмежень. При цьому може порушуватися навіть основна умова, відповідно до якого оптимум повинен досягатися в стаціонарній точці, що характеризується нульовим градієнтом. Наприклад, безумовний мінімум функції має місце в стаціонарній точці х=2. Але якщо задача мінімізації вирішується з урахуванням обмеження, то буде знайдений умовний мінімум, якому відповідає точка х=4. Ця точка не є стаціонарною точкою функції f, оскільки (4)=4. Далі досліджуються необхідні і достатні умови оптимальності рішень задач з обмеженнями. Виклад починається з розгляду задач оптимізації, які містять тільки обмеження у вигляді рівності.

2.1. Задачі з обмеженнями у вигляді рівності

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

Мінімізувати

при обмеженнях, k=1,...,n

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

Приклад 1

Мінімізувати

при обмеженні

Виключивши змінну, за допомогою рівняння, отримаємо

оптимизационную задачу з двома змінними без обмежень

min

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

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

2.2. Множники Лагранжа

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

Розглянемо задачу мінімізації функції n змінних з урахуванням одного обмеження у вигляді рівності:

Мінімізувати (3)

при обмеженнях (4)

Відповідно до методу множників Лагранжа ця задача перетворюється в наступну задачу безумовної оптимізації:

мінімізувати L(х, u)=f(х)-u*h(х) (5)

Функція L(х;)(u) називається функцією Лагранжа, u- невідома постійна, яка носить назву множника Лагранжа. На знак uникаких вимог не накладається.

Нехай при заданому значенні u=u0безусловний мінімум функції L(х, u) по х досягається в точці і задовольняє рівнянню. Тоді, як неважко бачити, x0минимизирует (1) з обліком (4), оскільки для всіх значень х, що задовольняють (4), і L(х, u)=minf(х).

Зрозуміло, необхідно підібрати значення u=u° таким чином, щоб координата точки безумовного мінімуму х° задовольняла рівності (4). Це можна зробити, якщо, розглядаючи uкак змінну, знайти безумовний мінімум функції (5) у вигляді функції u, а потім вибрати значення u, при якому виконується рівність (4). Проілюструємо це на конкретному прикладі.

Приклад 2

Мінімізувати

при обмеженні =0

Відповідна задача безумовної оптимізації записується в наступному вигляді:

мінімізувати L(х, u)= -u

Рішення. Прирівнявши дві компоненти градієнта Lк нулю, отримаємо

Для того щоб перевірити, чи відповідає стаціонарна точка х° мінімуму, обчислимо елементи матриці Гессе функції L(х;)(u), що розглядається як функція х,,

яка виявляється позитивно визначеною. Це означає, що L(х,, u) - опукла функція х. Отже, координати, визначають точку глобального мінімуму. Оптимальне значення uнаходится шляхом підстановки значень і в рівняння =2, звідки 2u+u/2=2 або. Таким чином, умовний мінімум досягається при і і рівний minf(х)=4/5.

При рішенні задачі з прикладу 2 ми розглядали L(х;)(u) як функцію двох змінних і і, крім того, передбачали, що значення параметра uвибрано так, щоб виконувалося обмеження. Якщо ж рішення системи,

j=1,2,3,...,n

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

j=1,2,3,...,n

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

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

Мінімізувати f(х)

при обмеженнях =0, k=1, 2,. ..,

L(х, u)=f(х)-

Тут - множники Лагранжа, т. е. невідомі параметри, значення яких необхідно визначити. Прирівнюючи приватні похідні L по х до нуля, отримуємо наступну систему nуравненії з nнеизвестними:

...

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

Рішення розширеної системи, що складається з n+До рівнянь з n+До невідомими, визначає стаціонарну точку функції L. Затем реалізовується процедура перевірки на мінімум або максимум, яка проводиться на основі обчислення елементів матриці Гессе функції L, що розглядається як функція х, подібно тому, як це було пророблене у разі задачі з одним обмеженням. Для деяких задач розширена система n+До рівнянь з n+K невідомими може не мати рішень, і метод множників Лагранжа виявляється непридатним. Слідує, однак, відмітити, що такі задачі на практиці зустрічаються досить рідко.

3. Умови Куна-Таккера

У попередньому розділі було встановлено, що множники Лагранжа можна використати при побудові критеріїв оптимальності для задач оптимізації з обмеженнями у вигляді рівності. Кун і Таккер узагальнили цей підхід на випадок загальної задачі нелінійного програмування з обмеженнями, як у вигляді рівності, так і у вигляді нерівностей.

Розглянемо наступну загальну задачу нелінійного програмування:

мінімізувати (0)

при обмеженнях (1)

(2)

Визначення:

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

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

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

3.1. Умови Куна-Таккера і задачу Куна-Таккера

Знайти вектори, що задовольняють наступним умовам

(3)

(4)

(5)

(6)

(7)

Передусім проілюструємо умови Куна - Таккера на прикладі.

Приклад 3

Мінімізувати

при обмеженнях

Рішення.

Записавши дану задачу у вигляді задачі нелінійного програмування (0)-(2), отримаємо

Рівняння (3), вхідне до складу умов Куна-Таккера, приймає наступний вигляд:

звідки

Нерівності (4) і рівняння (5) задачі Куна - Таккера в цьому випадку записуються у вигляді

Рівняння (5.16), відомі як умова доповнюючої нежорсткості, приймають вигляд

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

Таким чином, цієї задачі умови Куна-Танкера записуються в наступному вигляді:

3.2. Інтерпретація умов Куна - Таккера

Для того щоб інтерпретувати умови Куна - Таккера, розглянемо задачу нелінійного програмування з обмеженнями у вигляді рівності:

мінімізувати

при обмеженнях

Запишемо умови Куна-Таккера

(8)

(9)

Далі розглянемо функцію Лагранжа для задачі нелінійного програмування з обмеженнями у вигляді рівності

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

неважко бачити, що умови Куна-Таккера (8) і (9) співпадають з умовами оптимальності першого порядку для задачі Лагранжа.

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

мінімізувати

при обмеженнях

Запишемо умови Куна-Таккера

Відповідна функція Лагранжа має вигляд

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

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

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

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

3.3. Теореми Куна-Таккера

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

Теорема 1. Необхідність умов Куна-Таккера

Розглянемо задачу нелінійного програмування (0)-(2). Нехай - функції, що диференціюються, а х* - допустиме рішення даної задачі. Покладемо. Далі нехай лінійно незалежні. Якщо х* - оптимальне рішення задачі нелінійного програмування, то існує така пара векторів, чтоявляется рішенням задачі Куна-Таккера (3)-(7).

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

1. Всі обмеження у вигляді рівності і нерівностей містять лінійні функції.

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

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

Приклад 4

Мінімізувати

при обмеженнях

Рішення.

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

Ріс.1 Допустима область в задачі 4

Оскільки

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

Запишемо умови Куна-Таккера і перевіримо, чи виконуються вони в точці (1, 0). Умови (3), (6) і (7) приймають наступний вигляд;

(11)

(12)

(13)

(14)

(15)

(16)

При з рівняння (11) слідує, що, тоді як рівняння (14) дає, Отже, точка оптимуму не є точкою Куна - Таккера.

Помітимо, що порушення умови лінійної незалежності не обов'язково означає, що точка Куна-Таккера не існує. Для того щоб підтвердити це, замінимо цільову функцію з цього прикладу функцією. При цьому оптимум як і раніше досягається в точці (1,0), в якій умова лінійної незалежності не виконується. Умови Куна-Таккера (12) - (16) залишаються незмінними, а рівняння (11) приймає вигляд

неважко перевірити, що точка є точкою Куна-Таккера, т. е. задовольняє умовам Куна-Таккера.

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

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

Теорема.2 Достатність умов Куна-Таккера

Розглянемо задачу нелінійного програмування (0) - (2). Нехай цільова функція опукла, всі обмеження у вигляді нерівностей містять угнуті функції, а обмеження у вигляді рівності містять лінійні функції. Тоді якщо існує рішення, що задовольняє умовам Куна-Таккера (3) - (7), то х* - оптимальне рішення задачі нелінійного програмування.

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

Теорему 2 можна також використати для доказу оптимальності даного рішення задачі нелінійного програмування. Як ілюстрація знову розглянемо приклад:

Мінімізувати

при обмеженнях

За допомогою теореми 2 доведемо, що рішення є оптимальним. Маємо

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

щоб показати, що функція є угнутою, обчислимо

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

(22)

(23)

(24)

(25),

(26),

(27)

(28)

(29)

Точка задовольняє обмеженням (24) - (26) і, отже, є допустимою. Рівняння (22) і (23) приймають наступний вигляд:

Поклавши, отримаємо і. Таким чином, рішення х*=(1, 5), задовольняє умовам Куна-Таккера. Оскільки умови теореми 2 виконані, то оптимальне рішення задачі з прикладу 3. Помітимо, що існують також і інші значення і, які задовольняють системі (22) -(29).

Зауваження

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

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

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

4. Функції декількох змінних

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

Спочатку розглянемо питання аналізу «в статиці» з використанням положень лінійної алгебри і диференціального числення, а також умови, які (в досить загальних можливих ситуаціях) дозволяють ідентифікувати точки оптимуму. Такі умови використовуються для перевірки вибраних точок і дають можливість з'ясувати, чи є ці точки точками мінімуму або максимума. При цьому задача вибору вказаних точок залишається поза рамками аналізу, що проводиться; основна увага приділяється розв'язанню питання про те, чи відповідають досліджувані точки рішенням багатомірної задачі безумовної оптимізації, в якій потрібно мінімізувати f(х) х при відсутності обмежень на х, де х - вектор керованих змінних розмірності n, f - скалярна цільова функція. Звичайно передбачається, що xi(для всіх значень i=1, 2,. .., n) можуть приймати будь-які значення, хоч в ряді практичних додатків область значень хвибирается у вигляді дискретної безлічі. Крім того, часто виявляється зручним передбачати, що функція f і її похідні існують і безперервні всюди, хоч відомо, що оптимум може досягатися в точках розриву f або її градієнта

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

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

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

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

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

2. Градиентние методи, в яких використовуються точні значення перших похідних f(х).

3. Методи другого порядку, в яких нарівні з першими похідними використовуються також другі похідні функції f(х).

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

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

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

1) пошук по симплексу, або S2- метод;

2) метод пошуку Хука-Дживса;

3) метод зв'язаних напрямів Пауелла.

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

4.1.1. Метод пошуку по симплексу (S2- метод)

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

Рис 2. Квадратний зразок (окремий випадок кубічного зразка)

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

Цей тип еволюційної оптимізації був використаний Боксом і іншими дослідниками для аналізу функціонування промислових підприємств, коли ефект варіювання значень змінних, що описують виробничі процеси, вимірюється з помилкою. У задачах великої розмірності обчислення значень цільової функції проводиться у всіх вершинах, а також в центрі тягаря гиперкуба (гиперкуб - куб в n-мірному евклидовом просторі, т. е. безліч S={х=()¦ }, де а і b - задані числа), т. е. в точках так званого кубічного зразка. Якщо кількість змінних (розмірність простору, в якому ведеться пошук) рівна n, то пошук за кубічним зразком вимагає +1 обчислень значення функцій для одного зразка. При збільшенні розмірності задачі необхідна кількість обчислень значення цільової функції зростає надзвичайно швидко. Таким чином, незважаючи на логічну простоту пошуку за кубічним зразком, виникає необхідність використання більш ефективних методів прямого пошуку для рішення виникаючих на практикові задач оптимізації.

Одна із зухвалого особливий інтерес стратегій пошуку встановлена в основу методу пошуку по симплексу, запропонованого Спендлі, Хекстом і Химсвортом. Потрібно відмітити, що вказаний метод і інші подібні методи не мають відношення до симплексу-методу лінійного програмування, а схожість назв носить випадковий характер. Процедура симплексного пошуку Спендлі, Хекста і Химсворта базується на тому, що експериментальним зразком, вмісним найменшу кількість точок, є регулярний симплекс. Регулярний симплекс в n-мірному просторі являє собою многогранник, освічений n+1 равностоящими один від одного точками-вершинами. Наприклад, у разі двох змінних симплексом є рівносторонній трикутник; в трьохмірному просторі симплекс являє собою тетраедр. У алгоритмі симплексного пошуку використовується важлива властивість симплексу, згідно з якою новий симплекс можна побудувати на будь-якій грані початкового симплексу шляхом перенесення вибраної вершини на належну відстань вдовж прямого, проведеного через центр тягаря інших вершин початкового симплексу. Отриманим таким чином точка є вершиною нового симплексу, а вибрана при побудові вершина початкового симплексу виключається. Неважко бачити, що при переході до нового симплексу потрібно одне обчислення значення цільової функції. Рис 3 ілюструє процес побудови нового симплексу на площині.

Ріс.3. Побудова нового симплексу.

а - початковий симплекс

би - новий симплекс

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

Правило 1. «Накритие» точки мінімуму

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

Правило 2. Циклічний рух

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

M=1,65n+0,05

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

Правило 3. Критерій закінчення пошуку

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

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

(7)

для i і j=1,2,3,...,n

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

(8)

(9)

Помітимо, що величина масштабного множника вибирається дослідником, виходячи з характеристик задачі, що вирішується. При =1 ребра регулярного симплексу мають одиничну довжину. Обчислення другого типу, пов'язані з відображенням відносно центра тягарі, також представляють нескладну процедуру. Нехай - точка, належна відображенню. Центр тягаря інших nточек розташований в точці

(10)

Все точки прямої, що проходить через і хс, задаються формулою

(11)

При =0 отримуємо початкову точку, тоді як значення =1 відповідає центру тягаря хс. Для того щоб побудований симплекс володів властивістю регулярності, відображення повинне бути симетричним. Отже, нова вершина виходить при =2. Таким чином,

(12)

Проілюструємо обчислювальну схему методу наступним прикладом.

Приклад 5. Обчислення відповідно до методу пошуку по симплексу

Мінімізувати f(х)=

Рішення.

Для побудови початкового симплексу потрібно задати початкову точку і масштабний множник. Нехай х =і =2. Тоді

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

яким відповідають значення цільової функції, рівні =0,2374 і 3,0658. Оскільки 5, необхідно відобразити точку відносно центра тягаря двох інших вершин симплексу

Використовуючи формулу (12), отримуємо

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

Викладений вище алгоритм - методу має декілька очевидних переваг.

1. Розрахунки і логічна структура методу відрізняються порівняльною простотою, і, отже, відповідна програма для ЕОМ виявляється відносно короткою.

2. Рівень вимог до об'єму пам'яті ЕОМ невисокий, масив має розмірність (n+1, n+2).

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

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

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

Алгоритм володіє також рядом істотних недоліків.

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

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

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

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

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

Досліджуючий пошук.

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

Пошук за зразком.

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

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

- поточна базова точка,

- попередня базова точка,

- точка, побудована при русі за зразком,

- наступна (нова) базова точка.

Приведена послідовність характеризує логічну структуру пошуку по методу Хука - Джівса.

Структура методу пошуку Хука - Джівса

Крок 1. Визначити:

початкову точку,

прирости

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

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

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

Ш а г 3. Чи Був досліджуючий пошук вдалим (чи айдена точка з меншим значенням

цільової функції)?

Так: перейти до кроку 5.

Ні: продовжувати.

Ш а г 4. Перевірка на закінчення пошуку.

Чи Виконується нерівність?

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

Ні: зменшити прирости по формулі

Перейти до кроку 2.

Ш а г 5. Провести пошук за зразком:

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

нехай отримана в результаті точка.

Ш а г 7. Чи Виконується нерівність?

Так: покласти Перейти до кроку 5.

Ні: перейти до кроку 4.

Приклад 6 Пошук по методу Хука - Джівса

Знайти точку мінімуму функції використовуючи початкову точку.

Рішення.

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

векторна величина приросту =,

коефіцієнт зменшення кроку = 2,

параметр закінчення пошуку = 10-4.

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

Успіх.

Отже, необхідно зафіксувати і дати приріст змінної:

Успіх.

Таким чином, внаслідок досліджуючого пошуку знайдена точка

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

Далі проводиться досліджуючий пошук навколо точки, який виявляється вдалим при використанні позитивних приростів змінних х1и х2. У результаті отримуємо точку

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

З прикладу слідує, що метод Хука - Джівса характеризується нескладною стратегією пошуку, відносною простотою обчислень і невисоким рівнем вимог до об'єму пам'яті ЕОМ, який виявляється навіть нижче, ніж у разі використання методу пошуку по симплексу.

Ітерації пошуку по методу Хука-Дживса на прикладі