逐次 (ステップワイズ) 二次計画法 (SQP)
非線形制約問題を解くための直接的で効率的な方法は、問題の関数f ( x ) f(x)に基づいています。f ( x )和ci ( x ) c_i(x)c私( x )特に制約関数ci ( x ) c_i(x)c私( x )は線形近似です。この考えに基づく方法がラグランジュ関数の安定点をニュートン法で解く方法であることから、ラグランジュ・ニュートン法とも呼ばれます。
等式制約問題 - KKT 条件付き解法
例非線形計画問題を考えます
min x 1 + x 2 s . t . x 1 2 = x 2 \begin{aligned} \min ~~& x_1 + x_2\\ \mathrm{st} ~~& x_1^2 = x_2 \end{整列}分 s 。t .バツ1+バツ2バツ12=バツ2な
- 分析ソリューション
ラグランジュ関数
L = x 1 + x 2 + λ ( x 1 2 − x 2 ) \mathcal{L} = x_1 + x_2 + \lambda(x_1^2 - x_2) を構築します。L=バツ1+バツ2+λ ( x12−バツ2)
その KKT except1
+ 2 λ x 1 = 0 1 − λ = 0 x 1 2 − x 2 = 0 \begin{aligned} 1 + 2\lambda x_1 & = 0\\ 1 - \lambda & = 0\ \ x_1 ^2 - x_2 & = 0 \end{整列}1+2リットル×11−lバツ12−バツ2な=0=0=0
x ∗ = ( − 1 2 , 1 4 ) x^* = (-\frac{1}{2}, \frac{1}{4}) を求める解析的方法バツ∗=( -21、41) ,λ ∗ = 1 \lambda^* =l∗=1。
- x ( 0 ) = ( 0 , 0 ) x^{(0)} = (0,0)の場合バツ( 0 )=( 0 ,0 ) ,λ ( 0 ) \lambda^{(0)}l( 0 )は初期点です。数値法を使用して KKT ポイントを見つけます。
出発点:方程式を解くニュートン法、線形近似の考え方
設定ϕ ( t ) : R → R \phi(t): \mathbb{R} \to \mathbb{R}ϕ ( t ):R→R,求φ ( t ) \phi(t)ϕ ( t )の根、つまり連立方程式ϕ ( t ) = 0 \phi(t) = 0ϕ ( t )=0。
等式制約の問題 - 方程式を解くためのニュートン法
デズ∈ R nz \in \mathbb{R}^nぜεRn,解方程foundr
1 ( z ) = 0 r 2 ( z ) = 0 ⋮ rn ( z ) = 0 \begin{aligned} r_1(z) &= 0\\ r_2(z) &= 0\\ \ vdots \\ r_n(z) &= 0\\ \end{aligned}r1( z )r2( z )⋮rn( z )=0=0=0
与えられた近似解z ( k ) z^{(k)}ぜ( k ),令( k ) = z ( k + 1 ) − z ( k ) s^{(k)} = z^{(k + 1)} - z^{(k)}s( k )=ぜ( k + 1 )−ぜ( k )
r ( k ) = [ r 1 ( z ( k ) ) r 2 ( z ( k ) ) ⋮ rn ( z ( k ) ) ] r^{(k)} = \begin{bmatrix} r_1(z ^{(k)})\\ r_2(z^{(k)})\\ \vdots\\ r_n(z^{(k)})\\ \end{bmatrix}r( k )=⎣⎢⎢⎢⎡r1( z( k ) )r2( z( k ) )⋮rn( z( k ) )⎦⎥⎥⎥⎤
J ( z ( k ) ) = [ ∇ r 1 ( z ( k ) ) T ∇ r 2 ( z ( k ) ) T ⋮ ∇ rn ( z ( k ) ) T ] J(z^{(k)}) = \begin{bmatrix} \nabla r_1(z^{(k)})^T\\ \nabla r_2(z^{(k)})^T\\ \vdots\\ \nabla r_n(z^{( k)})^T\\ \end{bmatrix}J ( z( k ) )=⎣⎢⎢⎢⎡∇r _1( z( k ) )T∇r _2( z( k ) )T⋮∇r _n( z( k ) )T⎦⎥⎥⎥⎤
氷を作る 一次方程式系を解く
l 1 ( s ) : = r 1 ( z ( k ) ) + ∇ r 1 ( z ( k ) ) T s = 0 l 2 ( s ) : = r 2 ( z ( k ) ) ) + ∇ r 2 ( z ( k ) ) T s = 0 ⋮ ln ( s ) : = rn ( z ( k ) ) + ∇ rn ( z ( k ) ) T s = 0 \begin{aligned} l_1( s) &:= r_1(z^{(k)}) + \nabla r_1(z^{(k)})^T s = 0\\ l_2(s) &:= r_2(z^{(k) }) + \nabla r_2(z^{(k)})^T s = 0\\ \vdots \\ l_n(s) &:= r_n(z^{(k)}) + \nabla r_n(z^ {( k)})^T s = 0\\ \end{aligned}l1(秒)l2(秒)⋮ln( s ): =r1( z( k ) )+∇r _1( z( k ) )Ts _=0: =r2( z( k ) )+∇r _2( z( k ) )Ts _=0: =rn( z( k ) )+∇r _n( z( k ) )Ts _=0
即
J ( z ( k ) ) s = − r ( k ) J(z^{(k)}) s = - r^{(k)}J ( z( k ) )s=− r( k )
実用的な方法は、方法が広く収束することを保証するために、ライン検索または信頼領域技術を追加します!
等式制約問題 - ラグランジュ・ニュートン法
min
x ∈ R n f ( x ) s . t . ci ( x ) = 0 , i = 1 , 2 , ⋯ , m \begin{aligned} \min_{x \in \mathbb{R} ^n} ~~& f(x)\\ \mathrm{st} ~~& c_i(x) = 0, i = 1,2,\cdots,m \end{aligned}x ∈ Rn分 s 。t .f ( x )c私( × )=0 、私=1 、2 、⋯、メートル
即
min x ∈ R n f ( x ) s . トン。c ( x ) = 0 \begin{aligned} \min_{x \in \mathbb{R}^n} ~~& f(x)\\ \mathrm{st} ~~& c(x) = 0 \end {整列}x ∈ Rn分 s 。t .f ( x )c ( × )=0
その中、c ( x ) : R n → R mc(x): \mathbb{R}^n \to \mathbb{R}^mc ( × ):Rn→Rメートル。
KKT Let
g ( x ) + A ( x ) λ = 0 c ( x ) = 0 \begin{aligned} g(x) + A(x) \lambda &= 0\\ c(x) &= 0 \ end {整列}g ( x )+A ( x ) lc ( x )=0=0
その中,A ( x ) = [ ∇ c 1 ( x ) , ∇ c 2 ( x ) , ⋯ , ∇ cm ( x ) ] A(x) = [\nabla c_1(x),\nabla c_2(x), \cdots,\nabla c_m(x)]あ( × )=[ ∇ c1( × ) 、∇ c2( × ) 、⋯、∇ cメートル( × ) ]。
( x ( k ) , λ ( k ) ) (x^{(k)},\lambda^{(k)}) とする( ×( k )、l( k ) )は近似解であり、そのニュートン補正( s ( k ) , w ( k ) ) (s^{(k)},w^{(k)})( s( k )、w( k ) )[ W ( k ) A ( k ) A ( k ) T 0 ] [ sw ] = − [ g ( k ) + A ( k ) λ c ( k ) ] \begin{bmatrix} W^{
(k)} & A^{(k)} \\ {A^{(k)}}^T & 0 \end{bmatrix} \begin{bmatrix} s \\ w \end{bmatrix} = - \begin {bmatrix} g^{(k)} + A^{(k)} \lambda \\ c^{(k)} \end{bmatrix}[W( k )あ( k )Tあ( k )0][sw]=−[g( k )+あ( k ) lc( k )]
其中, A ( k ) = A ( x ( k ) ) A^{(k)} = A(x^{(k)}) あ( k )=A ( ×( k ) ),W ( k ) = ∇ 2 f ( x ( k ) ) + ∑ i λ i ( k ) ∇ 2 ci ( x ( k ) ) W^{( k )} = \nabla^2f(x ^{(k)}) + \sum_i \lambda_i^{(k)} \example^2 c_i(x^{(k)})W( k )=∇2 f(×( k ) )+∑私l私( k )∇2c _私( ×( k ) )
令λ ( k + 1 ) = λ ( k ) + w ( k ) \lambda^{(k + 1)} = \lambda^{(k)} + w^{(k)}l( k + 1 )=l( k )+w( k )、次に( s ( k ) 、 λ ( k + 1 ) ) (s^{(k)}、\lambda^{(k + 1)})( s( k )、l( k + 1 ) )定義
[ W ( k ) A ( k ) A ( k ) T 0 ] [ s λ ] = − [ g ( k ) c ( k ) ] \begin{bmatrix} W^{(k) } & A^{(k)} \\ {A^{(k)}}^T & 0 \end{bmatrix} \begin{bmatrix} s \\ \color{青}{\lambda}\end{bmatrix } } = - \begin{bmatrix}\color{blue}{g^{(k)}}\\c^{(k)}\end{bmatrix}[W( k )あ( k )Tあ( k )0][sl]=−[g( k )c( k )]
与えられた初期点( x ( 0 ) , λ ( 0 ) ) (x^{(0)},\lambda^{(0)})( ×( 0 )、l( 0 ) )、( s ( k ) , λ ( k + 1 ) ) (s^{(k)},\lambda^{(k+1)}) を得るために線形方程式系を構築して解きます。( s( k )、l( k + 1 ) )、x ( k + 1 ) = x ( k ) + s ( k ) x^{(k + 1)} = x^{(k)} + s^{(k)}バツ( k + 1 )=バツ( k )+s( k )、順番に繰り返します。
Lagrange 乘子法+ Newton 法= Lagrange-Newton 法
自然
定理は( x ∗ , λ ∗ ) (x^*,\lambda^*) を仮定します。( ×∗ ,l∗ ) は等式制約問題の 2 次十分条件を満たし、rank ( A ∗ ) = m \mathrm{rank}(A^*)= mランク( A _ _ _∗ )=m、次にx ( 0 ) x^{(0)}バツ( 0 )はx ∗ x^*に十分近いバツ∗とλ ( 0 ) \lambda^{(0)}l( 0 )行列
[ W ( 0 ) A ( 0 ) A ( 0 ) T 0 ] \begin{bmatrix} W^{(0)} & A^{(0)}\\ {A^{( 0) }}^T & 0 \end{bmatrix}[W( 0 )あ( 0 )Tあ( 0 )0]が特異でない場合、ラグランジュ・ニュートン法が定義され、シーケンス { ( x ( k ) , λ ( k ) } \{(x^{(k)},\lambda^{(k)} によって生成されます)この
メソッド{
( ×( k )、l( k ) } は( x ∗ , λ ∗ ) (x^*,\lambda^*)に 2 次収束します。( ×∗ ,l∗ )。
既存の問題
- 最初のポイントに対する高い要件
- 二次導関数を求める必要がある
- 不等式制約のある最適化問題を解くことができません
基本・部分SQP
モチベーション
二次計画法の部分問題
min s ∈ R n 1 2 s TW ( k ) s + g ( k ) T s + f ( k ) s . t . A ( k ) T s + c ( k ) = 0 \ begin {整列} \min_{s \in \mathbb{R}^n} ~~& \frac{1}{2} s^TW^{(k)} s + {g^{(k)}}^ T s + f^{(k)} \\ \mathrm{st}~~& {A^{(k)}}^Ts + c^{(k)} = 0 \end{aligned}s ∈ Rn分 s 。t .21sTW _( k )秒+g( k )Ts _+へ( k )あ( k )Ts _+c( k )=0
其中, s = x − x ( k ) s = x-x^{(k)} s=バツ−バツ( k )、目的関数は、2 次項が修正された 2 次テイラー展開です。その一次 (KKT) 条件は
W ( k ) s + g ( k ) + A ( k ) λ = 0 A ( k ) T s + c ( k ) = 0 \begin{aligned} W^{(k ) } s + g^{(k)} + A^{(k)} \lambda & = 0\\ {A^{(k)}}^Ts + c^{(k)} & = 0 \end {整列}W( k )秒+g( k )+あ( k ) lあ( k )Ts _+c( k )=0=0
[ W ( k ) A ( k ) A ( k ) T 0 ] [ s λ ] = − [ g ( k ) c ( k ) ] \begin{bmatrix} W^{ (
k) } & A^{(k)}\\ {A^{(k)}}^T & 0 \end{bmatrix} \begin{bmatrix} s \\\lambda \end{bmatrix} = - \begin {bmatrix } g^{(k)} \\ c^{(k)} \end{bmatrix}[W( k )あ( k )Tあ( k )0][sl]=−[g( k )c( k )]
設定Z ( k ) ∈ R n × ( n − m ) Z^{(k)} \in \mathbb{R}^{n \times (n - m)}Z( k )εRn × ( n − m )の列は A ( k ) T s = 0 {A^{(k)}}^Ts = 0 を生成しますあ( k )Ts _=ランク ( A ( k ) ) = m \mathrm{rank}(A^{(k)}) = m の場合、 0の解空間ランク( A _ _ _( k ) )=m,andZ( k ) W ( k ) Z ( k ) Z^{(k)} W^{(k)} Z^{(k)}Z( k ) W( k ) Z( k )が正定である場合、元の問題は 1 次条件と同じ解をもち、解は一意です。
一般的な非線形性に対する対划问题
min s ∈ R n 1 2 s TW ( k ) s + g ( k ) T s + f ( k ) s . トン。ai ( k ) T s + ci ( k ) = 0 , i ∈ E ai ( k ) T s + ci ( k ) = 0 , i ∈ I \begin{aligned} \min_{s \in \mathbb{R} ^n} ~~& \frac{1}{2} s^TW^{(k)} s + {g^{(k)}}^T s + f^{(k)} \\ \mathrm{ st}~~& {a_i^{(k)}}^Ts + c_i^{(k)} = 0, i \in \mathcal{E}\\ ~~& {a_i^{(k)}}^ Ts + c_i^{(k)} = 0, i \in \mathcal{I} \end{aligned}s ∈ Rn分 s 。トン。 な21sTW _( k )秒+g( k )Ts _+へ( k )a私( k )Ts _+c私( k )=0 、私εえa私( k )Ts _+c私( k )=0 、私ε私は
次の解決アルゴリズムがあります。
[外部リンクの画像の転送に失敗しました。ソース サイトにはリーチング防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-s4TnoKaq-1610379805928)(https://cdn.jsdelivr.net/gh/ZhouKanglei /jidianxia/2020-12 -24/1608821899495-SQP.png)]
理想的な終了条件:KKT条件を満たす!
例非線形計画問題を考えます
min f ( x ) = − x 1 − x 2 s . t . c 1 ( x ) = x 1 2 − x 2 ≤ 0 c 2 ( x ) = x 1 2 + x 2 2 − 1 ≤ 0 \begin{aligned} \min ~~& f(x) = - x_1 - x_2\\ \mathrm{st} ~~& c_1(x) = x_1^2 -x_2 \leq 0\\ ~~ & c_2(x) = x_1^2 + x_2^2 - 1 \leq 0 \end{整列}分 s 。トン。 なf ( x )=− ×1−バツ2c1( × )=バツ12−バツ2≤0c2( × )=バツ12+バツ22−1≤0
そのジオメトリは次のように直感的です。
最適解 x ∗ = ( 1 2 , 1 2 ) T x^* = (\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}}) は解析的手法によって得られます^Tバツ∗=(2な1、2な1)T,λ ∗ = ( 0 , 1 2 ) T \lambda^* = (0,\frac{1}{\sqrt{2}})^Tl∗=( 0 ,2な1)T。 _
与えられた初期点x ( 0 ) = ( 1 2 , 1 ) T x^{(0)} = (\frac{1}{2},1)^Tバツ( 0 )=(21、1 )T,λ ( 0 ) = ( 0 , 0 ) T \lambda^{(0)} = (0,0)^Tl( 0 )=( 0 ,0 )T、反復ステップは次のとおりです。
アドバンテージ
ローカル二次収束
問題があります
- 初期点が良くない場合、反復は発散する可能性があります
- 無限または実行不可能など、部分問題の解が存在しない可能性があります
- 2 番目の偏導関数W ( k ) W^{(k)}が必要ですW( k )
参考文献
[1] Liu Hongying、Xia Yong、Zhou Yongsheng. 数学プログラミングの基礎、北京、北京航空宇宙大学出版局、2012。