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

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

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

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

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

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

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

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

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

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

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

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

Недоліки:

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

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

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

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

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

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

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

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

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

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

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

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

Наши рекомендации