Назвіть методи розв'язув задач динамічного програмування



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

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

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

Цей факт є основою методу динамічного програмування і є сутністю так званого принципу оптимальності Р. Белмана, який формулюється так:

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

Будь-яку багатокрокову задачу можна розв’язувати по-різному: або знаходити одразу всі елементи розв’язку на всіх кроках, або будувати оптимальне управління поступово, крок за кроком (на кожному етапі розрахунків оптимізуючи лише один крок). Як правило, другий спосіб оптимізації є значно простішим, ніж перший, особливо при значній кількості кроків. Оптимізація одного кроку є простішою порівняно з оптимізацією всього процесу, тому краще багато разів розв’язувати простіші задачі, ніж один раз — складну.

 

28. За яких умов задача лінійного програмування з необмеженою областю допустимих планів має розв"язок

Якщо при переході у симплекс-методі від одного опорного плану задачі до іншого в напрямному стовпчику немає додатних елементів aik, тобто неможливо вибрати змінну, яка має бути виведена з базису, то це означає, що цільова функція задачі лінійного програмування є необмеженою й оптимальних планів не існує. . Якщо в оцінковому рядку останньої симплексної таблиці оцінка ∆j відповідає вільній (небазисній) змінній, то це означає, що задача лінійного програмування має альтернативний оптимальний план. Отримати його можна, вибравши розв’язуваль­ний елемент у зазначеному стовпчику таблиці та здійснивши один крок симплекс-методом. Якщо для опорного плану задачі лінійного програмування всі оцінки ∆j (j=1,n) задовольняють умову оптимальності, але при цьому хоча б одна штучна змінна є базисною і має додатне значення, то це означає, що система обмежень задачі несумісна й оптимальних планів такої задачі не існує.


Дата добавления: 2018-02-18; просмотров: 1100; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!