Выбор метода решения задачи нахождения оптимальной стратегии

Описанная выше оптимизационная задача является многошаговой (динамической) задачей принятия решений в условиях определенности, поэтому для ее решения используются методы исследования операций, в частности метод динамического программирования (как единственный известный на сегодня метод решения рассматриваемых динамических задач).

Важные особенности метода динамического программирования:

• функция затрат Fj нс обязана быть дифференцируемой и может задаваться таблично;

  • • гарантируется получение глобального минимума, причем наличие локальных минимумов не создает никаких трудностей;
  • • дополнительные ограничения только облегчают получение решения, поскольку сужают пространство поиска;
  • • используя решения, полученные на предыдущих этапах, можно решить задачу с меньшим числом периодов;
  • • метод может быть обобщен на многоресурсные задачи (в частности, с предварительным распределением затрат по уровням).

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

Рассматривается управляемый процесс — нахождение оптимальной стратегии управления запасами. В результате управления система (объект управления) S переводится из начального состояния sq в состояние s'4. Предположим, что управление можно разбить на w шагов, т. е. решение принимается последовательно на каждом шаге, а управление, переводящее систему S из начального состояния в конечное, представляет собой совокупность w пошаговых управлений. Обозначим через х/. управление на к-м шаге (к = 1, 2,..., w). Если управления хк удовлетворяют некоторым ограничениям решаемой задачи, то такие упраатения являются допустимыми (х* может быть числом, точкой в «-мерном пространстве, качественным признаком).

Пусть X (Х|, Х2,..., xw) — управление, переводящее систему S из состояния so в состояние sA. Обозначим через s* состояние системы после А>го шага управления (s^ е Sk, где Sf, — множество всех возможных состояний на шаге к). Получаем последовательность состояний so, sj,..., s* _ j,sw = sA. Пошаговый процесс перехода системы ,S' из состояния sg в состояние sj под действием управления X (xj, Х2,..., хи.) представлен на рис. 8.8.

Для данного процесса действуют следующие положения.

1. Состояние Sfc системы в конце к-го шага зависит от предшествующего состояния s* _ | и управления на к-и шаге хк (и не зависит от предшествующих состояний и упраачепий). Эго требование называется отсутствием последствия. Сформулированное положение записывается в виде уравнений:

которые называются уравнениями состояний.

Процесс перехода системы S из состояния sq в состояние s

Рис. 8.8. Процесс перехода системы S из состояния sq в состояние sA

2. Эффективность каждого А-го шага также зависит от предшествующего состояния sk _ | и управления па к-м шаге хк. Обозначим эффективность А:-го шага через

тогда эффективность всего управления A"(X|, Х2,..., хн) определяется как

Задача пошаговой оптимизации (задача динамического программирования) формулируется следующим образом: определить такое допустимое управление X, переводящее систему S из состояния sq в состояние зл, при котором целевая функция (8.5) принимает наибольшее (наименьшее) значение.

Решение поставленной задачи с помощью метода динамического программирования заключается в последовательной минимизации целевой функции за 1. 2 и т. д. интервала на основе принципа оптимальности Р. Веллмана: каково бы ни было состояние s системы в результате какого-либо числа шагов, на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному выигрышу на всех оставшихся шагах, включая данный.

Рассмотрим последовательно определение оптимального управления на шаге w, w — 1 и т. д., используя принцип оптимальности.

Рассмотрим tv-й шаг:

Sw - [ — состояние системы к началу w-ro шага (sw _ | е 5„,_ |);

sw = — конечное состояние системы;

xw — управление на tv-м шаге;

fw(sw_ |, xw) — целевая функция (выигрыш) tv-ro шага.

Согласно принципу оптимальности xw нужно выбирать гак, чтобы для любых состояний sw_ | получить максимум целевой функции на этом шаге. Обозначим через ?* (sw_ ]) максимум целевой функции — показателя эффективности vv-ro шага при условии, что к началу последнего шага система 5 была в произвольном состоянии sw- ], а на последнем шаге управление было оптимальным.

?*, (sw- |) называется условным максимумом целевой функции на w-м шаге:

Максимизация ведется по всем допустимым управлениям xw.

Решение xw, при котором достигается ?*, (sw _ ]), также зависит от sw _ [ и называется условным оптимальным управлением на w-м шаге и обозначается х* (sw _ ,).

Решив одномерную задачу локальной оптимизации по уравнению (8.6) для всех возможных состояний sw _ ) находим две функции: ?’, (sw _ j) и

Xw (— 1) •

Рассмотрим теперь двухшаговую задачу: присоединим к w-му шагу (и> — 1)-й шаг.

Для любых состояний sw _ 2, произвольных управлений хи, _ ( и оптимальном управлении на w-м шаге значение целевой функции на двух последних шагах имеет вид:

Согласно принципу оптимальности для любых з„,_ 2 решение нужно выбирать так, чтобы оно вместе с оптимальным управлением на последнем (w-м) шаге приводило бы к максимуму целевой функции на двух последних шагах. Следовательно, необходимо найти максимум выражения (8.7) по веем допустимым управлениям xw _ j. Максимум этой суммы зависит от sw _ 2, обозначается через ?* _ | (sw _ 2) и называется условным максимумом целевой функции при оптимальном управлении на двух последних шагах:

Соответствующее управление х„- ] на (w — 1)-м шаге обозначается через х* (5W _ 2) и называется условным оптимальным управлением на (гг — 1)-м шаге.

С учетом уравнения состояния sw- 1 = ф„, _ |(.vw _ 2, xw _ |) значение целевой функции зависит только от sw _ 2 и xiv _ 1. В результате максимизации только по одной переменной xw _ | согласно уравнению (8.8) вновь получаем две функции: ?^,_, (s* _ 2) и х* _, (sw _ 2).

Далее рассматривается трехшаговая задача: к двум последним шагам присоединяется (и> — 2)-й и т. д.

Рассмотрим общий случай определения оптимального управления на шаге k (k = 1, 2,..., w). Обозначим через Е*к (s* _ j) условный максимум целевой функции, полученный при оптимальном управлении на w — к + 1 шагах, начиная с к-го и до конца, при условии, что к началу к-го шага система находилась в состоянии sk _ j. Фактически эта функция равна:

В свою очередь

С другой стороны, целевая функция на w — к последних шагах (рие. 8.9) при произвольном управлении хк на к-м шаге и оптимальном управлении на последующих шагах равна

Процесс управления системой S на последних tv — к шагах

Рис. 8.9. Процесс управления системой S на последних tv — к шагах

Согласно принципу оптимальности хк выбирается из условия максимума этой суммы, т. е.

где sk =k(sk _ |, хк), к = 1, 2,..., tv - 1.

Таким образом, определив из (8.6) значения ?*, (,vw_ |), а из уравнений состояний (8.9) значения Е*к (sk _ j) и соответствующие х*к (sk _ |), получим последовательности:

условные максимумы целевой функции на последнем, на двух последних, на tv последних шагах и

условные оптимальные управления на w-м, (tv — 1)-м,..., 1-м шагах.

Используя эти последовательности, можно найти решение задачи при данных tv и sq. При фиксированном sq получаем xj = х (sq). Далее из (8.6) определяется з* = ctp ] (л'о, ) и т. д.:

Таким образом, получаем оптимальное решение задачи:

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >