УДК 519.85
МНОГОКРИТЕРИАЛЬНАЯ ПОШАГОВАЯ ОПТИМИЗАЦИЯ МНОГОЭТАПНЫХ СИСТЕМ СЕТЕВОЙ СТРУКТУРЫ
ГАЛУЗА А.А., ЛЮБЧИКЛ.М., ТЕВЯШЕВА О.А.
Предложены модификации метода динамического программирования для оптимизации многоэтапных многосвязных систем с векторным критерием, векторными переменными состояния и с линейной, древовидной или сетевой структурой.
Введение
Большинство проблем планирования, будь то программа развития корпорации, план развития производства, а также проблем управления пространственно распределенными системами, например, процессом фабричного производства, — все они включают в себя множество решений, каждое из которых влияет на другое. При этом естественно возникает задача, как оптимизировать последовательность взаимосвязанных решений, когда важно выиграть время, понизить себестоимость, обеспечить прибыль или гарантировать требуемую степень надежности синтезируемой системы.
1. Постановка задачи
Рассмотрим систему, состоящую из K ориентированно-взаимосвязанных этапов, причем каждый i-й этап имеет ш; входов и d; выходов, являющихся соответственно входами и выходами каких-либо других этапов или системы в целом, т.е. система K K
имеет M <2 m; входов и D <2 d; выходов. i=i ;=1
Вектор непрерывных переменных состояния системы на входах, выходах и в k точках связи подсистем имеет вид:
X - (хь... ,xk,xk+1,...,Xk + M,Xk + M+1, — ,Xk + M+d) ,
Xj = (Pj,Qj) , j = 1,...,k + M + D , (1)
k =
1
2
(K ^
Z (m; + d;) - (M + D)
U=1 )
Также заданы граничные условия:
Рвх = (Рвх1,Рвх2>--->РвхM) ,
(2)
P
(Рвых1
PbbkD),Q
вых
ЮвыхЬ • Q вых D) .(3)
Вектор управления системы определен как
U = (U1,U2,^,Uk) , u; = (s;,n;) , ; = 1, ...,K . (4)
Функция преобразования U; «вход — выход» для i-й Л П связана с векторным критерием оптималь -ности r; следующим образом:
Самым простым и наиболее известным примером пошаговой оптимизации является метод динамического программирования (ДП) Беллмана [1]. Хотя пошаговая оптимизация предназначена для последовательных систем, она может быть распространена на ветвеобразные и даже циклические структуры путем применения методов Миттена, Немахаузера, Айриса, Бейтлера и Уайльда [2-4]. Но это все — методы оптимизации для односвязных систем с одним аддитивным критерием и скалярными переменными состояния. Однако на практике очень часто встречаются системы, математическое представление которых существенно сложнее, что определяет необходимость создания значительно более универсальных методов оптимизации, расширяющих область их практического применения.
Целью данной работы является формальная постановка и разработка метода решения задачи оптимизации многоэтапной системы, принципиально отличающейся от известных рядом характерных черт. Перечислим требуемые свойства системы.
1. Каждый этап характеризуется двумя критериями. Первый, более значимый, — минимаксный, а второй — аддитивный.
2. Система многосвязная, т.е. каждый этап может иметь несколько входов и выходов.
U; = U; (х;, ~; ) , (5)
Г; = ПюЬ;) , ; = 1,...,K , (6)
Д; = f (х;,~;,S;) , J2; = бДх^^Щ;) , (7) х; = (х;1,х;2,-,х;ш;), ~; = (~;1Д;2,---,х^;), (8)
где х; — вектор переменных состояния на j -м входе, а ху — на j -м выходе і-й ЛП.
Определим SA как множество таких s из области допустимых решений q , которые дают значения J1, отличающиеся от наилучшего не более, чем на А:
:{sj
SA = і S: eQ:
Ju (s0 _ Ji
< Д], J1 = argшaxJli(Si) (9)
Sj eQ
Задача оптимизации системы по совокупности критериев J1 и J2 может быть представлена в виде задачи минимизации J2 на множестве SA для s
при значениях n, принадлежащих Q :
J 2 (u) ^ min
seSa ,neQ
(10)
При решении задачи будем полагать, что порядок вычисления функции преобразования Uk и соответствующих значений J1k и J2k для каждого k-го этапа при заданных Pk вх , Pk вых и Qkвых известен - это функции Fs , J , Fq , Fn и Fj2 .
2. Линейная односвязная система
3. Выходы некоторого этапа могут служить входами для нескольких других этапов, что в общем виде определяет наличие древовидных и сетевых фрагментов структуры системы.
4. Переменные состояния и управления—векторы.
На рис. 1 показана система с самой простой структурой — последовательной односвязной.
Рис.1. Схема линейной односвязной системы
РИ, 2004, № 1
147
Представим одну из компонент вектора x = (P, Q) как дискретную переменную, например, так:
P - P ■
Pi = Pmin + (■ - 1) map _pmln , (11)
где p и диапазон [Pmin,Pmax] выбираются из соображений технической целесообразности.
На рис. 2 представлена схема решения для k -го этапа системы, на которой показаны ряды дискрет по p размерности p = 5 на входе и выходе этапа, а также векторы критериев Ilk (Pi), 12k (Pi) и состояния Qk (Pi), формируемые для каждого возможного значения на входе Pi, i = 1,..., p .
Ilk P Ilkl P
Рис. 2. Схема решения k-го этапа линейной односвязной системы (k = 1,..., K )
Зафиксируем некоторое значение Pi, i = 1,..., p на входе k -го этапа. Для Pi и каждого из возможных значений р на выходе этапа, т.е. Pj, j = 1, ...,p , найдем решение Skj (Pi), значения критерия Іщ (Pi) и состояния Qkj(Pi) на входе этапа. Получим
Sk(pi) = {skj(pi)}p=1 = {Fs(piJpj,Q(k-1)j) j=1, (12)
J1k(pi) = {J1kj(pi)}p=1 = R (Pi,Pj,Q(k-1)j)jp=1 ,(13) J2k(Pi) = {j2kj(Pi)}p=1 = {Fj2 (Pi,Pj,Q(k-1)j) jp=1 . (14)
Найдем значения критерия J1 (Pi) для полных путей, проходящих из Pi через каждый из Pj , j = 1,..., p , используя значения I1(k-1) с предыдущего этапа при условии Pkj = P(k-1)j:
J1(pi) = {min[J1kj(pi),I1(k-1)j]}p=1 . (15)
Определим множество индексов UA как J* = argma^J1j(pi), UA = |j = ITp: J1j(Pi) - J* <a|
j-1,p v '
Для каждого варианта из множества U д найдем решение nj(Pi) и значение критерия J2k(Pi) при фиксированных Pi, Pj, Q(k-1)j и sj (Pi):
n(pi)=k(pi,~j,Q(k-1)j,sj(pi^}jeUд, (16)
J2k (Pi ) = {FJ2 (Pi > Pj > Q(k—1)j, s j (Pi ^)jeUA . (17)
Найдем значения критерия J2j (Pi) для полных путей, проходящих из Pi через каждый из Pj , j Є U Д :
J2(Pi) = J2j (Pi,k) + I2(k-1)j jjeUA . (18)
Итак, для фиксированного значения давления на входе k-го этапа Pi найдено решение, оптимальное по совокупности критериев:
148
j* = argmin J2 j (Pi)
jeU A ’
u*(Pi) = [skj* (Pi), njr (Pi)); I*k (Pi) = J1j* (Pi); **
Q (Pi) = Qkj*(Pi); I2k(Pi) = J2j*(Pi).
Выполнив все описанные выше действия для каждого из p значений Pi на входе k-го этапа, получим результирующий набор векторов решений, значений критериев и переменных состояния на входе и выходе этапа. Получение такого набора векторов будем называть решением k-го этапа:
uk =
Qk =
Dk =
{u*(pi)L; Q* (pi) }p=1
.* )p
\j i }i=1;
I1k = {I*k (Pi) }p=1; 12k = {I2k(Pi)}p=1-
(19)
Для упрощения технической реализации изложенного метода введем фиктивный этап с номером 0 , замыкающий входы и выходы системы (см. рис. 1). Это позволяет решить сразу несколько проблем. Во-первых, мы получаем возможность обрабатывать этап с номером 1 так же, как и все остальные, а во-вторых — естественным образом учитывать граничные условия. Для этого достаточно при решении подсистем, связанных с 0 -м этапом, находить решения только для тех значений р , которые соответствуют граничным условиям:
для (K): Pi = PBX, для (1): Pj = Рвьк,
а при решении 1-й ЛП в качестве Q0j, j: Pj = Рвых использовать граничное значение QBbX .
В результате решения всех K этапов системы (этап с номером 0 считается решенным «по умолчанию») будут получены значения критериев J1 и J2 , соответствующие оптимальному решению системы в целом:
J1 = I*K (Pi) , J2 = i2k (Pi) , при Pi = рвх , (20) а само оптимальное решение (значения Р , QBX , Р , QBbX и u для каждого этапа) восстанавливается обратным проходом (начиная с K-го этапа) с использованием векторов индексов дискрет по Р (Dk) и условий инцидентной тождественности.
3. Линейная многосвязная система
В многосвязной системе каждый k-й этап имеет mk входов и dk выходов (рис.3). Повышение размерности задачи приводит к возникновению серьезных технических проблем при реализации компьютерных расчетов, но сам принцип решения задачи практически не требует изменений.
,mk ,dk
Рис. 3. Схема линейной многосвязной системы
РИ, 2004, № 1
Теперь мы имеем pmk вариантов наборов P , dimP = шк , на входе к-го этапа и pdk векторов P , dimP = dk, на его выходах. Для каждого Pi, i = 1,...,pmk необходимо вычислить векторы:
dim(sk) = dim(Jik) = dim(J2k) = dim(Qk(Pi)) = pdk ,
Qk (Pi) = {Qkj} p=dik , dim(Q j=m. (21)
Порядок дальнейших действий тот же, что и для односвязной системы, в результате чего мы получим векторы оптимальных решений размерности pmk :dim(uk) = dim(Qk) = dim(Dk) = dim^) = dim^k).
На рис.4 показаны затраты времени t, потребовавшегося для решения системы из K этапов, для каждого k-го из которых mk = dk = n .
а
б
Рис. 4. Анализ временной сложности алгоритма решения линейной многосвязной системы в зависимости от количества: а — связей; б — этапов
Как видно из рис. 4, с увеличением количества этапов временные затраты растут линейно, а с увеличением количества связей между ними — экспоненциально, что согласуется с теорией [5].
4. Многосвязная система с расходящимися ветвями
На рис. 5 ,а показана схема узла системы с расходящимися ветвями. Сформулируем основные принципы, позволяющие решать задачу в общем виде.
1. Чтобы этап можно было решить, должны быть готовы все исходные данные, т.е. должны быть решены все непосредственно следующие за ним этапы. Так, для 2-го этапа системы (рис. 5,б) это будет этап 1, а для 3-го — этапы 2, 4 и 0.
mk,
,dk1
=P_g^
,dk2
k
,dkh
=F_g^
mk
і
- 4^
™g]|
ti
mg,
■=5 tr =*>
“go,
dk1
gl
. dkh
_gh_
k
а
б
Рис. 5. Общая схема узла многосвязной системы с (а) расходящимися и (б) сходящимися ветвями
2. Решать можно любой этап, для которого готовы исходные данные, независимо от его порядкового номера.
3. Система решена, когда решены все этапы.
Для системы, показанной на рис.6, согласно этим правилам можно решать этапы в любой из последовательностей: 1-2-4-3-5, 1-4-2-3-5, 4-1-2-3-5.
Рис. 6. Пример многосвязной системы с расходящимися ветвями
Если этапы gb...,gh решены, то зафиксировав набор компонент P на выходе k-го этапа Pj, , h
j = 1,...,pak , dk = ^dkl, и используя условия инцидентной тождественности, сформируем наборы Pj-Pj- на входе каждого из h следующих за ним этапов. По этим наборам получим значения критериев и состояния Q на выходах этих этапов:
I1gl (Pj(1)) , I2gl (Pj(1)) и Qgl (Pj(l)) , l = 1,..,h .
Решив k-й этап при Pj и Pj , j = 1,...,pdk (см. (11) - (13)), будем искать значения критерия Ji(P;) для полных путей не как (14), а как
J1(Pi) = {min[J1kj(Pi),I1g1 (Pf)),...,!^ (Pj(h)J}p=1 . (22)
Все дальнейшие действия ничем не отличаются от описанных выше для многосвязной системы. Прин -ципиально то, что не важно, является некоторый этап gi реальным или фиктивным (т.е. 0-м).
5. Многосвязная система со сходящимися ветвями
Рассмотрим систему, в которой имеется узел, представленный в общем виде на рис.5,б. Следуя методу, изложенному в разд.4, при решении к-го этапа для фиксированного набора значений на dk его выходах следует найти значения критериев и Q, соответствующие оптимальному решению на той части системы, которая начинается с уже решенных этапов gi,...,gh . Для этапа gi эти значения легко получить из векторов I1gl , I2gl и Qgl , но для этого нео бход имо задать набор значений давления на всех входах gi -го этапа, а не только на dk1 = mg 0 из них. Здесь и возникает основная проблема: как выбрать значения P на входах gi -го этапа, являющихся выходами еще не решенных этапов tb..., tr, так, чтобы получить оптимальное решение для системы в целом.
Возьмем один из pmgi наборов P; на входе gi -го
r
этапа, где mgi = £ mgi . На mgi0 = dki входах зна-
i i=0 ii
РИ, 2004, № 1
149
чения заданы, а на остальных произвольны. Выберем из Qgl значения на всех входах gi -го этапа при этом наборе Pj, а из Iigj и I2gj — соответствующие значения критериев. Используя эти значения р и Q в качестве граничных, решим каждую из r ветвей как независимую систему, т.е. получим r пар значений критериев Jitj, J2tj , i = i,...,r . Значения j(r) и J2r), характеризующие данный набор Pj с точки зрения оптимальности части системы, объединяющей эти ветви, найдем как
J(r) = min(Iigi (P), Jjtl, — ,Jitr), (23)
J2r) =l2gi(P) + £ J2tj . (24)
j =i
Хотя существует pmgi всех возможных наборов P на входах gi -го этапа, при фиксированных значениях P на mgi0 входах их остается pmgit , где mgit = mgi - mgi 0 , из которых следует выбрать только один — наилучший. Перебирая их все и решая ветви при соответствующих значениях P и Q , найдем J(r) (Pj) и J2r) (Pj), i = i,...,pmgit . Найдем набор P * , дающий оптимальное решение части системы, ограниченной этапами gi, ti,..., tr, при заданных Р на dki выходах k-го этапа:
J * = argmax J(r) (Pj)
■ i mgit '
j=i,..,p 5 i
Sa = ii
i,-,p
ngit
J ( r)(Pi) - J *
< Д
* (r)
i = argminJ^(Pi)
ieSA ,
I (r)* = j «(p*), I2r)*=J2r)(Pi*).
(25)
(26)
(27)
(28)
Теперь, решая k-й этап при фиксированном векторе Pj, для выходов, связанных с этапом g i, имеем значения критериев I (r) и I2r) , а также значения переменной Q на каждом таком выходе, как компоненты вектора Qgl (P*). Выполнив действия (23) -(28) для каждого из этапов g i,...,gh , получим полный набор данных для решения k-го этапа, которое осуществляется, как показано в разделе 4.
На этом можно закончить описание теоретических принципов оптимизации систем со сходящейся вилкой. Но кроме технической сложности метода и огромного числа переборов, которое в общем случае сократить невозможно, есть проблема построения эффективного алгоритма решения данной задачи. Для этого предлагается временно разрывать связи типа ti ^ gj, i = i , j = i,...,h, и заменять
их связями типа ti ^ 0, увеличивая количество входов 0-го этапа и расширяя векторы граничных условий. Это дает возможность рассчитывать ветви независимо от уже решенной части.
На рис.7,а показан пример многосвязной системы со сходящейся вилкой, образованной этапами 2, 3 и 5. Отметив этап 2 как еще не решенный, мы фактически
150
исключаем из рассмотрения этап 3 и всю предшествующую ему часть системы, что дает возможность при рекурсивном вызове основной процедуры получить решение для ветви 5-4 как независимой системы (на рис.7,б не участвующие в решении этапы отмечены серым цветом). Порядок решения этапов такой: 1 — 2 — ((5 - 4 p2 раз) p раз) — 3.
5
3
>м+»м+м«
■•»! о j::
2
а
j л-»Л>»Н~
б
Рис. 7. Пример многосвязной системы со сходящейся вилкой (а) и состояние системы во время подготовки данных для расчета 3-го этапа (б)
Заключение
Разработаны модифицированные методы пошаговой оптимизации многоэтапных систем на основе метода динамического программирования. Суть усовершенствования заключается в расширении области применимости метода для оптимизации многосвязных систем с векторными переменными состояния по совокупности двух упорядоченных критериев — минимаксного и аддитивного.
Подробно изложены алгоритмы, практически реализующие разработанные методы, показаны пути повышения эффективности их работы.
Разработанный подход может быть использован при моделировании, анализе и оптимизации сложных систем с сетевой структурой практически в любой области знаний.
Литература: 1. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования. М.: Наука, 19б5. 458 с. 2. Beightler C.S., Wilde D.I. Foundations of optimization. Prentice-Hall, 1967. 469 с. 3. Коханер Д, Моулер К., Нэш С. Численные методы и программное обеспечение. М.: Мир, 1998. 576с. 4. Кормен Т, Лейзер-сон Ч, Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2000. 960с. 5. Кнут Д.Э. Искусство программирования. T. 1. Основные алгоритмы. М.: Издательский дом «Вильямс», 2001. 720 с.
Поступила в редколлегию 16.01.2004
Рецензент: д-р техн. наук, проф. Левыкин В.М.
Галуза Алексей Анатольевич, канд. физ.-мат. наук, доцент кафедры ПОЭВМ ХНУРЭ. Научные интересы: математическое моделирование, теория вероятностей, радиофизика, оптика. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-446. E-mail: Galuza@kpi.kharkov.ua
Любчик Леонид Михайлович, д-р техн. наук, проф., зав. кафедрой КМиММ НТУ “ХпИ”. Научные интересы: математическое моделирование, системы автоматического управления, математическая статистика. Адрес: Украина, 61002, Харьков, ул. Фрунзе, 21, тел. 40-00-35.
Тевяшева Ольга Андреевна, научный сотрудник НИ-ПИАСУтрансгаз. Научные интересы: математическое моделирование, системный анализ и теория оптимального управления. Адрес: Украина, 61000, Харьков, ул. Конева, 16, тел. 20-57-74. E-mail: HelgaGL@yandex.ru
РИ, 2004, № 1