Динамическое программирование
(УОВ). Теперь мы можем оптимизировать управление на предпоследнем, (N 1)-м шаге. Сделаем все возможные предположения о том, чем кончился предпредпоследпий, то есть (N 2)-й шаг, и для каждого из этих предположений найдем такое управление на (N 1)-м шаге, чтобы выигрыш за последние два шага (из которых последний уже оптимизирован) был максимален. Далее оптимизируется управ чение на (N 2)-м шаге, и т.д.
Одним словом, на каждом шаге ищется такое управление, которое обеспечивает оптимальное продолжение процесса относительно достигнутого в данный момент состояния. Этот принцип выбора управления , называется принципом оптимальности. Само управление, обеспечивающее оптимальное продолжение процесса относительно заданного состояния, называется УОУ на данном шаге.
Теперь предположим, что УОУ на каждом шаге нам известно: мы знаем, что делать дальше, в каком бы состоянии ни был процесс к началу каждого шага. Тогда мы можем найти уже не "условное", а дейсгвительно оптимальное управление на каждом шаге. |
Действительно, пусть нам известно начальное состояние процесса. Теперь мы уже знаем, что делать на первом шаге: надо применить УОУ, найденное для первого шага и начального сосюяния. В результате этого управления после первого шага система перейдет в другое состояние; но для этого состояния мы знаем УОУ и г д. Таким образом, мы найдем оптимальное управление процессом, приводящее к максимально возможному выигрышу.
Таким образом, в процессе оптимизации управления методом динамического программирования многошаговый процесс "проходится" дважды:
первый раз от конца к началу, в результате чего находятся УОУ| на каждом шаге и оптимальный выигрыш (тоже условный) на всех шагах, начиная с данного и до конца процесса;
— второй раз от начала к концу, в результате чего находятся оптимальные управления на всех шагах процесса.
Можно сказать, что процедура построения оптимального управления
методом динамического программирования распадается на две стадии:
предварительную и окончательную. На предварительной стадии для каждого шага определяется УОУ, зависящее от состояния системы (достигнутого в результате предыдущих шагов), и условно оптимальный выигрыш на всех оставшихся шагах, начиная с данного, также зависящий от состояния. На окончательной стадии определяется (безусловное) оптимальное управление для каждого шага. Предварительная (условная) оптимизация производится по шагам в обратном порядке: от последнего шага к первому; окончательная (безусловная) оптимизация также по шагам, но в естественном порядке: от первого шага к последнему. Из двух стадий оптимизации несравненно более важной и трудоемкой является первая. После окончания первой стадии выполнение второй трудности не представляет: остается только "прочесть" рекомендации, уже заготовленные на первой стадии.
III. Пример задачи динамического программирования
Выбор состава оборудования технологической линии.
Есть технологическая линия , то есть цепочка, последовательность операций.
На каждую операцию можно назначить оборудование только каго-то одного вида, а оборудования, способного работать на данной операции, - несколько видов.
Исходные данные для примера
i123j121212108458912846992018681012
Стоимость сырья
Расходы , связанные с использованием единицы оборудования j-го типа на i-ой операции
Производительности, соответственно, по выходу и входу и для j-готипа оборудования, претендующего на i-ую операцию.
Решение:
Для того, чтобы решить данную задачу методом динамического программирования введем следующие обозначения:
N = 3 число шагов.
- Технологическая линия.
= (0,0,0)
= ( )
выбор оборудования для i-ой операции.
Ui область допустимых УВ на i-м шаге.
т.е.
Wi оценка минимальной себестоимости, полученная в результате реализации i-го шага.
S функция общего выигрыша т. е. минимальная себестоимость .
- вектор функция, описывающая переход системы из состояния в состояние под действием УВ.
- вектор УВ на i-ом шаге, обеспечивающий переход системы из состояния xi-1 в состояние xi , т.е. оптимальный выбор оборудования за N шагов.
Si+1() максимальный выигрыш ( в нашем случае минимальная себестоимость), получаемый при переходе из любого состояния в конечное состояние при оптимальной стратегии управления начиная с (k+1)-го шага.
S1() максимальный выигрыш, получаемый за N шагов при переходе системы из начального состояния в конечное при реализации оптимальной стратегии управления . Очевидно, что S = S1(), если = 0.
Запишем вектора допустимых значений
Запишем вектора допустимых управляющих воздействий
Запишем вектор функцию, описывающую переход системы из состояния в состояние под действием УВ.
Запишем основное функциональное уравнение
1) Обратный проход
Для i=3
Учитывая то,что этот шаг у нас последний и следующей операции
уже не будет, а также то, что мы на обратном проходе, вместо функции
возьмем стоимость сырья
при =
при =
т. е.
Для i=2
при =
при =
при =
при =
т. е.
Для i=1
при =
при =
при =
при ==
при =
при =
при =
при =
т. е.
2) Прямой проход
Учитывая то, что и = (0,0,0) имеем
i=1
i=2
i=3
Таким образом оптимальный выбор составаоборудования технологической линии предполагает следующее:
На 1-ую операцию назначим оборудование 2-го вида
На 2-ую операцию назначим оборудование 1-го вида
На 3-ью операцию назначим оборудование 2-го вида
Оценка минимальной себестоимости составит 105,5.
скачать реферат
1 2