minevi.ru
страница 1
скачать файл
  1. Тема 8. МОДЕЛИ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ


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

1. マ蓆褪 蒻浯èî ð魲ì頏魵瑙


Динамическое программирование представляет собой математический аппарат, который подходит к решению некоторого класса задач путем их разложения на части, небольшие и менее сложные задачи. При этом отличительной особенностью является решение задач по этапам, через фиксированные интервалы, промежутки времени, что и определило появление термина динамическое программирование. Следует заметить, что методы динамического программирования успешно применяются и при решении задач, в которых фактор времени не учитывается. В целом математический аппарат можно представить как пошаговое или поэтапное программирование. Решение задач методами динамического программирования проводится на основе сформулированного Р. Э. Беллманом принципа оптимальности: оптимальное поведение обладает тем свойством, что каким бы ни было первоначальное состояние системы и первоначальное решение, последующее решение должно определять оптимальное поведение относительно состояния, полученного в результате первоначального решения.

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

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

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

Динамическое программирование (ДП) является одним из разделов оптимального программирования. Для него характерны специфические методы и приемы, применительные к операциям, в которых процесс принятия решения разбит на этапы (шаги). Методами ДП решаются вариантные оптимизационные задачи с заданными критериями оптимальности, с определенными связями между переменными и целевой функцией, выраженными системой уравнений или неравенств. При этом, как и в задачах, решаемых методами линейного программирования, ограничения могут быть даны в виде равенств или неравенств. Однако если в задачах линейного программирования зависимости между критериальной функцией и переменными обязательно линейны, то в задачах ДП эти зависимости могут иметь еще и нелинейный характер. ДП можно использовать как для решения связанных с динамикой процесса или системы, так и для статических задач, связанных, например, с распределением ресурсов. Это значительно расширяет область применения ДП для решения задач управления. А возможность упрощения процесса, которая достигается за счет ограничения области и количества исследуемых при переходе к очередному этапу вариантов увеличивает достоинства этого комплекса методов.

Вместе с тем ДП свойственны и недостатки. Прежде всего в нем нет единого универсального метода решения. Практически каждая задача, решаемая этим методом, характеризуется своими особенностями и требует проведения поиска наиболее приемлемой совокупности методов для ее решения. Кроме того, большие объемы и трудоемкость решения многошаговых задач, имеющих множество состояний, приводят к необходимости отбора задач малой размерности либо использования сжатой информации. Последнее достигается с помощью методов анализа вариантов и переработки списка состояний. Для процессов с непрерывным временем ДП рассматривается как предельный вариант дискретной схемы решения. Получаемые при этом результаты практически совпадают с теми, которые получаются методами максимума Л. С. Понтрягина или Гамильтона — Якоби — Беллмана. ДП применяется для решения задач, в которых поиск оптимума возможен при поэтапном подходе, например, распределение дефицитных капитальных вложений между новыми направлениями их использования; разработка правил управления спросом или запасами, устанавливающими момент пополнения запаса и размер пополняющего заказа; разработка принципов календарного планирования производства и выравнивания занятости в условиях колеблющегося спроса на продукцию; составления календарных планов текущего и капитального ремонтов оборудования и его замены; поиск кратчайших расстояний на транспортной сети, формирование последовательности развития коммерческой операции и т.д.


2. マⅲ濵粲à 鈞萵 蒻浯èî ð魲ì頏魵瑙


Общая постановка задачи динамического программирования формулируется следующим образом. Имеется некоторая управляемая система , характеризующаяся определенным набором параметров. В этой системе происходят какие-то процессы (экономические, производственные, технологические и т.п.), которые можно представить как многошаговые. На каждом шаге процессам в системе соответствуют определенные значения параметров, описывающих состояние системы. Заданы условия, позволяющие определять или начальное, или конечное состояние системы, или оба этих состояния. Иногда задаются области начальных и конечных состояний. Поскольку управление системой осуществляется для достижения конкретной цели, то указан показатель эффективности управления, называемый целевой функцией, численно выражающий эффект («выигрыш»), получаемый при тот или ином управлении из множества допустимых управлений.

В экономических системах целевая функция может определять прибыль, затраты, рентабельность, объем производства и т.п.

