Математические структуры и моделирование 2004, вып. 14, с. 25-33
УДК 519.95
О.Н. Канева
ДВУХЭТАПНАЯ ЗАДАЧА НЕЛИНЕЙНОГО СТОХАСТИЧЕСКОГО ПРОГРАММИРОВАНИЯ С ДЕТЕРМИНИРОВАННОЙ МАТРИЦЕЙ КОМПЕНСАЦИИ
Во многих практических задачах управления и планирования встречаются двухэтапные задачи стохастического программирования [1-3]. Эти задачи естественным образом описывают ситуации, когда решение должно быть принято до наблюдения реализаций некоторых случайных факторов. В дальнейшем нередко появляется возможность скорректировать предварительно принятое решение, учитывая при этом накопленную информацию о реализации случайных параметров таким образом, чтобы компенсировать возможные невязки. В соответствии с этим целесообразно рассматривать нахождение предварительного плана и процедуру компенсации определяемых им невязок как два этапа одной задачи. Стратегия, выбираемая на первом этапе, называется предварительным планом (планом первого этапа), а стратегия корректировки этого плана — планом-компенсацией (планом второго этапа). Обычно предварительный план и план-компенсация согласовываются таким образом, чтобы обеспечить минимум среднего значения суммарных затрат, возникающих на обоих этапах решения задачи. В разрешимой задаче выбор предварительного плана должен гарантировать существование плана-компенсации.
В статье предложена новая постановка двухэтапной задачи стохастического программирования, которая отличается от традиционных двухэтапных задач такого типа [1-3] задачей второго этапа. Дано содержательное обоснование, рассмотрены условия разрешимости.
Для простоты записи скалярных произведений в статье опускается знак транспонирования в первом сомножителе. *
© 2004 О.Н. Канева
E-mail: [email protected]
Омский государственный технический университет
1. Постановка двухэтапной задачи стохастического программирования
Рассмотрим следующую задачу стохастического программирования [3]:
ташМш{<р(и,х)}, (1)
X
9і(и,х) < Ьі(ш),і = 1,2, (2)
х Є X. (3)
Здесь
си - случайная величина, которая определяет состояние природы и является элементом вероятностного пространства (П,Т, Р), задаваемого непустым множеством элементарных событий П, а-алгеброй F подмножеств П и вероятностной мерой Р на F;
ф{и),х) - скалярная случайная функция, описывающая затраты, связанные с реализацией предварительного плана х = (яд,..., хп) в состоянии природы сг;
gi(uj,x), і = 1,..., m — случайные функции, которые вместе со случайным вектором h(uS) = (Ьі(сг),..., bm(uj)) описывают ограничения задачи;
X - некоторое непустое множество из Rn.
Заметим, что множество X определяется ограничениями, не зависящими от ио. Предварительным планом первого этапа является некоторое решение, удовлетворяющее условиям (3), то есть не учитывающее состояние природы ио.
После того как ио становится известным, в ограничениях (2) могут возникнуть невязки, которые ликвидируются на втором этапе выбором плана-компенсации у = (щ,..., уг) из следующих условий:
К(ш, у) < bi(u) - = (4)
У Є Y, (5)
где /ц(сг, я/), г = 1,..., 7тг — случайные функции, a Y - некоторое множество из Rr. Ограничение (4) характеризует возможность скорректировать за счет у Є Y невязки, возникающие при реализации плана х первого этапа.
Кроме того, за нарушение условий (2) устанавливается штраф, зависящий от координат вектора у, компенсирующего невязку. Штраф задается величиной
ф(ш,у). (6)
В этом случае задача второго этапа при принятом выше х и известном значении ио состоит в минимизации затрат (6) при условиях (4),(5). Тогда двухэтапная задача стохастического программирования запишется в следующем виде:
min х) + тт[^(сг, у)]}
X у
при условиях
h(u, у) < Ъ(и) - д(и, x),yeY, х Є X.
Здесь д(со,х), h(uj. у ) - т-мерные векторы, компонентами которых являются функции ді(ш,х), Ы(и,у) соответственно. 26
26
2. Новая постановка двухэтапной задачи стохастического программирования
Трудности, с которыми связан анализ двухэтапных задач, в значительной степени определяются необходимостью такого выбора предварительного плана разрешимой задачи, который гарантировал бы существование компенсации невязок при всех реализациях случайной величины [3].
Рассмотрим двухэтапную задачу, структура условий которой обладает тем свойством, что при любом плане первого этапа компенсация невязок всегда оказывается возможной. Для этого подчиним выбор плана-компенсации следующим условиям:
Ру > д(ш, х) - Ъ(ш),у > 0, (7)
уРу = у(д(и,х)-Ь(ш)). (8)
Задача (7),(8) является линейной задачей дополнительности LCP{P)d) [4] относительно переменных у при фиксированных х и и с квадратной матрицей Р и правой частью d = g{uj,x) — Ъ{и). Если неравенства в (7) понимать покоординатно как сопряженные неравенства, то условие (8) является аналогом классических условий дополняющей нежесткости: в каждой паре сопряженных неравенств имеется хотя бы одно равенство.
Пусть вектор х фиксирован и известна некоторая реализация случайной величины uj. Выпишем для линейной задачи дополнительности (7),(8) свойства [5], которые будут использованы в дальнейшем:
— если матрица Р > 0 и все диагональные элементы Р положительны, то для каждого вектора d = д(и,х) — Ь(ии) существует по крайней мере одно решение задачи дополнительности (7),(8);
— если Р положительно полуопределенная матрица и система (7) совместна, то для каждого вектора d = д(и,х) — b{ui) существует по крайней мере одно решение задачи дополнительности (7),(8);
— если матрица Р имеет положительные главные миноры, то при любом векторе d = д(и,х) — b{uS) существует единственное решение задачи дополнительности (7),(8).
В терминах планирования производства задача (7), (8) имеет содержательную интерпретацию, аналогичную интерпретации задачи (4), (5).
Штраф за реализацию плана компенсации будем задавать в виде функции
ф(ш,х,у) =у(д(и,х)-Ъ(и)). (9)
Тогда задача второго этапа при принятом плане х и известном значении ио состоит в минимизации затрат (9) при условиях (7), (8). В результате получили новую постановку двухэтапной задачи стохастического программирования:
min Мш{(р{и, х) + тт[у(д(ио, х) — Ь(и))]} (10)
ж у
при условиях
Ру > д(ш, х) - Ъ(ш),у > 0, (11) 27
27
уРу = у(д(и, X) - Ь(ш)), (12)
х Є X. (13)
Наличие ограничения (12) придает компонентам вектора у свойства двой-ственных переменных, что позволяет проводить компенсацию невязок на «пределе разрешимости». Кроме того, штраф за невязки в (10) назначается более обоснованно, поскольку зависит не только от компонент плана-компенсации ?/, но и от компонент предварительного плана х.
3. Свойства задачи второго этапа
Напомним, что задача второго этапа имеет вид:
min у (д(и, х) — Ь(и)) (14)
у
при условиях
д(ш, х) - Ъ(ш) < Ру,у> о, (15)
у{д{и,х)-Ь{ш)) = уРу. (16)
При этом заметим, что для задачи второго этапа вектор х фиксирован и состояние природы UJ известно.
Докажем свойства задачи второго этапа, которые затем будут использованы для нахождения оптимального плана двухэтапной задачи. Множество предварительных планов х) для которых существует план-компенсация ?/, можно записать в виде [3]:
Х\ = {x|Vtr е Tt Зу > 0, д(ш, х) - Ь(ш) < Ру,у> 0, у(д(ш, х) - Ь(ш)) = уРу}-
Лемма 1. Если для каждого и функции Qi(u,x), і = 1,... ,т — выпуклые, то множество Х\ предварительных планов двухэтапной задачи выпукло. Доказательство. Введем множества Xi(w) для каждой реализации їх Є Q:
Х\(о;) = {х\3у > 0, д(ш, х) - Ь(ш) < Ру,у> 0, у(д(ш, х) - Ь(ш)) = уРу}-Множества Xi(u) выпуклы. Тогда и множество Х\ = Д| Хі(и) как пересечение выпуклых множеств тоже выпукло. ■
Укажем условия разрешимости задачи второго этапа (14)—(16).
Лемма 2. Пусть матрица Р положительно полуопределенная и система
(15) совместна. Тогда задача второго этапа (14)—(16) имеет решение у = у(ш,х).
Доказательство. При известной реализации случайной величины ио и заданном предварительном плане х допустимая область, определяемая условиями (15), (16), не пустая. Это обеспечивается свойством задачи дополнительности (7), (8) при выполнении условий леммы.
Целевая функция (14) ограничена снизу на допустимой области (15), (16). Действительно, по условию (16) целевая функция (14) совпадает с функцией у Ру. Тогда при любых у > 0 получаем условие ограниченности снизу целевой функции у(д(и,х) — Ь(и)) >0. ■ 28
28
Аналогично можно доказать следующие две леммы.
Лемма 3. Пусть матрица Р > 0 и все ее диагональные элементы положительны. Тогда задача второго этапа (14) —(16) имеет решение у = у(иэ,х). ш
Лемма 4. Пусть матрица Р имеет положительные главные миноры. Тогда задача второго этапа (14) —(16) имеет единственное решение у = у(иэ,х). ш
Найдем решение задачи второго этапа у = у (и, х).
Задача (14)—(16) относительно плана-компенсации у является задачей нелинейного программирования. Однако специфика ограничений (15), (16) позволяет записать эту задачу в несколько другой форме.
При фиксированном значении вектора х и известной реализации параметра и задача дополнительности (15), (16) в случае ее разрешимости эквивалентна следующей задаче квадратичного программирования [5]:
min {у (Ру - (д(ш,х) -
У
Ру > д(и, х) - ь(ш),у > о.
Тогда задачу второго этапа (14)—(16) можно заменить двухкритериальной задачей оптимизации. В этом случае решение задачи (14)—(16) можно найти как решение однокритериальной задачи, в которой целевая функция получается путем линейной свертки двух критериев с некоторыми ац > 0 и (42 > 0 [6, 7]:
тш{ыгу(Ру - {д{ш, х) - Ь(ш))) + а2у(д(и, х) - Ь(щ))}, (17)
У
Ру > д(и, х) - Ь(ш),у > 0. (18)
Выпишем функцию Лагранжа задачи (17), (18):
Ь(у, и) = агу(Ру - q(u, х)) + a2yq(uJ, х) - и(В(Ру - Щ, х)), (19)
где q(w, х) = д(ш, х) - Ь(и).
Теорема 1. Пусть матрица Р — неособенная положительно полуопреде-ленная и система (15) совместна. Тогда существуют а\ > 0 и а2 > 0, для которых седловая точка (у(ш,х),и(и,х)) > 0 функции (19) удовлетворяет соотношению
и(и,х) = («і + а2)у(ш,х) = («і + а2)Р 1q(u,x). (20)
Доказательство. Согласно лемме 2 задача второго этапа (14)—(16) имеет по крайней мере одно решение, значит, существуют сд > 0 и а2 > 0, при которых разрешима и задача (17), (18).
Из разрешимости задачи (17), (18) следует существование седловой точки {у(и, х),и(ш, х)) функции Лагранжа (19). Для нахождения этой точки выпишем двойственную по Лагранжу задачу
тахЦЮф > 0},
29
где в (и) = ini{L(y,u)\y > 0}.
У
Заметим, что при фиксированном и функция Лагранжа выпукла [8] и достигает минимума в точке, удовлетворяющей равенству
у{и, Л = тг—и + ф(«1 - a2)P~1q(uJ, х). (21)
ZOL\ lOL\
Подставляя выражение (21) в 9{и), выписываем альтернативную форму двойственной задачи
тах{ — -—иРи Н-----(ац + a2)uq{uj1 х) — -—(ац — а2)2д(сг, x)P~1q(uj1 х)\и > 0}.
и 4ац 2ац 4ац
Так как ^ > 0, то максимизируемая функция вогнута и точка максимума находится из соотношения
-~^—Ри + —^(ац + a2)q(u, х) = 0.
2сд 2сд
Решая эту систему относительно и) находим
г/(а;, х) = (ац + a2)P~1q{сд х). (22)
Подставляя выражение (22) в (21), получаем требуемое соотношение (20). ■
Выпишем теперь функцию Лагранжа для задачи (14)—(16):
Цу, и) = yq(u, х) - и(В(Ру - q(u, х)) + vy(Py - q(u, х)), (23)
где д(ш, х) = д(ш, х) - Ь(и).
Следствие 1. Точка (y,u,v) = (y(w,x),u(w,x),v(w,x)), компоненты кото-рой при y>0,u>0uv>0 связаны соотношением
и(и, х) = (1 + v{а;, х))у(ои, х) = (1 + г(сд x))P~1q{а;, т), (24)
является седловой точкой функции Лагранжа (23) d/ш задачи (14)-(16). Доказательство. При сд = v и о2 = 1 функции (19) и (23) совпадают при каждом х и ио. Отсюда следует, что точка (у(сд т), ?і(сд т), г(сд х)) является седловой для функции (23) и выполняется соотношение (24). ■
Результаты следствия будут использованы для построения направления в итерационном процессе решения исследуемой двухэтапной задачи.
4. Метод проектирования стохастических квазиградиен-тов для задачи двухэтапного стохастического программирования
Рассмотрим метод проектирования для общей нелинейной двухэтапной задачи стохастического программирования, которая формулируется следующим образом [1]. 30
30
Предполагается, что план х и его план-компенсация у должны при всех и удовлетворять ограничениям
Г(и,х,у) < О, г = 1,... ,771, (25)
х Є X, у Є Y, (26)
причем х = (хі,... ,хп), у = (уі,... ,уг). Затраты, связанные с реализацией планов х и у в состоянии природы сд равны
/°(ш,х,у). (27)
Обозначим через ?/(сд х) план-компенсацию, которая минимизирует (27) при условиях (25), (26) и фиксированных значениях плана х и параметра ио. Тогда ожидаемые затраты на реализацию планов х и у(ои,х) составят
F(x) = Mf°(u, х, у(ш, х)), (28)
и задача заключается в выборе такого плана т, который минимизирует функ-
цию цели (28) при условии, что
х Є X.
Метод проектирования стохастических квазиградиентов строит последовательность точек {xs}s=0X^ согласно формуле [1]
xs+1 = тtx(xs - р8ъ€*(и)), s = 0,1,... (29)
Здесь х° — произвольная точка, тгх(х) — оператор проектирования на множество Х) ps — величина шага, — нормирующий множитель, <^(сг) — случайный вектор, удовлетворяющий условию:
F(x)-F(xs) > (Мш(£8(и)\xs),x-xs)
для любой точки х Є X. Такой вектор называется стохастическим квазиградиентом.
В [1] приведена теорема, определяющая условия, при которых последовательность {ts}s=o,i,... сходится к решению задачи почти для каждого ио. При этом для случайного вектора <^(сг) должна существовать величина hs(x°,..., Xs), такая что
^GICMIlW--,^) <h2s<a2p< оо при ||Л|| < (3 < оо, к = 0,1,..., s, где а у — некоторая константа.
Пусть функции /^(сд £, у), v = 0,1 ,...,т при каждом UJ выпуклы вниз, f"(uj,x,y) — обобщенный градиент функции /^(сд т, ?/) по переменной х при фиксированном у и ио. Тогда для сходимости метода (29) к решению задачи (28) на выпуклом и замкнутом множестве X следует взять [1]
СЦ8) = х8, у(ш8, Xs)) + щ(иs, Xs)fx(ujs, Xs, у(ш8, Xs)), (30)
%=1
где crs, s = 0,1,... — независимые реализации сд (?/(сд т), ?і(сд т)) — седловая точка соответствующей функции Лагранжа
пп
<р(у,и) = /V,х, у) + F х, у)•
г=1 31
31
5. Алгоритм решения двухэтапной задачи стохастического программирования
Описанный выше процесс (29) можно использовать для решения поставленной в разделе 2 двухэтапной задачи стохастического программирования вида:
min Мш{(р(сд х) + тт[у(д(и, х) - Ь(и))]} (31)
ж у
при условиях
Ру > д(и, х) - Ъ(ш),у > 0, (32)
уРу = у(д(и, х) - Ь(и)), (33)
х Є X. (34)
Лемма 5. Если функции (p{uj,x), gi{w,x), і = 1,..., т — выпуклые и множество X выпукло, то задача (31)-(34) является задачей выпуклого программирования при фиксированных у и и.
Доказательство. Как было доказано в лемме 1, множество Х\ предварительных планов т, для которых существует план-компенсация ?/, — выпуклое. Так как множество допустимых предварительных планов х задачи (31)-(34) есть Х2 = ХР|Хі, то получаем, что допустимая область (32)-(34) выпуклая.
Целевая функция (31), очевидно, является выпуклой при фиксированных у и из. ш
Лемма 5 дает нам основание находить направление спуска £s(o;) по формуле (30). Используя результат следствия теоремы 1, получаем
С(Х) = (рх(ш8, Xs) + 2q(us, Л)Р_1<ДиЛ Xs), (35)
где ujs) s = 0,l,..., — независимые реализации и.
В результате получаем следующую схему итерации метода (30) для двухэтапной задачи стохастического программирования (31)—(34):
1) после s-й итерации имеется предварительный план первого этапа Xs;
2) наблюдается значение случайной величины uus в соответствии с заданным распределением или путем «проигрывания» определенных сценариев;
3) вычисляется направление для итерационного процесса по формуле (35);
4) находим параметры pS) согласно стандартным условиям сходимости метода проектирования стохастических квазиградиентов [1];
5) осуществляем переход в следующую точку xs+1 по формуле (29).
32
Заключение
В статье предложена постановка двухэтапной задачи линейного стохастического программирования. Новизна постановки состоит в том, что ограничения задачи второго этапа представляют собой линейную задачу дополнительности с детерминированной матрицей компенсации Р. Введение таких ограничений позволяет получать компенсацию плана на «пределе разрешимости», что обеспечивается условиями дополняющей нежесткости задачи дополнительности. Кроме того, величина штрафа за невязки, возникающие после реализации предварительного плана, зависит не только от компонент плана-компенсации у, но и от компонент предварительного плана х. Это позволяет более обоснованно назначать штраф. Приведены условия разрешимости задачи второго этапа. Следует отметить, что исследования для этой задачи можно перенести на случай произвольного параметрического множества П.
Предложен подход к решению поставленной стохастической задачи, особенность которого состоит в том, что решение задачи, двойственной к задаче второго этапа, заменяется на решение более простой линейной задачи дополнительности.
Литература
1. Ермольев Ю.М. Методы стохастического программирования. М.: Наука, 1976.
2. Шор Н.З., Бардадым Т.А., Журбенко Н.Г., Лиховид А.П., Стецюк П.И. Использование методов негладкой оптимизации в задачах стохастического программирования // Кибернетика и системный анализ. 1999. №5. С.33-47.
3. Юдин Д.Б. Математические методы управления в условиях неполной информации. М.: Сов. радио, 1974.
4. Попов Л.Д. Введение в теорию, методы и экономические приложения задач о дополнительности. Екатеринбург: Изд-во Урал, ун-та, 2001.
5. Берщанский Я.М., Мееров М.В. Теория и методы решения задач дополнительности // Автоматика и телемеханика. 1983. №6. С.5-31.
6. Еремин И.И. Двойственность в линейной оптимизации. Екатеринбург.: УрО РАН, 2001.
7. Подиновский В.В., Гаврилов В.М. Оптимизация по последовательно применяемым критериям. М.: Сов. радио, 1975.
8. Базара М., Шетти К. Нелинейное программирование. Теория и алгоритмы. М.: Мир, 1982. 33
33