- •Міністерство освіти і науки україни національний транспортний університет Дослідження операцій в моделюванні управлінських рішень
- •Isbn 978-966-632-185-8
- •I. Предмет і завдання дослідження операцій
- •1.1. Що таке дослідження операцій
- •1.2. Основні поняття та принципи дослідження операцій
- •1. 3. Математичні моделі операцій
- •1.4. Багатокритеріальні задачі дослідження операцій
- •1.5. Системний підхід до задач дослідження операцій
- •1.6. Типові класи задач дослідження операцій
- •1. Задачі управління запасами
- •2. Задачі розподілу ресурсів
- •3. Задачі ремонту і заміни обладнання
- •4. Задачі масового обслуговування
- •5. Задачі впорядкування
- •6. Задачі сітьового планування і управління (спу)
- •7. Задачі вибору маршруту (сітьові задачі на транспорті)
- •8. Комбіновані задачі
- •II. Класифікація методів оптимізації
- •2.1. Математичне формулювання загальної задачі оптимізації
- •2.2. Геометрична інтерпретація задач оптимізації
- •2.3. Класифікація методів оптимізації по виду цільової функції
- •2.4. Характеристика градієнтних методів пошуку екстремуму
- •III. Лінійне програмування
- •3.1. Задачі лінійного програмування
- •3.2. Основна задача лінійного програмування
- •3.3. Транспортна задача лінійного програмування
- •IV. Динамічне програмування
- •4.1. Метод динамічного програмування
- •4.2. Приклади розв’язання задач динамічного програмування
- •4.3. Завдання динамічного програмування в загальному вигляді. Принцип оптимальності
- •V. Елементи теорії масового обслуговування
- •5.1. Основні поняття теорії масового обслуговування
- •5.2. Класифікація систем масового обслуговування
- •5.3. Основні елементи систем масового обслуговування
- •5.4. Параметри смо і загальна методика дослідження
- •5.5. Системи масового обслуговування з відмовами
- •5.6. Кількісні показники смо з відмовами
- •5.7. Короткий опис основних типів пуассонівських смо
- •5.7.1. Смо з відмовами:
- •5.7.2. Смо з очікуванням і обмеженим потоком заявок
- •5.7.3. Смо змішаного типу з обмеженням по довжині черги
- •5.7.4. Смо змішаного типу з обмеженням за часом перебування заявки в черзі і на обслуговуванні
- •5.7.5. Приклади розв’язку задач тмо
- •VI. Теорія ігор
- •6.1. Ігрові моделі прийняття рішень
- •6.2. Прямокутні матричні ігри
- •6.3. Аналіз матричних ігр
- •6.4. Елементарні методи розв’язку ігор
- •6.4.1. Загальна схема розв’язання
- •6.4.2. Методи розв’язку гри 2 X 2
- •6.4.3. Методи розв’язання ігор 2хn
- •Ордината точки n дорівнює ціні гри ν, а абсциса дорівнює частоті застосування стратегії а1.
- •Аналітичний метод розв’язання гри 2хn
- •6.5. Загальний розв’язок гри m X n методом лінійного програмування
- •6.6. Наближені методи розв’язання матричних ігр
- •6.7. Приклади розв’язання задач теорії ігор
- •VII. Моделювання на пк
- •7.1. Поняття моделі і моделювання
- •7.2. Метод статистичних випробувань
- •7.3. Імітація випадкових впливів на пк
- •7. 4. Методи формування в пк базових впливів
- •7.5. Оцінка точності характеристик, отриманих методом статистичних випробувань. Необхідна кількість реалізацій
- •7.6. Приклади розв’язку задач методом статистичних випробувань
- •VIII. Метод cітьового планування
- •8.1. Поняття про сітьове планування та управління
- •8.2. Основні визначення
- •8.3. Основні елементи сітьового графіка
- •8.4. Правила побудови сітьового графіка
- •8.5. Часові параметри сітьових графіків
- •8.6. Способи розрахунку сітьових графіків
- •8.7. Оптимізація сітьових графіків
- •8.8. Імовірнісні тимчасові оцінки сітьових моделей
- •8.9. Укрупнення сітьових моделей
- •8.10. Зшивання сітьових моделей
- •Література
- •Для нотаток
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.
Рис. 2.10
Критерії оцінки обчислювальних методів
Різні методи обчислень можна порівнювати за такими характеристиками:
обсяг обчислень, необхідних для відшукання рішення із заданою точністю;
збіжність ітераційного процесу;
стійкість по відношенню до погрішностей;
необхідний обсяг пам’яті ЕОМ;
складність програмування і т.д.
Обсяг обчислень залежить від числа ітерацій і від трудомісткості обчислень на кожну ітерацію. Градієнтні методи з точки зору обсягу обчислень найбільш вигідні там, де обчислення градієнта функції вимагає меншого числа дій, ніж обчислення самої функції. Аналіз обчислень проводиться конкретно для кожного класу задач оптимізації в залежності від можливостей ПК.
Важливою характеристикою методу пошуку є збіжність ітераційного процесу. У загальному випадку, для досягнення точного оптимального рішення може знадобитися нескінченне число ітерацій. Тому зазвичай формулюють умови закінчення пошуку, засновані на характері зміни цільової функції F (х) від однієї ітерації до іншої. Для цього задаються точністю обчислень.
Дослідження збіжності процесу пошуку представляє досить важке завдання, вирішення якого знайдено не для будь-якого методу. У загальному випадку, збіжність залежить від методу пошуку, від виду цільової функції та функції обмежень, від вибору початкової точки пошуку і т.п.
Питання для самоперевірки:
Дати математичне формулювання загальної задачі оптимізації
Якими можуть бути цільова функція F та обмеження G?
Дати класифікацію методів оптимізації по виду цільовой функції та обмеженням.
Дати геометричну інтерпретацію задач оптимізації.
Що являет собою область можливих рішень?
Які задачі відносяться до класу задач математичного програмування?
Які методи розроблені для вирішення задач лінійного програмування?
Дати характеристику градієнтних методів пошуку екстремуму.
Дати характеристику методу Гауса-Зайделя.
Дати характеристику методу найшвидшого спуску.
Методи визначення глобального оптимуму.
Критерії оцінки обчислювальних методів.