Задача динамического программирования (ДП) состоит в выборе из множества допустимых управлений такого, которое переводит систему из начального состояния в конечное, обеспечивая при этом целевой функции экстремум (минимум или максимум в зависимости от ее экономической сути). Такое управление называется оптимальным.

Постановку задачи динамического программирования рассмотрим на примере инвестирования, связанного с распределением средств между предприятиями. В результате управления инвестициями система последовательно переводится из начального состояния в конечное . Предположим, что управление можно разбить на n шагов и решение принимается последовательно на каждом шаге, а управление представляет собой совокупность n пошаговых управлений. На каждом шаге необходимо определить два типа переменных - переменную состояния системы и переменную управления . Переменная определяет, в каких состояниях может оказаться система на рассматриваемом k-м шаге. В зависимости от состояния S на этом шаге можно применить некоторые управления, которые характеризуются переменной , которые удовлетворяют определенным ограничениям и называются допустимыми.

Допустим, – управление, переводящее систему из состояния в состояние , а - есть состояние системы на k-м шаге управления. Тогда последовательность состояний системы можно представить в виде графа, представленного на рис. 1.

Рис. 1. График состояний системы.

Применение управляющего воздействия , на каждом шаге переводит систему в новое состояние S1 (S, ) и приносит некоторый результат (S, ). Для каждого возможного состояния на каждом шаге среди всех возможных управлений выбирается оптимальное управление , такое, чтобы результат, который достигается за шаги с k-го по последний n-й, оказался бы оптимальным.

Числовая характеристика этого результата называется функцией Беллмана и зависит от номера шага k и состояния системы S.

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

.

Особенности математической модели динамического программирования заключаются в следующем:



  1. задача оптимизации формулируется как конечный многошаговый процесс управления;

  2. целевая функция (выигрыш) является аддитивной и равна сумме целевых функций каждого шага:



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

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

  3. на каждом шаге управление зависит от конечного числа управляющих переменных, а состояние системы зависит — от конечного числа параметров;

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

3. マ煜韵 ⅰàü濵è è àà鮱 ⅰ頌瑙韃
蒻浯èî ðⅷ褥 粱褊


В основе метода ДП лежит принцип оптимальности, впервые сформулированный в 1953г. американским математиком Р. Э. Беллманом.

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

При решении задачи на каждом шаге выбирается управление, которое должно привести к оптимальному выигрышу. Если считать все шаги независимыми, тогда оптимальным управлением будет то управление, которое обеспечит максимальный выигрыш именно на данном шаге. Однако, например, при покупке новой техники взамен устаревшей на ее приобретение затрачиваются определенные средства, поэтому доход от ее эксплуатации в начале может быть небольшой, а в следующие годы новая техника будет приносить больший доход. И наоборот, если принято решение оставить старую технику для получения дохода в текущем году, то в дальнейшем это приведет к значительным убыткам. Этот пример демонстрирует следующий факт: в многошаговых процессах управление на каждом конкретном шаге надо выбирать с учетом его будущих воздействий на весь процесс.

Кроме того, при выборе управления на данном шаге следует учитывать возможные варианты состояния предыдущего шага. Например, при определении количества средств, вкладываемых в предприятие в i-м году, необходимо знать, сколько средств осталось в наличии к этому году и какой доход получен в предыдущем (i–1)-м году. Таким образом, при выборе шагового управления необходимо учитывать следующие требования:

1) возможные исходы предыдущего шага ;

2) влияние управления на все оставшиеся до конца процесса шаги (n-k).

В задачах динамического программирования первое требование учитывают, делая на каждом шаге условные предположения о возможных вариантах окончания предыдущего шага и проводя для каждого из вариантов условную оптимизацию. Выполнение второго требования обеспечивается тем, что в этих задачах условная оптимизация проводится от конца процесса к началу.



Условная оптимизация. На первом этапе решения задачи, называемом условной оптимизацией, определяются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем, n -м шаге оптимальное управление определяется функцией Беллмана:

,

в соответствии с которой максимум выбирается из всех возможных значений , причем .

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

Этот максимум (или минимум) определяется по всем возможным для k и S значениям переменной управления Х.



