凸最適化

提供: testwiki
2025年3月12日 (水) 04:41時点におけるimported>Oyyo37による版 (+Template)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

凸最適化(とつさいてきか、テンプレート:Lang-en-short)とは最適化問題の分野のひとつで、凸集合上の凸関数の最小化問題である。 凸最小化問題は一般的な最適化問題よりも簡単に最適化が可能であり、局所的な最小値が大域的な最小値と一致する性質をもつ。

ベクトル空間X上の実数値凸関数

f:𝒳

Xの凸部分集合𝒳上で定義される。

凸最適化問題とはf(x)の最小値となる𝒳上の点x を見つけることである。

すなわちx

f(x)f(x) for all x𝒳.

である。

凸最適化問題

𝒳上のx を見つける最適化問題である。

f(x)=min{f(x):x𝒳},

ここで𝒳nは実行可能集合で、 f(x):nは目的関数である。 𝒳が閉凸集合で、 n上でf(x)が凸関数であれば、これを凸最適化問題という。

以上は数学的に一般化された定義であるが、この問題が実際に提示される場面において𝒳𝟚は具体的な形で表現されることが多い。よくある例として、与えられた凸関数gi(x):i=1,,mを用いて以下のように連立不等式をみたす集合として定義される:

𝒳:={x𝕟:gi(x)0,i=1,,m}

こういった事情を踏まえて以下のような定義が与えられることもある:

minimizef(x)subjecttogi(x)0,i=1,,m

ここで、関数f,g1gm:nは凸である。

理論

凸最適化問題において以下の命題は真である。

  • 極小値が存在すれば大域的最小値である
  • すべての(大域的)最小値の集合は凸である
  • 強凸関数であり関数が最小値を持てば、一意に決まる

ヒルベルト射影理論分離超平面定理ファルカスの補題などの関数解析ヒルベルト空間上の)とも関係している。

標準形

標準形は凸最小化問題をよく使用される直感的な形式で表現する。

3つの部分で成り立つ。

  • 凸関数 f(x):n xに関して最小化される。
  • 不等式制約 gi(x)0。ここで関数giは凸である。
  • 等式制約 hj(x)=0 関数hjアフィン変換、すなわち線形関数。

実際には線形制約とアフィンな制約はよく使用される。 これらの形式はhj(x)=ajTx+bjと表せられる。 ここで、ajは列ベクトル、bjは実数である。

凸最小化問題は以下のように表される

minimizexf(x)subjecttogi(x)0,i=1,,mhj(x)=0,j=1,,p.

等式制約h(x)=0は2つの 不等式制約h(x)0h(x)0 を用いて置き換えることができる。 そのため等式制約は理論的には冗長であるが実際上の利点のため使用される。 これらのことから、なぜ hj(x)=0が単に凸であるのではなくアフィンであるのかが容易に理解できる。 hj(x)を凸とするとhj(x)0は凸であるが hj(x)0は凹となる。 そのためhj(x)=0が凸となるための条件が hj(x)がアフィンであることである。

以下で示す例はすべて凸最小化問題であるか、変数変換により凸最小化問題にできる問題である。

ラグランジュの未定乗数法

標準形に表された凸最小化問題を考える。 コスト関数をf(x)、 不等式制約をgi(x)0(i=1m) とすると、定義域𝒳

𝒳={xX|g1(x)0,,gm(x)0}.

この問題に対するラグランジュ関数

L(x,λ0,...,λm) = λ0f(x) + λ1g1(x) + ... + λmgm(x).

X上の関数fを最小化するX上の点xに関して 実数値のラグランジュ係数λ0, ..., λmが存在し、 以下を満たす。

  1. X上のすべての変数に関してxL(y, λ0, λ1, ..., λm) を最小化する
  2. λ0 ≥ 0, λ1 ≥ 0, ..., λm ≥ 0, 少なくともひとつは λk>0,
  3. λ1g1(x) = 0, ..., λmgm(x) = 0 (相補スラック性).

方法

凸最小化問題は以下の方法を用いて解くことが可能である。

その他の手法

劣勾配法は簡単に実装でき多くの適応例がある。 双対劣勾配法劣勾配法双対問題に適応した方法である。 ドリフトプラスペナルティー法は双対劣勾配法と類似しているが、 主変数に関して時間平均をとっている点が異なる。

凸最小化が難しい場合: 自己整合障壁

凸最適化問題にクラスによっては更新法の効率は悪いものがある。 それはクラスには多くの関数と劣勾配を評価しなければ 精確に最小値を得られない問題を含んでいるからである。 この問題はArkadi Nemirovskiiによって議論されている。

そのため実用上の効率を求めるには問題のクラスにさらに制約を加える必要がある。 2つの障壁関数法の方法がある。 1つはNesterovとNemirovskiiによる自己整合障壁関数(self-concordant)、 もう1つはTerlakyらによる自己正規障壁関数である。

準凸最小化

凸のレベル集合をもつ問題は理論上は効率的に最小化できる。 Yuri Nesterovは準凸最小化問題を効率的に解けることを証明した。 これの結果はKiwielによって拡張された。

計算複雑性の理論の中では、準凸計画問題と凸計画問題は問題の次元に対して 多項式時間で解くことが可能である。 Yuri Nesterovが最初に準凸最小化問題を効率的に解くことが可能であることを示した。 しかし、この理論的に効率的な方法は発散する数列をステップサイズに用いていた。 これは古典的な劣勾配法の開発に使われていた。 発散数列を用いる古典的な劣勾配法は、劣勾配射影法勾配バンドル法非平滑フィルタ法など の現代的な凸最小化法よりかなり遅いことが知られている。

凸に近いが非凸の関数の問題は計算困難である。 Ivanovの結果によれば関数が滑らかさあっても単峰の関数を最小化することは難しい。

拡張

正無限を含むように凸関数を拡張できる。たとえば、指標関数はx𝒳を満たす領域では0をもち、その他は正無限である。

凸関数の拡張には擬似凸関数準凸関数を含む。 凸解析と更新法の部分的な拡張は 非凸最小化問題に対する近似解法として一般化された凸性の中で考えられている。

脚注

テンプレート:脚注ヘルプ

関連項目

外部リンク

テンプレート:主要な最適化問題の分類 テンプレート:最適化アルゴリズム