Методы оптимизации

Назад § 7. Общая задача нелинейного программирования Вперед

Ибо самое странное, заставляющее быть настороже в этой среде, или мире, в котором мы вынуждены существовать, состоит в том, что мир — в пределах неумолимо очерченного горизонта — всегда представляет нам разнообразные возможности действия, и нам не остается ничего, кроме как выбирать из этого разнообразия, осуществляя таким образом на практике свою свободу.

Х. Ортега-и-Гассет. Человек и люди



Здесь в соответствии со схемой предыдущего параграфа рассматривается общая задача нелинейного программирования с гладкими функциями.

7.1. Постановка задачи.

Общей задачей нелинейной условной оптимизации мы будем называть условную задачу минимизации

f0(x) → min,   x ∈ Ω,(1)

где Ω выделяется как ограничениями типа равенств

fi(x) = 0,   i = 1, ..., k,(2)

так и ограничениями типа неравенств

gj(x) ≤ 0,   j = 1, ..., l(3)

(см. рис. 22).

Множество допустимых точек
Рис. 22.

Как и в предыдущем параграфе определяются допустимые точки, локальный и глобальный, строгий и нестрогий минимумы. Так же мы будем использовать обозначения f и g для функций из Rm в Rk и Rl, соответственно, определяемые координатами fi и gj. Поэтому задачу (1)(3) можно записывать в виде

f0(x) → min,   f(x) = Θ,   g(x) ≤ Θ.(4)

(напомним, что неравенство g(x) ≤ Θ означает покоординатные неравенства).

Нам также потребуется следующее обозначение: a+ = (a + |a|)/2; таким образом, a+ = a, если a ≥ 0 и a+ = 0, если a ≤ 0. Для векторов aRm операция "+" определяется покоординатно: a+ = ((a1)+, ..., (am)+). Кроме того, через J(x) будет обозначаться множество индексов так называемых активных ограничений: J(x) = {j ∈ {1, ..., l}: gj(x) = 0} — это номера ограничений, которые в данной точке существенны. Например, на рис. 22 J(x1) = {2}, а J(x2) = ∅.

7.2. Теорема (обобщенное правило множителей Лагранжа).

Пусть f0, f, gC1, а x* — локальное решение задачи (4). Тогда найдутся такие λ*0R, λ* ∈ Rk, μ* ∈ Rl, не равные одновременно нулю, такие, что μ*j ≥ 0 при jJ(x*) и

λ*0 f ′0(x*)+ k

i = 1
λ*i f ′i(x*)+  

jJ(x*)
μ*j gj(x*) = Θ.
(5)

Д о к а з а т е л ь с т в о.  Возьмем r > 0 таким, чтобы x* = argminx∈Ωr f(x), где Ωr = Ω ∩ B(x*, r). Для любого nN определим функцию f n: RmR равенством

f n(x) = f0(x) + n(||f(x)||2 + ||g+(x)||2) + ||xx*||2.

З а д а ч а   7.1. Докажите, что f nC1, в частности, покажите, что (||g+(x)||2)′ = 2g+(x)g′(x).

Поскольку f n непрерывно дифференцируемы и поэтому непрерывны, функции f n на шаре B(x*, r) достигают минимума; обозначим его через xn. В частности,

f n(xn) ≤ f n(x*),(6)

т. е.

f0(xn) + n(||f(xn)||2 + ||g+(xn)||2) + ||xnx*||2f n(x*).

Отсюда, поскольку, как легко видеть, f n(x*) = f0(x*),


||f(xn)||2 + ||g+(xn)||2 ≤ 

1
n

[f0(x*) – ||xnx*||2f0(xn)],

Выражение в квадратных скобках ограничено, так как xnB(x*, r). Поэтому ||f(xn)||2 + ||g+(xn)||2 → 0 при n → ∞ и, следовательно, f(xn) → Θ и g+(xn) → Θ при n → ∞.

