Использование динамического программирования для расчета сил
и средств, необходимых для ликвидации последствий ЧС
Драбо А. И., Пигарев А. Е., Чегринцев А. И., ВУНЦ ВВС «ВВА», г. Воронеж
Общеизвестно, что при ликвидации последствий ЧС привлекаются огромные силы и средства. Так, при борьбе с наводнением в Хабаровском крае были задействованы десятки тысяч человек и тысячи единиц специальной техники. В таких ситуациях оптимальное использование сил и средств с целью минимизации затрат является одной из важнейших задач.
Динамическое программирование позволяет определить оптимальное решение многомерной задачи путем ее разложения на несколько этапов, каждый из которых представляет подзадачу относительно одной переменной. Вычислительное преимущество такого подхода состоит в том, что решаются одномерные оптимизационные подзадачи. Так как природа каждого этапа решения зависит от конкретной оптимизационной задачи, динамическое программирование не предлагает вычислительных алгоритмов непосредственно для каждого этапа. Вычислительные аспекты решения оптимизационных подзадач на каждом этапе проектируются и реализуются по отдельности (что, конечно, не исключает применения единого алгоритма для всех этапов). Вычисления выполняются рекуррентно в том смысле, что оптимальное решение одной подзадачи используется в качестве исходных данных для следующей. Решив последнюю подзадачу, на выходе получается оптимальное решение исходной задачи. Способ выполнения рекуррентных вычислений зависит от того, как производится декомпозиция исходной задачи. В частности, подзадачи обычно связаны между собой некоторыми общими ограничениями. При переходе от одной подзадачи к другой эти ограничения должны учитываться [1].
При составлении динамической модели осуществляется:
- определение этапов;
- определение на каждом этапе вариантов решения (альтернатив);
- определение состояний на каждом этапе.
При этом необходимо определить, какие соотношения связывают этапы вместе, и какая информация позволит получать допустимые решения на текущем этапе без повторной проверки решений, принятых на предыдущих этапах.
В качестве примера представляется динамическая модель для расчета необходимого количества техники для разбора завалов, которая имеет ограничения по грузоподъемности, и соответственно определенные затраты при ее использовании.
Рекуррентное уравнение процедуры обратной прогонки выводится для разбора завала из Ж предметов, имеющих п наименований (различный вес). Тогда Ш1 - количество предметов /-наименования, подлежащих уборке, г - затраты необходимые на уборку предмета /-го наименования, wi - вес одного пред-
мета /-го наименования. Общая задача имеет вид следующей целочисленной задачи линейного программирования [1, 2].
Минимизировать
z = rm + r2m2 +... + rnmn (1)
при условии, что:
z = rm + r2m2 +... + rnmn — W,
m, m2 ... mn > 0 и целые.
Три элемента модели динамического программирования определяются следующим образом.
1. Этап / ставится в соответствие предмету /-го наименования, / = 1,2, ..., п.
2. Варианты решения на этапе / описываются количеством m/ предметов /-го наименования, подлежащих уборке. Соответствующие этапу затраты тт^
3. Состояние Xi на этапе / выражает суммарный вес предметов, решения, об уборке которых приняты на этапах /, / + 1,., п.
Тогда/¡(x) - минимальные затраты от этапов /, / + 1,., п при заданном состоянии Xi. Рекуррентное уравнение определяется с помощью следующей двухшаговой процедуры.
Шаг 1. Функция f (x ) выражается в виде
fi (xi )= min ^m + fi+i (X+i)}, i = 1,2,^,n, (2)
m =0,1,—,
wi
x =0,1,—,W
W
Шаг 2. По определению х1 - х/+1 представляет вес предметов убранных на этапе /, т. е.
х,- - х/+1 = W/ т/ или х/+1 = х/ - W/ т/. Следовательно, рекуррентное уравнение приобретает следующий вид:
^ (х{)= + +1 (X; - ^ / = 1,2, ..., П. (3)
т = 0,1,
x = 0,1,—,W
W
Аналогичным образом можно составить динамическую модель для расчета необходимого количества людей задействованных в ликвидации последствий ЧС. Предполагается, что потребность в участвующих в работах на /-том этапе составляет Ъ{ личного состава. При идеальных условиях на /-том этапе необходимо иметь ровно Ъ/ работающих. Однако в зависимости от затрат может быть более выгодным отклонение числа задействованного личного состава как в одну, так и в другую сторону от минимальных потребностей. Считая у1 - количеством задействованного личного состава на /-том этапе, возможны затраты двух видов:
1) Д (у - Ь ) - затраты, связанные с содержанием избыточного количества людей;
2) Д (у - ) - затраты, связанные с необходимостью привлечения дополнительного количества людей.
Исходя из вышеизложенного, элементы динамической модели можно представить следующим образом.
1. Этап i представляется порядковым номером срока проведения работ (например: час, сутки, неделя и т. п.), i = 1,2, ..., п.
2. Вариантами решения на i-том этапе являются значения yi - количество задействованного личного состава на данном этапе.
3. Состоянием на i-том этапе является yi-1 - количество работающих на протяжении i-го этапа.
Рекуррентное уравнение динамического программирования представляется в виде
f (y-)= min{c(y -b)+ c(yt -y-)+ f+1 (y)}, i = 1,2,...,n, (4)
yt ^bi
где fn+i (y„ )= 0 .
Вычисления начинаются с этапа n при yn = bn и заканчиваются на этапе 1.
Изложенные аспекты применения динамического программирования позволяют разработать различные модели расчета сил и средств ликвидации последствий ЧС в зависимости от вида необходимых работ. При этом всесторонний учет условий производства работ, определение этапов работ и ситуаций их проведения позволят минимизировать затраты при ликвидации последствий ЧС.
Библиографический список
1. Хемди А. Таха. Введение в исследование операций. — М.: Вильямс, 2007. — 912 с.
2. О. Н. Салманов. Математическая экономика с применением Mathcad и Excel. — СПб.: БХВ-Петербург, 2003. — 464 с.