- •ПРЕДИСЛОВИЕ
- •Глава 1. ХАРАКТЕРИСТИКА ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
- •1.1. Основные понятия и особенности исследования операций
- •1.2. Этапы операционного исследования
- •4.11. Двойственность задач ЛП
- •4.12. Параметрический анализ
- •4.13. Задания для самостоятельной работы
- •Глава 5. ТРАНСПОРТНЫЕ ЗАДАЧИ
- •5.1. Основные модели транспортных задач
- •5.2. Метод потенциалов
- •5.3. Приведение открытой транспортной задачи к закрытой
- •5.6. Транспортные задачи в сетевой постановке (транспортные сети)
- •Глава 7. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ
- •7.1. Проблема целочисленности
- •Глава 9. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •9.2. Функциональное уравнение ДП
- •9.3. Распределение одного вида ресурса
- •9.8. Многомерные задачи динамического программирования
- •Варианты 2.1-2.3
- •Варианты 4.1-4.3
- •Варианты S.1-5.3
- •Варианты 6.1-6.3
- •Варианты 7.1-7.3
- •Варианты 8Л-8.3
- •Варианты 9.1-9.3
- •Варианты 10.1-10.3
- •Варианты 11.1-11.3
- •Варианты 12.1-12.3
- •Варианты 13.1-13.3
- •Варианты 14.1-14.3
- •Варианты 16.1-16.3
- •Варианты 17.1-17.3
- •Варианты 18.1-18.3
- •Варианты 19.1-19.3
- •Варианты 21.1-21.3
- •c„(x)-cJ + cJVJ.
- •Варианты 22.1-22.3
- •Варианты 23.1-23.3
- •Варианты 24.1-24.3
- •Варианты 25.1-25.3
- •Варианты 26.1-26.3
- •Варианты 27.1,27.2
- •Варианты 28.1-28.3
- •Варианты 29.1-29.3
- •Варианты ЗОЛ, 30.2
- •Глава 10. МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИ ПРИНЯТИЯ РЕШЕНИЙ
- •10.1. Основы многокритериальной оптимизации
- •10.2. Методы многокритериальной оптимизации
Как видно из формул (9.36М9.39), на каждом шаге условной оптими зации как верхнего, так и нижнего уровня отыскивался максимум функции одной переменной. Такое упрощение решения явилось следствием деком позиции исходной задачи.
9.8.Многомерные задачи динамического программирования
Врассмотренных выше задачах вектор состояния S имел размерность 1 (или 0 в задаче о кратчайшем пути). Если размерность вектора S (число
параметров состояния) больше 1, то говорят, что задача многомерна в смысле динамического программирования. Многомерные задачи порож дают определенные проблемы при реализации вычислительной схемы ме тода ДП. Покажем на примерах, как возникают такие задачи и с чем при ходится сталкиваться при их решении.
Задача 1. Необходимо распределить два вида ресурсов в объеме X и Y соответственно между N производствами при известных функциях прибы ли Rjixj, у}, j = 1Д Здесь Xj, yj - количество ресурса 1-го и 2-го вида, по требляемоеу'-м производством.
Запишем модель задачи:
N
Z’ R j ( X j , y j ) ^ > i пах;
И
|
N |
|
|
;=1 |
|
|
;=i |
и »-— |
|
о 1Л |
|
> : |
|
(9.40)
(9.41)
(9.42)
(9.43)
Очевидно, что задача представима как Д-шаговая (по числу производств). Для принятия решения по распределению ресурсов нужно знать их количе ство и число производств, участвующих в распределении. При выделении ресурсов одному из производств изменяется объем ресурсов, направляе мых на остальные производства. Поэтому состояние характеризуется дву мя параметрами: количеством ресурса 1-го вида V и 2-го вида U (V^ X, U <Y). Введем последовательность функций:
f k{V,U) = max'£Rj(Xj,y j ),k = Щ |
(9.44) |
;=1
и рассмотрим к оставшихся производств (шагов), между которыми нужно распределить ресурсы в количестве V и U. Приняв решение о выделении к-му производству произвольного допустимого количества ресурсов хк и уь будем иметь прибыль от этого производства /?*(**, ук), а на остальные к - 1 шагов останется ресурсов V - JC* 1-го вида и U —ук 2-го вида. Следуя прин
ципу оптимальности, распределим оставшиеся ресурсы оптимальным обра зом, что обеспечит максимальную прибыль от к — 1 производств, то есть f k - \ ( V - X k ,U - ук ). Прибыль же от всех к шагов составит
Ш х к , Ук) + f k - i ( V - X k , U - у к ) .
Так как она зависит от двух переменных, то, варьируя их в допустимой об ласти, можно получить максимальную прибыль, которая по определению (9.44) есть MV,U). Таким образом, приходим к функциональному уравне нию динамического программирования:
/ к< У ,и ) = ш х [ Ы х к,ук) + / ы ( У - х к, и - у к)], к >2. (9.45) ойукт
Задача 2. Распределению подлежит один вид ресурса, но в системе имеются ограничения, связанные с его использованием. Это могут быть ограничения на общий объем, вес, габариты, стоимость и др. Рассмотрим случай двух ограничений, согласно которым фактические значения учиты ваемых показателей использования ресурса не могут превышать величин А
и В. Тогда модель задачи можно представить в виде: |
|
Z = £ Zf (х/) -> extr, |
(9.46) |
i=i |
|
£ср;(*;)<Д, |
(9-47) |
i=l |
|
Х\|/;(х,.)£В, |
(9.48) |
f=i |
|
Vxj > 0, |
(9.49) |
где x t- количество ресурса, вьщеляемое /-му потребителю; Z,(x,) - |
показа |
тель эффективности /-го потребителя; ф,(х,), vj/,(х,) - функции ограничивае мых показателей.
Для применения метода ДП необходимо, как всегда, определить пара метры состояния. Нетрудно видеть, что информация, достаточная для при нятия решения на текущем шаге, должна содержать значения ограничи вающих показателей. Они же непосредственно влияют на оптимальное значение эффективности системы. Кроме того, изменение ресурса на /-м шаге влечет изменение этих показателей к следующему шагу. Следова тельно, в процедуре ДП ограничивающие показатели а и Ь выступают в ка честве параметров состояния (а<А,Ьй В).
Определим функции последовательности как
к___
f k(a,b) = extr£ Z, (xt),k = l,N |
(9.50) |
i=i |
|
Не повторяя известные рассуждения, опирающиеся на принцип оптималь ности ДП, приведем в окончательном виде рекуррентное соотношение для рассматриваемой задачи:
f k(a,b)= extr [Zk (хк) + /*_,(а-ц>к(хк) , Ь - \ у к(хк))]. (9.51)
ф*(**)£«
Чi k ( x k ) < b
Проанализируем полученные выражения (9.45) и (9.51). При их выво де не возникло принципиальных затруднений. Хотя число распределяемых ресурсов разное, в обеих задачах функции последовательности зависят от двух параметров состояния. Нетрудно понять теперь, что размерность вектора состояния связана с числом ограничений, включающих в себя пе ременные всех шагов. Трудоемкость решения сравниваемых уравнений разная, так как различно число переменных, по которым ищется экстре мум. При нелинейных функциях ф* и у* может усложниться перебор до пустимых хкв (9.51). Однако эти различия не столь существенны, большее значение имеет одинаковая размерность вектора состояния.
Покажем на задаче 1, к чему приводит увеличение числа параметров состояния. Уравнение (9.45) решается для всех возможных состояний, чис ло которых зависит от шага дискретности и числа параметров состояния. Пусть тх иту - число возможных значений ресурсов X и Y соответственно, тогда число возможных состояний будет равно трпу. Для каждого из них в результирующей таблице решения уравнения (9.45) на к-м шаге должны быть представлены V, U, х к,* ук иfk(V,U). Для вещественного числа требу ется хотя бы 6 байт памяти, поэтому одна строка результирующей таблицы будет занимать не менее 30 байт. При тх = ту = 100 число возможных со стояний, а значит и число строк, составит 104. Следовательно, для запоми нания одной таблицы потребуется около 300 кбайт. Для эффективного рас чета нужно иметь в оперативной памяти две таблицы - к-ю и {к- 1)-ю. Вы нос этих таблиц во внешнюю память сделает метод ДП практически мало пригодным, так как затраты времени на решение задачи многократно уве личатся. Теперь нетрудно оценить, насколько будут возрастать требования к памяти с увеличением числа параметров состояния до 3; 4 и более.
Таким образом, при решении многомерных задач сталкиваемся с про блемой реализации вычислений по рекуррентным соотношениям. Сама идея метода ДП настолько привлекательна, что, обнаружив труднопреодо лимое препятствие применению метода в виде отмеченной проблемы, Веллман назвал ее “проклятием размерности".
Естественно, появилась необходимость найти пути решения возник шей проблемы. К предложенным средствам можно отнести использование множителей Лагранжа, аппроксимацию в области стратегий, принципиаль но иной способ решения рекуррентного уравнения, применение идей по
следовательного анализа вариантов и др. Однако ни одно из них не являет ся универсальным, а в ряде случаев не работают все. Ниже рассматривает ся один из способов преодоления проблемы размерности, нашедший прак тическое применение.
9.9. Снижение размерности с помощью множителей Лагранжа
Покажем на примере задачи 1, каким образом введение множителей Лагранжа позволяет заменить исходную задачу рядом задач с меньшей размерностью вектора состояния.
В задаче 1 состояние описывалось двумя параметрами, что обуслов лено наличием двух ограничений. Для уменьшения размерности на 1 дос таточно из модели (9.40)-(9.43) убрать одно из ограничений, что можно сделать, если удаляемое ограничение включить в критерий задачи с неоп ределенным множителем Лагранжа X. Тогда модель измененной задачи
примет вид: |
|
|
Я = |
- V L y j -> max,- |
(9.52) |
Н |
У=1 |
|
N |
= х, |
(9.53) |
S X; |
||
\/xj,yj >0. |
(9.54) |
Как будет доказано ниже, задача (9.52М9.54) при определенных усло виях эквивалентна исходной задаче (9.40)-(9.43). Так как ограничения (9.53), (9.54) не связывают между собой переменные yj, то есть они стали независимыми, то справедлива следующая цепочка равенств:
_ |
N |
|
N |
|
шах R = max шах Y [Я, (х,, у -) - Ху, ] =шах У тах[Я. (х..у *)- Ху, ] = |
||||
I X j ) |
{ y j ) * - ( |
\ X J ) ^ |
y j |
|
|
N |
при X = const, |
|
|
|
= max V h,(x,) |
|
||
|
{XJ ] м |
|
|
|
где |
|
|
___ |
|
|
hj(Xj) = max[Rj(Xj,yj)-Xyj], |
j = l,N |
(9.55) |
Функции hj{Xj) имеют смысл, если максимум в (9.55) достигается при ко нечных значениях у,-, что будет всегда, если
о при у, -> оо. |
(9.56) |
У)
Это условие ограничивает применение данного способа, но в рассматри ваемой задаче оно, очевидно, выполняется, так как при неограниченном возрастании ресурса у, рост прибыли будет замедляться.
Как видно из (9.55), вычисление функции А/л;) при фиксированном значении X, сводится к нахождению максимума функции одной перемен ной для всех возможных значений xj, что не вызывает особых затруднений (для дифференцируемых Rjixj^yj) максимум можно найти аналитически). При известных /г/хД; = 1Д задача (9.52Н9.54) сводится к следующей:
£ Л Д х ,)-м п ах ; |
(9.57) |
М |
|
X * j = X - , |
(9.58) |
Н |
|
\/Xj > 0. |
(9.59) |
Получили уже знакомую нам задачу распределения одного ресурса. Для решения ее методом ДП введем последовательность функций
/*(У) = т а х £ / 1у(х Д
;=i |
|
|
где V - параметр состояния, значения которого |
не превосходят X. Для |
|
функций/* справедливо рекуррентное соотношение |
|
|
fk(V) = max[/i* (х*)+/ы(V-xk)), |
(9.60) |
|
в котором /(V ) = hi(V), х,* = V. |
|
|
Вычисления по формуле (9.60) проводятся, как обычно, от / |
к /«, за |
|
тем в обратном порядке выполняется безусловная |
оптимизация, начиная |
с V =X, которая дает значения х*. По последним из функций Л/(х7) опреде
ляют значения д . Теперь следует вспомнить об условии (9.42), которое не
* |
* * |
вошло в измененную задачу. Если Ху^ = Y, то найденное решение |
Xj, уд |
ивляется оптимальным решением задачи (9.40)-(9.43). В противном |
случае |
придется продолжить расчеты. |
|
Нетрудно увидеть, что оптимальное решение измененной задачи зави сит от принятого значения множителя X. Поэтому при невыполнении ус ловия (9.42) нужно изменить значение X и повторить весь расчет, начиная с вычисления функций hficj). В данной задаче при изменении X можно воспользоваться очевидным свойством: с увеличением X будет монотонно
убывать Ху^-, и наоборот. В более сложных ситуациях можно воспользо
ваться одним из методов одномерного поиска нелинейного программиро вания. Таким образом, равенство (9.42) может быть выполнено с любой за данной точностью.
Чтобы нагляднее представить весь расчет с использованием множи телей Лагранжа, приведем его алгоритм в виде блок-схемы (рис. 9.11). Как видно из алгоритма, функции f^ V ) и h/Xj), участвующие в расчете, зависят от одного параметра состояния, следовательно, поставленная цель достигнута.
Теперь покажем эквивалентность задач (9.40)-(9.43) и (9.52)-{9.54), понимая под этим совпадение решений. Следуя Веллману, доказательство проведем от противного. Имея оптимальное решение измененной задачи
х' , у*, предположим, что оптимальное решение исходной задачи иное,
аименно ху, уj . Тогда для критерия исходной задачи должно выполняться неравенство
I X (Xj, yj) > |
• |
(9.61) |
j=i |
» |
|
Так как Х_ру= Упо условию исходной задачи, а Хуу= Упо алгоритму реше
ния измененной задачи, то = Вычитание одной и той же вели
чины, умноженной на X, из левой и правой частей выражения (9.61) не ме няет знак неравенства:
|
$ j ) - b '£ iy j >'EiRj(x*jty j ) - \ '£ ty j. |
(9.62) |
||
У = 1 |
j= \ |
j - \ |
]m\ |
|
Но здесь и слева, и справа имеем выражение критерия измененной зада чи, по которому оптимальным является решение х*, у*. Таким образом,
неравенство (9.62), вытекающее из допущения существования разных решений, противоречит исходной посылке и потому такое допущение не верно, что доказывает совпадение решений исходной и измененной (эк вивалентной) задач.
Для задачи 2 применение метода множителей Лагранжа реализуется проще. Модель измененной задачи можно записать по аналогии с выше приведенным случаем:
Z =£ z ,•(*<)-*£V/(*i) -* extr> |
Z<P/(*|) S A, Vx, > 0. |
|
|
/=1 |
/=1 |
/=1 |
|
Для функций последовательности, определенных как |
|
||
fk (я) = extr X [Z, (х,) - Х\|/,(х,)], к = 1,N, |
|
||
|
W /=1 |
|
|
справедливо рекуррентное соотношение |
|
|
|
f k(a,)= |
extr [Zk(хк) - Х у к(хк) + f k_x(а - <рк(хк))]. |
(9.63) |
|
|
Фt(xk)<a |
|
|
Как видно, здесь нет дополнительных функций А, и вычисления можно проводить сразу по рекуррентной формуле (9.63), задавшись предвари тельно значением X. После нахождения решения проверяется условие
(9.48) - SVy(Xy) <В, и если оно не выполняется, то необходимо изменить
значение X и повторить расчет. Таким способом достигается эквивалент ность исходной и измененной задач и, следовательно, оптимальное реше ние исходной задачи с помощью последовательности функций, зависящих только от одного параметра состояния.
В общем случае, когда вектор состояния исходной задачи имеет раз мерность т, можно использовать q множителей Лагранжа (q < т), что по зволит снизить размерность вектора состояния измененной задачи до m-q. При этом выполнение исключенных из условий исходной задачи q ограничений может быть обеспечено управлением таким же числом мно жителей Лагранжа. Однако увеличение размерности вектора состояния и соответственно числа множителей Лагранжа ведет к более быстрому росту трудоемкости решения измененной задачи. Поэтому проблема “про
клятия размерности” остается, ограничивая применение метода ДП зада чами с небольшим числом параметров состояния.
Несмотря на указанный недостаток, метод динамического программи рования находит широкое применение для решения многих задач исследо вания операций, в том числе задач распределения, замены, кратчайшего пути, упорядочения и др.
9.10. Задания для самостоятельной работы
Работа заключается в решении одной оптимизационной задачи мето дом динамического программирования. Варианты задач и соответствую щие исходные данные приводятся ниже. Задачи отличаются содержанием, но все они отвечают условиям применимости ДП.
Целесообразно придерживаться следующего порядка решения задачи:
1.Составить модель задачи.
2.Представить задачу как многошаговую: выделить и пронумеровать шаги, нумерацию сохранить до конца решения.
3.Определить параметры состояния.
4.Составить уравнение состояния.
5. Ввести последовательность функций, четко определив их смысл
иматематическое представление.
6.Записать первую функцию последовательности и вывести рекур рентное соотношение с указанием переменных и области их изменения, по которым определяется экстремум в соотношении.
7.Провести условную оптимизацию. При решении функциональных уравнений там, где возможно, найти оптимум в общем виде (классическим методом). Существенное значение имеет обоснованный выбор диапазона значений параметров состояния и шага дискретизации.
8.Используя результаты условной оптимизации, провести безуслов ную оптимизацию для всех заданных значений исходного состояния.
9.Записать оптимальное решение и все соответствующие ему показа тели, сделать выводы по результатам решения.
10.Осмыслить возможности метода при изменении исходных данных
задачи.
В некоторых вариантах задач используется процедура снижения раз мерности. Для них перечисленные действия недостаточны, так как может быть необходим еще один этап оптимизации, а условная и безусловная оп тимизации могут повторяться несколько раз. Однако в целом схема реше-. ния аналогична.
В большинстве вариантов задано не одно значение параметра, а диа пазон, например 50-60. Это означает, что нужно найти решения для значе ний этого параметра от 50 до 60.