- •Міністерство освіти і науки україни
- •Київ нухт 2014
- •Мета та завдання навчальної дисципліни
- •Тема 1. Предмет, метод і задачі курсу
- •1.1.Основні дефініції математичного моделювання
- •1.4 Математична модель та її основні елементи
- •Тема 2. Функції і графіки в екомічному моделюванні
- •2.2.Способи завдання та дослідження функцій
- •2.3. Основні елементарні функції
- •Тема 3. Моделі задач лінійного програмування та методи їх розв'язування
- •3.1. Постановка задач лінійного програмування, їх моделі та основні форми
- •2.2. Графічний метод розв’язування задач лінійного програмування
- •3.3. Симплексний метод розв’язування задач лінійного програмування
- •Тема 4. Теорія двоїстості та кількісний аналіз оптимізаційних розрахуків
- •4.1. Двоїстість у задачах лінійного програмування: правила побудови двоїстих задач та їх основні класи
- •4.2. Основні теореми двоїстості
- •4.3. Двоїстий симплекс-метод
- •4.4. Економіко-математичний аналіз оптимальних розрахунків
- •Тема 5. Транспортна задача
- •5.1. Постановка транспортної задачі та її математична модель
- •5.2. Методи побудови початкового опорного плану
- •1. Діагональний метод (північно-західного кута).
- •2. Метод найменшої вартості.
- •5.3. Метод потенціалів
- •5.3.1. Критерій оптимальності опорного плану за методом потенціалів
- •5.3.1. Цикли перерахунку транспортної задачі
- •5.4 Практичне застосування транспортної задачі
- •5.4.2. Модель оптимального розподілу фінансових ресурсів банку
- •5.4.3. Модель формування штатного розпису фірми
- •Тема 6. Задачі цілочислового лінійного програмування та методи їх розв'язання
- •6.1. Постановка задачі цілочислового лінійного програмування
- •6.2. Методи розв’язування задач цілочислового лінійного програмування
- •6.3. Прикладні моделі задач цілочислового лінійного програмування (модель формування оптимальної інвестиційної програми при заданому бюджеті)
- •Тема 7. Нелінійні оптимізаційні моделі економічних систем
- •7.1. Постановка задачі нелінійного програмування та її характерні особливості
- •7.2. Основні види задач нелінійного програмування
- •Тема 8. Динаміче програмування
- •8.1. Постановка задачі динамічного програмування
- •8.2. Методи розв’язування задач динамічного програмування
- •8.3. Прикладні моделі динамічного програмування (модель оптимального розподілу фінансових ресурсів між інвестиційними проектами)
- •3.Рекомендована література Законодавчі та нормативно-правові документи
- •Базова література
- •Допоміжна література
- •Інформаційні ресурси
- •Http://ndipit.Com.Ua Науково-дослідний інститут прикладних інформаційних технологій
Тема 8. Динаміче програмування
8.1 Постановка задачі динамічного програмування.
8.2 Методи розв’язування задач динамічного програмування.
8.3 Прикладні моделі динамічного програмування.
8.1. Постановка задачі динамічного програмування
Динамічне програмування - це математичний апарат, який дозволяє швидко знаходити оптимальне рішення у випадку, коли ситуація, що вивчається, має велику кількість варіантів поведінки, які дають різні результати і серед них треба вибрати найкращий. Динамічне програмування використовують при розв’язуванні певного типу задач шляхом їх розкладу на менші та простіші підзадачі. Розв’язок такого виду задачі можна знайти шляхом перебору всіх можливих варіантів і вибору серед них найкращого, але в більшості випадків такий перебір є досить трудомістким. Тому процес прийняття оптимального рішення розбивається на етапи (кроки) і досліджується з допомогою методу динамічного програмування.
Динамічне програмування використовується для розв’язання таких задач: розподіл дефіцитних капітальних вкладень між новими напрямками їх використання; розробка сценаріїв управління попитом чи запасами; розробка принципів календарного планування виробництва і вирівнювання зайнятості в умовах нестабільного попиту на продукцію; складання календарних планів поточного та капітального ремонту устаткування та його заміни; формування послідовності розвитку комерційної операції тощо.
Розглянемо деякий керований процес. Припустимо, що керування можна розбити на п кроків, тобто рішення приймається послідовно на кожному кроці, а процедура, яка переводить систему з початкового стану в кінцевий, є сукупністю п покрокових керувань. В результаті керування система переходить із стану в.
Позначимо через керування наk-му кроці (),де - множина допустимих керувань на k-му кроці. Нехай - керування, яке переводить систему з стану в . Позначимо через стан системи після k-го кроку керування. Отримуємо послідовність станів ,,, …,,,, …,.
Показник ефективності процесу керування залежить від початкового стану системи і керованої змінної:
(8.1)
Власне, задача динамічного програмування формулюється таким чином: знайти таке значення керованої змінної , яке переводить систему з початкового стану в кінцевий , при якому цільова функція (8.1) набуває найбільшого (найменшого) значення.
Розглянемо характерні особливості математичної моделі динамічного програмування:
задача оптимізації формулюється як скінчений багатокроковий процес управління;
цільова функція (8.1) є адитивною від показника ефективності кожного кроку, тобто виграш від всієї операції складається з виграшів, отриманих на кожному кроці.
, (8.2)
де - показник ефективності на k-му кроці;
вибір керування на кожному кроці залежить тільки від стану системи до цього кроку і не впливає на попередні кроки (немає зворотного зв’язку);
стан системи після кожного кроку керування залежить тільки від попереднього стану системи і керуючої дії хk на k-му кроці та не залежить від попередніх станів системи і керувань (відсутність післядії):
, (8.3)
де - оператор переходу;
на кожному кроці керування залежить від скінченого числа керованих змінних, а стан системи Sk залежить від скінченого числа параметрів;
оптимальним керуванням є вектор х , який знаходиться шляхом послідовних оптимальних покрокових керувань:
, кількість яких і визначає число кроків задачі.