Файл: 7.1. Математическая постановка и методы решения задачи нелинейного программирования.docx

Добавлен: 19.11.2018

Просмотров: 466

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Общая задача нелинейного программирования



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

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

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

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

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

f0(x) → min,   x  Ω,

(1)

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

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

(2)

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

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

(3)

(см. рис. 1).


Рис. 1.

Определяются допустимые точки, локальный и глобальный, строгий и нестрогий минимумы. Так же мы будем использовать обозначения 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. Для векторов a  Rm операция "+" определяется покоординатно: a+ = ((a1)+, ..., (am)+). Кроме того, через J(x) будет обозначаться множество индексов так называемых активных ограничений:J(x) = {j  {1, ..., l}: gj(x) = 0} — это номера ограничений, которые в данной точке существенны. Например, на рис. 22 J(x1) = {2}, а J(x2) = .

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

Пусть f0fg  C1, а x* — локальное решение задачи (4). Тогда найдутся такие λ*0  R, λ*  Rk, μ*  Rlне равные одновременно нулю, такие, что μ*j ≥ 0при j  J(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). Для любого n  N определим функцию f nRm → R равенством

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

З а д а ч а   7.1. Докажите, что f n  C1, в частности, покажите, что (||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) + ||xn – x*||2 ≤ f n(x*).


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


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

1

n


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



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

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

f0(y) + ||y – x*||2 ≤ f0(x*).

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

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

f ′0(xn)+ 2

k

i = 1

fi(xn)f ′i(xn)+ 2

l

j = 1

[gj(xn)]+gj(xn)+ 2(xn – x*) = Θ.


(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. Поскольку λn0njnj [–1, 1] (n  Ni = 1, ..., kj = 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и, наконец, в-третьих, если j  J(x*) (т. е. gj(x*) < 0), то gj(xn) < 0 при больших n; поэтому [gj(x*)]+ = 0, что влечет равенство μ*j= 0 и, следовательно, равенство

l

j = 1


μ*
jgj(x*)= 

 

jJ(x*)


μ*
jgj(x*). 


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

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

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

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

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


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

и

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

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


Рис. 2.

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

Пусть f0fg  C1, а x* — регулярное локальное решение задачи (4). Тогда найдутся λ*  Rk, μ*  Rl не равные одновременно нулю, такие, что μ*j ≥ 0 приj  J(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 при j  J(x*). Поэтому (11) влечет равенство μ** = Θ. Но тогда (5) означает, что

k

i = 1


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


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

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


μ*
j= 

{

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

0  при  
j  J(x*).


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


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

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


Рис. 3.

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

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

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

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

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

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


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

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

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


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

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

f(x) = Θ

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

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

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

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

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

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

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

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

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

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

Теорема. Пусть (x*, λ*) — седловая точка функции Лагранжа LRm×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выпуклы, а множество Ω содержит хотя бы одну внутреннюю точку, то условия доказанной теоремы являются необходимыми и достаточными (это утверждение называется теоремой Куна — Таккера; оно является центральным фактом теории выпуклого программирования).

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

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 при i  J(x), то малое перемещение из точки x в направлении z не выводит из множества допустимых точек.

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

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

(15)

(gi(xn),z) ≤ 0,   i  J(xn),

(16)

zi – 1 ≤ 0,   –zi – 1 ≤ 0,   i = 1, ..., m.

(17)

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