Динамическое программирование
Реферат, 26 Января 2012, автор: пользователь скрыл имя
Краткое описание
Динамическое программирование (иначе – динамическое планирование) – это метод нахождения оптимальных решений в задачах с многошаговой (многоэтапной) структурой. Многие экономические процессы расчленяются на шаги естественным образом. Это все процессы планирования и управления, развиваемые во времени. Естественным шагом в них может быть год, квартал, месяц, декада, неделя, день и т. д.
Содержание работы
Введение
1. Задача динамического программирования
2.Общая структура динамического программирования
3. Принцип оптимальности. Функциональные уравнения Беллмана
4.Применение динамического программирования
Заключение
Список использованной литературы
Содержимое работы - 1 файл
реферат задачи динамического программирования.docx
— 74.46 Кб (Скачать файл)Чтобы можно было использовать принцип оптимальности практически, необходимо записать его математически. Обозначим через z1(xn-1), z2(xn-2),…, zn(x0) условно-оптимальные значения приращений целевой функции на последнем шаге, двух последних,…, на всей последовательности шагов, соответственно.
Тогда для последнего шага:
z1(xn-1)
=
(min) {Fn(xn-1, un)},
где un – множество допустимых (возможных) управлений на n-ом шаге, xn-1 – возможные состояния системы перед n-ым шагом.
Для двух последних шагов:
z2(xn-2)
=
(min) {Fn-1(xn-2, un-1) + z1(xn-1)}.
Для k последних шагов:
zk(xn-k)
=
(min) {Fn-k+1(xn-k, un-k+1) + zk-1(xn-k+1)}.
Для всех n шагов:
zn(x0)
=
(min) {F1(x0, u1) + zn-1(x1)}.
Полученные
рекуррентные соотношения называют
функциональными уравнениями
При
этом согласно определению zn(x0)
= F*.
- ПРИМЕНЕНИЕ ДИНАМИЧЕСКОГО ПРОГРАММИРВАНИЯ
Приведем
некоторые примеры
Планирование рабочей силы:
При
выполнении некоторых проектов число
рабочих, необходимых для выполнения
какого-либо проекта, регулируется путем
их найма и увольнения. Поскольку
как наем, так и увольнение рабочих
связано с дополнительными
Задача:
Предположим, что описанный выше проект будет выполняться в течение n недель и минимальная потребность в рабочей силе на протяжении i-й недели составит bi рабочих. При идеальных условиях хотелось бы на протяжении i-й недели иметь в точности bi рабочих. Однако в зависимости от стоимостных показателей может быть более выгодным отклонение численности рабочей силы как в одну, так и в другую сторону от минимальных потребностей.
Если xi – количество работающих на протяжении i-й недели, то возможны затраты двух видов: 1) С1(xi- bi)-затраты, связанные с необходимостью содержать избыток xi - bi рабочей силы и 2) С2(xi- xi-1)-затраты, связанные с необходимостью дополнительного найма (xi- xi-1) рабочих.
Элементы модели динамического программирования определяются следующим образом:
- Этап і представляется порядковым номером недели і, і=1,2,…n.
- Вариантами решения на і-ом этапе являются значения xi – количество работающих на протяжении і-й недели.
- Состоянием на і-м этапе является xi-1 – количество работающих на протяжении (і-1) –й недели (этапа).
Рекуррентное
уравнение динамического
где
Вычисления
начинаются с этапа n при xn=bn
и заканчиваются на этапе 1.
Замена оборудования.
Чем дольше механизм эксплуатируется, тем выше затраты на его обслуживание и ниже его производительность. Когда срок эксплуатации механизма достигает определенного уровня, может оказаться более выгодной его замена. Задача замены оборудования, таким образом, сводится к определению оптимального срока эксплуатации механизма.
Задача:
Предположим, что мы занимаемся заменой механизмов на протяжении n лет. В начале каждого года принимается решение либо об эксплуатации механизма еще один год, либо о замене его новым.
Обозначим через r(t) и c(t) прибыль от эксплуатации t-летнего механизма на протяжении года и затраты на его обслуживание за этот же период. Далее пусть s(t) – стоимость продажи механизма, который эксплуатировался t лет. Стоимость приобретения нового механизма остается неизменной на протяжении всех лет и равна l.
Элементы модели динамического программирования таковы:
- Этап і представляется порядковым номером года і, і=1,2,...n.
- Вариантами решения на і-м этапе (т.е. для і-ого года) являются альтернативы: продолжить эксплуатацию или заменить механизм в начале і-ого года.
- Состоянием на і-м этапе является срок эксплуатации t (возраст) механизма к началу і-ого года.
Пусть fi(t)-максимальная прибыль, получаемая за годы от і до n при условии, что в начале і-ого года имеется механизм t-летнего возраста.
Рекуррентное
уравнение имеет следующий вид:
(1)-если эксплуатировать механизм,
(2)-если
заменить механизм.
Распределение инвестиций
Динамическое моделирование в инвестировании позволяет определить, как необходимо распределить капитальные вложения между объектами (предприятиями, проектами) таким образом, чтобы получить максимально возможную суммарную прибыль.
Задача:
Предположим, что в начале каждого из следующих n лет необходимо сделать инвестиции P1, P2,…, Pn соответственно. Вы имеете возможность вложить капитал в два банка: первый банк выплачивает годовой сложный процент r1, а второй - r2. Для поощрения депозитов оба банка выплачивают новым инвесторам премии в виде процента от вложенной суммы.
Премиальные меняются от года к году, и для і-ого года равны qi1 и qi2 в первом и втором банках соответственно. Они выплачиваются к концу года, на протяжении которого сделан вклад, и могут быть инвестированы в один из двух банков на следующий год. Это значит, что лишь указанные проценты и новые деньги могут быть инвестированы в один из двух банков. Размещенный в банке вклад должен находится там до конца рассматриваемого периода. Необходимо разработать стратегию инвестиции на следующие n лет.
Элементы модели динамического программирования следующие:
- Этап і представляется порядковым номером года і, і=1,2,...n
- Вариантами решения на і-м этапе (для і-ого года) являются суммы li и инвестиций в первый и второй банк соответственно.
- Состоянием xi на і-м этапе является сумма денег на начало і-ого года, которые могут быть инветсированы.
Заметим, что по определению =xi-li. Следовательно,
где і=2,3,…n, x1=P1. Сумма денег xi, которые могут быть инвестированы, включает лишь новые деньги и премиальные проценты за инвестиции, сделанные на протяжении (і-1)-го года.
Пусть fi(xi)- оптимальная сумма инвестиций для интервала от і-го до n-го года при условии, что в начале і-го года имеется денежная сумма xi. Далее обозначим через si накопленную сумму к концу n-го года при условии, что li и (xi-li)-объемы инвестиций на протяжении і-го года в первый и второй банк соответственно. Обозначая , і=1,2, мы можем сформулировать задачу в следующем виде.
Максимизировать z=s1+s2+…+sn, где
Так как премиальные за n-й год являются частью накопленной денежной суммы от инвестиций, в выражения для sn добавлены qn1 и qn2.
Итак,
в данном случае рекуррентное уравнение
для обратной прогонки в алгоритме
динамического программирования имеет
вид
где xi+1 выражается через xi в соответствии с приведенной выше формулой, а fn+1(xn+1)=0.
Так
же динамическое программирование используется
для решения задач выбора
кратчайшего пути, оптимального
распределения средств
на расширение производства,
управления производством
и запасами, оптимального
распределения ресурсов
(Задачи на оптимальное распределение
ресурса, который можно использовать различным
образом, возникают при разработке оперативных
и перспективных планов особенно часто.
К ним относятся задачи о распределении
средств на приобретение оборудования,
закупку сырья и найм специалистов; задачи
о распределении товара по торговым предприятиям
и складам; задачи по определению последовательности
пропорций между продукцией с/х производства,
предназначенной для реализации и воспроизводства
и т.д.)
ЗАКЛЮЧЕНИЕ
Одним
из условий применимости метода динамического
программирования является возможность
разбиения процесса оптимизации
решения на ряд однотипных шагов
(этапов), каждый из которых планируется
отдельно, но с учетом состояния
системы на начало этапа и последствий
принятого решения. Однако из этого
правила есть исключение. Среди всех
шагов существует один, который может
планироваться без оглядки на
будущее. Это последний шаг. Он может
быть изучен и спланирован сам
по себе наилучшим образом, поскольку
за ним нет больше этапов. Отсюда
получаем одну из специфических особенностей
динамического
В процессе оптимизации управления методом динамического программирования многошаговый процесс проходится дважды. Первый раз – от конца к началу, в результате чего находятся условно-оптимальные управления и условно-оптимальное значение функции цели для каждого шага, в том числе оптимальное управление для первого шага и оптимальное значение функции цели для всего процесса. Второй раз – от начала к концу, в результате чего находятся уже оптимальные управления на каждом шаге с точки зрения всего процесса. Первый этап сложнее и длительнее второго, на втором остается лишь отобрать рекомендации, полученные на первом. Следует отметить, что понятия «конец» и «начало» можно поменять местами и разворачивать процесс оптимизации в другом направлении. С какого конца начать – диктуется удобством выбора этапов и возможных состояний на их начало.
Из
качественного анализа идеи поэтапной
оптимизации используют принципы, лежащие
в основе динамического
СПИСОК
ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Баканов М.И., Шеремет А.Д. Теория экономического анализа: Учебник. – 4-е изд., доп. и перераб. – М.: Финансы и статистика, 1999
2. Браславец М.Е. Экономико-математические методы в организации и планировании сельскохозяйственного производства, 1974
3. Кравченко Р.Г., Попов И.Г., Толпекин С.З. Экономико-математические методы в организации и планировании сельскохозяйственного производства, 1974
4. Кузнецов А.В., Холод Н.И. Математическое программирование: [ Учеб. Пособие для эконом. спец. вузов]. – Мн.: Выш. шк., 1984. – 221 с., ил.
5. Кузнецов
Ю. Н. и др. Математическое
- Вентцель Е. С. Исследование операций: задачи, принципы, методология. –М.: Наука,1988
- Карманов В. Т. Математическое программирование. –М.:Наука,1986.
- Зайченко Ю. П. Исследование операций. –К.: Высшая школа,1985.
- Аоки М. Введение в методы оптимизации. –М.: Наука,1977.
- Беллман Р., Дрейфус С. Прикладные задачи динамического программирования. –М.: Наука,1965.
- Муну М. Математическое программирование. Теория алгоритмов. –М.: Наука,1990.