← 戻る ライブラリ › 応用数学と計算数学 › 最適化理論 応用数学と計算数学
凸最適化 凸集上で凸関数を最小化する: なぜすべての局所最小が大域的最小になるのか、最適性を保証するKKT条件、そして難しい探索をより易しい探索に変える双対性について。
直観 なぜ形が重要か:凸と非凸 常に下り坂へ進むことで地形の最も低い点を探すところを想像してほしい。地形がひとつのお椀のような形なら、この貪欲な戦略はどこから始めても必ず本当の最低点を見つける。いくつものくぼみ、尾根、鞍状の峠がある地形では、同じ戦略が最低点でも何でもないくぼみで止まってしまうことがある。凸最適化はまさにこの「ひとつのお椀」の場合を研究し、なぜそれがこれほど扱いやすいのかを正確に説明する。
z = x 2 + y 2 z = x^2 + y^2 z = x 2 + y 2 :放物面。どの方向にも上に湾曲しているため、最も低い点はちょうど1つだけ存在する。z = x 2 − y 2 z = x^2 - y^2 z = x 2 − y 2 :鞍面。一方の軸に沿って上に、もう一方の軸に沿って下に湾曲しているため、原点の平坦な点は極小でも極大でもない。同じ罠の1次元版: 3次曲線には、全体で最も低い点ではない谷(局所最小)が存在しうる。なぜなら曲線はさらに遠くでも下降し続けるからだ。凸性はまさにこれを排除する性質である。
y = x 3 − 3 x y = x^3 - 3x y = x 3 − 3 x 。印のついた点は極大、極小、変曲点である — この極小は大域的最小ではない。なぜなら曲線は − ∞ -\infty − ∞ に向かうからである、x → − ∞ x \to -\infty x → − ∞ のとき。大学 凸集合と凸関数 定義: 凸集合
集合 C ⊆ R n C \subseteq \mathbb{R}^n C ⊆ R n が凸 であるとは、任意の x , y ∈ C x, y \in C x , y ∈ C と任意の θ ∈ [ 0 , 1 ] \theta \in [0,1] θ ∈ [ 0 , 1 ] に対して点 θ x + ( 1 − θ ) y \theta x + (1-\theta) y θ x + ( 1 − θ ) y もまた C C C に属すること、すなわち C C C の任意の2点を結ぶ線分全体が C C C に含まれることをいう。
定義: 凸関数
関数 f : C → R f : C \to \mathbb{R} f : C → R が凸集合 C C C 上で凸 であるとは、任意の x , y ∈ C x, y \in C x , y ∈ C と θ ∈ [ 0 , 1 ] \theta \in [0,1] θ ∈ [ 0 , 1 ] に対して f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x + (1-\theta) y) \le \theta f(x) + (1-\theta) f(y) f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) が成り立つことをいう:f f f のグラフは、その上の任意の2点を結ぶ線分の上側に来ることは決してない。
f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) , θ ∈ [ 0 , 1 ] f(\theta x + (1-\theta) y) \le \theta f(x) + (1-\theta) f(y), \qquad \theta \in [0,1] f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) , θ ∈ [ 0 , 1 ] f f f が2回微分可能なとき、この条件はヘッセ行列 ∇ 2 f ( x ) \nabla^2 f(x) ∇ 2 f ( x ) が C C C のすべての点で半正定値であることと同値である — これは多変数版の f ′ ′ ≥ 0 f'' \ge 0 f ′′ ≥ 0 にあたる。凸最適化問題 とは、凸関数 f f f を凸な実行可能集合 C C C 上で最小化する問題である(例えば C = { x : g i ( x ) ≤ 0 , h j ( x ) = 0 } C = \{x : g_i(x) \le 0, h_j(x) = 0\} C = { x : g i ( x ) ≤ 0 , h j ( x ) = 0 } で各 g i g_i g i が凸、各 h j h_j h j がアフィンである場合)。
f f f が凸集合 C C C 上で凸であるとき、x ⋆ x^\star x ⋆ が f f f の C C C 上での局所最小ならば、x ⋆ x^\star x ⋆ は f f f の C C C 上での大域的最小である。
なぜ正しいのか? x ⋆ x^\star x ⋆ が局所最小に過ぎず、ある y ∈ C y \in C y ∈ C に対して f ( y ) < f ( x ⋆ ) f(y) < f(x^\star) f ( y ) < f ( x ⋆ ) であると仮定する。凸性により、f f f は x ⋆ x^\star x ⋆ から y y y への線分の、x ⋆ x^\star x ⋆ に任意に近い点でその下側になければならない: 小さい θ > 0 \theta > 0 θ > 0 に対して f ( θ y + ( 1 − θ ) x ⋆ ) ≤ θ f ( y ) + ( 1 − θ ) f ( x ⋆ ) < f ( x ⋆ ) f(\theta y + (1-\theta) x^\star) \le \theta f(y) + (1-\theta) f(x^\star) < f(x^\star) f ( θ y + ( 1 − θ ) x ⋆ ) ≤ θ f ( y ) + ( 1 − θ ) f ( x ⋆ ) < f ( x ⋆ ) が成り立つ。これは x ⋆ x^\star x ⋆ が局所最小であることと矛盾する。なぜなら点 θ y + ( 1 − θ ) x ⋆ \theta y + (1-\theta)x^\star θ y + ( 1 − θ ) x ⋆ は x ⋆ x^\star x ⋆ に任意に近づくからである。
証明 x ⋆ ∈ C x^\star \in C x ⋆ ∈ C を局所最小とし、半径 r > 0 r > 0 r > 0 が存在して ∥ z − x ⋆ ∥ ≤ r \|z - x^\star\| \le r ∥ z − x ⋆ ∥ ≤ r を満たすすべての z ∈ C z \in C z ∈ C に対して f ( z ) ≥ f ( x ⋆ ) f(z) \ge f(x^\star) f ( z ) ≥ f ( x ⋆ ) が成り立つとする。背理法のため、ある点 y ∈ C y \in C y ∈ C が存在して f ( y ) < f ( x ⋆ ) f(y) < f(x^\star) f ( y ) < f ( x ⋆ ) となると仮定する。
任意の θ ∈ ( 0 , 1 ) \theta \in (0, 1) θ ∈ ( 0 , 1 ) に対し、集合と関数の凸性から z θ = θ y + ( 1 − θ ) x ⋆ ∈ C z_\theta = \theta y + (1 - \theta)x^\star \in C z θ = θ y + ( 1 − θ ) x ⋆ ∈ C および f ( z θ ) ≤ θ f ( y ) + ( 1 − θ ) f ( x ⋆ ) = f ( x ⋆ ) + θ ( f ( y ) − f ( x ⋆ ) ) < f ( x ⋆ ) f(z_\theta) \le \theta f(y) + (1 - \theta)f(x^\star) = f(x^\star) + \theta(f(y) - f(x^\star)) < f(x^\star) f ( z θ ) ≤ θ f ( y ) + ( 1 − θ ) f ( x ⋆ ) = f ( x ⋆ ) + θ ( f ( y ) − f ( x ⋆ )) < f ( x ⋆ ) が成り立つ。
∥ z θ − x ⋆ ∥ = θ ∥ y − x ⋆ ∥ \|z_\theta - x^\star\| = \theta \|y - x^\star\| ∥ z θ − x ⋆ ∥ = θ ∥ y − x ⋆ ∥ であるから、0 < θ ≤ r ∥ y − x ⋆ ∥ 0 < \theta \le \dfrac{r}{\|y - x^\star\|} 0 < θ ≤ ∥ y − x ⋆ ∥ r を満たすように選べば ∥ z θ − x ⋆ ∥ ≤ r \|z_\theta - x^\star\| \le r ∥ z θ − x ⋆ ∥ ≤ r かつ f ( z θ ) < f ( x ⋆ ) f(z_\theta) < f(x^\star) f ( z θ ) < f ( x ⋆ ) となり、局所最小であることに矛盾する。
よくある誤り. 上で見た鞍面と3次曲線は、まさにこの定理が凸問題に対して排除するものである: 鞍点や大域的でない局所最小が起こるのは、f f f (または実行可能集合)が凸でない 場合に限られる。先に凸性を確かめておけば、「局所最小を見つけた」がすでに「問題を解いた」を意味するかどうかがわかる。 大学 制約付き問題とKKT条件 制約のない微分可能な凸関数 f f f に対しては、x ⋆ x^\star x ⋆ が大域的最小であることと ∇ f ( x ⋆ ) = 0 \nabla f(x^\star) = 0 ∇ f ( x ⋆ ) = 0 であることは同値である。制約があるとき — f ( x ) f(x) f ( x ) を、制約 g i ( x ) ≤ 0 g_i(x) \le 0 g i ( x ) ≤ 0 (i = 1 , … , m i=1,\dots,m i = 1 , … , m )および h j ( x ) = 0 h_j(x) = 0 h j ( x ) = 0 (j = 1 , … , p j=1,\dots,p j = 1 , … , p )のもとで最小化するとき — 各不等式に非負の乗数 λ i ≥ 0 \lambda_i \ge 0 λ i ≥ 0 を、各等式に自由な乗数 ν j ∈ R \nu_j \in \mathbb{R} ν j ∈ R を付けてラグランジュ関数 を導入する:
L ( x , λ , ν ) = f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ j = 1 p ν j h j ( x ) \mathcal{L}(x,\lambda,\nu) = f(x) + \sum_{i=1}^m \lambda_i\, g_i(x) + \sum_{j=1}^p \nu_j\, h_j(x) L ( x , λ , ν ) = f ( x ) + i = 1 ∑ m λ i g i ( x ) + j = 1 ∑ p ν j h j ( x ) 正則条件(例えばスレーター条件: すべての g i ( x ) < 0 g_i(x) < 0 g i ( x ) < 0 かつ h j ( x ) = 0 h_j(x) = 0 h j ( x ) = 0 を満たす点が存在すること)を満たす微分可能な凸問題において、点 x ⋆ x^\star x ⋆ が最適であることと、乗数 λ ⋆ , ν ⋆ \lambda^\star, \nu^\star λ ⋆ , ν ⋆ が存在して次を満たすことは同値である: (1) 停留性 ∇ x L ( x ⋆ , λ ⋆ , ν ⋆ ) = 0 \nabla_x \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = 0 ∇ x L ( x ⋆ , λ ⋆ , ν ⋆ ) = 0 ; (2) 主実行可能性 g i ( x ⋆ ) ≤ 0 g_i(x^\star) \le 0 g i ( x ⋆ ) ≤ 0 , h j ( x ⋆ ) = 0 h_j(x^\star) = 0 h j ( x ⋆ ) = 0 ; (3) 双対実行可能性 λ i ⋆ ≥ 0 \lambda_i^\star \ge 0 λ i ⋆ ≥ 0 ; (4) 相補スラック性 λ i ⋆ g i ( x ⋆ ) = 0 \lambda_i^\star g_i(x^\star) = 0 λ i ⋆ g i ( x ⋆ ) = 0 がすべての i i i で成り立つ。
なぜ正しいのか? 相補スラック性は、不等式制約 g i ( x ) ≤ 0 g_i(x) \le 0 g i ( x ) ≤ 0 が点 x ⋆ x^\star x ⋆ において非有効 である(g i ( x ⋆ ) < 0 g_i(x^\star) < 0 g i ( x ⋆ ) < 0 なので境界は x ⋆ x^\star x ⋆ を押しておらず、その乗数は λ i ⋆ = 0 \lambda_i^\star = 0 λ i ⋆ = 0 となる)か、または有効 である(g i ( x ⋆ ) = 0 g_i(x^\star) = 0 g i ( x ⋆ ) = 0 なので境界の壁が力 λ i ⋆ ≥ 0 \lambda_i^\star \ge 0 λ i ⋆ ≥ 0 で押し返せる)かのどちらかであることを述べている。このとき停留性は、− ∇ f ( x ⋆ ) -\nabla f(x^\star) − ∇ f ( x ⋆ ) が有効な壁の外向き法線 ∇ g i ( x ⋆ ) \nabla g_i(x^\star) ∇ g i ( x ⋆ ) の非負結合と釣り合うことを表す。
証明 まず、( x ⋆ , λ ⋆ , ν ⋆ ) (x^\star, \lambda^\star, \nu^\star) ( x ⋆ , λ ⋆ , ν ⋆ ) がKKT条件を満たすとする。λ i ⋆ ≥ 0 \lambda_i^\star \ge 0 λ i ⋆ ≥ 0 であり制約関数は凸またはアフィンであるためラグランジュ関数 x ↦ L ( x , λ ⋆ , ν ⋆ ) x \mapsto \mathcal{L}(x, \lambda^\star, \nu^\star) x ↦ L ( x , λ ⋆ , ν ⋆ ) は凸関数となり、停留条件 ∇ x L ( x ⋆ , λ ⋆ , ν ⋆ ) = 0 \nabla_x \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = 0 ∇ x L ( x ⋆ , λ ⋆ , ν ⋆ ) = 0 からこの点はラグランジュ関数を全空間で最小化する。
g i ( x ) ≤ 0 g_i(x) \le 0 g i ( x ) ≤ 0 と h j ( x ) = 0 h_j(x) = 0 h j ( x ) = 0 を満たす任意の実行可能点 x x x に対し、相補スラック性 λ i ⋆ g i ( x ⋆ ) = 0 \lambda_i^\star g_i(x^\star) = 0 λ i ⋆ g i ( x ⋆ ) = 0 より f ( x ⋆ ) = L ( x ⋆ , λ ⋆ , ν ⋆ ) ≤ L ( x , λ ⋆ , ν ⋆ ) = f ( x ) + ∑ i = 1 m λ i ⋆ g i ( x ) + ∑ j = 1 p ν j ⋆ h j ( x ) ≤ f ( x ) f(x^\star) = \mathcal{L}(x^\star, \lambda^\star, \nu^\star) \le \mathcal{L}(x, \lambda^\star, \nu^\star) = f(x) + \sum_{i=1}^m \lambda_i^\star g_i(x) + \sum_{j=1}^p \nu_j^\star h_j(x) \le f(x) f ( x ⋆ ) = L ( x ⋆ , λ ⋆ , ν ⋆ ) ≤ L ( x , λ ⋆ , ν ⋆ ) = f ( x ) + ∑ i = 1 m λ i ⋆ g i ( x ) + ∑ j = 1 p ν j ⋆ h j ( x ) ≤ f ( x ) が成り立ち、大域的最適性が示される。
逆にスレーター条件のもとでは、強双対性により双対最適乗数が存在して f ( x ⋆ ) = g ( λ ⋆ , ν ⋆ ) = inf x L ( x , λ ⋆ , ν ⋆ ) ≤ L ( x ⋆ , λ ⋆ , ν ⋆ ) = f ( x ⋆ ) + ∑ i = 1 m λ i ⋆ g i ( x ⋆ ) ≤ f ( x ⋆ ) f(x^\star) = g(\lambda^\star, \nu^\star) = \inf_x \mathcal{L}(x, \lambda^\star, \nu^\star) \le \mathcal{L}(x^\star, \lambda^\star, \nu^\star) = f(x^\star) + \sum_{i=1}^m \lambda_i^\star g_i(x^\star) \le f(x^\star) f ( x ⋆ ) = g ( λ ⋆ , ν ⋆ ) = inf x L ( x , λ ⋆ , ν ⋆ ) ≤ L ( x ⋆ , λ ⋆ , ν ⋆ ) = f ( x ⋆ ) + ∑ i = 1 m λ i ⋆ g i ( x ⋆ ) ≤ f ( x ⋆ ) が成り立つ。この不等式列はすべて等号でなければならず、それにより停留条件と相補スラック性が導かれる。
例: 直線上で原点に最も近い点
f ( x , y ) = x 2 + y 2 f(x,y) = x^2 + y^2 f ( x , y ) = x 2 + y 2 を、制約 x + y = 1 x + y = 1 x + y = 1 のもとで最小化せよ。
解答 f f f (放物面)と等式 h ( x , y ) = x + y − 1 = 0 h(x,y) = x + y - 1 = 0 h ( x , y ) = x + y − 1 = 0 (アフィン)はいずれも凸問題を定める。ラグランジュ関数は L ( x , y , ν ) = x 2 + y 2 + ν ( x + y − 1 ) \mathcal{L}(x,y,\nu) = x^2 + y^2 + \nu(x + y - 1) L ( x , y , ν ) = x 2 + y 2 + ν ( x + y − 1 ) である。停留条件から 2 x + ν = 0 2x + \nu = 0 2 x + ν = 0 および 2 y + ν = 0 2y + \nu = 0 2 y + ν = 0 が得られ、したがって x = y x = y x = y となる。これを x + y = 1 x + y = 1 x + y = 1 に代入すると x ⋆ = y ⋆ = 1 2 x^\star = y^\star = \tfrac{1}{2} x ⋆ = y ⋆ = 2 1 となり、最小値は f ( x ⋆ , y ⋆ ) = 1 2 f(x^\star, y^\star) = \tfrac{1}{2} f ( x ⋆ , y ⋆ ) = 2 1 である。問題が凸であるため、このKKT点は自動的に大域的最小となる。
例: 相補スラック性による有効な不等式制約の解法
不等式制約 g ( x ) = x − 1 ≤ 0 g(x) = x - 1 \le 0 g ( x ) = x − 1 ≤ 0 のもとで f ( x ) = ( x − 3 ) 2 f(x) = (x - 3)^2 f ( x ) = ( x − 3 ) 2 を最小化せよ。
解答 ラグランジュ関数 L ( x , λ ) = ( x − 3 ) 2 + λ ( x − 1 ) \mathcal{L}(x, \lambda) = (x - 3)^2 + \lambda(x - 1) L ( x , λ ) = ( x − 3 ) 2 + λ ( x − 1 ) を作る。目的関数は狭義凸で制約はアフィンであるため、KKT条件(停留性 ∂ L ∂ x = 2 ( x − 3 ) + λ = 0 \dfrac{\partial \mathcal{L}}{\partial x} = 2(x - 3) + \lambda = 0 ∂ x ∂ L = 2 ( x − 3 ) + λ = 0 、主実行可能性 x − 1 ≤ 0 x - 1 \le 0 x − 1 ≤ 0 、双対実行可能性 λ ≥ 0 \lambda \ge 0 λ ≥ 0 、相補スラック性 λ ( x − 1 ) = 0 \lambda(x - 1) = 0 λ ( x − 1 ) = 0 )が必要十分条件となる。
相補スラック性から2つの場合を調べる:もし λ = 0 \lambda = 0 λ = 0 ならば停留条件より x = 3 x = 3 x = 3 となるが、これは x − 1 ≤ 0 x - 1 \le 0 x − 1 ≤ 0 に反する。
したがって制約は有効でなければならず、x ⋆ = 1 x^\star = 1 x ⋆ = 1 および λ ⋆ = 2 ( 3 − 1 ) = 4 > 0 \lambda^\star = 2(3 - 1) = 4 > 0 λ ⋆ = 2 ( 3 − 1 ) = 4 > 0 が得られ、これは λ ≥ 0 \lambda \ge 0 λ ≥ 0 を満たす。唯一の大域的最小解は x ⋆ = 1 x^\star = 1 x ⋆ = 1 であり、最適値は f ( 1 ) = 4 f(1) = 4 f ( 1 ) = 4 である。
発展 双対性と凸性を超える大域的最適化 L ( x , λ , ν ) \mathcal{L}(x,\lambda,\nu) L ( x , λ , ν ) を x x x に関して(制約なしで!)最小化することで、ラグランジュ双対関数 g ( λ , ν ) = inf x L ( x , λ , ν ) g(\lambda,\nu) = \inf_x \mathcal{L}(x,\lambda,\nu) g ( λ , ν ) = inf x L ( x , λ , ν ) が定義される。g g g は ( λ , ν ) (\lambda,\nu) ( λ , ν ) のアフィン関数の各点下限であるため、元の問題が凸でなくても g g g は常に凹関数 である。任意の λ ≥ 0 \lambda \ge 0 λ ≥ 0 と任意の実行可能点 x x x に対し、各項は λ i g i ( x ) ≤ 0 \lambda_i g_i(x) \le 0 λ i g i ( x ) ≤ 0 および ν j h j ( x ) = 0 \nu_j h_j(x) = 0 ν j h j ( x ) = 0 を満たすので、g ( λ , ν ) ≤ f ( x ) g(\lambda,\nu) \le f(x) g ( λ , ν ) ≤ f ( x ) となる。g ( λ , ν ) g(\lambda,\nu) g ( λ , ν ) を λ ≥ 0 \lambda \ge 0 λ ≥ 0 のもとで最大化する問題は双対問題 と呼ばれ、その最適値 d ⋆ d^\star d ⋆ は常に弱双対性 d ⋆ ≤ p ⋆ d^\star \le p^\star d ⋆ ≤ p ⋆ (主問題の最適値)を満たす。d ⋆ = p ⋆ d^\star = p^\star d ⋆ = p ⋆ のとき強双対性 が成り立つといい、双対ギャップ p ⋆ − d ⋆ p^\star - d^\star p ⋆ − d ⋆ はゼロになる。
主線形計画問題 min { c ⊤ x : A x = b , x ≥ 0 } \min\{c^\top x : Ax = b,\; x \ge 0\} min { c ⊤ x : A x = b , x ≥ 0 } が最適解 x ⋆ x^\star x ⋆ を持つならば、その双対問題 max { b ⊤ y : A ⊤ y ≤ c } \max\{b^\top y : A^\top y \le c\} max { b ⊤ y : A ⊤ y ≤ c } も最適解 y ⋆ y^\star y ⋆ を持ち、両者の最適値は一致する: c ⊤ x ⋆ = b ⊤ y ⋆ c^\top x^\star = b^\top y^\star c ⊤ x ⋆ = b ⊤ y ⋆ 。
なぜ正しいのか? 線形計画問題は多面体の実行可能集合を持つ凸問題である。多面体制約では内点の仮定は不要であり、分離超平面定理(ファルカシュの補題)によって双対ギャップがゼロとなる双対乗数 y ⋆ y^\star y ⋆ の存在が保証される。一般の凸計画問題では、スレーター条件が満たされれば強双対性が成り立つ。
証明 A x = b Ax = b A x = b 、x ≥ 0 x \ge 0 x ≥ 0 を満たす任意の主実行可能ベクトルと A ⊤ y ≤ c A^\top y \le c A ⊤ y ≤ c を満たす任意の双対実行可能ベクトルに対し、内積をとることで弱双対性 b ⊤ y = ( A x ) ⊤ y = x ⊤ ( A ⊤ y ) ≤ x ⊤ c = c ⊤ x b^\top y = (Ax)^\top y = x^\top(A^\top y) \le x^\top c = c^\top x b ⊤ y = ( A x ) ⊤ y = x ⊤ ( A ⊤ y ) ≤ x ⊤ c = c ⊤ x が得られる。
乗数 s ≥ 0 s \ge 0 s ≥ 0 を用いてラグランジュ関数 L ( x , y , s ) = c ⊤ x + y ⊤ ( b − A x ) − s ⊤ x = b ⊤ y + ( c − A ⊤ y − s ) ⊤ x \mathcal{L}(x, y, s) = c^\top x + y^\top(b - Ax) - s^\top x = b^\top y + (c - A^\top y - s)^\top x L ( x , y , s ) = c ⊤ x + y ⊤ ( b − A x ) − s ⊤ x = b ⊤ y + ( c − A ⊤ y − s ) ⊤ x を作る。制約のない主変数について下限をとると、c − A ⊤ y − s = 0 c - A^\top y - s = 0 c − A ⊤ y − s = 0 のときに限り有限な双対値が得られ、双対制約と双対目的関数 g ( y , s ) = b ⊤ y g(y, s) = b^\top y g ( y , s ) = b ⊤ y が導かれる。
x ⋆ x^\star x ⋆ が最適値 p ⋆ = c ⊤ x ⋆ p^\star = c^\top x^\star p ⋆ = c ⊤ x ⋆ をもつ主最適解であるとき、ファルカシュの補題(多面錐に対する超平面分離)により A ⊤ y ⋆ ≤ c A^\top y^\star \le c A ⊤ y ⋆ ≤ c かつ b ⊤ y ⋆ ≥ p ⋆ b^\top y^\star \ge p^\star b ⊤ y ⋆ ≥ p ⋆ を満たすベクトル y ⋆ y^\star y ⋆ の存在が保証される。これと弱双対性を合わせれば b ⊤ y ⋆ = c ⊤ x ⋆ b^\top y^\star = c^\top x^\star b ⊤ y ⋆ = c ⊤ x ⋆ が従う。
歴史的ノート
問題が本質的に非凸 である場合はどうなるだろうか — 例えば、多面体上で凹 関数を最小化する問題(最小値は内部ではなく頂点に現れる)や、2つの凸関数の差 f ( x ) = g ( x ) − h ( x ) f(x) = g(x) - h(x) f ( x ) = g ( x ) − h ( x ) を最適化する問題(DC計画法)である。1964年、ベトナムの数学者ホアン・トゥイ (Hoàng Tụy, 1927–2019)は線形制約下の凹最小化に対する凹カット(トゥイのカット )を導入した。この論文は、凸性によって局所最小が大域的最小であることが保証されない状況で真の大域的最適解を体系的に探す、決定論的大域的最適化 の創始論文として広く認められている。
ホアン・トゥイ
R n \mathbb{R}^n R n における滑らかな凸最適化の3つのアルゴリズム族手法の族 1ステップの情報 1ステップの計算量 精度 ε \varepsilon ε までの反復数 勾配法 / 加速勾配法(ネステロフ) 1次(∇ f \nabla f ∇ f ) O ( n ) O(n) O ( n ) O ( 1 / ε ) O(1/\varepsilon) O ( 1/ ε ) または O ( 1 / ε ) O(1/\sqrt{\varepsilon}) O ( 1/ ε ) ニュートン法 2次(∇ f , ∇ 2 f \nabla f, \nabla^2 f ∇ f , ∇ 2 f ) O ( n 3 ) O(n^3) O ( n 3 ) (連立一次方程式)局所的に O ( log log ( 1 / ε ) ) O(\log\log(1/\varepsilon)) O ( log log ( 1/ ε )) 内点法(バリア法) − ∑ ln ( − g i ) -\sum \ln(-g_i) − ∑ ln ( − g i ) の2次情報ニュートン1ステップあたり O ( n 3 ) O(n^3) O ( n 3 ) O ( m log ( 1 / ε ) ) O(\sqrt{m}\,\log(1/\varepsilon)) O ( m log ( 1/ ε ))
研究の最前線 2026年時点
2026年現在 、凸最適化の研究と応用は2つの領域に大別される。高精度を要する中規模問題(n n n が数万程度まで)では、カルマルカー(1984)が切り開き、ネステロフとネミロフスキ(1994)が自己整合バリア理論として体系化した内点法 が、線形・二次・二次錐・半正定値計画問題を数十回のニュートン反復で解く。近年の理論研究では、線形計画法の最悪計算量は行列積の指数に近いところまで改善されている。一方、機械学習や信号処理の超大規模問題(n n n が数百万〜数十億)では、ニュートン1ステップの O ( n 3 ) O(n^3) O ( n 3 ) という計算量は現実的でなく、ネステロフの O ( 1 / k 2 ) O(1/k^2) O ( 1/ k 2 ) 加速勾配法、近接分離法(ISTA/FISTA, ADMM)、分散低減確率的勾配法(SVRG, SAGA)およびその適応型変種といった1次法・確率的手法 が主力となっている。現在の研究課題には、高次滑らかさのもとでの最適計算量限界、通信最適分散凸最適化、そして凸理論の保証(暗黙の正則化や良性な鞍点幾何など)のどれが深層ネットワークの非凸損失地形に引き継がれるかの解明がある。
R \mathbb{R} R 全体で凸である関数はどれか?
f ( x ) = x 2 f(x)=x^2 f ( x ) = x 2 f ( x ) = − x 2 f(x)=-x^2 f ( x ) = − x 2 f ( x ) = x 3 − 3 x f(x)=x^3-3x f ( x ) = x 3 − 3 x f ( x ) = sin x f(x)=\sin x f ( x ) = sin x 凸最適化問題において、局所最小である点は
常に大域的最小である 実行可能集合が有界な場合にのみ大域的最小である それが一意でない限り大域的最小にはならない 鞍点である
KKT条件における相補スラック性 λ i ⋆ g i ( x ⋆ ) = 0 \lambda_i^\star g_i(x^\star) = 0 λ i ⋆ g i ( x ⋆ ) = 0 の意味は
非有効な不等式制約(g i ( x ⋆ ) < 0 g_i(x^\star) < 0 g i ( x ⋆ ) < 0 )は乗数 λ i ⋆ = 0 \lambda_i^\star = 0 λ i ⋆ = 0 を持たなければならない 最適点ではすべての制約が有効でなければならない すべての乗数は正でなければならない 目的関数は最適点でゼロにならなければならない 実行可能かつ有界な最適解を持つ線形計画問題に対して、強双対性が示すのは
双対最適値は主最適値と等しい 双対問題には解がない 双対ギャップは問題サイズとともに大きくなる これは非線形凸計画問題でのみ保証される