Безусловная оптимизация. После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n -го по первый, осуществляется второй этап решения задачи, называемый безусловной оптимизацией. Пользуясь тем, что на первом шаге (k = 1) состояние системы известно – это ее начальное состояние S0 можно найти оптимальный результат за все n шагов и оптимальное управление на первом шаге , которое этот результат доставляет. После применения этого управления система перейдет в другое состояние S1(S, ) зная которое, можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге , и так далее до последнего n -го шага.

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


4. ò韲琿í鮱 蒟åå 竟粢頽韜


Требуется распределить имеющиеся В единиц средств среди n предприятий, доход от которых в зависимости от количества вложенных средств определяется матрицей (nn) приведенной в таблице 1, так, чтобы суммарный доход со всех предприятий был бы максимальным.

Таблица 1





………………… ……… ……………………… ……… Запишем математическую модель задачи.

Определить , удовлетворяющий условиям



и обеспечивающий максимум целевой функции

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

С этой целью разобьем процесс оптимизации на n шагов и будем на каждом k-м шаге оптимизировать инвестирование не всех предприятий, а только предприятий с k -го по n -е. При этом естественно считать, что в остальные предприятия (с первого по k- 1)-е тоже вкладываются средства, и поэтому на инвестирование предприятий с k -го по n -е остаются не все средства, а некоторая меньшая сумма . Эта величина и будет являться переменной состояния системы. Переменной управления на k -м шаге назовем величину , средств, вкладываемых в k -е предприятие. В качестве функции Беллмана на k -м шаге можно выбрать макcимально возможный доход, который можно получить с предприятий с k -го по n -е при условии, что на их инвестирование осталось средств. Очевидно, что при вложении в k -е предприятие , средств будет получена прибыль , а система к (k+1)-му шагу перейдет в состояние , и, следовательно, на инвестирование предприятий с (k+1)-го до n -го останется средств.

Таким образом, на первом шаге условной оптимизации при k= n функция Беллмана представляет собой прибыль только с n -го предприятия. При этом на его инвестирование может остаться количество средств , . Чтобы получить максимум прибыли с этого предприятия, можно вложить в него все эти средства, т.е. и .

На каждом последующем шаге для вычисления функции Беллмана необходимо использовать результаты предыдущего шага. Пусть на k -м шаге для инвестирования предприятий с k -го по n -е осталось , средств ( ). Тогда от вложения в k -е предприятие , средств будет получена прибыль , а на инвестирование остальных предприятий (с k -го по n -е) останется средств. Максимально возможный доход, который может быть получен с предприятий (с k -го по n -е), будет равен:

Максимум этого выражения достигается на некотором значении , которое является оптимальным управлением на k -м шаге для состояния системы , действуя таким образом, можно определить функции Беллмана и оптимальные управления до шага k = 1.

Значение функции Беллмана представляет собой максимально возможный доход со всех предприятий, а значение на котором достигается максимум дохода, является оптимальным количеством средств, вложенных в первое предприятие. Далее на этапе безусловной оптимизации для всех последующих шагов вычисляется величина и оптимальным управлением на k -м шаге является то значение , которое обеспечивает максимум дохода при соответствующем состоянии системы .

Пример. На развитие трех предприятий выделено 5 млн. руб. Известна эффективность капитальных вложений в каждое предприятие, заданная значением нелинейной функции представленной в таблице 2. Необходимо распределить выделенные средства между предприятиями таким образом, чтобы получить максимальный суммарный доход.

Для упрощения расчетов предполагаем, что распределение средств осуществляется в целых числах млн. руб.

Таблица 2.



000012,222,8233,25,434,14,86,445,26,26,655,96,46,9Решение.

I этап. Условная оптимизация.

1-й шаг: k = 3.

Предположим, что все средства в количестве млн. руб. отданы третьему предприятию. В этом случае максимальный доход, как это видно из таблицы 3, составит тыс, руб., следовательно:



Таблица 3.



012345 00–––––001–2,8––––2,812––5,4–––5,423–––6,4––6,434––––6,6–6,645–––––6,96,952-й шаг: k = 2.

Определяем оптимальную стратегию при распределении денежных средств между вторым и третьим предприятиями. При этом рекуррентное соотношение Беллмана имеет вид:



на основе которого составлена таблица 4.

Таблица 4.