Пусть теперь {xni} — произвольная сходящаяся, скажем к y, подпоследовательность. Тогда, как легко видеть, во-первых, y ∈ Ω и, во-вторых, f ni(xni) → f0(y) + ||yx*||2 при n → ∞. Поэтому, подставляя в (6) ni вместо n и переходя к пределу в получившемся неравенстве при i → ∞, получим

f0(y) + ||yx*||2f0(x*).

С другой стороны, так как x* = argmin f(x), f0(x*) ≤ f0(y). Отсюда ||yx*||2 ≤ 0, т. е. y = x*. Таким образом, любая сходящаяся подпоследовательность последовательности {xn} сходится к x*. Последнее, учитывая компактность последовательности, гарантирует ее сходимость к тому же пределу.

Далее, в силу доказанного можно считать, что при всех n точка xn лежит внутри шара B(x*, r). Поэтому в силу теоремы Ферма (f n)′(xn) = Θ, т. е.

f ′0(xn)+ 2k

i = 1
fi(xn)f ′i(xn)+ 2l

j = 1
[gj(xn)]+gj(xn)+ 2(xnx*) = Θ.
(7)

Положим теперь


sn = 

(
1 + 4n2

k

i = 1

[fi(xn)]2 + 4n2

l

j = 1

[gj(xn)]2

)–1/2


,

λn0 = sn, λni= 2nfi(xn)sn, μnj= 2n[gj(xn)]+sn. Поскольку λn0,λnj,μnj [–1, 1] (nN; i = 1, ..., k; j = 1, ..., l), можно считать, не ограничивая общности, что найдутся такие λ*0,λ*iи μ*j,что

λn0→ λ*0,  λni→ λ*i,  μnj→ μ*j  при  n → ∞.

Умножив (7) на sn и переходя в получившемся равенстве к пределу при n → ∞, получаем


λ*0f ′0(x*)+ 

k

i = 1

λ*if ′i(x*)+ 

l

j = 1

μ*jgj(x*)= Θ. 

(8)

Остается заметить, что, во-первых, так как n0|2+ ki=1ni |2+lj=1nj|2=1, не все из λ*0,λ*i,μ*jравны нулю, во-вторых, поскольку μnj= 2n[gj(xn)]+sn ≥ 0, неотрицательны и μ*jи, наконец, в-третьих, если jJ(x*) (т. е. gj(x*) < 0), то gj(xn) < 0 при больших n; поэтому [gj(x*)]+ = 0, что влечет равенство μ*j= 0 и, следовательно, равенство

l

j = 1

μ*jgj(x*)= 

 

jJ(x*)

μ*jgj(x*). 

Таким образом (8) — это (5).

7.3. Регулярный случай.

Так же, как и в случае ограничений-равенств в случае общей задачи нелинейной оптимизации, необходимый признак, задаваемый теоремой 7.2, информативен только в случае, если λ*0≠ 0. В этой ситуации, так же как и в предыдущем параграфе можно разделить (5) на λ*0 и, следовательно, считать его равным единице. Это позволяет ввести функцию Лагранжа L: Rm×Rk×RkR (в регулярном случае) равенством

L(x, λ, μ) = f0(x) + (λ, f(x)) + (μ, g(x)).

Условие регулярности в случае общей задачи выглядит сложнее. Именно, допустимая точка x называется регулярной, если векторы f ′1(x),..., f ′k(x)линейно независимы и для некоторого ненулевого вектора hRm

(f ′i(x),h) = 0 при i = 1, ..., k

и

(gj(x),h) < 0 при jJ(x).

Геометрически, эти условия означают, что, во-первых, вектор h является касательным к многообразию, выделяемому ограничениями-равенствами (т. е. ортогонален всем градиентам f ′i(x)),и, во-вторых, он образует с градиентами gj(x)активных ограничений (указывающими, очевидно, вовне множества Ω) тупой угол (см. рис. 23).

К понятию регулярной точки
Рис. 23.

7.4. Теорема (обобщенное правило множителей Лагранжа в регулярном случае).

Пусть f0, f, gC1, а x* — регулярное локальное решение задачи (4). Тогда найдутся λ* ∈ Rk, μ* ∈ Rl не равные одновременно нулю, такие, что μ*j ≥ 0 при jJ(x*) и

