Поняття динамічного програмування

Динамічне програмування

 

 

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

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

Е.П. називається керованим, якщо можна впливати на хід його розвитку. Керуванням називається сукупність рішень, прийнятих на кожному етапі з метою впливу на хід процесу.

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

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

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

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

Приклад 4.1. Нехай планується діяльність деякої системи підприємств S P1, P2, ..., Pn на деякий період часу Т, що складається з К господарств років ti (i = 1,2,...,k),причому . На початку періоду Т на розвиток підприємств виділені основні засоби D. На початку кожного господарського року провадиться фінансування всієї системи підприємств, тобто виділяється частка основних засобів. Відомий початковий стан системи S0, що характеризується кількістю засобів, вже вкладених у підприємства, і кінцевий Sk, що характеризується всією додатково вкладеною сумою D. Як варто розподілити по підприємствах і роках основні засоби D, щоб до кінця періоду Т сумарний прибуток W від усієї системи підприємств був max.

Позначимо через xij суму, що виділяється на початку i-го періоду року j-ому підприємству (i = 1, 2, ... k; j = 1, 2, ... , n). Тоді вектор i = (xi1, xi2, ..., xin) визначає розподіл засобів на i-ому етапі. Тоді керування підприємствами на k кроках виражається системою k-векторів 1, 2; ..., k і сумарний прибуток за k років W є функцією від i , ..., k тобто W = W ( i , ... , k). Потрібно знайти max W, обираючи на кожному етапі найкраще керування i .

Цю задачу можна розв’язати безпосередньо, об'єднавши всі етапи, як max W = W (x11, x12, ... , xkl, ..., xkn), тобто як відшукування max функції k*n - змінних.

Недоліки:

1) рішення громіздке;

2) критичні точки можна знайти всередині області;

3) при xij - дискретних метод не можливо застосувати.

Д.П. дозволяє:

1) спрощувати рішення задач за рахунок методу поетапного планування, який припускає багатократне рішення щодо простих задач;

2) вирішувати ті з задач, до яких не можна застосувати методи математичного аналізу.

Недоліки Д.П.:

1) немає універсального рішення;

2) трудомісткість рішень багатомірних задач.

 

Нехай деяка керована система S знаходиться в початковому стані S0 Є 0. З часом її стан змінюється і система переходить у кінцевий стан Sk Є k.

Процес зміни станів системи характеризується деяким чисельним критерієм W. Необхідно так організувати процес, щоб критерій досяг оптимального значення.

Позначимо множину можливих керувань через знайти таке керування *, що дозволить перевести систему S із початкового стану S0 Є 0 у кінцевий Sk Є k так, щоб критерій W ( ) прийняв оптимальне значення W* = W ( *).