НА ОСНОВЕ МОДЕЛИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
ЛЕКЦИЯ 3. ПРИНЯТИЕ УПРАВЛЕНЧЕСКОГО РЕШЕНИЯ
3.1. Общая постановка задачи динамического программирования. 3.2. Решение задачи об оптимальной распределении ресурсов.
3.1. Динамическое программирование представляет собой математический аппарат, позволяющий осуществлять оптимальное планирование управляемых процессов, то есть процессов, на ход которых можно целенаправленно влиять. Это метод оптимизации, специально приспособленный к операциям, в которых процесс принятия решений может быть разбит на отдельные шаги. Такие операции называют многошаговыми.
При решении задачи данным методом процесс принятия решения разделяется на этапы, решаемые последовательно во времени и приводящие в конечном счете к искомому решению.
Задача динамического программирования состоит в выборе из множества допустимых управлений (решений) такого, которое переводит систему из начального состояния в конечное, обеспечивая при этом экстремум целевой функции (минимум или максимум в зависимости от ее экономической сущности).
В основе вычислительных алгоритмов динамического программирования лежит следующий принцип оптимальности, сформулированный Р. Беллманом: каково бы ни было состояние системы S в результате (n‑1) шагов, управление на n-м шаге должно выбираться так, чтобы оно по совокупности с управлениями на всех последующих шагах с (n+1)‑го до N‑го включительно доставляло экстремум целевой функции.
Динамическое программирование используется для исследования многоэтапных процессов. Состояние управляемой системы характеризуется определенным набором параметров. Процесс перемещения в пространстве разделяют на ряд последовательных этапов и производят последовательную оптимизацию каждого из них, начиная с последнего. На каждом этапе находят условное оптимальное управление при всевозможных предположениях о результатах предыдущего шага. Когда процесс доходит до исходного состояния, снова проходят все этапы, но уже из множества условных оптимальных управлений выбирается одно наилучшее. Получается, что однократное решение сложной задачи заменяется многократным решением простой.
Постановка задачи: Рассматривается процесс управления (1,2,3,4,5…..). В результате управления система S переводится из начального состояния S0 в состояние Sn. Управление разбивается на n – шагов, т.е. осуществляется выбор одного управления Un последовательно на каждом шаге:
Каждый шаг выбора очередного решения связан с определенным эффектом, который зависти от текущего состояния и принятого решения: φn (Sn; Un). Общий эффект (доход) за n – шагов слагается из эффектов на отдельных шагах. Требуется найти такую последовательность решений (U1, …… Un), чтобы получить максимальный эффект (доход) за n – шагов. Любая возможная допустимая последовательность решений (U1, …… Un) называется последовательность решений. Стратегия управления, доставляющая максимум критерию оптимальности – называется оптимальной.
Принцип оптимальности динамического программирования записывается в виде соотношения:
Fn (Sn) = max { φn (Sn; Un) + Fn-1(Sn-1; Un-1)}
где φn (Sn; Un) - эффект от принятого решения Un; Fn-1(Sn-1; Un-1) - эффект за оставшиеся n – шагов
Динамическое программирование – важный метод принятия решений, поскольку он позволяет сократить объем перебора вариантов решений и объем вычислений.
3.1. Обозначим Х – общий объем располагаемых ресурсов, хj (хj≥0) – количество ресурса, используемое j –м способом, φj (хj) - эффект от применения j –го способа.
Принцип оптимальности записывается в виде соотношений:
1 этап: F1 (Х) = max { φ1 (х1)} 2 этап: F12 (Х) = max { φ2 (х2) + F1(Х- х2)}
3 этап: F123 (Х) = max { φ3 (х3) + F12(Х- х3)} n – этап: Fn (Х) = max { φn (хn) + Fn-1(Х- хn)}
Пример решения задачи динамического программирования табличным методом:
Инвестор выделяет средства в размере 50 млн.грн., которые должны быть распределены между тремя предприятиями. Средства выделяются только в размерах кратных 10 млн.грн. Постройте план распределения инвестиций между тремя предприятиями, обеспечивающий наибольшую общую прибыль, если каждое предприятие при инвестировании в него Х млн.грн. приносит прибыль φi (Х) млн.грн. по следующим данным:
ТАБЛИЧНЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ:
1 этап. Все ресурсы используются 1-м способом (инвестирование в 1-е предприятие):
F1 (Х) = max { φ1 (х1)}
2 этап. Все ресурсы используются двумя способами (инвестиции распределяются между первым и вторым предприятием):
F12 (Х) = max { φ2 (х2) + F1(Х- х2)}
2.1. 2.2.
2.3. 2.4. 2.5.
3 этап. Все ресурсы используются тремя способами (инвестиции распределяются между тремя предприятиями):
F123 (Х) = max { φ3 (х3) + F12(Х- х3)}
3.1. 3.2
3.3. 3.4.
3.5
Ответ:: F123=67 тыс.грн.
х1=0 х2=20 х3=30
проверка: 0+25+42=67 тыс.грн.
|