得られた解が最適解であることを確認するためには、特定の条件が満たされる必要があります。ここでは、様々な種類の最適化問題における解の十分条件について詳しく説明します。
すべての非線形関数は、解の近傍で連続な二階導関数を持つと仮定します。
4.1 無制約最小化
無制約最小化問題は、最も基本的な最適化問題の形式ですが、点x∗がf(x)の無制約局所最小値であるための十分条件は以下の通りです:
‖∇f(x∗)‖=0 および
∇2f(x∗)が正定値
ここで、‖⋅‖はユークリッドノルムを表します。
4.2 変数に対する境界付き最小化
変数に境界制約がある場合、解の条件は無制約の場合とは異なります。
境界制約付き問題の解において、境界上にない変数は自由変数と呼ばれます。解においてどの変数が境界上にあるかが事前に分かっている場合、問題は自由変数だけの無制約問題として解くことができます。したがって、解の十分条件は無制約の場合と同様ですが、自由変数にのみ適用されます。
実行可能点x∗が境界制約付き問題の解であるための十分条件は以下の通りです:
‖ˉg(x∗)‖=0; および
ˉG(x∗)が正定値; および
∂∂xjf(x∗)<0,xj=uj; ∂∂xjf(x∗)>0,xj=lj,
ここで、ˉg(x)は自由変数に関するf(x)の勾配であり、ˉG(x)は自由変数に関するf(x)のヘッシアン行列です。追加条件(iii)は、1つ以上の境界から離れることによってf(x)を減少させることができないことを保証します。
4.3 線形制約付き最小化
線形制約付き最小化問題は、多くの実用的な最適化問題の基礎となります。
ここでは、一般的な線形不等式制約に対する結果を説明します。これらの結果は、境界制約や範囲制約といった特殊なケースにも直接適用できるため、それらの具体的な取り扱いについては別途言及しません。
線形制約付き問題の最適解x∗において、等式として成立する制約をアクティブ制約またはバインディング制約と呼びます。最適解x∗において、t個のアクティブ制約が存在すると仮定します。このとき、ˆAをアクティブ制約に対応するAの列で構成された行列、ˆbを同様にbから得られるベクトルとすると、次のように表現できます:
ˆATx∗=ˆb.
行列Zは、以下を満たすn×(n−t)行列として定義されます:
ˆATZ=0; ZTZ=I.
Zの列はˆAの列に直交するベクトルの集合の直交基底を形成します。 ここで、以下の定義を導入します: - gZ(x)=ZT∇f(x):f(x)の射影勾配ベクトル - GZ(x)=ZT∇2f(x)Z:f(x)の射影ヘッシアン行列
線形制約付き問題の最適解においては、射影勾配ベクトルがゼロでなければなりません。これは、勾配ベクトル∇f(x∗)がˆAの列の線形結合として表現できることを意味します。すなわち、∇f(x∗)=∑ti=1λ∗iˆai=ˆAλ∗となります。
ここで、スカラーλ∗iはi番目のアクティブ制約に対応するラグランジュ乗数と定義されます。i番目のラグランジュ乗数は、i番目のアクティブ制約の法線方向におけるf(x)の勾配を表すと解釈できます。
ラグランジュ乗数ベクトルの便利な定義式(ただし、実際の計算には推奨されません)は次のとおりです:
λ∗=(ˆATˆA)−1ˆAT∇f(x∗).
x∗が線形制約付き問題の解であるための十分条件は:
x∗が実行可能で、ˆATx∗=ˆb; および
‖gZ(x∗)‖=0、または同等に、∇f(x∗)=ˆAλ∗; および
GZ(x∗)が正定値; および
λ∗i>0 if λ∗iが制約ˆaTix∗≥ˆbiに対応する場合; λ∗i<0 if λ∗iが制約ˆaTix∗≤ˆbiに対応する場合。 等式制約の場合、定義上常にアクティブであるため、λ∗iの符号は重要ではありません。
4.4 非線形制約付き最小化
非線形制約付き問題では、多くの概念が線形制約付き問題と同様に定義されます。ここでは、表記を簡略化するために、すべての非線形制約をc(x)≥0の形で表現すると仮定します。
xにおけるアクティブ制約の集合は、xで等式として成立する制約の集合を指します。これに関連して、ˆcとˆAも定義されます。具体的には、ˆc(x)はアクティブ制約関数を含むベクトルであり、ˆA(x)の列はアクティブ制約の勾配ベクトルです。
前述の定義と同様に、ZはˆA(x)に関して以下の条件を満たす行列として定義されます:
ˆATZ=0; ZTZ=I
ただし、ここでは表記の簡便さのため、xへの依存性は省略しています。
射影勾配ベクトルgZ(x)は、ベクトルZT∇f(x)です。非線形制約付き問題の解x∗において、射影勾配はゼロでなければなりません。これはアクティブ制約に対応するラグランジュ乗数の存在を意味します。つまり、∇f(x∗)=ˆA(x∗)λ∗です。
ラグランジュ関数は以下のように与えられます:
L(x,λ)=f(x)−λTˆc(x).
gL(x)をラグランジュ関数の勾配、GL(x)をそのヘッシアン行列、ˆGL(x)をその射影ヘッシアン行列(つまり、ˆGL=ZTGLZ)と定義します。
x∗が非線形制約付き問題の解であるための十分条件は:
x∗が実行可能で、ˆc(x∗)=0; および
‖gZ(x∗)‖=0、または同等に、∇f(x∗)=ˆA(x∗)λ∗; および
ˆGL(x∗)が正定値; および
λ∗i>0 if λ∗iがˆci≥0の形式の制約に対応する場合。 等式制約の場合、定義上常にアクティブであるため、λ∗iの符号は重要ではありません。
条件(ii)は重要な意味を持ちます。ZTを適用すると行列ˆA(x∗)が消去されるため、x∗におけるラグランジュ関数の射影勾配もゼロでなければなりません。