special

Математичне програмування - Наконечний С.І.

РОЗДІЛ 9. ДИНАМІЧНЕ ПРОГРАМУВАННЯ

«Математик може вважати свою проблему розв’язаною, лише коли збагне суть оптимального підходу до розв’язання».

Р. Белман

9.1. Економічна сутність задач динамічного програмування

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

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

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

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

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

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

Поставимо задачу динамічного програмування в загальному вигляді.

Нехай аналізується деякий керований процес, подання якого допускає декомпозицію на послідовні етапи (кроки), кількість яких n задана. Ефективність всього процесу Z може бути подана як сума ефективностей окремих кроків, тобто:

,

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

З кожним етапом (кроком) задачі пов’язане прийняття певного рішення, так званого крокового управління що визначає як ефективність даного етапу, так і всього процесу в цілому.

Розв’язування задачі динамічного програмування полягає в знаходженні такого управління процесом у цілому, яке максимізує загальну ефективність: (max ).

Оптимальним розв’язком цієї задачі є управління що складається з сукупності оптимальних покрокових управлінь:

і уможливлює досягнення максимальної ефективності:



 

Created/Updated: 25.05.2018

';