二乗 和最適化 プログラムは、 線形 コスト関数 と、決定変数に対する特定の種類の 制約を伴う 最適化問題です。これらの制約は、決定変数が特定の 多項式の係数として使用される場合、それらの多項式が 多項式 SOS プロパティを持つ必要がある という形式です。関係する多項式の最大次数を固定する場合、二乗和最適化は、 半正定値計画法 におけるラッセルの 緩和階層 とも呼ばれます 。
二乗和最適化手法は、制御理論(特に、多項式ベクトル場によって記述される動的システムの多項式リアプノフ関数の探索)、統計、金融、機械学習など、さまざまな分野に適用されています。 [1] [2] [3] [4]
最適化問題
、の ベクトル と多項式が与えられた場合 、 二乗和最適化問題は次のように表される。
c
∈
R
ん
{\displaystyle c\in \mathbb {R} ^{n}}
1つの
け
、
じゅう
{\displaystyle a_{k,j}}
け
=
1
、
…
いいえ
s
{\displaystyle k=1,\dots N_{s}}
じゅう
=
0
、
1
、
…
、
ん
{\displaystyle j=0,1,\dots ,n}
最大化する
あなた
∈
R
ん
c
T
あなた
対象となる
1つの
け
、
0
(
x
)
+
1つの
け
、
1
(
x
)
あなた
1
+
⋯
+
1つの
け
、
ん
(
x
)
あなた
ん
∈
SOS
(
け
=
1
、
…
、
いいえ
s
)
。
{\displaystyle {\begin{aligned}{\underset {u\in \mathbb {R} ^{n}}{\text{最大化}}}\quad &c^{T}u\\{\text{subject to}}\quad &a_{k,0}(x)+a_{k,1}(x)u_{1}+\cdots +a_{k,n}(x)u_{n}\in {\text{SOS}}\quad (k=1,\ldots ,N_{s}).\end{aligned}}}
ここで、「SOS」は二乗和 (SOS) 多項式のクラスを表します。量は 決定変数です。SOS プログラムは、 SOS 多項式 プログラムの 双対性と、 半正定値行列 を使用した制約付き多項式最適化の緩和法を使用して、 半正定値プログラム (SDP)に変換できます。 次のセクションを参照してください。
あなた
∈
R
ん
{\displaystyle u\in \mathbb {R} ^{n}}
双対問題: 制約付き多項式最適化
変数多項式 があり 、この多項式を部分集合 上で最小化したいとします 。さらに、部分集合 上の制約は 、それぞれが の形式 ( は 最大 次数の 多項式) の、最大 次数の多項式 を使用してエンコードできるものとします 。この最適化問題に対する自然な (ただし、一般に非凸) プログラムは次のようになります。ただし、次の
条件に従います。
ん
{\displaystyle n}
p
(
x
)
:
R
ん
→
R
{\displaystyle p(x):\mathbb {R} ^{n}\to \mathbb {R} }
あ
⊆
R
ん
{\textstyle A\subseteq \mathbb {R} ^{n}}
あ
{\textstyle A}
メートル
{\textstyle m}
2
d
{\displaystyle 2d}
1つの
私
(
x
)
=
0
{\textstyle a_{i}(x)=0}
1つの
私
:
R
ん
→
R
{\displaystyle a_{i}:\mathbb {R} ^{n}\to \mathbb {R} }
2
d
{\displaystyle 2d}
分
x
∈
R
ん
⟨
C
、
x
≤
d
(
x
≤
d
)
⊤
⟩
{\displaystyle \min _{x\in \mathbb {R} ^{n}}\langle C,x^{\leq d}(x^{\leq d})^{\top }\rangle }
x
∅
=
1
、
{\displaystyle x_{\emptyset }=1,}
ここで、 は、 次以下の の各単項式に対して 1 つの要素を持つ 次元ベクトル です 。したがって、各多重集合 に対して 、は 最小化したい 多項式の係数の行列であり、 は サブセット 上の 次の制約 をエンコードする 多項式の係数の行列です 。検索空間内の追加の固定定数インデックス は、多項式 と を行列表現で 記述する便宜上追加されています 。
x
≤
d
{\textstyle x^{\leq d}}
ん
お
(
d
)
{\displaystyle n^{O(d)}}
x
{\displaystyle x}
d
{\displaystyle d}
S
⊂
[
ん
]
、
|
S
|
≤
d
、
{\displaystyle S\subset [n],|S|\leq d,}
x
S
=
∏
私
∈
S
x
私
{\textstyle x_{S}=\prod _{i\in S}x_{i}}
C
{\textstyle C}
p
(
x
)
{\textstyle p(x)}
あ
私
{\textstyle A_{i}}
1つの
私
(
x
)
{\textstyle a_{i}(x)}
私
{\displaystyle i}
あ
⊂
R
ん
{\displaystyle A\subset \mathbb {R} ^{n}}
x
∅
=
1
{\displaystyle x_{\emptyset }=1}
p
(
x
)
{\textstyle p(x)}
1つの
私
(
x
)
{\textstyle a_{i}(x)}
このプログラムは一般に非凸である。なぜなら、制約条件 ( 1 ) は凸ではないからである。この最小化問題に対する 1 つの可能な凸緩和法は、 半正定値計画法 を使用して、階数 1 の変数の行列を 正の 半正定値行列に置き換えることである。すなわち、最大で のサイズの各単項式を、 最大で の インデックスの 多重集合でインデックスする 。このような各単項式について、 プログラム内に変数を作成し、変数を配置して 行列 を形成する 。ここで、は行と列が 最大で のサイズ の からの要素の多重集合で識別される実数行列の集合である 。次に、変数 に次の半正定値プログラムを記述する 。
ただし、次の
条件に従う。
x
≤
d
(
x
≤
d
)
⊤
{\displaystyle x^{\leq d}(x^{\leq d})^{\top}}
バツ
{\displaystyle X}
2
d
{\displaystyle 2d}
S
{\displaystyle S}
2
d
{\displaystyle 2d}
S
⊂
[
ん
]
、
|
S
|
≤
2
d
{\displaystyle S\subset [n],|S|\leq 2d}
バツ
S
{\displaystyle X_{S}}
バツ
S
{\displaystyle X_{S}}
バツ
∈
R
[
ん
]
≤
d
×
[
ん
]
≤
d
{\textstyle X\in \mathbb {R} ^{[n]^{\leq d}\times [n]^{\leq d}}}
R
[
ん
]
≤
d
×
[
ん
]
≤
d
{\displaystyle \mathbb {R} ^{[n]^{\leq d}\times [n]^{\leq d}}}
ん
{\displaystyle n}
d
{\displaystyle d}
バツ
S
{\displaystyle X_{S}}
分
バツ
∈
R
[
ん
]
≤
d
×
[
ん
]
≤
d
⟨
C
、
バツ
⟩
{\displaystyle \min _{X\in \mathbb {R} ^{[n]^{\leq d}\times [n]^{\leq d}}}\langle C,X\rangle }
⟨
あ
私
、
バツ
⟩
=
0
∀
私
∈
[
メートル
]
、
質問
{\displaystyle \langle A_{i},X\rangle =0\qquad \forall \ i\in [m],Q}
バツ
∅
=
1
、
{\displaystyle X_{\emptyset }=1,}
X
U
∪
V
=
X
S
∪
T
∀
U
,
V
,
S
,
T
⊆
[
n
]
,
|
U
|
,
|
V
|
,
|
S
|
,
|
T
|
≤
d
,
and
U
∪
V
=
S
∪
T
,
{\displaystyle X_{U\cup V}=X_{S\cup T}\qquad \forall \ U,V,S,T\subseteq [n],|U|,|V|,|S|,|T|\leq d,{\text{ and}}\ U\cup V=S\cup T,}
X
⪰
0
,
{\displaystyle X\succeq 0,}
ここで、 は 最小化したい 多項式の係数の行列であり、 は サブセット 上の 番目の制約 をエンコードする 多項式の係数の行列です 。
C
{\textstyle C}
p
(
x
)
{\textstyle p(x)}
A
i
{\textstyle A_{i}}
a
i
(
x
)
{\textstyle a_{i}(x)}
i
{\displaystyle i}
A
⊂
R
n
{\displaystyle A\subset \mathbb {R} ^{n}}
3 番目の制約は、行列内で複数回出現する単項式の値が行列全体で等しくなるようにし、 二次形式に存在する対称性を尊重するために追加されます 。
X
{\displaystyle X}
x
≤
d
(
x
≤
d
)
⊤
{\displaystyle x^{\leq d}(x^{\leq d})^{\top }}
二重性
上記の半正定値プログラムの双対を取ると、次のプログラムが得られます。
ただし、次の条件に従います。
max
y
∈
R
m
′
y
0
,
{\displaystyle \max _{y\in \mathbb {R} ^{m'}}y_{0},}
C
−
y
0
e
∅
−
∑
i
∈
[
m
]
y
i
A
i
−
∑
S
∪
T
=
U
∪
V
y
S
,
T
,
U
,
V
(
e
S
,
T
−
e
U
,
V
)
⪰
0.
{\displaystyle C-y_{0}e_{\emptyset }-\sum _{i\in [m]}y_{i}A_{i}-\sum _{S\cup T=U\cup V}y_{S,T,U,V}(e_{S,T}-e_{U,V})\succeq 0.}
制約に対応する 変数 ( は、 でインデックス付けされた要素を除くすべての要素がゼロの行列)、 各多項式制約の 実変数 、および各多重集合のグループ に対して、 対称制約の 双対変数があります 。 正半定値制約により、 が 上の多項式の平方和であることが保証されます 。 正半定値行列の特徴付けにより、任意の正半定値行列 に対して、 ベクトル に対して と 書くことができます。したがって 、
任意の に対して、
y
0
{\displaystyle y_{0}}
⟨
e
∅
,
X
⟩
=
1
{\displaystyle \langle e_{\emptyset },X\rangle =1}
e
∅
{\displaystyle e_{\emptyset }}
(
∅
,
∅
)
{\displaystyle (\varnothing ,\varnothing )}
y
i
{\displaystyle y_{i}}
⟨
X
,
A
i
⟩
=
0
s
.
t
.
i
∈
[
m
]
,
{\displaystyle \langle X,A_{i}\rangle =0\quad s.t.i\in [m],}
S
,
T
,
U
,
V
⊂
[
n
]
,
|
S
|
,
|
T
|
,
|
U
|
,
|
V
|
≤
d
,
S
∪
T
=
U
∪
V
{\displaystyle S,T,U,V\subset [n],|S|,|T|,|U|,|V|\leq d,S\cup T=U\cup V}
y
S
,
T
,
U
,
V
{\displaystyle y_{S,T,U,V}}
⟨
X
,
e
S
,
T
−
e
U
,
V
⟩
=
0
{\displaystyle \langle X,e_{S,T}-e_{U,V}\rangle =0}
p
(
x
)
−
y
0
{\displaystyle p(x)-y_{0}}
A
⊂
R
n
{\displaystyle A\subset \mathbb {R} ^{n}}
Q
∈
R
m
×
m
{\textstyle Q\in \mathbb {R} ^{m\times m}}
Q
=
∑
i
∈
[
m
]
f
i
f
i
⊤
{\textstyle Q=\sum _{i\in [m]}f_{i}f_{i}^{\top }}
f
i
∈
R
m
{\textstyle f_{i}\in \mathbb {R} ^{m}}
x
∈
A
⊂
R
n
{\textstyle x\in A\subset \mathbb {R} ^{n}}
p
(
x
)
−
y
0
=
p
(
x
)
−
y
0
−
∑
i
∈
[
m
′
]
y
i
a
i
(
x
)
since
x
∈
A
=
(
x
≤
d
)
⊤
(
C
−
y
0
e
∅
−
∑
i
∈
[
m
′
]
y
i
A
i
−
∑
S
∪
T
=
U
∪
V
y
S
,
T
,
U
,
V
(
e
S
,
T
−
e
U
,
V
)
)
x
≤
d
by symmetry
=
(
x
≤
d
)
⊤
(
∑
i
f
i
f
i
⊤
)
x
≤
d
=
∑
i
⟨
x
≤
d
,
f
i
⟩
2
=
∑
i
f
i
(
x
)
2
,
{\displaystyle {\begin{aligned}p(x)-y_{0}&=p(x)-y_{0}-\sum _{i\in [m']}y_{i}a_{i}(x)\qquad {\text{since }}x\in A\\&=(x^{\leq d})^{\top }\left(C-y_{0}e_{\emptyset }-\sum _{i\in [m']}y_{i}A_{i}-\sum _{S\cup T=U\cup V}y_{S,T,U,V}(e_{S,T}-e_{U,V})\right)x^{\leq d}\qquad {\text{by symmetry}}\\&=(x^{\leq d})^{\top }\left(\sum _{i}f_{i}f_{i}^{\top }\right)x^{\leq d}\\&=\sum _{i}\langle x^{\leq d},f_{i}\rangle ^{2}\\&=\sum _{i}f_{i}(x)^{2},\end{aligned}}}
ここで、ベクトルを 次以下の多項式の係数と同一視しています。これにより、 を 超える 値が であることが二乗和により証明されます 。
f
i
{\textstyle f_{i}}
d
{\displaystyle d}
p
(
x
)
≥
y
0
{\textstyle p(x)\geq y_{0}}
A
⊂
R
n
{\displaystyle A\subset \mathbb {R} ^{n}}
上記は、多項式不等式によって定義される
領域にも拡張できます。
A
⊂
R
n
{\displaystyle A\subset \mathbb {R} ^{n}}
二乗和階層
二乗和階層 (SOS 階層) は、ラセレ階層とも呼ばれ、累乗が大きくなり計算コストも大きくなる凸緩和の階層です。各自然数に対して、 対応する凸緩和は SOS 階層の 番目のレベル または番目のラウンドと呼ばれます。 のとき、第 ラウンドは 、 基本的な 半正定値計画 、または最大 次数の多項式に対する二乗和最適化に対応します。 階層の 第 レベル にある基本的な凸計画を第 レベルに拡張するには、プログラムに変数と制約を追加して、プログラムが最大 次数の多項式を考慮するようにします 。
d
∈
N
{\textstyle d\in \mathbb {N} }
d
{\textstyle d}
d
{\textstyle d}
1
{\textstyle 1}
d
=
1
{\textstyle d=1}
2
{\displaystyle 2}
1
{\textstyle 1}
d
{\textstyle d}
2
d
{\displaystyle 2d}
SOS 階層の名前は、- 番目のレベルの目的関数の値が、 最大で次数の多項式を使用した平方和の証明によって、 双対を介して制限されるという事実に由来しています (上記の「双対性」を参照)。したがって、最大で次数の多項式を使用する平方和の証明は、 目的値を制限するために使用でき、緩和の厳密さの保証を証明できます。
d
{\textstyle d}
2
d
{\textstyle 2d}
2
d
{\textstyle 2d}
バーグの定理と合わせて、これはさらに、十分な数のラウンドが与えられると、任意の固定区間で緩和が任意にタイトになることを意味しています。バーグの結果 [5] [6] は、制限された区間内のすべての非負の実多項式は 、十分に高い次数の実多項式の二乗和を使用して、その区間で精度内で近似できることを述べています。したがって、が 点 の関数としての多項式の目的値である場合 、不等式が関心領域内の すべての に対して成り立つ場合 、この事実の二乗和の証明がなければなりません。 を 実現可能領域上で目的関数の最小値にすると、結果が得られます。
ε
{\textstyle \varepsilon }
O
B
J
(
x
)
{\textstyle OBJ(x)}
x
{\textstyle x}
c
+
ε
−
O
B
J
(
x
)
≥
0
{\textstyle c+\varepsilon -OBJ(x)\geq 0}
x
{\textstyle x}
c
{\textstyle c}
計算コスト
変数内の関数を最適化する場合 、 階層の 番目のレベルは 変数上の半正定値計画として記述でき、 楕円体法を 使用して時間内に解くことができます 。
n
{\textstyle n}
d
{\textstyle d}
n
O
(
d
)
{\textstyle n^{O(d)}}
n
O
(
d
)
{\textstyle n^{O(d)}}
平方和の背景
多項式が 平方和 ( SOS )であるとは、 となる 多項式が存在する場合です 。たとえば、
は平方和です。 となるので、 となります
。
が
平方和であれば、 すべての に対して となること
に注意してください。 多項式SOS の詳細な説明 が利用可能です。 [7] [8] [9]
p
{\displaystyle p}
{
f
i
}
i
=
1
m
{\displaystyle \{f_{i}\}_{i=1}^{m}}
p
=
∑
i
=
1
m
f
i
2
{\textstyle p=\sum _{i=1}^{m}f_{i}^{2}}
p
=
x
2
−
4
x
y
+
7
y
2
{\displaystyle p=x^{2}-4xy+7y^{2}}
p
=
f
1
2
+
f
2
2
{\displaystyle p=f_{1}^{2}+f_{2}^{2}}
f
1
=
(
x
−
2
y
)
and
f
2
=
3
y
.
{\displaystyle f_{1}=(x-2y){\text{ and }}f_{2}={\sqrt {3}}y.}
p
{\displaystyle p}
p
(
x
)
≥
0
{\displaystyle p(x)\geq 0}
x
∈
R
n
{\displaystyle x\in \mathbb {R} ^{n}}
2 次形式は、 が対称行列で ある場合に、 として表すことができます。同様に、次数 ≤ 2 d の多項式は
、 ベクトルが 次数 のすべての単項式を含む場合 として表すことができます
。これは、 グラム行列 形式として知られています 。重要な事実は、 がSOS である場合、かつ と なる対称 かつ半正定値行列 が存在する場合に限ります 。これにより、SOS 多項式と半正定値行列が結び付けられます。
p
(
x
)
=
x
T
Q
x
{\displaystyle p(x)=x^{T}Qx}
Q
{\displaystyle Q}
p
(
x
)
=
z
(
x
)
T
Q
z
(
x
)
,
{\displaystyle p(x)=z(x)^{\mathsf {T}}Qz(x),}
z
{\displaystyle z}
≤
d
{\displaystyle \leq d}
p
{\displaystyle p}
Q
{\displaystyle Q}
p
(
x
)
=
z
(
x
)
T
Q
z
(
x
)
{\displaystyle p(x)=z(x)^{\mathsf {T}}Qz(x)}
SOSTOOLS は、 GNU GPL ライセンスで提供されています。リファレンス ガイドは arXiv:1310.4716 [math.OC] で入手できます。また、内部構造に関するプレゼンテーションは、こちらで入手できます。
CDCS-sos は、大規模な SOS プログラムを処理するための拡張ラグランジュ法 ソルバーである CDCS のパッケージです 。
Julia 用の JuMP の SumOfSquares 拡張。
TSSOS for Julia は、スパース性適応モーメント SOS 階層に基づく多項式最適化ツールです。
制約付き多項式最適化の双対問題については、MATLAB/Octave の場合は GloptiPoly、Python の場合は Ncpol2sdpa、Julia の場合は MomentOpt を使用します。
参考文献
^ 平方和:理論と応用:AMS短期コース、平方和:理論と応用、2019年1月14〜15日、メリーランド州ボルチモア。パリロ、パブロA.;トーマス、レカR。プロビデンス、ロードアイランド:アメリカ数学会。2020年 。ISBN 978-1-4704-5025-0 . OCLC 1157604983. {{cite book}}: CS1 maint: others (link)
^ Tan, W., Packard, A., 2004. 「平方和プログラミングを使用した制御リアプノフ関数の探索」 Allerton Conf. on Comm., Control and Computing pp. 210–219。
^ Tan, W., Topcu, U., Seiler, P., Balas, G., Packard, A., 2008.「非線形動的システムのシミュレーション支援による到達可能性と局所ゲイン解析」IEEE 意思決定および制御会議論文集、pp. 4097–4102。
^ A. Chakraborty、P. Seiler、および G. Balas、「F/A-18 フライト コントローラーの Falling-Leaf モードに対する感受性: 非線形解析」、AIAA Journal of Guidance, Control, and Dynamics、vol. 34 no. 1 (2011)、pp. 73–85。
^ Berg, Christian (1987). Landau, Henry J. (編). 「多次元モーメント問題と半群」. 応用数学シンポジウム論文集 . 37 : 110–124. doi :10.1090/psapm/037/921086. ISBN 9780821801147 。
^ Lasserre, J. (2007-01-01). 「非負多項式の平方和近似」 SIAM Review . 49 (4): 651–669. arXiv : math/0412398 . doi :10.1137/070693709. ISSN 0036-1445.
^ Parrilo, P.、(2000) 「堅牢性と最適化における構造化半正定値計画法と半代数幾何 学手法」カリフォルニア工科大学博士論文。
^
Parrilo, P. (2003)「半代数問題に対する半正定値計画法の緩和」 数学プログラミング シリーズB96(2),293–320。
^ Lasserre, J. (2001)「多項式によるグローバル最適化とモーメントの問題」 SIAM Journal on Optimization 、11 (3)、796{817。