Lx(x*,λ*, μ*) = 0,(9)

(μ*, g(x*)) = 0.(10)

Д о к а з а т е л ь с т в о.  Пусть λ0**, λ** и μ** — величины, существование которых утверждается в теореме 7.2. Покажем, что λ0** ≠ 0. В предположении противного умножим (5) скалярно на вектор h, фигурирующий в определении регулярности x*:

k

i = 1

λi**(f ′i(x*),h)+ 

 

jJ(x*)

μj**(gj(x*),h) = Θ. 

(11)

В силу регулярности (f ′i(x*),h) = 0 и (gj(x),h) < 0, а по теореме 7.2 μj**≥ 0 при jJ(x*). Поэтому (11) влечет равенство μ** = Θ. Но тогда (5) означает, что

k

i = 1

λi**f ′i(x*)= Θ, 

что вместе с линейной независимостью f ′i(x*)дает равенство λ** = Θ. Противоречие.

Таким образом λ0**≠ 0. Положим теперь λ*i= λi**/λ0**(i = 1, ..., k),


μ*j= 

{μj**/λ0**при  jJ(x*),

0  при  jJ(x*).

Очевидно теперь, (10) выполняется автоматически, а (9) тривиально получается из (5).

7.5. Достаточные условия, существование, единственость.

Ситуация с задачей (1)(3) несколько отличается от изучавшихся ранее, поскольку минимумы здесь могут быть двух типов. В случае, когда в точке минимума x* нет активных ограничений, т. е. J(x*) = ∅, ситуация полностью аналогична описанной в предыдущем параграфе, поскольку ограничения-неравенства в окрестности точки x* можно опустить (см. рис. 24а). В случае же, когда J(x*) ≠ ∅ минимум может достигаться на границе множества Ω и точка x* может не быть стационарной точкой (см. рис. 24б).

Решения условной задачи
Рис. 24.

Мы ограничимся лишь формулировками результатов, поскольку в идейном плане они не доставляют ничего нового. Аналогом теоремы 6.9 может служить следующая

Теорема (достаточные условия минимума). Пусть f0, f, gC2, а x* — допустимая точка такая, что для некоторых λ* ∈ Rk и μ* ∈ Rl, одновременно не равных нулю, выполнены условия (9)(10) и при любых hRm, hΘ таких, что

(f ′i(x*),h) = 0  при  i = 1, ..., k;

(gj(x*),h) = 0  при  jJ(x*), μ*j> 0;

(gj(x*),h) ≥ 0  при  jJ(x*), μ*j= 0

выполнено неравенство (L′′xx(x*,λ*, μ*)h, h) > 0. Тогда x* — локальное решение задачи (1)(3).

З а д а ч а  7.2. Докажите.

Что касается утверждений о существовании и единственности, то ситуация с результатами, которые могут быть доказаны изученными выше приемами, полностью аналогична.

З а д а ч а  7.3. Сформулируйте и докажите аналоги утверждений задач 6.7 и 6.8 для задачи (1)(3).

7.6. Об ограничениях-равенствах.

С целью упрощения изложения, начиная с этого момента, мы будем рассматривать задачу условной оптимизации, содержащую только ограничения-неравенства. Это, с одной стороны, не снижает общности изложения, поскольку ограничения-равенства сводятся к ограничениям-неравенствам: ограничение

f(x) = Θ

эквивалентно ограничениям

f(x) ≤ Θ,   –f(x) ≤ Θ.

С другой стороны, задачи с ограничениями-равенствами мы уже достаточно подробно рассматривали выше.

Здесь, правда, следует помнить об одном важном обстоятельстве. При решении задач с ограничениями-неравенствами часто бывает важна (существенно используется) выпуклость функций, фигурирующих в задаче, вернее, выпуклость минимизируемой функции f0 и выпуклость множества Ω допустимых точек. Последнее гарантируется выпуклостью функций gj в ограничениях-неравенствах (см. задачу 7.4 ниже). Множества же, выделяемые ограничениями-равенствами, не бывают выпуклыми, за исключением случая аффинных функций fi. Поэтому методы решения задач условной оптимизации, существенно использующие "выпуклость задачи" могут применяться к задачам с ограничениями-равенствами с большой осторожностью.

Напомним, что множество Ω ⊂ Rm называется выпуклым, если ∀(x, y ∈ Ω, λ ∈ [0, 1])x + (1 – λ)y ∈ Ω].