012345 00+0–––––0010+2,82+0––––2,8020+5,42+2,83,2+0–––5,4030+6,42+5,43,2+2,84,8+0––7,4140+6,62+6,43,2+5,44,8+2,86,2+0–8,6250+6,92+6,63,2+6,44,8+5,46.2+2,86,4+010,23

3-й шаг: k = 1.

Определяем оптимальную стратегию при распределении денежных средств между первым и двумя другими предприятиями, используя следующую формулу для расчета суммарного дохода:



на основе которого составлена таблица .

Таблица 5.

012345 00+0–––––0010+2,82,2+0––––2,8020+5,42,2+2,83+0–––5,4030+7,42+5,43+2,84,1+0––7,4140+8,62,2+7,43+5,44,1+2,85,2+0–8,6250+10,22,2+8,63+7,44,1+5,45,2+2,85,910,23

II этап. Безусловная оптимизация.

Определяем компоненты оптимальной стратегии.



1-й шаг. По данным из таблицы 5 максимальный доход при распределении 5 млн. руб. между тремя предприятиями составляет: . При этом первому предприятию нужно выделить млн. руб.

2-й шаг. Определяем величину оставшихся денежных средств, приходящуюся на долю второго и третьего предприятий:

млн. руб.

По данным таблицы 4 находим, что оптимальный вариант распределения денежных средств размером 4 млн. руб. между вторым и третьим предприятиями составляет: при выделении второму предприятию млн. руб.



3-й шаг. Определяем величину оставшихся денежных средств, приходящуюся на долю третьего предприятия:

млн. руб.

По данным табл. 5.4.5. находим: млн. руб.

Таким образом, оптимальный план инвестирования предприятий: , который обеспечит максимальный доход, равный

млн. руб.

5. ツ鎤ⅱ ⅰàüé è 髜濵粱褊 髜ⅱ魵瑙
(
鈞萵 î å淲 髜ⅱ魵瑙)


Важной экономической проблемой является своевременное обновление устаревшего оборудования: автомобилей, станков и т.п. Старение оборудования включает физический и моральный износ, в результате чего растут затраты на ремонт и обслуживание, снижается производительность труда и ликвидная стоимость. Поэтому на каком-то этапе эксплуатация устаревшего оборудования становится менее выгодной, нежели приобретение и использование нового. Задача заключается в определении оптимальных сроков замены старого оборудования.

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

Предположим, что планируется эксплуатация оборудования в течение некоторого периода времени продолжительностью n лет. Оборудование имеет тенденцию с течением времени стареть и приносить все меньший доход (t-возраст оборудования). При этом есть возможность в начале любого года продать устаревшее оборудование за цену , которая также зависит от возраста t, и купить новое оборудование за цену Р. Под возрастом оборудования понимается период эксплуатации оборудования после последней замены, определенный в годах. Требуется найти оптимальный план замены оборудования с тем, чтобы суммарный доход за все n лет был бы максимальным, учитывая, что к началу эксплуатации возраст оборудования составлял t0 лет.

Исходными данными в задаче являются доход от эксплуатации в течение одного года оборудования возраста t лет, остаточная стоимость , цена нового оборудования Р и начальный возраст оборудования t0.



t01…n … При составлении динамической модели выбора оптимальной стратегии обновления оборудования процесс замены рассматривается как n-шаговый, т.е. период эксплуатации разбивается на n -шагов.

Выберем в качестве шага оптимизацию плана замены оборудования с k-го по n-й годы.

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

Поскольку процесс оптимизации ведется с последнего шага (k = n), то на k-м шаге неизвестно, в какие годы с первого по (k-1)-й должна осуществляться замена и соответственно неизвестен возраст оборудования к началу k -го года. Возраст оборудования, который определяет состояние системы, обозначим t. На величину t накладывается следующее ограничение: .

Это выражение свидетельствует о том, что t не может превышать возраста оборудования за (k-1)-й год его эксплуатации с учетом возраста к началу первого года, который составляет лет; и не может быть меньше единицы (этот возраст оборудование будет иметь к началу k -го года, если замена его произошла вначале предыдущего (k -1)-го года).

Таким образом, переменная t в данной задаче является переменной состояния системы на k -м шаге.

Переменной управления на k -м шаге является логическая переменная, которая может принимать одно из двух значений: сохранить (С) или заменить (З) оборудование в начале k -го года:

