р0, m0.
Кінцеве формулювання задачі лінійного програмування має наступний вигляд. Максимізувати:
Р = 0,10 р + 0,30 m (у.о. в день).
при обмеженнях:
час роботи обладнання: 0,01 р + 0,04 m 24 год/день
спеціальний інгридієнт: 0,01 р + 0,04 m 16 кг/день.
р, m0. (3, с.402).
Різновидом задач лінійного програмування є транспортні задачі. Нехай потрібно перевезти деяку кількість одиниць однорідного товару з різних складів в декілька магазинів. Приймемо слідуючі позначення: k – число складів, n – число магазинів, аі – кількість товару на і-ому складі, bj - кількість товару, необхідного j-ому магазину, xij - кількість одиниць товару, що перевозиться з і-го складу в j-ий магазин. Передбачається, що a1 + … + ak = b1 + …bn і що відомі вартості cij перевезення одиниці товару з і-го складу до j-го магазину (вважається, що загальна вартість перевезення пропорційна загальному обсягу перевезення cijxij при перевезенні з і-го складу до j-го магазину). Потрібно знайти такі обсяги перевезень, щоб F(x) = (c11x11 + … + c1nx1n) + (ci1xi1 + … + cinxin) +
+ (ck1xk1 + … + cknxkn) -> min при обмеженнях:
(II).
Для нас важливим є те, що всі невідомі змінні входять до цільової функції, а також в обмеження в першому ступені і являються неперервно знінюваними величинами. Рівності n=k не вимагається.
Для розв’язку задач лінійного програмування використовується декілька методів, серед яких найбільш розповсюдженими є симплекс-метод (складається симплекс-таблиця, в якій за допомогою числа ітерацій методом Гауса-Жордана знаходиться оптимальне значення цільової функції) та графічний метод.
На практиці в сферах фінансів, маркетингу, інвестування та інших дуже часто виникає проблема раціонального розподілу якихось ресурсів (капіталовкладень, товару тощо). Щоб прийняти вірне рішення щодо оптимального розподілу ресурсів застосовується математична модель динамічного програмування. Динамічне програмування використовується для дослідження багатоетапних процесів. Стан системи, якою керують, характеризується певним набором параметрів (фазовими координатами). Процес переміщення в фазовому просторі розподіляють на ряд послідовних етапів і здійснюють послідовну оптимізацію кожного з них, починаючи з останнього. На кожному етапі знаходять умовно оптимальне управління при всеможливих передбаченнях про результати попереднього кроку. Коли процес доходить до вихідного стану, знову проходять всі етапи, але вже з множини умовних оптимальних управлінь обирається одне найкраще [8, с.32]. В простому випадку задача динамічного програмування може вирішуватися наступним методом.
Нехай є n функцій з невід’ємними значеннями f1(x1), x1 d1,..., fn(xn), xn dn, де d1,…,dn – області визначення змінних. Потрібно знайти максимум (або мінімум) F(x1,…,xn)=f1(x1) + … + fn(xn) при деяких обмеженнях на змінні x1,…,xn. В найпростішому випадку обмеження одне ( не враховуючи природньої вимоги невід’ємності змінних): x1+x2+…+xn=A. Схема дій буде наступною: знаходимо F12(A)=max[f1(x)+f2(A-x)], далі F123(A)=max[F12(x)+f3(A-x)] і т.ін., а в кінці кінців – max F(x1,…,xn)=F12…n(A)=max[F12…n-1(x)+fn(A-x)].
Приклад.
Нехай фірма має три торговельні точки, якусь кількість умовних одиниць капіталу і знає для кожної точки залежність прибутку в ній від обсягу вкладення певного капіталу в цю точку.
(Див. таблицю 1).
Таблиця 1:
Вихідні дані прикладу.
Вкладення |
1 |
2 |
3
0
1
2
4
5
6
7
8
9 |
0,28
0,45
0,65
0,78
0,90
1,02
1,13
1,23
1,32 |
0,25
0,41
0,55
0,75
0,80
0,85
0,88
0,90 |
0,15
0,40
0,50
0,62
0,73
0,82
0,96
Як розпорядитися наявним капіталом так, щоб прибуток був максимальним ?
Звичайно, можна переглянути всі можливі комбінації розподілу капіталу, скажімо при чотирьох одиницях капіталу:
(4,0,0), (0,4,0), (0,0,4); (3,1,0), (3,0,1); (2,2,0), (2,0,2), (2,1,1) і т.ін.
Але якщо задана велика кількість змінних?... Для вирішення цієї задачі можна використовувати динамічне програмування. Введемо наступні позначення:
F1(x), f2(x), f3(x) – функції прибутку в залежності від капіталовкладень, тобто стовпці 2-4 (див. таб.1), F12(A) – оптимальний розподіл, коли А одиниць капіталу вкладується в першу і лругу точки разом, F123(A) – оптимальний розподіл капіталу величини А, що вкладається у всі точки разом.
Наприклад,для визначення F12(2) треба знайти f1(0)+f2(2)=0,41, f1(1)+f2(1)=0,53, f1(2)+f2(0)=0,45 і обрати з них максимальну, тобто F12(2)=0,53. Взагалі F12(2)=max[f1(x)+f2(A-x)]. Обчислюємо F12(0), F12(1), F12(2),…F12(9), котрі заносимо в таблицю 2 (див. таб.2).
Для А=4 можливі комбінації (4, 0), (3, 1), (2, 2), (1, 3), (0, 4), котрі дають відповідно загальний прибуток: 0,78; 0,90; 0,86; 0,83; 0,65. Більш детально отримання цих величин показано нижче.
Таблиця 2:
Розподіл капіталу між двома торговими точками.
Вкладення
(А) |
f1(x) |
f2(x) |
F12(A) |
Оптимальний розподіл
0,53
0,70
1,06
1,20
1,33
1,45
1,57 |
0,0
1,0
1,1
2,1
3,1
3,2
3,3
4,3
5,3
6,3
F12(A)=max{f1(x)+f2(A-x)}
Тепер, коли фактично є залежність F12 від величини капіталу, що вкладується у перші дві точки, можна шукати F123(A)=max[F12(x)+f3(A-x)]. Результати наведемо в таблиці 3. Більш детально отримання цих величин при вкладенні капіталу в три точки показано в таблиці 4 для дев’яти одиниць капіталу.
Таблиця 3:
Розподіл капіталу поміж трьома торговими точками.
Вкладення (А) |
F12(x) |
f3(x) |
F123(A) |
9 | 0
1,57 | 0
0,96 | 0
1,21
1,35
1,48
1,60 | (0, 0, 0)
(1, 0, 0)
(1, 1, 0)
(2, 1, 0)
(3, 1, 0)
(3, 2, 0)
(3, 2, 1)
(3, 3, 1)
(4, 3, 1)
(5, 3, 1) або (3, 3, 3)
Таблиця 4:
Розподіл дев’яти одиниць капіталу поміж трьома точками.
Капітал |
x1+x2 |
x3 |
F123
9
0 |
1,57
1,45+0,15=1,6 (5, 3, 1)
1,33+0,25=1,58
1,2+0,4=1,6 (3, 3, 3)
1,06+0,5=1,56
0,9=0,62=1,52
0,70+0,73=1,43
0,53+0,82=1,35
0,28+0,90=1,18
Важливо те, що отримані результати були д тими ж, якби ми користувались не F12 і F123, а, скажімо, F31 i F312. Зверніть увагу на те, що оптимальне рішення для А=9 – не єдине!
Динамічне програмування потужний та важливий метод вирішення певного класу оптимізаційних задач, оскільни він дозволяє різко скоротити обсяг переборів варіантів і обсяг обчислень [8, с.35].
Для того, щоб надати для розгляду якомога більше математичних моделей (звичайно не всі, інакше потрібно було б писати книгу), надалі я слідуватиму прикладу американських класиків Мескона М., Альберта М. та Хедоурі Ф. і буду приділяти