З а д а ч а  7.4. Докажите, что если функции gi: RmR (i = 1, ..., l) выпуклы, то множество Ω = {xRm: gi(x) ≤ 0, i = 1, ..., l} выпукло.

З а д а ч а  7.5. Докажите, что если функция g: RmR выпукла, вместе с функцией g, то она аффинна: g(x) = (b, x) + c.

7.7. Еще один достаточный признак условного минимума.

Напомним, что точка (x*, λ*) называется седловой точкой функции L: Ω1×Ω2R 1Rm, Ω2Rl), если при всех (x, λ) ⊂ Ω1×Ω2 выполнены неравенства

L(x*, λ) ≤ L(x*, λ*) ≤ L(x, λ*)

Теорема. Пусть (x*, λ*) — седловая точка функции Лагранжа L: Rm×Rl+R задачи (1), (3) (здесь Rl+= {λ ∈ Rl: λ Θ}), λ* Θ, x* — допустимая точка. Тогда x* — глобальное решение этой задачи.

Д о к а з а т е л ь с т в о.  Пусть x — произвольная допустимая точка, т. е. gi(x) ≤ 0 (i = 1, ..., l). Тогда

f0(x*) + (λ*, g(x*)) = L(x*, λ*) ≤ L(x, λ*) = f0(x) +(λ*, g(x)).(12)

Покажем, что

(λ*, g(x*)) = 0.(13)

Тогда из (12), поскольку λ* Θ, а g(x) ≤ Θ, будет следовать нужное неравенство f0(x*) ≤ f0(x). Для доказательства (13) заметим, что по условию теоремы L(x*, Θ) ≤ L(x*, λ*), т. е.

(λ*, g(x*)) ≥ 0.(14)

Равенство (13) вытекает теперь из (14), т.к. λ* Θ, а g(x*) ≤ Θ.

Тот факт, что доказанная теорема дает лишь достаточный признак условного минимума демонстрируетсмя в следующей задаче.

З а д а ч а  7.6. Покажите, что одномерная задача минимизации функции f(x) = –x при ограничениях x ≤ 1, x ≤ 0 разрешима, но ее функция Лагранжа не имеет седловых точек.

З а д а ч а  7.7. Если в предыдущей теореме (x*, λ*) — локальная седловая точка, то можно ли утверждать, что x* — локальное решение задачи (1), (3)? (Ответ: нельзя).

Однако, если функции f0 и gi (i = 1, ..., l) выпуклы, а множество Ω содержит хотя бы одну внутреннюю точку, то условия доказанной теоремы являются необходимыми и достаточными (это утверждение называется теоремой Куна — Таккера; оно является центральным фактом теории выпуклого программирования).

Перейдем к описанию методов решения задач с ограничениями-неравенствами. Многие из описываемых ниже методов либо существенно используют выпуклость объектов, фигурирующих в задаче, либо вообще неработоспособны на невыпуклых задачах.

7.8. Методы возможных направлений.

Эти методы основываются на следующем простом понятии. Вектор (направление) z в допустимой точке x назовем возможным для задачи (1), (3), если малое перемещение в этом неправлении уменьшает значение функции f0 и не выводит из множества допустимых точек, т. е. если при достаточно малых s точка xs = x + sz допустима и f(xs) < f(x). Если теперь на каждом шаге сдвигаться в возможном направлении на достаточно малое расстояние, то мы очевидно получим релаксационную последовательность, которая во многих случаях будет сходиться к решению задачи. Методы этого типа называются методами возможных направлений.

З а д а ч а  7.8*. Докажите, что если (f0(x), z) < 0, то малое перемещение из точки x в направлении z уменьшает значение функции f0 (ср. с доказательством теоремы Ферма).