Функцию Беллмана определяют как максимально возможный доход от эксплуатации оборудования за годы с k -го по n -й, если к началу k -го возраст оборудования составлял t лет. Применяя то или иное управление, система переходит в новое состояние.

Так, например, если в начале k -го года оборудование сохраняется, то к началу (k +1)-го года его возраст увеличится на единицу (состояние системы станет t+1), в случае замены старого оборудования новое достигнет к началу (k+1)-го года возраста год.

На этой основе можно записать уравнение, которое позволяет рекуррентно вычислить функции Беллмана, опираясь на результаты предыдущего шага. Для каждого варианта управления доход определяется как сумма двух слагаемых – непосредственного результата управления и его последствий.

Если в начале каждого года сохраняется оборудование, возраст которого t лет, то доход за этот год составит . К началу (k +1)-го года возраст оборудования достигнет (t+1)и максимально возможный доход за оставшиеся годы (с (k+1)-го по n -й) составит . Если в начале k -го года принято решение о замене оборудования, то продается старое оборудование возраста t лет по цене , приобретается новое за Р единиц, а эксплуатация его в течение k -го года нового оборудования принесет прибыль . К началу следующего года возраст оборудования составит 1 год и за все оставшиеся годы с (k+1)-го по n -й максимально возможный доход будет . Из двух возможных вариантов управления выбирается тот, который приносит максимальный доход. Таким образом, уравнение Беллмана на каждом шаге управления имеет вид

Функция вычисляется на каждом шаге управления для всех .

Управление, при котором достигается максимум дохода, является оптимальным.

Для первого шага условной оптимизации при k = n функция представляет собой доход за последний n -й год:



Значения функции , определяемые , вплоть до . , представляют собой возможные доходы за все годы. Максимум дохода достигается при некотором управлении, применяя которое на первом году, мы определяем возраст оборудования к началу второго года. Для данного возраста оборудования выбирается управление, при котором достигается максимум дохода за годы со второго по n -й и т. д. В результате на этапе безусловной оптимизации определяются годы, в начале которых следует произвести замену оборудования.



Пример. Найти оптимальную стратегию эксплуатации оборудования на период продолжительностью 6 лет, если годовой доход и остаточная стоимость в зависимости от возраста заданы в таблице 1, стоимость нового оборудования равна Р=13, а возраст оборудования к началу эксплуатационного периода составлял 1 год.

Таблица 1.



t0123456 8776655 121088764Решение:

I этап. Условная оптимизация.

1-й шаг. k = 6. Для первого шага возможные состояния системы . Применяя формулу для первого шага условной оптимизации при k = n, функциональное управление имеет вид:

;

; ;

; .

.

2-й шаг. k = 5. Для второго шага возможные состояния системы . Функциональное уравнение имеет вид





; ;

; ;

.

3-й шаг. k = 4. для второго шага возможные состояния системы . Функциональное уравнение имеет вид



; ;

; .

4-й шаг. k = 3.



; ;

.

5-й шаг. k = 2.



;

.

6-й шаг. k = 1.



.

Результаты вычислений Беллмана ) приведены в таблице 2, в которой k – год эксплуатации, t – возраст оборудования.

Таблица 2.

k t123456137231303262423420191716514131211106776655

В таблице выделено значение функции, соответствующее состоянию «З» - замена оборудования.



2 этап. Безусловная оптимизация.

Безусловная оптимизация начинается с шага при k=1.

Максимально возможный доход от эксплуатации оборудования за годы с 1-го по 6-й составляет . Этот оптимальный выигрыш достигается, если на первом году не производить замены оборудования. Тогда к началу второго года возраст оборудования увеличится на единицу и составит: . Безусловно, оптимальное управление при k=2, , т.е. максимум дохода за годы со 2-го по 6-ой достигается, если оборудование не заменяется.

К началу третьего года при k=3 возраст оборудования станет . Безусловно, оптимальное управление , т.е. для получения максимума прибыли за оставшиеся годы необходимо провести замену оборудования.

К началу четвертого года при k=4 возраст оборудования станет равен . Безусловное оптимальное управление .

Далее соответственно:



k=5, , ;

k=6, , .

Таким образом, за 6 лет эксплуатации оборудования замену надо произвести 1 раз – в начале третьего года эксплуатации.

