
- •Глава 9. Динамическое программирование
- •9.1. Как работает метод дп
- •Функциональное уравнение дп
- •Распределение одного вида ресурса
- •Задача организации выпуска m видов продукции
- •9.5. Задача о кратчайшем пути
- •9.6. Задача с мультипликативным критерием
- •9.7. Усложненная задача
- •9.8. Многомерные задачи динамического программирования
- •9.9. Снижение размерности с помощью множителей Лагранжа
- •9.10. Задания для самостоятельной работы
- •Варианты 1.1 - 1.3
- •Варианты 2.1 - 2.3
- •Варианты 3.1 - 3.3
- •Варианты 4.1 - 4.3
- •Варианты 5.1 - 5.3
- •Варианты 6.1 - 6.3
- •Варианты 7.1 - 7.3
- •Варианты 8.1 - 8.3
- •Варианты 9.1 - 9.3
- •Варианты 10.1-10.3
- •Варианты 11.1 - 11.3
- •Варианты 12.1 - 12.3
- •Варианты 13.1 - 13.3
- •Варианты 19.1 - 19.3
- •Варианты 15.1 - 15.3
- •Варианты 16.1 - 16.3
- •Варианты 17.1 - 17.3
- •Варианты 18.1 - 18.3
- •Варианты 19.1 - 19.3
- •Варианты 20.1 - 20.3
- •Варианты 21.1 - 21.3
- •Варианты 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.1 - 30.2
9.6. Задача с мультипликативным критерием
Все решаемые выше задачи имели критерий в виде аддитивной функции. Теперь возьмем задачу с иной целевой функцией и покажем применимость метода ДП для ее решения.
В качестве примера рассмотрим задачу о надежности некоторого устройства, состоящего из N последовательно соединенных блоков. Повышение надежности устройства обеспечивается включением дублирующих элементов в отдельные блоки. В общем случае ограничивающими факторами могут выступать затраты на дублирование, вес и/или объем устройства, надежность переключательных схем и др. Пусть основным ограничением являются затраты на дублирование Q и, кроме того, известны Сj - стоимость одного дублирующего элемента для блока j и jj(mj) - вероятность безотказной работы j-го блока с mj дублирующими элементами. Задача состоит в определении оптимальной стратегии дублирования в пределах выделенных средств.
Очевидно, что в качестве критерия следует взять вероятность безотказной работы всего устройства P, которая при последовательном соединении блоков равна произведению вероятностей этих блоков. Поэтому модель задачи будет иметь вид
,
(9.25)
.
(9.26)
В этой модели целевая функция является мультипликативной, что, однако, не мешает применению метода ДП. Действительно, и в критерии, и в ограничении можно выделить составляющие их функции, описывающие отдельные блоки, хотя операторы, примененные к этим частным функциям в (9.25) и (9.26), разные. Поэтому задача представима как многошаговая, а шагом является определение числа дублирующих элементов для одного блока. В последовательности шагов расположение блоков может не соответствовать реальной схеме их соединения в устройстве. Порядок расположения фиксируется исходя из соображений, которые были приведены в разделе 9.3.
Пронумеруем шаги, как и ранее, справа налево. Очевидно, что для принятия решения нужно знать свои возможности, которые в данной задаче определяются средствами на дублирование. Поэтому в качестве параметра состояния следует взять допустимый уровень затрат на дублирование q, который на любом шаге может принимать любые значения из диапазона [0,Q].
Теперь можно ввести последовательность функций {fk(q)}, k=1,N. Каждая функция имеет смысл максимальной вероятности безотказной работы k оставшихся блоков при допустимом уровне затрат на дублирование q:
.
(9.27)
Для получения функционального уравнения рассмотрим k блоков, на дублирование которых можно затратить q средств. Если в k-й блок включить mk дублирующих элементов, а оставшиеся после этого средства (q-Сkmk) использовать оптимально на дублирование k-1 блоков, то с учетом (9.27) и последовательного соединения k-го блока с остальными k-1 блоками вероятность безотказной работы k блоков будет равна
[jk(mk)fk-1(q-Сkmk)]. Максимизируя это выражение по mk, приходим к искомому рекуррентному соотношению
(9.28)
где [q/Сk] означает целую часть от q/Сk.
Условная оптимизация начинается с вычисления первой функции последовательности
и затем продолжается по формуле (9.28). Безусловная оптимизация проводится в обратном порядке, то есть от fN к f1, с исходного состояния qN=Q и последующим пересчетом по уравнению состояния
qk-1 = qk - Сkmk .
Таким образом, мультипликативность целевой функции не изменяет процедуру динамического программирования. Отличие от ранее рассмотренных задач лишь в том, что выражение в правой части рекуррентного соотношения не аддитивное, а мультипликативное. Очевидно, что мультипликативность ограничения или одновременно ограничения и целевой функции также не вызовет осложнений.