Преобразование задачи нелинейного программирования при помощи функций штрафов в последовательность задач безусловной оптимизации
Рассмотрим класс алгоритмов, которые позволяют решение задачи нелинейного программирования свести к решению последовательности задач безусловной оптимизации.
В общем виде такое преобразование осуществляется при помощи специальным образом сконструированной функции, называемой штрафной функцией (функцией нагружения и т. д.):
Ф(х, cr) = Q(x) + R(х, cr) = Q (X) + сrψ(х). (7.77)
где cr > 0 — параметр штрафа; ψ(х) — индикаторная функция, R (х, cr) = сrψ(х) — штраф.
Если x∈D, то осуществляется минимизация функции Q (х). При нарушении ограничений (х не принадлежит D) функция Q (х) «штрафуется» на величину R(х, cr), что и определяет название данного класса алгоритмов — методы штрафных функций. На рис. 7.4 показаны одномерная задача min(αх+β) (рис. 7.4, а) и эквивалентная ей задача минимизации функции штрафа Ф (х, сr) при A∞ = ∞ (рис. 7.4, б).
Рис. 7.4. Пример штрафной функции с бесконечно большим штрафом A∞ = ∞
Штрафная функция, определяемая выражением (7.77), для больших значений A∞ оказывается плохо обусловленной, т. е. вблизи оптимального решения х* ее гессиан имеет ряд собственных значений, стремящихся к бесконечности о ростом A∞. Это приводит к тому, что структура минимизируемой функции Ф(х, сr) приобретает овражный характер. Следует отметить, что чем меньше значение A∞, тем менее ярко выражен овраг. Но, с другой стороны, с уменьшением A∞ снижается точность определения оптимального решения х* исходной задачи (7.1). В связи G этим при преобразовании задачи нелинейного программирования к последовательности задач безусловной оптимизации целесообразно рассматривать не постоянное значение штрафа R(х, сr), а менять его постепенно, увеличивая при приближении к точке минимума X* влияние ограничений на минимизируемую штрафную функцию Ф (х, cr). Это требование накладывает на индикаторную функцию ψ(х) следующие ограничения. Она должна обладать следующими свойствами:
lim {crψ(xr)}=0;
lim {Ф(хr*, cr)- Q(x*)}=0,
т. е. влияние штрафа R(х, сr), удовлетворяющего этим условиям штрафной функции Ф(х, cr), должно постепенно ослабевать, а последовательность решений задач безусловной минимизации:
Ф(хr*, сr) =min Ф(х, cr) (7.78)
должна сходиться к точке минимума х* исходной задачи.
Конкретный вид штрафа R (х, сr) нетрудно получить из условий оптимальности решения х* задачи выпуклого программирования (условий Куна—Таккера (1.76)—(1.79)).
Представим множители Лагранжа Ui в виде функции от параметра
λi ≥ 0:
ui = λi2, i = 1, 2, …, m. (7,79)
Очевидно, что условие uigi(х) = 0 эквивалентно условию:
λigi(x) = 0, i = 1, 2, …, m. (7.80)
Предположим, что условия (7.80) не выполняются и их левая часть равна некоторой положительной величине аr. Тогда можем записать:
λigi(х) = ar, i = 1, 2, …, m.
Откуда получаем, что λi = ar/gi(х)
или, учитывая (7.79), для множителей Лагранжа получаем:
ui = ar2/gi2(х), i = 1, 2, …, m..
Подставляя полученные значения ui в последнее из условий Куна— Таккера, можем записать:
∇Q(x) — ∑ar2∇gi(x)/gi2(x) = 0. (7.81)
Выражение (7.81) соответствует условию существования минимума (первые производные равны нулю) многопараметрической функции
без ограничений следующего вида:
Ф(х, cr) = Q(x) + cr∑(1/gi(x)). (7.82)
Здесь cr = аr2— параметр штрафа, который выбирается таким образом, чтобы cr → 0 при r → ∞ для обеспечения условий (7.80) в точке x* (точка x* является оптимальным решением исходной задачи);
ψ(х) = ∑(1/gi(x)) — функция, которая при приближении к границе допустимой области D препятствует нарушению ограничений gi(х), стремясь к бесконечности.
Таким образом, если начальное приближение х° является внутренней точкой, т. е. такой, в которой, все ограничения gi(х) выполняются как строгие неравенства:
gi (х°) > 0, i = 1, 2, …, m,
то оптимальное решение xr* задачи безусловной минимизации штрафной функции (7.82) будет всегда находиться внутри допустимой области, так как функция R (х, cr) ставит «барьер» против выхода из области D. Это свойство позволяет выделить в методах штрафов класс алгоритмов, реализующих методы внутренней точки (методы барьерных функций). При уменьшении параметра штрафа cr уменьшается влияние штрафа R(х, cr) и возрастает влияние критерия Q(х) на значение штрафной функции Ф(х, cr). В связи с этим при сr → 0 уменьшение Ф (х, сr) возможно только за счет минимизации функции Q(х) без нарушения ограничений gi(х). При r → ∞ точки минимума xr* гиперповерхностей Ф(х, сr) все более плотно подходят к точке минимума x* гиперповерхности соответствующей функции Q (х) = Ф (х, 0).
На pис. 7.5 в качестве иллюстрации приведены линии уровня семейства (пунктирные кривые) параметрических функций
Ф(x, cr) = x + cr(1/х + 1/(1 — x)),
построенные при различных значениях параметра с, для задачи одномерного поиска min {х}.
Рис. 7.5. Линии уровня штрафной функции Ф(х, cr) для различных значений c1 > c2 > c3
Другой тип функции штрафа можно получить, если предположить, что первое соотношение условий Куна—Таккера не выполняется:
ugi (х) = cr, i = 1, 2, …, m.
Тогда множители Лагранжа при условии, что gi(х)≠0 имеют вид:
ui = cr/gi(х).
Подставляя полученные значения ui в последнее соотношение условий Куна—Таккера, получаем
∇Q(x) — ∑cr∇gi(x)/gi(x) = 0. (7.83)
Выражение (7.83) соответствует условию существования минимума многопараметрической функции без ограничений следующего вида
Ф(х, cr) = Q(x) + cr∑ln(1/gi(x)) = Q(x) — cr∑ln(gi(x)). (7.84)
Полученное выражение называется логарифмической функцией штрафа и обладает теми же свойствами, что и штрафная функция (7.82).
В том случае, когда допустимая область D является замкнутым выпуклым множеством, имеющим подмножество внутренних точек
D0 = {x|gi(x) > 0, i = 1, 2, …, m}. (7.85)
а функции Q (х) и gi(х), i = 1, 2, …, m, являются непрерывными функциями, существует такая точка х∈D0, что
lim Ф(хr*, сr) = Ф(х); (7.86)
lim Ф(хr*, cr) = Q(x) = min Q(x) (7.87)
при условии, что
R(xr+1*, cr+1) < R(xr*, cr). (7.88)
В том случае, когда начальное приближение х°, принадлежащее множеству внутренних точек D0, априори задать трудно, для его определения можно применить следующую процедуру.
Предположим, что в произвольной точке х’ ограничения типа неравенств (а метод внутренних точек применим только для задач нелинейного программирования) удовлетворяются не для всех индексов j:
gj(х’) ≤ 0, j ∈ J;
gi(x’) > 0, i ∈ J, где J∪I = {1. 2, …, m}.
Тогда стратегия поиска точки х° ∈D0 заключается в построении последовательности точек {xk} таких, чтобы сумма нарушившихся ограничений уменьшалась по абсолютной величине, но при этом ни одно из уже выполненных ограничений не нарушалось:
max ∑gj(x) = min{-∑ gj(x)} (7.89)
при условии, что
gi(x’) > 0, i ∈ J.
Для задачи (7.89) начальное приближение известно (это точка х’), поэтому применим для ее решения метод внутренних штрафов, который сводится к решению последовательности задач безусловной минимизации вида:
min (-∑gj(x) + cr∑(1/gj(x))}. (7.90)
В процессе решения задачи безусловной оптимизации (7.90) появляются новые точки, в которых удовлетворяются одно или более ограничений из тех, что прежде не удовлетворялись, т.е. индексы из множества J переходят в множество I. При этом изменяется и сама вспомогательная задача (7.89). Точка х° считается определенной, когда множество индексов J становится пустым. Если в точке оптимального решения вспомогательной задачи (7.89) множество индексов J не пусто, то это означает, что ограничения исходной задачи нелинейного программирования (7.1) несовместны.
Эффективность метода внутренних точек в значительной степени зависит от выбранного начального значения параметра штрафа с0. Если c0 велико, то процесс поиска оптимального решения х* исходной задачи нелинейного программирования начинается далеко от границы допустимой области D, при малых значениях c0, наоборот, процесс поиска начинается далеко от оптимального решения х*. В обоих случаях приходится тратить дополнительные усилия на решение последовательных задач безусловной оптимизации. В связи с этим выбор начального значения параметра штрафа c0 можно осуществлять таким образом, чтобы модуль градиента штрафной функции в точке начального приближения имел минимальное значение:
∇Ф(x°,c0) = min|∇Ф(x°, с)|.