6. ツ鎤ⅱ ⅰàü濵胛 à å粽鉤è 胙魵


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

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


Рис. 1. Модель транспортной сети.

В задаче имеется ограничение – двигаться по изображенным на схеме маршрутом можно только слева на право, т.е. попав, например, в пункт 7, мы имеем право переместиться только в пункт 10 и не можем возвратиться обратно в 5 или 6. Это особенность транспортной сети дает право отнести каждый из 10 пунктов к одному из поясов. Будем считать, что пункт принадлежит k-му поясу, если из него попасть в конечный пункт ровно за k шагов, т.е. заездом ровно в (k-1) – й промежуточный пункт. Таким образом, пункты 7, 8 и 9 принадлежат к первому поясу, 5 и 6 ко второму, 2, 3 и 4 к третьему и 1– к четвертому. Тогда на k-м шаге будем находить оптимальные маршруты перевозки груза из пунктов в k-го пояса до конечного пункта. Оптимизацию будем производить с конца процесса, и потому, дойдя до k-го шага, неизвестно, в каком из пунктов k-го пояса окажется груз, перевозимый из первого пункта.

Введем обозначения:

k – номер шага ( )

i – пункт, из которого осуществляются перевозки( )

j – пункт, в который доставляется груз( )

– стоимость перевозки груза из пункта i в пункт j.

– минимальные затраты на перевозку груза на k-м шаге решения задачи из пункта i до конечного пункта.

Очевидно, что минимум затрат на перевозку груза из пунктов k-го пояса до пункта 10 будет зависеть от того, в каком месте этого пояса мы оказались. Номер i пункта, принадлежащего k-му поясу будет являться переменной состояния системы на k-м шаге. Поскольку оптимизация осуществляется с конца процесса, то, находясь в некотором пункте i k-го пояса, принимается решение о перемещении груза в один из пунктов (k – 1)-го пояса, а направление дальнейшего движения известно из предыдущих шагов. Номер j пункта (k-1)-го пояса будет переменной управления на k-м шаге.

Для первого шага управления (k=1) функция Беллмана представляет собой минимальные затраты на перевозку груза из пунктов 1-го пояса в конечный пункт, т.е. . Для последующих шагов затраты складываются из двух слагаемых – стоимость перевозки груза из пункта i k-го пояса в пункт j (k–1)-го пояса и минимально возможных затрат на перевозку из пункта j до конечного пункта, т.е. .

Таким образом, функциональное уравнение Беллмана будет иметь вид



Минимум затрат достигается на некотором значении , которое является оптимальным направлением движением из пункта i в конечный пункт.

На четвертом шаге попадаем на 4-ый пояс и состояние системы становится определенным i=1. Функция представляет собой минимально возможные затраты по перемещению груза из пункта 1 в 10. Оптимальный маршрут определяется в результате анализа всех шагов в обратном порядке, а выбор некоторого управления j на k-м шаге приводит к тому, что состояние системы на (k-1)-м шаге становится определенным.

Пример. Решим сформулированную задачу, исходные данные которой приведены на рис. 1.

I этап. Условная оптимизация.

1-й шаг. k=1 .

На первом шаге в пункт 10 груз может быть доставлен из пунктов 7, 8 или 9.

Таблица 1.

i j10 77710899109111110

2-й шаг. k=2. Функциональное уравнение на втором шаге принимает вид

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

Таблица 2.

i j789 58+76+9–157; 865+7–4+11127

3-й шаг. k=3.

Таблица 3.



i j56 24+15–1953–3+121564–9+12216

4-й шаг. k=4.

Таблица 4.



i j234 17+195+156+21203II этап. Безусловная оптимизация.

На этапе условной оптимизации получено, что минимальные затраты на перевозку груза из пункта 1 в пункт 10 составляют . Данный результат достигается при движении груза их пункта 1 в пункт 3. По данным таблицы 3, из пункта 3 необходимо двигаться в пункт 6, затем – в пункт 7 и из него – в конечный пункт. Таким образом, оптимальный маршрут доставки груза: (на рис. Он показан двойными стрелками).


Рис. 2. Транспортная сеть с оптимальным маршрутом.

7. マⅲ鮱湜å ⅰàüé î裝魵瑣褄íⅲ
褞璋韜 â îì褞鵫 蒟…ü濵è