З а д а ч а  7.9*. Докажите, что если точка x допустима и (gi(x), z) < 0 при iJ(x), то малое перемещение из точки x в направлении z не выводит из множества допустимых точек.

В силу этих задач возможное направление zn в очередной точке xn, в котором функция f0 будет убывать быстрее всего, можно искать, решая задачу линейного программирования (о методах решения линейных задач см. список литературы)

(f ′0(xn),z) → min,(15)

(gi(xn),z) ≤ 0,   iJ(xn),(16)

zi – 1 ≤ 0,   –zi – 1 ≤ 0,   i = 1, ..., m.(17)

Здесь "нормализующие" ограничения (16) введены для того, чтобы искать вектор возможных направлений на ограниченном множестве, т. е. для того, чтобы линейная задача (15)(16) была разрешима. К сожалению, решение задачи (15)(16) не всегда дает возможное направление (см. рис. 25). Причиной этого являются нестрогие неравенства в (16) (задачи же со строгими неравенствами часто оказываются неразрешимыми, поскольку точная нижняя грань значений функции f0 часто достигается на границе множества допустимых точек, которая в случае строгих ограничений-неравенств не принадлежит этому множеству). Эту трудность можно обойти разными способами. Например, на каждом шаге можно "возвращать" точку во множество Ω с помощью какой-либо процедуры "проектирования" см., например, следующий пункт). Можно также поступать следующим образом. Для любой допустимой точки x и произвольного ε > 0 определим множество Jε(x) индексов так называемых ε-активных ограничений:

Jε(x) = {i ∈ {1, ..., m}: gi(x) ≥ –ε}.

Вектор ''возможных'' перемещений, выводящий из множества допустимых точек
Рис. 25.

Таким образом, если ε малó и iJε(x), то i-ое ограничение в точке x почти обращается в равенство. В одном из вариантов метода возможных направлений выбирают последовательность εn → 0 и из очередной точки xn следующий шаг совершют в направлении zn:

xn+1 = xn + αnzn,(18)

где zn есть решение следующей линейной задачи

ξ→ min

с ограничениями

(f ′0(xn),z) – ξ ≤ 0,

(gi(xn),z) – ξ ≤ 0,   iJεn(xn)

и нормализующими ограничениями (16). Подчеркнем, что в этой задаче неизвестными являются z и ξ. Длина шага в (18) выбирается таким образом, чтобы точка xn+1 не выходила из множества допустимых точек.

7.9. Методы проекции градиента.

Проекцией PΩx точки xRm на множество Ω ⊂ Rm называется любая ближайшая к x точка множества Ω:

||xPΩx|| ≤ ||xy|| при всех y ∈ Ω.

З а д а ч а  7.10. Докажите, что если Ω замкнуто и выпукло, то для любой точки проекция сужествует и единственна.

З а д а ч а  7.11. Приведите пример, когда проекция: а) не существует; б) не единственна.

В тех случаях, когда проекцию точки на множество допустимых точек задачи (1), (3) найти достаточно легко (например, когда Ω — линейное подпространство, полупространство, шар, Rm+и  т. д.) используют метод проекции градиента:

xn+1 = PΩ(xn – αnf ′0(xn))

(см. рис. 26), являющийся прямым обобщением градиентного метода.

Метод проекции градиента
Рис. 26.

Можно доказать, например, что если функция f0C1 сильно выпукла и f ′ удовлетворяет условию Липшица, а множество Ω замкнуто и ограничено, то метод проекции градиента сходится со скоростью геометрической прогрессии.

7.10. Методы линеаризации.

Суть этих методов, как следует из названия, состоит в линеаризации минимизируемой функции и ограничений в очередной точке xn строящейся релаксационной последовательности и объявлении следующим значением xn+1 решения получающейся линейной задачи, т. е. задачи

(f ′0(xn),xxn) → min,(19)

gi(xn) + (gi(xn),xxn) ≤ 0,   i = 1, ..., l.(20)

