Динамическое программирование — реферат

С этой целью разобьем процесс оптимизации на n шагов и будем на каждом k-м шаге оптимизировать инвестирование не всех предприятий, а только предприятий с k-го по n-е. При этом естественно считать, что в остальные предприятия (с первого по (k–1)-е тоже вкладываются средства, и поэтому на инвестирование предприятий с k-го по n-е остаются не все средства, а некоторая меньшая сумма Сk ≤ В. Эта величина и будет являться переменной состояния системы. Переменной управления на k-м шаге назовем величину хk средств, вкладываемых в k-e предприятие. В качестве функции Беллмана Fk(Ck) на k-м шаге можно выбрать максимально возможный доход, который можно получить с предприятий с k-го по n-е при условии, что на их инвестирование осталось Сk средств. Очевидно, что при вложении в k-e предприятие хk средств будет получена прибыль gk(xk), а система к (k+1)-му шагу перейдет в состояние Sk+1 и, следовательно, на инвестирование предприятий с (k+1)-го до n-го останется Сk+1 = (Сk – хk) средств.
Таким образом, на первом шаге условной оптимизации при k = n функция Беллмана представляет собой прибыль только с n-го предприятия. При этом на его инвестирование может остаться количество средств Сn, 0 ≤ Сn ≤ В. Чтобы получить максимум прибыли с этого предприятия, можно вложить в него все эти средства, т. е. Fn(Сn) = gn(Сn) и хn = Сn.
На каждом последующем шаге для вычисления функции Беллмана необходимо использовать результаты предыдущего шага. Пусть на k-м шаге для инвестирования предприятий с k-го по n-е осталось Сk средств (0 ≤ Сk ≤ В). Тогда от вложения в k-e предприятие хk средств будет получена прибыль gk(Ck), а на инвестирование остальных предприятий (с k-го по n-е) останется Сk+1 = (Сk – хk) средств. Максимально возможный доход, который может быть получен с предприятий (с k-го по n-е), будет равен:
Fk (Ck) = max {gk(xk ) + Fk+1 (сk - xk )} , k = 1, …, n
Максимум выражения достигается на некотором значении х*k, которое является оптимальным управлением на k-м шаге для состояния системы Sk. Действуя таким образом, можно определить функции Беллмана и оптимальные управления до шага k = 1.
Значение функции Беллмана F1(c1) представляет собой максимально возможный доход со всех предприятий, а значение х*1, на котором достигается максимум дохода, является оптимальным количеством средств, вложенных в первое предприятие. Далее на этапе безусловной оптимизации для всех последующих шагов вычисляется величина Сk = (Сk-1 – хk-1) оптимальным управлением на k-м шаге является то значение хk, которое обеспечивает максимум дохода при соответствующем состоянии системы Sk.

5 Выбор оптимальной стратегии обновления оборудования

Важной экономической проблемой является своевременное обновление оборудования: автомобилей, станков, телевизоров, магнитол и т. п. Старение оборудования включает физический и моральный износ, в результате чего растут затраты на ремонт и обслуживание, снижается производительность труда и ликвидная стоимость. Задача заключается в определении оптимальных сроков замены старого оборудования. Критерием оптимальности являются доход от эксплуатации оборудования (задача максимизации) либо суммарные затраты на эксплуатацию в течение планируемого периода (задача минимизации).
Предположим, что планируется эксплуатация оборудования в течение некоторого периода времени продолжительностью n лет. Оборудование имеет тенденцию с течением времени стареть и приносить все меньший доход r(t) (t – возраст оборудования). При этом есть возможность в начале любого года продать устаревшее оборудование за цену S(t), которая также зависит от возраста t, и купить новое оборудование за цену P.
Под возрастом оборудования понимается период эксплуатации оборудования после последней замены, определенный в годах. Требуется найти оптимальный план замены оборудования с тем, чтобы суммарный доход за все n лет был бы максимальным, учитывая, что к началу эксплуатации возраст оборудования составлял t0 лет.
Исходными данными в задаче являются доход r(t) от эксплуатации в течение одного года оборудования возраста t лет, остаточная стоимость S(t), цена нового оборудования P и начальный возраст оборудования t0.
Таблица 2
t 0 1 … n
r r(0) r(1) … r(n)
S S(0) S(1) … S(n)

При составлении динамической модели выбора оптимальной стратегии обновления оборудования процесс замены рассматривается как n-шаговый, т. е. период эксплуатации разбивается на n-шагов.
Выберем в качестве шага оптимизацию плана замены оборудования с k-го по n-й годы. Очевидно, что доход от эксплуатации оборудования за эти годы будет зависеть от возраста оборудования к началу рассматриваемого шага, т. е. k-го года.
Поскольку процесс оптимизации ведется с последнего шага (k = n), то на k-м шаге неизвестно, в какие годы с первого по (k-1)-й должна осуществляться замена и, соответственно, неизвестен возраст оборудования к началу k-го года. Возраст оборудования, который определяет состояние системы, обозначим t. На величину t накладывается следующее ограничение: 1 ≤ t ≤ t0 + k – 1
Это выражение свидетельствует о том, что t не может превышать возраст оборудования за (k–1)-й год его эксплуатации с учетом возраста к началу первого года, который составляет t0 лет; и не может быть меньше единицы (этот возраст оборудование будет иметь к началу k-го года, если замена его произошла в начале предыдущего (k–1)-го года).
Таким образом, переменная t в данной задаче является переменной состояния системы на k-м шаге. Переменной управления на k-м шаге является логическая переменная, которая может принимать одно из двух значений: сохранить (С) или заменить (З) оборудование в начале k-го года:
xk(t) = { С, если оборудование сохраняется
{ З, если оборудование заменяется
Функцию Беллмана Fk(t) определяют как максимально возможный доход от эксплуатации оборудования за годы с k-го по n-й, если к началу k-го возраст оборудования составлял t лет. Применяя то или иное управление, система переходит в новое состояние. Так, например, если в начале k-го года оборудование сохраняется, то к началу (k + 1)-го года его возраст увеличится на единицу (состояние системы станет t+1), в случае замены старого оборудования новое достигнет к началу (k + 1)-го года возраста t = 1 год.

Комментарии: