- •Лабораторний практикум
- •Краматорськ 2009
- •Загальні вказівки
- •Методи одновимірної оптимізації. Знаходження глобального екстремуму функції методом послідовного рівномірного перебору (сканування)
- •Знаходження екстремуму унімодальної функції
- •Знаходження екстремуму функції методом послідовного рівномірного перебору з уточненням
- •Пошук всіх екстремумів функції
- •Завдання до лабораторної роботи
- •Метод дихотомії
- •Метод золотого перетину
- •Завдання до лабораторної роботи
- •Методика оптимізації функції методом найшвидшого спуску
- •Приклад мінімізації функції методом найшвидшого спуску
- •Завдання до лабораторної роботи
- •Загальні вказівки
- •Обчислення градієнту функції на еом
- •Алгоритм оптимізації методом найшвидшого спуску
- •Програмна реалізація методу найшвидшого спуску
- •Завдання до лабораторної роботи
- •Лабораторна робота 5
- •Багатовимірних задач оптимізації
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм методу прямого пошуку
- •Програмна реалізація методу прямого пошуку
- •Завдання до лабораторної роботи
- •Лабораторна робота 6
- •Багатовимірних задач оптимізації
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм методу випадкового пошуку з перерахунком
- •Програмна реалізації методу випадкового пошуку
- •Завдання до лабораторної роботи
- •Лабораторна робота 7
- •Програмування графічним методом
- •Порядок виконання роботи
- •Загальні вказівки
- •Методика розв’язання задачі лінійного програмування графічним методом
- •Приклади розв’язання задач лінійного програмування графічним методом
- •Завдання до лабораторної роботи
- •Продовження таблиці 15
- •Лабораторна робота 8
- •З використанням симплексних таблиць
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм симплексного методу
- •Приклад розв’язання лп-задачі симплексним методом
- •Завдання до лабораторної роботи
- •Лабораторна робота 9
- •Порядок виконання роботи
- •Загальні вказівки
- •Опис роботи програми simc (intsim)
- •Приклад моделювання та розв’язку лп-задачі за допомогою програми simc
- •Індивідуальні завдання до лабораторної роботи
- •Лабораторна робота 10 моделювання транспортних задач та їх
- •Порядок виконання роботи
- •Загальні вказівки
- •Побудова початкового(вихідного) опорного плану
- •Алгоритм методу потенціалів
- •Приклад моделювання та розв’язку т-задачі методом потенціалів
- •Завдання до лабораторної роботи
- •Лабораторна робота 11
- •Лабораторна робота 12
- •Загальні вказівки
- •Загальна методика розв’язання задачі методом динамічного програмування
- •Методика розв’язання задачі оптимального розподілу коштів на розширення виробництва методом динамічного програмування
- •Приклад розв’язання задачі оптимального розподілу коштів методом динамічного програмування
- •Завдання до лабораторної роботи
- •Продовження таблиці 36
- •Список рекомендованої літератури
- •Додаток а завдання до лабораторної роботи 9 Задача 1
- •Задача 2
- •Задача 3
- •Задача 4
- •Задача 5
- •Задача 6
- •Задача 7
- •Задача 8
- •Задача 9
- •Задача 10
- •Задача 11
- •Задача 12
- •Задача 13
- •Задача 14
- •Задача 15
- •Задача 16
- •Задача 17
- •Задача 18
- •Задача 19
- •Задача 20
- •Задача 21
- •Задача 22
- •Задача 23
- •Задача 24
- •Задача 25
- •84313, М. Краматорськ, вул. Шкадінова, 72.
Загальна методика розв’язання задачі методом динамічного програмування
Оптимальне розв’язання задачі методом динамічного програмування знаходиться за допомогою функціонального рівняння (50). У відповідності з ним опишемо алгоритм методу динамічного програмування.
Етап 1. Записати функціональне рівняння для останнього стану процесу (йому відповідає l=n-1):
.
Етап 2. Знайти Rn(Sn-1,Xn) з дискретного набору його значень при деяких фіксованих Sn-1 і Xn - з відповідних допустимих областей їх значень. Оскільки f0(Sn)=0, то
.
В підсумку після першого кроку буде відоме оптимальне розв’язання Xn і відповідне йому значення функції f1(Sn-1).
Етап
3.
Зменшити значення l
на одиницю і записати відповідне
функціональне рівняння. При l=n-k
(k=
)
воно має вигляд
.
(51)
Етап 4. Знайти умовно-оптимальне розв’язання на основі виразу (51).
Етап 5. Перевірити значення l. Якщо l=0, розрахунок умовно-оптимальних розв’язань закінчено, при цьому знайдено оптимальне розв’язання задачі для першого стану процесу. Якщо l>0, перейти до виконання етапу 3.
Етап 6. Обчислити оптимальне розв’язання задачі для кожного наступного кроку процесу, рухаючи від кінця розрахунків до початку.
Методика розв’язання задачі оптимального розподілу коштів на розширення виробництва методом динамічного програмування
Широкий клас складають задачі, у яких йде мова про найбільш доцільний розподіл у часі тих чи інших ресурсів (коштів, робочої сили, сировини і т.п.).
Нехай
групі підприємств виділяються додаткові
кошти на реконструкцію і модернізацію
виробництва. По кожному з n
підприємств відомий можливий приріст
gi(x)
(
)
випуску продукції в залежності від
виділеної йому суми x.
Потрібно так розподілити кошти c
між підприємствами, щоб загальний
приріст fn(c)
випуску продукції був максимальним.
Відповідно до обчислювальної схеми динамічного програмування розглянемо спочатку випадок n=1, тобто припустимо, що всі наявні кошти виділяються на реконструкцію і модернізацію одного підприємства. Позначимо через f1(x) максимально можливий приріст випуску продукції на цьому підприємстві, який відповідає виділеній сумі x. Кожному значенню x відповідає певне значення g1(x) випуску, тому можна записати:
f1(x) = max[g1(x)] = g1(x). (52)
Нехай тепер n=2, тобто кошти розподіляються між двома підприємствами. Якщо другому підприємству виділена сума x, то приріст продукції на ньому складе g2(x). Кошти, що залишилися другому підприємству складуть (c-x) (залежать від величини x) і дозволять збільшити приріст випуску продукції на двох підприємствах:
g2(x)+f1(c-x). (53)
Оптимальному значенню f2(c) прирости продукції при розподілі суми c між двома підприємствами відповідає таке x, при якому отримана сума (53) буде максимальна. Це можна записати так:
.
Значення f3(c) можна обчислити, якщо відомі значення f2(с) і т.д.
Функціональне рівняння Беллмана для цієї задачі запишеться так:
.
(54)
Отже, максимальний приріст випуску продукції на n підприємствах визначається як максимум суми приросту випуску на n-м підприємстві і приросту випуску на інших n-1 підприємствах за умови, що залишок коштів після n-го підприємства розподіляється між іншими підприємствами оптимально.
Виходячи з функціональних рівнянь (52), (54), ми зможемо послідовно знайти спочатку f1, потім f2,..,fn для різних варіантів розподілення загальної суми коштів.
Для
пошуку оптимального розподілу коштів
насамперед знаходимо оптимальний розмір
x
(c)
інвестицій n-му
підприємству, які дозволяють досягти
максимального значення fn
приросту продукції. По залишку коштів
c-x
і
вже відомому нам значенню
fn-1
знаходимо
x
(c)
–
оптимальний розмір інвестицій
(n-1)-му
підприємству і т.д. і, нарешті, знаходимо
x
(с)
і x
(с).