Пусть на оптовую базу прибыло п машин с товаром для разгрузки и m машин для загрузки товаров, направляемых в магазины. Материально ответственное лицо оптовой базы осуществляет оформление документов по операциям разгрузки или загрузки одной машины, а затем переходят к обслуживанию другой машины. Издержки от операций обусловлены простоем транспорта, типом операции (прием или отправка товара) и не зависят от конкретной машины. Необходимо спланировать последовательность таким образом, чтобы суммарные издержки по приему и отправке товаров для всех машин были минимальными.

Из условия следует, что состояние экономической системы характеризуется двумя параметрами: количеством принятых и оформленных машин по разгрузке товара и количеством машин, отправленных с товаром в магазины. Поэтому решение будем искать на плоскости XOY, на ограниченном прямыми прямоугольнике, который является областью допустимых состояний системы. Если по оси Х отложить число (п) разгруженных машин, а по оси Y – число (m) загруженных товаром машин, то можно построить на плоскости граф состояния процесса, в котором каждая вершина характеризует состояние операции приема и отгрузки товара на оптовой базе. Ребра этого графа означают выполнение работ по приему или отправке товара на очередной машине. Каждому ребру можно сопоставить издержки, связанные с выполнением операции по разгрузке или загрузке машины.



Пример. Пусть п=6, m=4. Известны затраты по выполнению каждой операции, которые показаны на ребрах графа (рис. 1.).

Точка S0 определяет начало процесса, а S1 – конечное состояние, соответствующее приему и отправки всех машин. Оптимизацию процесса будем производить с конечного состояния – S1. Весь процесс разобьем на шаги, их количество . Каждый шаг представляет собой сечение графа состояний, проходящее через вершины (сечения показаны косыми линиями).

Рис. 1. Графическая схема связи операций.
1 этап. Условная оптимизация.

1-й шаг. k=1. На первом шаге, с задаваемым сечением A1, B1, из состояний A1 и B1 возможен только один вариант перехода в конечное состояние S1. Поэтому в вершинах A1 и B1 записываем соответственно издержки 8 и 11. Ребра A1S1 и B1S1 обозначаем стрелкой, направленной в вершину S1, как показано на рис. 2.
Рис. 2. Фрагмент связи операции шаг 1.

2-й шаг. k=2. Второй шаг оптимизации задается сечением по вершинам A2, B2, С1. Из состояний A2 и С1 возможен единственный переход в вершины A1 и B1 соответственно, поэтому в вершинах A2 и С1 записываем суммарные издержки 17 и 22 на первых двух шагах перехода в конечное состояние S1.

Из вершины B2 возможны два варианта перехода: в вершину A1 или вершину B1. При переходе B2®A1 сумма издержек составляет 10+8=18, на переходе B2® B1 сумма составляет 13+11=24. Из двух вариантов суммарных издержек выбираем наименьшую (18) и обозначаем стрелкой условно оптимальный переход B2®A1, как показано на рис. 3.

Рис. 3. Сетевая модель операции шаг 2.

3-й шаг. k=3. На третьем шаге сечение проходит через вершины A3, B3, С2, D1. Из вершин A3 и D1 возможен единственный переход в вершины A2 и С1 соответственно. Суммарные издержки для состояния D1 равны 22+12=34. Из вершины B3 возможны два варианта перехода: в вершину A2 издержки равны 17+8=25; в вершину B2 - 18+9=27.

Рис. 4. Сетевая модель операции шаг 3.

Для вершины С2 возможен переход в вершину B2 (18+10=28) и в вершину С1 (22+12=34). Выбираем для вершин B3 и С2 наименьшие суммарные издержки и обозначаем стрелкой условно оптимальный переход, как показано на рис. 4.

Продолжая процесс аналогичным образом для оставшихся шагов, приходим в точку S0. В результате получим сетевой граф условно оптимальных переходов, представленный на рис. 5.

Рис. 5. Сетевая модель связи расходов операций

Минимально возможные суммарные издержки по обслуживанию всех 10 машин на оптовой базе составляют 88 у. е.



2 этап. Безусловная оптимизация.

Определяем оптимальную траекторию на исходном графе, просматривая результаты всех шагов в обратном порядке, учитывая, что выбор некоторого управления на k-ом шаге приводит к тому, что состояние на (k-1)-м шаге становится определенным.