Чтобы эта (линейная) задача была разрешима либо добавляют штраф в минимизируемую функцию, заменяя (19), например, задачей

(f ′0(xn), xxn) + δ||xxn||2 → min,

либо добавляя к (20) простые ограничения, которые делают множество допустимых точек этой задачи ограниченным, например, (линейные) ограничения

xixni– αn ≤ 0,   –xi + xni– αn ≤ 0   (i = 1, ..., m).

Часто для уменьшения объема вычислительной работы среди ограничений (20) оставляют только ε-активные.

7.11. Методы штрафов.

Основная идея здесь заключается в переходе от задачи (1), (3) к задаче безусловной оптимизации, в которой "наказывается" либо удаление от множества Ω допустимых точек (внешний штраф), либо приближение изнутри множества Ω к его границе (внутренний штраф). Например, это можно сделать так. Для любого s > 0 определим функцию Fsout:RmR равенством (индекс "out" станет понятен чуть ниже)


Fsout(x)= f0(x) + s

l

i = 1

(gi)2+(x).

(21)

З а д а ч а  7.12 (ср. с задачей 6.11). Пусть f0, gC1, а x* — единственное решение задачи (1), (3). Пусть, кроме того, множество {xRm: ||gi(x)|| ≤ ε, i = 1, ..., l} при некотором ε ≥ 0 непусто и ограничено. Докажите, что (безусловная) задача

F sout(x)→ min(22)

при всех s разрешима и ее решение xs сходится к x* при s→ ∞.

Геометрическая трактовка замены задачи (1), (3) задачей (22) изображена на рис. 27.

Геометрическая интерпретация задач (1),(3) и (22)
Рис. 27.

Задачу (22) решают тем или иным методом решения безусловных задач, увеличивая на каждом шаге штраф s. Как и в случае задач с ограничениями-равенствами, основным недостатком метода штрафов является рост числа обусловленности задачи (22) с ростом s.

Описанный класс методов называют методами внешних штрафов, поскольку минимизируемая функция изменяется вне множества Ω. На несколько другой идее основываются так называемые методы внутренних штрафов или барьеров. Образно его можно описать так: у границы множества Ω возводятся барьеры, не позволяющие приближаться к его границе. Например, вместо задачи (1), (3) можно рассмотреть задачу

Fsin(x)→ min,(23)

где функция Fsin: ΩgR определяется равенством (ср. с ((21))


Fsin(x)= f0(x) + s

l

i = 1
1
gi(x)
.

Сравнение геометрических интерпретаций задач (1), (3) и (23) изображено на рис. 28.

Геометрическая интерпретация задач (1),(3) и (23)
Рис. 28.

З а д а ч а  7.13. Сформулируйте и докажите аналог задачи 7.5 для метода барьеров.

Задача (23) решается методами, развитыми для безусловных задач; при этом "крутизна барьера" характеризуемая числом s, возрастает на каждом шаге.

З а д а ч а  7.14. Попытайтесь выписать аналоги штрафных функций Fsoutи Fsinдля общей задачи нелинейного программирования (1)(3), содержащей как ограничения-неравенства, так и ограничения-равенства.

7.12. Двойственные методы.

Суть методов из этого весьма обширного класса в применении к задачам с ограничениями-неравенствами, так же как и в задачах с ограничениями-равенствами, заключается в замене условной задачи (1), (3) задачей поиска стационарной (часто седловой) точки функции Лагранжа. В выпуклом случае задача (1), (3) и задача о поиске седловой точки функции Лагранжа в силе теоремы Куна – Таккера эквивалентны. Например, применение простейшего (градиентного) метода к последней задаче приводит к следующему методу Эрроу – Гурвица – Удзавы:

xn+1 = xn – αnLx(xn,μn),

μn+1 = [μn + αnLμ(xn,μn)]+.

Для поиска седловой точки в двойственных методах применяют почти весь спектр описанных выше методов минимизации — методы Ньютона, квазиньютоновские методы, методы сопряженных направлений и  т. д.


File based on translation from TEX by TTH, version 3.05.
Created 10 Jun 2001, 20:58.