4. Задача розподілу ресурсів

Download Report

Transcript 4. Задача розподілу ресурсів

Тема 2. Динамічне
програмування
План
1. Загальні поняття. Постановка задачі
2. Принцип оптимальності
3. Економічний зміст задач динамічного програмування
4. Задача розподілу ресурсів
5. Задача про заміну обладнання
1. Загальні поняття. Постановка задачі
Динамічне програмування (ДП) –
математичний апарат, який дозволяє
здійснити оптимальне планування
багатокрокових керованих процесів,
які залежать від часу.
1. Загальні поняття. Постановка задачі
Ідея методу ДП полягає у тому, що
знаходження екстремального значення
функції багатьох змінних замінюється
багатократним знаходженням
екстремуму функції меншої кількості
змінних.
Сутність ДП у складанні так званих
функціональних рівнянь і подальшого
розв’язку цих рівнянь шляхом
нестандартних обчислювальних процедур.
1. Загальні поняття. Постановка задачі
Багатоетапні керовані процеси мають такі
спільні риси:
Процес може бути підданий
декомпозиції.
тобто розбитий на складові елементи – кроки
або етапи.
Розбиття може відбуватись:
 за періодами часу;
 за стадіями виробництва;
 за ресурсами між споживачами тощо.
1.
1. Загальні поняття. Постановка задачі
2. Кожен етап характеризується станом, який
визначається значеннями факторів, або
змінних.
3. З загальної кількості змінних виділяються
керовані, тобто ті, значення яких можна
спрямовано змінювати і цими змінами
впливати на стан процесу, та змінні стану
1. Загальні поняття. Постановка задачі
4. На кожному кроці існує залежність між
керованими змінними, змінними стану та
функцією мети.
5. Критерій оптимальності повинен бути
адитивним (або мультиплікативним).
1. Загальні поняття. Постановка задачі
Єдиної схеми розв’язку таких задач не існує.
Для кожного типу задач необхідний свій специфічний
підхід, зокрема: симплексний метод, загальна
схема оптимізації, метод множників Лагранжа та
інші схеми.
Отже, за допомогою методу ДП здійснюється
оптимізація багатоетапних процесів, виходячи з
інтересів системи загалом, а не кожної її стадії як
окремого елемента, тому розв’язок на кожному
кроці повинен відповідати вимогам процесу
оптимізації.
1. Загальні поняття. Постановка задачі
В загальному вигляді постановка задачі ДП
формулюється так:
Нехай стан деякої економічної (фізично керованої)
системи на кожному кроці k визначається n-мірним
вектором:
k
k
k
k
1
2
n
S  (S , S ,...,S )
де
– показники виробничо-господарської і
фінансової діяльності системи.
S1 , S2 ,...,Sn
При цьому подальший розвиток процесу залежить від
даного стану Sk і не залежить від того як він
приведений у цей стан.
1. Загальні поняття. Постановка задачі
Процес триває певне число кроків k  0, N
На кожному кроці відбувається вибір одного
управління.
Формально можна записати:
V  (V ,V ,...,V )
k
k
1
k
2
k
n
1. Загальні поняття. Постановка задачі
Під дією даного управління система переходить зі
стану
S k 1  S k
Іншими словами формально функція
S  f (S
k
k 1
k
,V )
де Vk – управління на k-тому кроці, яке залежить від
біжучого стану системи Sk-1.
1. Загальні поняття. Постановка задачі
Кожен крок пов’язаний з одержанням можливого
доходу Wk, при цьому дохід є також функцією від
двох величин:
Wk  Wk (S
k 1
k
,V )
Очевидно, що за N великих кроків дохід буде рівний
сумі доходів:
N
W  W k ( S k 1 ,V k )
k 1
1. Загальні поняття. Постановка задачі
Задача полягає у тому, щоб
знайти таке управління Vk для
кожного кроку k=0,N, щоб
отримати максимальний дохід
за N кроків.
Формальна постановка задачі динамічного
програмування
W1
S0
1
V1
W2
S1
Wk
...
2
S2
V2
Sk-1
k
Vk
WN
Sk
...
SN-1
N
SN
VN
W – дохід, V – управління, S – стан системи
2. Принцип оптимальності
Принцип оптимальності вперше був сформульований
Ричардом Белманом у 1953 році так:
яким би не був стан системи у результаті будьякої кількості кроків, на найближчому кроці
потрібно вибирати управління так, щоб воно в
сукупності з оптимальним управлінням на всіх
попередніх кроках приводило до оптимального
виграшу на всіх кроках що залишилися,
включаючи даний.
2. Принцип оптимальності
Тобто, для будь-якого процесу без зворотного зв’язку
оптимальне управління таке, що воно є
оптимальним для будь-якого підпроцесу відносно
початкового стану цього підпроцесу.
Оптимальне керування має таку основоположну
властивість: якими б не були початковий стан та
прийняте початкове рішення, наступні рішення
повинні утворювати оптимальне керування
відносно стану, що виник в результаті
попереднього рішення.
2. Принцип оптимальності
Сформульовані правила дозволяють побудувати
строгу математичну модель динамічного
програмування.
Ця модель називається функціональним рівнянням
Белмана.
2. Принцип оптимальності
Отже, ми можемо записати
стан системи на останньому кроці N:
S  f (S
N
N 1
N
,V )
стан системи на k-тому кроці:
S  f (S
k
k 1
k
,V )
критерій, що оптимізується
Wk  opt[Wk (S
Vk
k 1
k
, V )]
2. Принцип оптимальності
Тоді значення за N кроків виходячи із властивості
адитивності:
WN (S N )  opt[W1 (S 0 ,V 1 )  ... Wk (S k 1 ,V k )  ... WN (S N 1 ,V N )]
VN
А функціональне рівняння Белмана:
WN k (S )  opt[Wk 1 (S ,V
k
k
Vk
k 1
)  WN k 1 ( S
k 1
)
3. Економічний зміст задач динамічного
програмування
В економіці істотне місце посідають задачі, в
яких необхідно враховувати зміни
параметрів в часі.
Ці параметри можуть змінюватись як
неперервно так і від етапу до етапу.
3. Економічний зміст задач динамічного
програмування
Розробка п’ятирічного прогнозу діяльності
підприємства. Після якого здійснюється
детальне планування по роках, але
щорічно плани уточнюються.
2. У ході капітального будівництва початковий
кошторис постійно уточнюється залежно від
цін на окремі матеріали.
3. Експлуатація машинного обладнання
(експлуатація транспортних засобів) як
відомо технічні характеристики суттєво
змінюються.
1.
3. Економічний зміст задач динамічного
програмування
Приклад:
Комерційний банк, який складається з трьох
відділень має суму кредитних ресурсів R
для короткотермінових позик.
Кожне відділення має своє коло клієнтів,
кредитування здійснюється поквартально.
Необхідно так поквартально розподілити
кредитні ресурси між відділеннями, щоб
отримати сумарний максимальний прибуток
банку загалом.
3. Економічний зміст задач динамічного
програмування
Нехай Vi – управління на i-му кроці ( i  1,2,3,4), тоді
3
xi   xij ,
j 1
управління на кожному з чотирьох кроків буде складатись з
трьох параметрів:
V1  ( x11 , x12 , x13 ) V2  ( x21 , x22 , x23 )
V3  ( x31 , x32 , x33 ) V4  ( x41 , x42 , x43 )
W  W (V1  V2  V3  V4 )  max
4. Задача розподілу ресурсів (задача
інвестування)
Задача розподілу ресурсів (задача інвестування)
полягає в оптимальному розподілі фінансових
ресурсів.
Кошти, вкладені у підприємство (галузь, банк тощо)
на початку року, приносять прибуток в кінці року.
У кінці року всі повернені кошти перерозподіляються
між підприємствами, причому нові кошти не
поступають.
Необхідно розподілити наявні кошти на N років
(кроків) так, щоб сумарний прибуток виявися
максимальним.
4. Задача розподілу ресурсів (задача
інвестування)
Задача розподілу ресурсів може застосовуватись для
розподілу:
 грошових коштів і матеріальних ресурсів між
окремими галузями економіки або підприємствами
на n років;
 коштів фірмою на обладнання, сировину і
придбання робочої сили;
 товарів між торгівельними точками;
 фінансових ресурсів між банківськими установами;
 фінансових ресурсів банківських установ між
окремими клієнтами;
 матеріальних і фінансових ресурсів при будівництві
декількох об’єктів одним підприємством.
4. Задача розподілу ресурсів
Планується діяльність двох підприємств P1 та P2 на N
років (кроків).
Початкові фінансові ресурси Z0.
Кошти x, вкладені в підприємство P1 на початку року,
приносять прибуток в кінці року f1(x), і
повертаються у розмірі q1(x)≤x.
Аналогічно для підприємства P2 функція прибутку
f2(y), а повернення q2(y)≤y.
4. Задача розподілу ресурсів
Початкові дані подамо у вигляді таблиці
Підприємство
Кошти, що
виділяються
Функції
прибутку
Функції
залишку
P1
Xk
f1(Xk)
q1(Xk)
P2
Yk
f2(Yk)
q2(Yk)
4. Задача розподілу ресурсів
У кінці року всі повернені кошти перерозподіляються
між підприємствами, причому нові кошти не
поступають, прибуток у виробництво не
вкладається.
Якщо частина прибутку вкладається у виробництво,
то це легко можна врахувати, оскільки алгоритм
методу ДП не зміниться.
Необхідно розподілити наявні кошти між двома
підприємствами так, щоб сумарний прибуток від
двох підприємств за N років виявися
максимальним.
4. Задача розподілу ресурсів
Розв’язок:
Процес розподілу коштів між підприємствами
розглядається у розрізі років, рішення приймаються
на початку кожного року, отже, відбувається поділ
на кроки: номер кроку (року).
Керована система – два підприємства, управління
полягає у виділенні коштів кожному підприємству в
наступному році.
4. Задача розподілу ресурсів
Параметри стану до початку k-того року –
Zk-1, – кількість коштів, що повинні бути розподілені.
На кожному кроці дві змінні рівняння: xk – кількість
коштів виділених першому підприємству P1, та yk –
другому.
Але оскільки всі кошти Zk-1 розподіляються, то
yk  Z k 1  xk
4. Задача розподілу ресурсів
тому управління на k-тому кроці залежить від однієї
змінної, тобто
X k ( xk , Z k 1  xk )
Враховуючи введені позначення рівняння станів
Z k  q1 ( xk )  q2 (Z k 1  xk )
виражають залишок коштів, повернених в кінці k-того
року.
4. Задача розподілу ресурсів
Показник ефективності k-того кроку – прибуток,
отриманий в кінці року від діяльності двох
підприємств:
Wk  f1 ( xk )  f 2 (Z k 1  xk )
Сумарний показник ефективності – цільова функція
задачі – сумарний прибуток за N років буде
виглядати так:
n
n
k 1
k 1
W  Wk   f1 ( xk )  f 2 ( Z k 1  xk )
4. Задача розподілу ресурсів
*
W
Нехай k (Z k 1 ) – умовно оптимальний
прибуток за (n-k+1) рік, починаючи з kтого року до n-того року включно, при
умові, що наявні на початок k-того року
кошти Zk-1 в подальшому розподілялись
оптимально. Тоді оптимальний
прибуток за n років буде рівний:
Wmax  W (Z0 )
*
1
4. Задача розподілу ресурсів
Функціональні рівняння Белмана будуть мати
такий вигляд:
Wn* ( Z n1 )  max { f1 ( xn )  f 2 ( Z n1  xn )}
0 xk  Z k 1
Wk* ( Z k 1 )  max { f1 ( xk )  f 2 ( Z k 1  xk )  Z k*1 ( Z k )}
0 xk  Z k 1
k  n  1, n  2,...,2
при обмеженнях: Z0  x1  y1
x1  0
y1  0
5. Задача про заміну обладнання
Чим довше механізм експлуатується, тим вищі
затрати на його обслуговування та нижча його
продуктивність.
Коли строк експлуатації досягає певного рівня, може
виявитися більш вигідною його заміна.
Заміна обладнання – надзвичайно велика економічна
проблема.
Задача полягає у встановленні оптимальних строків
заміни старого обладнання (станків, виробничих
будівель тощо).
5. Задача про заміну обладнання
Старіння обладнання включає його фізичний та
моральний знос, внаслідок чого зростають
виробничі затрати, затрати на ремонт і
обслуговування, спадає продуктивність праці,
ліквідна вартість.
Критерієм ефективності виступає, зазвичай, або
максимізація прибутку від експлуатації, або
мінімізація сумарних затрат на експлуатацію
протягом планового періоду.
5. Задача про заміну обладнання
При побудові таких моделей зазвичай вважають, що
рішення про заміну приймається на початку
кожного проміжку експлуатації (наприклад, на
початку року) і що в принципі обладнання має
необмежений строк експлуатації.
Головною характеристикою обладнання є параметр
стану, його вік t.
Процес заміни розглядають як n-кроковий,
розбиваючи весь період експлуатації на n кроків.
5. Задача про заміну обладнання
Можливе управління на кожному кроці
характеризується такими якісними
ознаками:
 Xзбр – зберегти обладнання;
 Xзмн – замінити обладнання;
 Xрем – відремонтувати обладнання.
5. Задача про заміну обладнання
6. Задача завантаження транспортного засобу
(задача рюкзака)
Задача про завантаження (спорядження) –
задача про раціональне завантаження
рюкзака (літака, автомобіля тощо), який має
обмеження за об’ємом або
вантажепідємністю.
Кожен поміщений в рюкзак вантаж приносить
прибуток.
Задача полягає у встановленні завантаження
рюкзака такими вантажами, які принесуть
найбільший сумарний прибуток.
6. Задача завантаження транспортного засобу
(задача рюкзака)
Тип речей,
Кількість
Вага, т Вартість,
(і)
речей, шт. (xi)
(gi)
грн. (vi)
ximax 
Gi
Математична модель задачі має вигляд:
n
F   vi  xi  max
i 1
n
g
i 1
Де
i
 xi  G
vi , gi , Gi , xi – цілі числа;
частка
max
i
x

Gi
– максимально можлива кількість
i (ціле число) завантаження літака
лише і-тою річчю ( ) всього літака.
q
qi
 Рекомендована література: 5,6,10,17,19
Контрольні запитання до теми 2:
1.Що таке динамічне програмування? Головна ідея,
суть.
2.В чому суть принципу оптимальності Белмана?
3.Перерахуйте основні задачі динамічного
програмування.
4.Назвіть галузі застосування задачі розподілу
ресурсів.
5.Виведіть функціональні рівняння Белмана для
задачі розподілу ресурсів.
6.Опишіть задачу заміни обладнання.
7.Опишіть задачу рюкзака.
Дякую за увагу