В результате строим ориентированный граф от состояния S0 к состоянию S1, представленный на рис. 6 на каждом шаге безусловной оптимизации переход почти всегда единственен и совпадает с построенными условно оптимальными переходами.

Минимальные издержки Fmin соответствуют следующему оптимальному пути на графе:

(S0®Е6® D6® D5® D4® D3® С3® B3® A2® A1® S1)

и равны: Fmin = 12 +9 +9 +7 +7 +10 + 9 + 8 + 9 + 8 = 88 у. е.



Рис. 6. Оптимальная последовательность операций
Таким образом, в соответствии с решением оптимальное управление процессом разгрузки и загрузки машин товаром состоит в следующем: на первом шаге следует оформить документы по разгрузке одной машины, на втором – по загрузке одной машины, далее обслуживать три машины по разгрузке товара, три машины по загрузке и на последних двух шагах оформить документы по разгрузке двух машин.

ネ淸鞣鞴üå 鈞萵湜…


Задача 1. На данной сети дорог имеется несколько маршрутов, по которым можно доставить груз из пункта 1 в пункт 10.
Известны стоимости перевозки единицы груза между пунктами сети (данные приведены в таблице). Требуется:

  1. методом динамического программирования найти на сети наиболее экономный маршрут доставки груза из пункта 1 в пункт 10 и соответствующие ему затраты;

  2. выписать оптимальные маршруты перевозки груза из всех остальных пунктов сети в пункт 10 и указать отвечающие им минимальные затраты на доставку.




  1. №Тариф 735279318452619438484619354827496172925374681358714595162536847295361461538258175913584927815926845261836259354162746837292813626739285294674676193874937486318194461357362591823538735279318452619438484619354827496172925374681358714595162536847295361461538258175913584927815926845261836259354162746837292813626739285294674676193874937486318194461357362591823538735279318452619438484619354827496172925374681358714595162536847295361461538258175913584927815926845261836259354162746837292813626739285294674676193874937486318194461357362591823538

íí鐱 粽ðⅲû


  1. Как формулируется задача динамического программирования и в чем ее отличие от задач линейного программирования?

  2. В чем заключаются особенности математической модели ДП?

  3. Что лежит в основе метода ДП?

  4. Сформулируйте задачу определения кратчайших расстояний по заданной сети. На сколько этапов разбивается задача? Сколько шагов содержится в каждом этапе и в чем суть этапа и шага?

  5. Что является переменной управления и переменной состояния в задаче выбора оптимальной стратегии обновления оборудования?
скачать файл



Смотрите также:
Тема модели динамического программирования
578,56kb.
Краткое содержание курса Тема 1: Обзор платформы Microsoft. Net тема 2: Обзор C# Тема 3: Использование переменных значимых типов
40,68kb.
Исследование суспензии наносфер диоксида кремния методом динамического рассеивания света
22,75kb.
Основы программирования на Java. Создание простейших приложений и апплетов в NetBeans 0
1505,09kb.
Учебный курс «Технологии программирования. Курс на базе Microsoft Solutions Framework (msf)» для подготовки по направлению «Информационные технологии»
73,39kb.
Написание тезисов является первым этапом подготовки к Международной Исторической Модели ООН рггу 2014, а так же обязательным условием Вашего в ней участия
76,19kb.
Одной из самых удачных микросхем для построения усилителей низкой частоты средней мощности (50 ватт) и высоким качеством звуковоспроизведения является микросхема tda1514
18,78kb.
Контрольная работа, экзамен Краткое содержание курса Тема Предмет, метод и задачи статистики Тема Источники статистической информации
165,06kb.
2 Пушно-меховые и овчинно-шубные товары Тема Швейные товары Тема Трикотажные товары Тема Обувные товары Раздел Галантерейные, ювелирные и парфюмерно-косметические товары
238,52kb.
Публичный отчёт о выполнении Программы развития школы «Организация профильного обучения в сельской школе. Создание модели базовой школы» за 2007 год
195,4kb.
А. Г. Расолька Метады праграміраван-ня. Алгарытмы апрацоў-кі даных
42,8kb.
Программа, которая относится к типу программ «языковой процессор»
420,41kb.