WIIS

関数の最適化

複数の線型不等式制約条件のもとでの多変数関数の最小化問題

目次

関連知識

Mailで保存
Xで共有

複数の線型不等式制約条件のもとでの多変数関数の最小化問題

多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)が与えられているものとします。加えて、有限\(m\)個ずつの非ゼロベクトル\(a_{1},\cdots ,a_{m}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{1},\cdots ,c_{m}\in \mathbb{R} \)が与えられているものとします。ベクトルとスカラーの組\(\left(a_{i},c_{i}\right) \ \left( i=1,\cdots ,m\right) \)から以下の集合\begin{eqnarray*}G_{i} &=&\left\{ x\in \mathbb{R} ^{n}\ |\ a_{i}\cdot x\leq c_{i}\right\} \\
&=&\left\{ \left( x_{1},\cdots ,x_{n}\right) \in \mathbb{R} ^{n}\ |\ a_{i1}x_{1}+\cdots +a_{in}x_{n}\leq c_{i}\right\}
\end{eqnarray*}を定義し、これを\(i\)番目の制約集合(\(i\) th constraint set)と呼びます。その上で、すべての制約集合\(G_{1},\cdots ,G_{m}\)の共通部分を、\begin{equation*}G=\bigcap_{i=1}^{m}G_{i}
\end{equation*}で表記し、これを制約集合(constraint set)と呼びます。関数\(f\)の変数\(x\)がとり得る値の範囲を以下の集合\begin{equation*}X\cap G
\end{equation*}に制限した場合の\(f\)の最小点を特定する問題を線型不等式制約付き最小化問題(minimization problem with linear constraints)と呼び、これを、

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

で表記します。集合\(X\cap G\)を最小化問題の定義域(domain of the minimization problem)と呼びます。\(X=\mathbb{R} ^{n}\)の場合には\(X\cap G=G\)です。最小化問題において最小化する対象となる関数\(f\)を目的関数(objective function)と呼び、制約集合\(G\)を規定するそれぞれの条件\(a_{i}\cdot x\leq c_{i}\)を\(i\)番目の不等式制約条件(\(i\) th inequality constraint)と呼びます。

点\(x\in X\)が制約集合\(G\)の要素である場合、すなわち、\begin{equation*}\forall i\in \left\{ 1,\cdots ,m\right\} :a_{i}\cdot x\leq c_{i}
\end{equation*}が成り立つ場合、点\(x\)は実行可能(feasible)であると言います。点\(x\in X\)が\(i\)番目の制約集合\(G_{i}\)の内点である場合、すなわち、\begin{equation*}a_{i}\cdot x<c_{i}
\end{equation*}が成り立つ場合には、点\(x\)のもとで\(i\)番目の制約条件はバインドしない(not binded)とか有効ではない(inactive)などと言います。点\(x\in X\)が\(i\)番目の制約集合\(G_{i}\)の境界点である場合、すなわち、\begin{equation*}a_{i}\cdot x=c_{i}
\end{equation*}が成り立つ場合には、点\(x\)のもとで\(i\)番目の制約条件はバインドする(binded)とか有効である(active)などと言います。

非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{i}\in \mathbb{R} \)が与えられたとき、それぞれの\(x\in \mathbb{R} ^{n}\)に対して、\begin{equation*}g_{i}\left( x\right) =a_{i}\cdot x-c_{i}
\end{equation*}を定める多変数関数\(g_{i}:\mathbb{R} ^{n}\rightarrow \mathbb{R} \)を定義すれば、\(i\)番目の制約集合を、\begin{equation*}G_{i}=\left\{ x\in \mathbb{R} ^{n}\ |\ g_{i}\left( x\right) \leq 0\right\}
\end{equation*}と表現できるため、先の最小化問題を、

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & g_{1}\left( x\right) \leq 0 \\
& {\vdots } \\
& g_{m}\left( x\right) \leq 0\end{array}$$

と表現することもできます。

例(線型不等式制約付き最小化問題)
1変数関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)を目的関数とする2つの線型不等式制約付き最小化問題は、非ゼロの実数\(a_{1},a_{2}\in \mathbb{R} \backslash \left\{ 0\right\} \)およびスカラー\(c_{1},c_{2}\in \mathbb{R} \)を用いて、

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}x\leq c_{1} \\
& a_{2}x\leq c_{2}\end{array}$$

と定式化されます。

例(線型不等式制約付き最小化問題)
2変数関数\(f:\mathbb{R} ^{2}\supset X\rightarrow \mathbb{R} \)を目的関数とする2つの線型不等式制約付き最小化問題は、非ゼロのベクトル\(\left(a_{11},a_{12}\right) ,\left( a_{21},a_{22}\right) \in \mathbb{R} ^{2}\backslash \left\{ \left( 0,0\right) \right\} \)およびスカラー\(c_{1},c_{2}\in \mathbb{R} \)を用いて、

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in X} & f\left( x_{1},x_{2}\right) \\
s.t. & a_{11}x_{1}+a_{12}x_{2}\leq c_{1} \\
& a_{21}x_{1}+a_{22}x_{2}\leq c_{2}\end{array}$$

と定式化されます。

例(線型不等式制約付き最小化問題)
関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)および非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)とスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,\cdots ,m\right) \)から以下の問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\geq c_{1} \\
& \vdots \\
& a_{m}\cdot x\geq c_{m}\end{array}$$

を構成します。先に定式化した最小化問題とは異なり、制約条件\(a_{i}\cdot x\geq c_{i}\)の不等号の向きが逆になっています。ただし、これを以下の問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & -a_{1}\cdot x\leq -c_{1} \\
& \vdots \\
& -a_{m}\cdot x\leq -c_{m}\end{array}$$

に読み替えることにより、通常の最小化問題として扱うことができます。

 

最小点であるための必要条件(クーン・タッカー条件)

複数の線型不等式制約条件を持つ最小化問題に解が存在する場合、それはどのような条件を満たすのでしょうか。2変数関数を目的関数とする2つの制約条件のもとでの最小化問題について議論した上で、後に結論を一般化します。

目的関数\(f:\mathbb{R} ^{2}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(\left(a_{11},a_{12}\right) ,\left( a_{21},a_{22}\right) \in \mathbb{R} ^{2}\backslash \left\{ \left( 0,0\right) \right\} \)およびスカラー\(c_{1},c_{2}\in \mathbb{R} \)から最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in X} & f\left( x_{1},x_{2}\right) \\
s.t. & a_{11}x_{1}+a_{12}x_{2}\leq c_{1} \\
& a_{21}x_{1}+a_{22}x_{2}\leq c_{2}\end{array}$$

を定義します。それぞれの制約条件に関する制約集合は、\begin{eqnarray*}
G_{1} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ a_{11}x_{1}+a_{12}x_{2}\leq c_{1}\right\} \\
G_{2} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ a_{21}x_{1}+a_{22}x_{2}\leq c_{2}\right\}
\end{eqnarray*}であり、全体の制約集合は、\begin{equation*}
G=G_{1}\cap G_{2}
\end{equation*}です。最小点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X\cap G\)が存在する場合、そこではどのような条件が成り立つのでしょうか。ただし、\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)は\(f\)の定義域\(X\)の内点であるものとします。つまり\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in X^{i}\cap G\)です。加えて、関数\(f\)は点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)において全微分可能であるものとします。この場合、勾配ベクトル\begin{equation*}\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in \mathbb{R} ^{2}
\end{equation*}が存在します。以降では\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が最小点であるための必要条件を明らかにします。

まずは、最小点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)のもとで2つの制約条件がともにバインドしない場合、すなわち、\begin{eqnarray*}a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast } &<&c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast } &<&c_{2}
\end{eqnarray*}が成り立つ場合について考えます。これは\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が制約集合\(G\)の内点であることを意味します。つまり\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in X^{i}\cap G^{i}\)です。内部の共通部分は共通部分の内部と一致するため\(\left(x_{1}^{\ast },x_{2}^{\ast }\right) \in \left( X\cap G\right) ^{i}\)でもあります。すると点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)の周辺の任意の点が\(X\cap G\)の要素であるため、\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \)は最小化問題の極小点です。したがって、極小点であるための1階の必要条件より、\begin{equation*}\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =\left( 0,0\right)
\end{equation*}が成り立ちます。

次に、最小点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)のもとで1番目の制約条件がバインドする一方で2番目の制約条件がバインドしない場合、すなわち、\begin{eqnarray*}a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast } &=&c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast } &<&c_{2}
\end{eqnarray*}が成り立つ場合について考えます。これは\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が制約集合\(G_{1}\)の境界点である一方で制約集合\(G_{2}\)の内点であることを意味します。つまり\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in X^{i}\cap G_{1}^{f}\cap G_{2}^{i}\)です。この場合には\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)は直線\(a_{11}x_{1}+a_{12}x_{2}=c_{1}\)上の点である一方で直線\(a_{21}x_{1}+a_{22}x_{2}=c_{2}\)上の点ではありません。なお、直線\(a_{11}x_{1}+a_{12}x_{2}=c_{1}\)の法線ベクトルは\(\left( a_{11},a_{12}\right) \)です(下図)。

図:一方の制約条件がバインドする解
図:一方の制約条件がバインドする解

点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in X^{i}\cap G_{1}^{f}\cap G_{2}^{i}\)が与えられたとき、十分小さい\(t>0\)について、\begin{equation}\left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left( d_{1},d_{2}\right) \in
X\cap G \quad \cdots (1)
\end{equation}を満たす方向ベクトル\(\left( d_{1},d_{2}\right) \in \mathbb{R} ^{2}\)を任意に選んで固定します。つまり、始点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)から方向\(\left( d_{1},d_{2}\right) \)にわずかに移動して得られる点が\(X\cap G\)の点であるということです。このような方向ベクトル\(\left(d_{1},d_{2}\right) \)を実行可能な方向(feasible direction)と呼びます。\(\left( 1\right) \)を変形すると、\begin{eqnarray*}\left( 1\right) &\Rightarrow &\left( a_{11},a_{12}\right) \cdot \left(
x_{1}^{\ast }+td_{1},x_{2}^{\ast }+td_{2}\right) \leq c_{1}\quad \because G\text{の定義} \\
&\Leftrightarrow &\left( a_{11},a_{12}\right) \cdot \left( x_{1}^{\ast
}+td_{1},x_{2}^{\ast }+td_{2}\right) \leq a_{11}x_{1}+a_{12}x_{2}\quad
\because a_{11}x_{1}+a_{12}x_{2}=c_{1} \\
&\Leftrightarrow &\left( a_{11},a_{12}\right) \cdot \left(
d_{1},d_{2}\right) \leq 0\quad \because t>0
\end{eqnarray*}という関係が成り立ちます。つまり、\(\left(d_{1},d_{2}\right) \)が\(\left( 1\right) \)を満たす場合、すなわち実行可能な方向である場合には\(\left( a_{11},a_{12}\right) \)と\(\left( d_{1},d_{2}\right) \)が作る角が直角または鈍角になります。任意の実行可能な方向\(\left( d_{1},d_{2}\right) \)について同様の議論が成立します(下図)。

図:一方の制約条件がバインドする解
図:一方の制約条件がバインドする解

再び\(\left( 1\right) \)を満たす\(\left(d_{1},d_{2}\right) \)すなわち実行可能な方向ベクトルを任意に選んで固定します。\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が最小点であることから、十分小さい任意の\(t>0\)について、\begin{equation*}f\left( \left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left(
d_{1},d_{2}\right) \right) \geq f\left( x_{1}^{\ast },x_{2}^{\ast }\right)
\end{equation*}が成り立ちます。すると\(t>0\)より、\begin{equation*}\frac{f\left( \left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left(
d_{1},d_{2}\right) \right) -f\left( x_{1}^{\ast },x_{2}^{\ast }\right) }{t}\geq 0
\end{equation*}を得るため、このとき、\begin{equation*}
\lim_{t\rightarrow 0+}\frac{f\left( \left( x_{1}^{\ast },x_{2}^{\ast
}\right) +t\left( d_{1},d_{2}\right) \right) -f\left( x_{1}^{\ast
},x_{2}^{\ast }\right) }{t}\geq \lim_{t\rightarrow 0+}0
\end{equation*}すなわち、\begin{equation*}
\lim_{t\rightarrow 0+}\frac{f\left( \left( x_{1}^{\ast },x_{2}^{\ast
}\right) +t\left( d_{1},d_{2}\right) \right) -f\left( x_{1}^{\ast
},x_{2}^{\ast }\right) }{t}\geq 0
\end{equation*}を得ます。左辺は変数\(t\)に関するベクトル値関数\(g\left( t\right) =t\left( d_{1},d_{2}\right) \)と多変数関数\(f\left( x_{1},x_{2}\right) \)の合成関数の点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \)における右側微分係数ですが、仮定より\(f\)は点\(\left( x_{1}^{\ast },x_{2}^{\ast}\right) \)において全微分可能であるため、合成関数の微分より、\begin{equation*}\lim_{t\rightarrow 0+}\frac{f\left( \left( x_{1}^{\ast },x_{2}^{\ast
}\right) +t\left( d_{1},d_{2}\right) \right) -f\left( x_{1}^{\ast
},x_{2}^{\ast }\right) }{t}=\nabla f\left( x_{1}^{\ast },x_{2}^{\ast
}\right) \cdot \left( d_{1},d_{2}\right)
\end{equation*}となります。したがって、\begin{equation*}
\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \cdot \left(
d_{1},d_{2}\right) \geq 0
\end{equation*}すなわち、\begin{equation*}
-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \cdot \left(
d_{1},d_{2}\right) \geq 0
\end{equation*}を得ます。これは\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)と\(\left(d_{1},d_{2}\right) \)が作る角が直角または鈍角であることを意味します。

議論を整理しましょう。1番目の制約条件がバインドする一方で2番目の制約条件がバインドしない最小点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)に対して、実行可能な方向、すなわち、\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left( d_{1},d_{2}\right) \in
X\cap G
\end{equation*}を満たす\(\left( d_{1},d_{2}\right) \in \mathbb{R} ^{2}\)を任意に選んだときに、\begin{eqnarray*}&&\left( a\right) \ \left( a_{11},a_{12}\right) \cdot \left(
d_{1},d_{2}\right) \leq 0 \\
&&\left( b\right) \ -\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \cdot
\left( d_{1},d_{2}\right) \leq 0
\end{eqnarray*}がともに成り立つことが保証されます。つまり、\(\left( a_{11},a_{12}\right) \)と直角または鈍角をなす\(\left( d_{1},d_{2}\right) \)を任意に選んだとき、この\(\left(d_{1},d_{2}\right) \)は\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast}\right) \)とも直角または鈍角をなすことが保証されるということです。このような条件を満たすためには\(\left(a_{11},a_{12}\right) \)と\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast}\right) \)は同方向である必要があります(下図)。なぜなら、\(\left(a_{11},a_{12}\right) \)と\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast}\right) \)の方向が異なる場合には\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)と直線\(a_{11}x_{1}+a_{12}x_{2}=c_{1}\)が作る角は鋭角になるため、\(\left( a_{11},a_{12}\right) \)とは鈍角をなす一方で\(-\nabla f\left(x_{1}^{\ast },x_{2}^{\ast }\right) \)とは鋭角をなす\(\left( d_{1},d_{2}\right) \)が存在してしまうからです。

図:一方の制約条件がバインドする解
図:一方の制約条件がバインドする解

以上の議論より、\begin{equation*}
-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =\lambda \left(
a_{11},a_{12}\right)
\end{equation*}すなわち、\begin{equation*}
\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =-\lambda \left(
a_{11},a_{12}\right)
\end{equation*}を満たす非負の実数\(\lambda \geq 0\)が存在することが明らかになりました。

続いて、最小点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)のもとで1番目の制約条件がバインドしない一方で2番目の制約条件がする場合、すなわち、\begin{eqnarray*}a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast } &<&c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast } &=&c_{2}
\end{eqnarray*}が成り立つ場合について考えます。この場合にも先と同様の議論より、\begin{equation*}
\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =-\lambda \left(
a_{21},a_{22}\right)
\end{equation*}を満たす非負の実数\(\lambda \geq 0\)が存在することが明らかになります。

最後に、最小点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)のもとで2つの制約条件がともにバインドする場合、すなわち、\begin{eqnarray*}a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast } &=&c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast } &=&c_{2}
\end{eqnarray*}が成り立つ場合について考えます。これは\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が\(G_{1}\)の境界点であるとともに\(G_{2}\)の境界点でもあることを意味します。つまり\(\left( x_{1}^{\ast },x_{2}^{\ast }\right)\in X^{i}\cap G_{1}^{f}\cap G_{2}^{f}\)です。この場合には、\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \)は2つの直線\(a_{11}x_{1}+a_{12}x_{2}=c_{1}\)と\(a_{21}x_{1}+a_{22}x_{2}=c_{2}\)の交点です(下図)。

図:両方の制約条件がバインドする解
図:両方の制約条件がバインドする解

点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \in X^{i}\cap G_{1}^{f}\cap G_{2}^{f}\)が与えられたとき、十分小さい\(t>0\)について、\begin{equation}\left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left( d_{1},d_{2}\right) \in
X\cap G \quad \cdots (1)
\end{equation}を満たす実行可能な方向\(\left( d_{1},d_{2}\right) \in \mathbb{R} ^{2}\)を任意に選んで固定します。このとき、\begin{eqnarray*}\left( 1\right) &\Leftrightarrow &\forall i\in \left\{ 1,2\right\} :\left(
a_{i1},a_{i2}\right) \cdot \left( x_{1}^{\ast }+td_{1},x_{2}^{\ast
}+td_{2}\right) \leq c_{i}\quad \because G\text{の定義} \\
&\Leftrightarrow &\forall i\in \left\{ 1,2\right\} :\left(
a_{i1},a_{i2}\right) \cdot \left( x_{1}^{\ast }+td_{1},x_{2}^{\ast
}+td_{2}\right) \leq a_{i1}x_{1}+a_{i2}x_{2}\quad \because
a_{i1}x_{1}+a_{i2}x_{2}=c_{i} \\
&\Leftrightarrow &\forall i\in \left\{ 1,2\right\} :\left(
a_{i1},a_{i2}\right) \cdot \left( d_{1},d_{2}\right) \leq 0\quad \because t>0
\end{eqnarray*}という関係が成り立ちます。つまり、\(\left(d_{1},d_{2}\right) \)が\(\left( 1\right) \)を満たすこと、すなわち実行可能な方向であることは、\(\left( a_{11},a_{12}\right) \)と\(\left( d_{1},d_{2}\right) \)が作る角と\(\left(a_{21},a_{22}\right) \)と\(\left( d_{1},d_{2}\right) \)が作る角がともに直角または鈍角であることと必要十分です。任意の実行可能な方向\(\left( d_{1},d_{2}\right) \)について同様の議論が成立します(下図)。

図:両方の制約条件がバインドする解
図:両方の制約条件がバインドする解

再び\(\left( 1\right) \)を満たす\(\left(d_{1},d_{2}\right) \)すなわち実行可能な方向ベクトルを任意に選んで固定します。\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)が最小点であることから、先と同様の理由により、\begin{equation*}-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \cdot \left(
d_{1},d_{2}\right) \leq 0
\end{equation*}が成り立ちます。これは\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)と\(\left( d_{1},d_{2}\right) \)が作る角が直角または鈍角であることを意味します。

議論を整理しましょう。2つの制約条件がバインドする最小点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)に対して、実行可能な方向、すなわち、\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast }\right) +t\left( d_{1},d_{2}\right) \in
X\cap G
\end{equation*}を満たす\(\left( d_{1},d_{2}\right) \in \mathbb{R} ^{2}\)を任意に選んだときに、\begin{eqnarray*}&&\left( a\right) \ \left( a_{11},a_{12}\right) \cdot \left(
d_{1},d_{2}\right) \leq 0 \\
&&\left( b\right) \ \left( a_{21},a_{22}\right) \cdot \left(
d_{1},d_{2}\right) \leq 0 \\
&&\left( c\right) \ -\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \cdot
\left( d_{1},d_{2}\right) \leq 0
\end{eqnarray*}がすべて成り立つことが保証されます。つまり、\(\left( a_{11},a_{12}\right) \)や\(\left( a_{21},a_{22}\right) \)と直角または鈍角をなす\(\left( d_{1},d_{2}\right) \)を任意に選んだとき、この\(\left( d_{1},d_{2}\right) \)は\(-\nabla f\left(x_{1}^{\ast },x_{2}^{\ast }\right) \)とも直角または鈍角をなすことが保証されるということです。このような条件を満たすためには\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)は\(\left( a_{11},a_{12}\right) \)と\(\left( a_{21},a_{22}\right) \)が作る角の間にある必要があります(下図)。なぜなら、そうでない場合には\(-\nabla f\left(x_{1}^{\ast },x_{2}^{\ast }\right) \)と少なくとも一本の直線が作る角が鈍角になるため、\(\left( a_{11},a_{12}\right) \)と\(\left( a_{21},a_{22}\right) \)の一方と鈍角をなす一方で\(-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)とは鋭角をなす\(\left(d_{1},d_{2}\right) \)が存在してしまうからです。

図:両方の制約条件がバインドする解
図:両方の制約条件がバインドする解

以上の議論より、\begin{equation*}
-\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =\lambda _{1}\left(
a_{11},a_{12}\right) +\lambda _{2}\left( a_{21},a_{22}\right)
\end{equation*}すなわち、\begin{equation*}
\nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right) =-\lambda _{1}\left(
a_{11},a_{12}\right) -\lambda _{2}\left( a_{21},a_{22}\right)
\end{equation*}を満たす非負の実数\(\lambda _{1},\lambda _{2}\geq 0\)が存在することが明らかになりました。

得られた結果を整理します。2変数関数\(f\)の定義域の内点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)が最小点である場合には、\begin{eqnarray*}&&\left( 1\right) \ \left.
\begin{array}{c}
a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast }<c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast }<c_{2}\end{array}\right\} \Rightarrow \nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right)
=\left( 0,0\right) \\
&&\left( 2\right) \ \left.
\begin{array}{c}
a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast }=c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast }<c_{2}\end{array}\right\} \Rightarrow \exists \lambda \geq 0:\nabla f\left( x_{1}^{\ast
},x_{2}^{\ast }\right) =-\lambda \left( a_{11},a_{12}\right) \\
&&\left( 3\right) \ \left.
\begin{array}{c}
a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast }<c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast }=c_{2}\end{array}\right\} \Rightarrow \exists \lambda \geq 0:\nabla f\left( x_{1}^{\ast
},x_{2}^{\ast }\right) =-\lambda \left( a_{21},a_{22}\right) \\
&&\left( 4\right) \ \left.
\begin{array}{c}
a_{11}x_{1}^{\ast }+a_{12}x_{2}^{\ast }=c_{1} \\
a_{21}x_{1}^{\ast }+a_{22}x_{2}^{\ast }=c_{2}\end{array}\right\} \Rightarrow \exists \lambda _{1},\lambda _{2}\geq 0:\nabla f\left(
x_{1}^{\ast },x_{2}^{\ast }\right) =-\lambda _{1}\left( a_{11},a_{12}\right)
-\lambda _{2}\left( a_{21},a_{22}\right)
\end{eqnarray*}がすべて成り立つことが明らかになりました。以上の結果をよりシンプルに表現しましょう。\(\left( 4\right) \)において\(\lambda _{1}=\lambda _{2}=0\)とすれば\(\left( 1\right) \)を得て、\(\left( 4\right) \)において\(\lambda _{2}=0\)とすれば\(\left( 2\right) \)を得て、\(\left( 4\right) \)において\(\lambda _{1}=0\)とすれば\(\left( 3\right) \)を得ます。したがって、以上の条件を、\begin{eqnarray*}&&\left( a\right) \ \nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right)
=-\lambda _{1}\left( a_{11},a_{12}\right) -\lambda _{2}\left(
a_{21},a_{22}\right) \\
&&\left( b\right) \ \forall i\in \left\{ 1,2\right\} :\lambda _{i}\geq 0
\end{eqnarray*}すなわち、\begin{eqnarray*}
&&\left( a\right) \ \nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right)
+\lambda _{1}\left( a_{11},a_{12}\right) +\lambda _{2}\left(
a_{21},a_{22}\right) =\left( 0,0\right) \\
&&\left( b\right) \ \forall i\in \left\{ 1,2\right\} :\lambda _{i}\geq 0
\end{eqnarray*}を満たす\(\lambda _{1},\lambda _{2}\in \mathbb{R} \)が存在することとして表現できます。\(i\ \left(=1,2\right) \)番目の制約条件がバインドする場合、すなわち\(a_{i1}x_{1}^{\ast }+a_{i2}x_{2}^{\ast}=c_{i}\)である場合には\(\lambda_{i}\left( a_{i1}x_{1}^{\ast }+a_{i2}x_{2}^{\ast }-c_{i}\right) =0\)が成り立ちます。一方、\(i\)番目の制約条件がバインドしない場合、すなわち\(a_{i1}x_{1}^{\ast}+a_{i2}x_{2}^{\ast }<c_{i}\)である場合には\(\lambda _{i}=0\)となるため、やはり\(\lambda _{i}\left( a_{i1}x_{1}^{\ast}+a_{i2}x_{2}^{\ast }-c_{i}\right) =0\)が成り立ちます。したがって、\begin{equation*}\left( c\right) \ \forall i\in \left\{ 1,2\right\} :\lambda _{i}\left(
a_{i1}x_{1}^{\ast }+a_{i2}x_{2}^{\ast }-c_{i}\right) =0
\end{equation*}が成り立ちます。さらに、最適解\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \)が2つの制約条件をともに満たすことを明示するのであれば、\begin{equation*}\left( d\right) \ \forall i\in \left\{ 1,2\right\} :a_{i1}x_{1}^{\ast
}+a_{i2}x_{2}^{\ast }\leq c_{i}
\end{equation*}となります。\(\left( a\right) \)を1階の条件(first order condition)と呼び、\(\left( b\right) ,\left( c\right),\left( d\right) \)をまとめて相補スラック条件(complementary slackness condition)と呼びます。また、\(\left( a\right) \)から\(\left( d\right) \)までの条件をまとめてカルーシュ・クーン・タッカー条件(Karush-Kuhn-Tucker condition)と呼びます。

命題(線型不等式制約付き最小化問題の解であるための必要条件)
2変数関数\(f:\mathbb{R} ^{2}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(\left(a_{i1},a_{i2}\right) \in \mathbb{R} ^{2}\backslash \left\{ \left( 0,0\right) \right\} \)およびスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,2\right) \)から最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in X} & f\left( x_{1},x_{2}\right) \\
s.t. & a_{11}x_{1}+a_{12}x_{2}\leq c_{1} \\
& a_{21}x_{1}+a_{22}x_{2}\leq c_{2}\end{array}$$

を定義する。関数\(f\)の定義域の内点\(\left( x_{1}^{\ast},x_{2}^{\ast }\right) \in X^{i}\cap G\)が最小点であり、なおかつ\(f\)が点\(\left( x_{1}^{\ast },x_{2}^{\ast }\right) \)において全微分可能であるならば、以下の条件\begin{eqnarray*}&&\left( a\right) \ \nabla f\left( x_{1}^{\ast },x_{2}^{\ast }\right)
+\lambda _{1}\left( a_{11},a_{12}\right) +\lambda _{2}\left(
a_{21},a_{22}\right) =\left( 0,0\right) \\
&&\left( b\right) \ \forall i\in \left\{ 1,2\right\} :\lambda _{i}\left(
a_{i1}x_{1}^{\ast }+a_{i2}x_{2}^{\ast }-c_{i}\right) =0 \\
&&\left( c\right) \ \forall i\in \left\{ 1,2\right\} :a_{i1}x_{1}^{\ast
}+a_{i2}x_{2}^{\ast }\leq c_{i} \\
&&\left( d\right) \ \forall i\in \left\{ 1,2\right\} :\lambda _{i}\geq 0
\end{eqnarray*}を満たす実数\(\lambda _{1},\lambda_{2}\in \mathbb{R} \)が存在する。

目的関数が一般の多変数関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)であるとともに、制約条件の個数\(m\)が任意である場合の最小化問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

についても同様の議論が成立するため以下の命題を得ます。

命題(線型不等式制約付き最小化問題の解であるための必要条件)
関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,\cdots ,m\right) \)から最小化問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

を定義する。関数\(f\)の定義域の内点\(x^{\ast }\in X^{i}\cap G\)が最小点であり、なおかつ\(f\)が点\(x^{\ast }\)において全微分可能であるならば、以下の条件\begin{eqnarray*}&&\left( a\right) \ \nabla f\left( x^{\ast }\right) +\sum_{i=1}^{m}\lambda
_{i}a_{i}=0 \\
&&\left( b\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda
_{i}\left( a_{i}\cdot x^{\ast }-c_{i}\right) =0 \\
&&\left( c\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :a_{i}\cdot
x^{\ast }\leq c_{i} \\
&&\left( d\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda
_{i}\geq 0
\end{eqnarray*}を満たす実数\(\lambda _{1},\cdots,\lambda _{m}\in \mathbb{R} \)が存在する。

例(最小化問題に関するクーン・タッカー条件)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =x_{1}^{2}+x_{2}^{2}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+x_{2}\leq 4 \\
& x_{1}\geq 0 \\
& x_{2}\geq 1\end{array}$$

について考えます。これは以下の問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+x_{2}\leq 4 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq -1\end{array}$$

へ読み替え可能です。それぞれの制約条件に対応する制約集合は、\begin{eqnarray*}
G_{1} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+x_{2}\leq 4\right\} \\
G_{2} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ -x_{1}\leq 0\right\} \\
G_{2} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ -x_{2}\leq -1\right\}
\end{eqnarray*}であり、全体の制約集合は、\begin{eqnarray*}
G &=&G_{1}\cap G_{2}\cap G_{3} \\
&=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+x_{2}\leq 4\wedge -x_{1}\leq 0\wedge -x_{2}\leq -1\right\}
\end{eqnarray*}です。\(f\)はコンパクト集合\(G\)上に定義された連続関数であるため、最大値・最小値の定理より先の最小化問題には解が存在します。\(f\)は全微分可能であり、勾配ベクトルは、\begin{equation*}\nabla f\left( x_{1},x_{2}\right) =\left( 2x_{1},2x_{2}\right)
\end{equation*}となります。点\(\left(x_{1},x_{2}\right) \in G\)が最小点であるならば、クーン・タッカー条件\begin{eqnarray*}&&\left( a\right) \ \nabla f\left( x_{1},x_{2}\right) +\lambda _{1}\left(
1,1\right) +\lambda _{2}\left( -1,0\right) +\lambda _{3}\left( 0,-1\right)
=\left( 0,0\right) \\
&&\left( b_{1}\right) \ \lambda _{1}\left( x_{1}+x_{2}-4\right) =0 \\
&&\left( b_{2}\right) \ \lambda _{2}\left( -x_{1}\right) =0 \\
&&\left( b_{3}\right) \ \lambda _{3}\left( -x_{2}+1\right) =0 \\
&&\left( c_{1}\right) \ x_{1}+x_{2}\leq 4 \\
&&\left( c_{2}\right) \ -x_{1}\leq 0 \\
&&\left( c_{3}\right) \ -x_{2}\leq -1 \\
&&\left( d\right) \ \forall i\in \left\{ 1,2,3\right\} :\lambda _{i}\geq 0
\end{eqnarray*}すなわち、\begin{eqnarray*}
&&\left( a_{1}\right) \ 2x_{1}+\lambda _{1}-\lambda _{2}=0 \\
&&\left( a_{2}\right) \ 2x_{2}+\lambda _{1}-\lambda _{3}=0 \\
&&\left( b_{1}\right) \ \lambda _{1}\left( x_{1}+x_{2}-4\right) =0 \\
&&\left( b_{2}\right) \ \lambda _{2}\left( -x_{1}\right) =0 \\
&&\left( b_{3}\right) \ \lambda _{3}\left( -x_{2}+1\right) =0 \\
&&\left( c_{1}\right) \ x_{1}+x_{2}\leq 4 \\
&&\left( c_{2}\right) \ -x_{1}\leq 0 \\
&&\left( c_{3}\right) \ -x_{2}\leq -1 \\
&&\left( d_{1}\right) \ \lambda _{1}\geq 0 \\
&&\left( d_{2}\right) \ \lambda _{2}\geq 0 \\
&&\left( d_{3}\right) \ \lambda _{3}\geq 0
\end{eqnarray*}を満たす\(\lambda _{1},\lambda _{2},\lambda _{3}\in \mathbb{R}\)が存在します。\(x_{1}>0\)と仮定すると\(\left( b_{2}\right) \)より\(\lambda _{2}=0\)を得ます。すると\(\left( a_{1}\right) \)より\(\lambda _{1}<0\)となり、これは\(\left( d\right) \)と矛盾です。したがって、\(x_{1}>0\)は成り立たず、これと\(\left( c_{2}\right) \)より、\begin{equation*}x_{1}=0
\end{equation*}であることが明らかになりました。すると\(\left( a_{1}\right) \)より、\begin{equation*}\lambda _{1}=\lambda _{2}
\end{equation*}を得て、\(\left( b_{1}\right) \)より、\begin{equation*}\lambda _{1}\left( x_{2}-4\right) =0
\end{equation*}を得ます。したがって\(\lambda _{1}=0\)または\(x_{2}=4\)です。まずは\(\lambda _{1}=0\)の場合について考えます。これと\(\left( a_{2}\right) \)より\(2x_{2}-\lambda _{3}=0\)を得ます。一方、\(\left( c_{3}\right) \)より\(x_{2}>0\)であるため\(\lambda _{3}>0\)です。すると\(\left( b_{3}\right) \)より\(x_{2}=1\)を得て、\(\left( a_{2}\right) \)より\(\lambda _{3}=2\)を得ます。以上より、\begin{equation}\left( x_{1}^{\ast },x_{2}^{\ast },\lambda _{1},\lambda _{2},\lambda
_{3}\right) =\left( 0,1,0,0,2\right) \quad \cdots (1)
\end{equation}はクーン・タッカー条件を満たすことが明らかになりました。続いて、\(x_{2}=4\)の場合について考えます。これと\(\left( a_{2}\right) \)より\(8+\lambda_{1}-\lambda _{3}=0\)を得る一方で\(\left(b_{3}\right) \)より\(\lambda _{3}=0\)を得るため\(\lambda _{1}=-8\)となりますが、これは\(\left( d_{1}\right) \)と矛盾です。したがって、最小化問題に関するクーン・タッカー条件を満たす点は\(\left( 1\right) \)だけであることが明らかになりました。

先の命題は目的関数が全微分可能な点が最小化問題の解であるための必要条件を与えるものであり、十分条件ではありません。つまり、目的関数が全微分可能な点が最小化問題の解である場合、その点は必ずクーン・タッカー条件を満たす一方で、クーン・タッカー条件を満たす点は最小化問題の解であるとは限らないということです。以下の例より明らかです。

例(クーン・タッカー条件を満たさない最小点)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{3}
\end{equation*}を定めるものとします。\(f\)は微分可能です。以下の制約付き最小化問題

$$\begin{array}{cl}
\min\limits_{x\in \mathbb{R} } & f\left( x\right) \\
s.t. & -x\leq 1 \\
& x\leq 1\end{array}$$

について考えます。それぞれの制約条件に対応する制約集合は、\begin{eqnarray*}
G_{1} &=&\left\{ x\in \mathbb{R} \ |\ -x\leq 1\right\} \\
G_{2} &=&\left\{ x\in \mathbb{R} \ |\ x\leq 1\right\}
\end{eqnarray*}であり、全体の制約集合は、\begin{eqnarray*}
G &=&G_{1}\cap G_{2} \\
&=&\left\{ x\in \mathbb{R} \ |\ -x\leq 1\wedge x\leq 1\right\} \\
&=&\left[ -1,1\right] \end{eqnarray*}です。\(f\)はコンパクト集合\(G\)上に定義された連続関数であるため、最大値・最小値の定理より先の最小化問題には解が存在します。\(f\)は微分可能です。点\(0\in G\)において、\begin{equation*}f^{\prime }\left( 0\right) =0\quad \because f^{\prime }\left( x\right)
=3x^{2}
\end{equation*}であるため、\(\left( \lambda _{1},\lambda_{2}\right) =\left( 0,0\right) \)に注目したとき、\begin{eqnarray*}&&\left( a\right) \ \nabla f\left( 0\right) +\lambda _{1}\left( -1\right)
+\lambda _{2}1=0 \\
&&\left( b_{1}\right) \ \lambda _{1}\left( -x-1\right) =0 \\
&&\left( b_{2}\right) \ \lambda _{2}\left( x-1\right) =0 \\
&&\left( c_{1}\right) \ -x\leq 1 \\
&&\left( c_{2}\right) \ x\leq 1 \\
&&\left( d_{1}\right) \ \lambda _{1}\geq 0 \\
&&\left( d_{2}\right) \ \lambda _{2}\geq 0
\end{eqnarray*}がいずれも成り立ちます。したがって点\(0\)はクーン・タッカー条件を満たします。一方、\(f\)は狭義単調増加関数であるため最小点は\(-1\)であり、点\(0\)は最小点ではありません。

 

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

目的関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,\cdots ,m\right) \)のもとでの最小化問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

が与えられたとき、それぞれの\(\left( x,\lambda _{1},\cdots,\lambda _{m}\right) \in X\times \mathbb{R} ^{m}\)に対して、\begin{eqnarray*}L\left( x,\lambda _{1},\cdots ,\lambda _{m}\right) &=&f\left( x\right)
+\lambda _{1}\left( a_{1}\cdot x-c_{1}\right) +\cdots +\lambda _{m}\left(
a_{m}\cdot x-c_{m}\right) \\
&=&f\left( x\right) +\sum_{i=1}^{m}\lambda _{i}\left( a_{i}\cdot
x-c_{i}\right)
\end{eqnarray*}を値として定める関数\begin{equation*}
L:X\times \mathbb{R} ^{m}\rightarrow \mathbb{R} \end{equation*}を定義し、これをラグランジュ関数(Lagrangian)と呼びます。

目的関数\(f\)が定義域の内点\(x\in X^{i}\)において全微分可能である場合、ラグランジュ関数\(L\)は明らかに点\(\left( x,\lambda _{1},\cdots,\lambda _{m}\right) \)において全微分可能です。そこで、\(L\)をそれぞれの変数\(x_{j}\ \left( j=1,\cdots ,n\right) \)に関して偏微分して\(0\)とおくと、\begin{eqnarray*}\forall j\in \left\{ 1,\cdots ,n\right\} :\frac{\partial L\left( x,\lambda
_{1},\cdots ,\lambda _{m}\right) }{\partial x_{j}}=0 &\Leftrightarrow
&\forall j\in \left\{ 1,\cdots ,n\right\} :\frac{\partial f\left( x\right) }{\partial x_{j}}+\sum_{i=1}^{m}\lambda _{i}a_{ij}=0 \\
&\Leftrightarrow &\nabla f\left( x\right) +\sum_{i=1}^{m}\lambda _{i}a_{i}=0
\end{eqnarray*}を得ます。さらに、\(L\)をそれぞれの変数\(\lambda_{i}\ \left( i=1,\cdots ,m\right) \)に関して偏微分し、得られた結果と\(\lambda _{i}\)の積を\(0\)とおくと、\begin{equation*}\forall i\in \left\{ 1,\cdots ,m\right\} :\lambda _{i}\frac{\partial L\left(
x,\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial \lambda _{i}}=0\Leftrightarrow \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda
_{i}\left( a_{i}\cdot x-c_{i}\right) =0
\end{equation*}が成り立ち、また、\begin{equation*}
\forall i\in \left\{ 1,\cdots ,m\right\} :\frac{\partial L\left( x,\lambda
_{1},\cdots ,\lambda _{m}\right) }{\partial \lambda _{i}}\leq
0\Leftrightarrow \forall i\in \left\{ 1,\cdots ,m\right\} :a_{i}\cdot
x-c_{i}\leq 0
\end{equation*}が成り立ちます。したがって、最小化のためのクーン・タッカー条件は、ラグランジュ関数\(L\)に関する以下の条件\begin{eqnarray*}&&\left( a\right) \ \forall j\in \left\{ 1,\cdots ,n\right\} :\frac{\partial
L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial x_{j}}=0 \\
&&\left( b\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda _{i}\frac{\partial L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial \lambda _{i}}=0 \\
&&\left( c\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\frac{\partial
L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial
\lambda _{i}}\leq 0 \\
&&\left( d\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda
_{i}\geq 0
\end{eqnarray*}と必要十分であることが明らかになりました。

つまり、最小化問題が与えられたとき、ラグランジュ関数を定義した上で以上の条件を満たす点\(x^{\ast }\)を特定すれば、その点はクーン・タッカー条件を満たすことが保証されるということです。これをラグランジュの未定乗数法(method of Lagrange multipler)と呼びます。

命題(ラグランジュの未定乗数法)
関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,\cdots ,m\right) \)から最小化問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

を定義する。それぞれの\(\left( x,\lambda _{1},\cdots ,\lambda _{m}\right) \in X\times \mathbb{R} ^{m}\)に対して、\begin{equation*}L\left( x,\lambda _{1},\cdots ,\lambda _{m}\right) =f\left( x\right)
+\sum_{i=1}^{m}\lambda _{i}\left( a_{i}\cdot x-c_{i}\right)
\end{equation*}を定める関数\(L:X\times \mathbb{R} ^{m}\rightarrow \mathbb{R} \)を定義する。関数\(f\)の定義域の内点\(x^{\ast }\in X^{i}\cap G\)が最小点であり、なおかつ\(f\)が点\(x^{\ast }\)において全微分可能である場合には、\begin{eqnarray*}&&\left( a\right) \ \forall j\in \left\{ 1,\cdots ,n\right\} :\frac{\partial
L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial x_{j}}=0 \\
&&\left( b\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda _{i}\frac{\partial L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial \lambda _{i}}=0 \\
&&\left( c\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\frac{\partial
L\left( x^{\ast },\lambda _{1},\cdots ,\lambda _{m}\right) }{\partial
\lambda _{i}}\leq 0 \\
&&\left( d\right) \ \forall i\in \left\{ 1,\cdots ,m\right\} :\lambda
_{i}\geq 0
\end{eqnarray*}を満たす実数\(\lambda _{1},\cdots,\lambda _{m}\in \mathbb{R} \)が存在する。

例(ラグランジュの未定乗数法)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =x_{1}^{2}+x_{2}^{2}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+x_{2}\leq 4 \\
& x_{1}\geq 0 \\
& x_{2}\geq 1\end{array}$$

について考えます。それぞれの制約条件に対応する制約集合は、\begin{eqnarray*}
G_{1} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+x_{2}\leq 4\right\} \\
G_{2} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ -x_{1}\leq 0\right\} \\
G_{2} &=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ -x_{2}\leq -1\right\}
\end{eqnarray*}であり、全体の制約集合は、\begin{eqnarray*}
G &=&G_{1}\cap G_{2}\cap G_{3} \\
&=&\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+x_{2}\leq 4\wedge -x_{1}\leq 0\wedge -x_{2}\leq -1\right\}
\end{eqnarray*}です。先に、以下の点\begin{equation*}
\left( x_{1}^{\ast },x_{2}^{\ast },\lambda _{1},\lambda _{2},\lambda
_{3}\right) =\left( 0,1,0,0,2\right)
\end{equation*}がクーン・タッカー条件を満たすことを示しましたが、同じことをラグランジュの未定乗数法を用いて導きます。ラグランジュ関数を、\begin{equation*}
L\left( x_{1},x_{2},\lambda _{1},\lambda _{2},\lambda _{3}\right)
=x_{1}^{2}+x_{2}^{2}+\lambda _{1}\left( x_{1}+x_{2}-4\right) +\lambda
_{2}\left( -x_{1}\right) +\lambda _{3}\left( -x_{2}+1\right)
\end{equation*}と定義します。点\(\left(x_{1},x_{2}\right) \in G\)が最小点であるならば、以下の条件\begin{eqnarray*}&&\left( a_{1}\right) \ \frac{\partial L\left( x_{1},x_{2},\lambda
_{1},\lambda _{2},\lambda _{3}\right) }{\partial x_{1}}=0 \\
&&\left( a_{2}\right) \ \frac{\partial L\left( x_{1},x_{2},\lambda
_{1},\lambda _{2},\lambda _{3}\right) }{\partial x_{2}}=0 \\
&&\left( b_{1}\right) \ \lambda _{1}\frac{\partial L\left(
x_{1},x_{2},\lambda _{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda
_{1}}=0 \\
&&\left( b_{2}\right) \ \lambda _{2}\frac{\partial L\left(
x_{1},x_{2},\lambda _{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda
_{2}}=0 \\
&&\left( b_{3}\right) \ \lambda _{3}\frac{\partial L\left(
x_{1},x_{2},\lambda _{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda
_{3}}=0 \\
&&\left( c_{1}\right) \ \frac{\partial L\left( x_{1},x_{2},\lambda
_{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda _{1}}\leq 0 \\
&&\left( c_{2}\right) \ \frac{\partial L\left( x_{1},x_{2},\lambda
_{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda _{2}}\leq 0 \\
&&\left( c_{3}\right) \ \frac{\partial L\left( x_{1},x_{2},\lambda
_{1},\lambda _{2},\lambda _{3}\right) }{\partial \lambda _{3}}\leq 0 \\
&&\left( d_{1}\right) \ \lambda _{1}\geq 0 \\
&&\left( d_{2}\right) \ \lambda _{2}\geq 0 \\
&&\left( d_{3}\right) \ \lambda _{3}\geq 0
\end{eqnarray*}すなわち、\begin{eqnarray*}
&&\left( a_{1}\right) \ 2x_{1}+\lambda _{1}-\lambda _{2}=0 \\
&&\left( a_{2}\right) \ 2x_{2}+\lambda _{1}-\lambda _{3}=0 \\
&&\left( b_{1}\right) \ \lambda _{1}\left( x_{1}+x_{2}-4\right) =0 \\
&&\left( b_{2}\right) \ \lambda _{2}\left( -x_{1}\right) =0 \\
&&\left( b_{3}\right) \ \lambda _{3}\left( -x_{2}+1\right) =0 \\
&&\left( c_{1}\right) \ x_{1}+x_{2}-4\leq 0 \\
&&\left( c_{2}\right) \ -x_{1}\leq 0 \\
&&\left( c_{3}\right) \ -x_{2}+1\leq 0 \\
&&\left( d_{1}\right) \ \lambda _{1}\geq 0 \\
&&\left( d_{2}\right) \ \lambda _{2}\geq 0 \\
&&\left( d_{3}\right) \ \lambda _{3}\geq 0
\end{eqnarray*}を満たす\(\lambda _{1},\lambda _{2},\lambda _{3}\in \mathbb{R} \)が存在します。以上の条件、すなわち最小化問題に関するクーン・タッカー条件を満たす点は、\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast },\lambda _{1},\lambda _{2},\lambda
_{3}\right) =\left( 0,1,0,0,2\right)
\end{equation*}だけです(確認してください)。これは先の結果と整合的です。

 

複数の線型不等式制約条件のもとでの最小化問題の解法

関数\(f:\mathbb{R} ^{n}\supset X\rightarrow \mathbb{R} \)と非ゼロベクトル\(a_{i}\in \mathbb{R} ^{n}\backslash \left\{ 0\right\} \)およびスカラー\(c_{i}\in \mathbb{R} \ \left( i=1,\cdots ,m\right) \)から最小化問題

$$\begin{array}{cl}
\min\limits_{x\in X} & f\left( x\right) \\
s.t. & a_{1}\cdot x\leq c_{1} \\
& \vdots \\
& a_{m}\cdot x\leq c_{m}\end{array}$$

を定義したとき、\(f\)が全微分可能な\(X\)の内点\(x^{\ast }\in X^{i}\cap G\)が最小点である場合には、この点\(x^{\ast }\)はクーン・タッカー条件を満たすことが明らかになりました。加えて、クーン・タッカー条件を満たす点の特定を容易にするラグランジュの未定乗数法について解説しました。

ただ、クーン・タッカー条件は目的関数\(f\)が全微分可能な\(X\)の内点を対象とした条件であり、\(f\)が全微分可能ではない\(X\)の内点について何も言っていません。目的関数\(f\)が全微分可能ではない\(X\)の内点もまた最小点になり得るため、そのような点が制約集合\(G\)の要素である場合、それらの点も最小点の候補に加える必要があります。

例(目的関数が全微分可能ではない点が最小点である場合)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =\left\vert x_{1}\right\vert +\left\vert
x_{2}\right\vert
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+2x_{2}\leq 3 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq 0\end{array}$$

について考えます。制約集合は、\begin{equation*}
G=\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+2x_{2}\leq 3\wedge -x_{1}\leq 0\wedge -x_{2}\leq 0\right\}
\end{equation*}です。\(f\)は\(x_{1}=0\)または\(x_{2}=0\)の少なくとも一方を満たす任意の点\(\left(x_{1},x_{2}\right) \in \mathbb{R} ^{2}\)において全微分可能ではないため、それらの点がクーン・タッカー条件を満たすか検討対象になり得ません。したがって、そのような点が\(G\)の要素である場合、それらの点を最小点の候補に加える必要があります。ちなみに、\(f\)の最小点は\(f\)が全微分可能ではない以下の点\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast }\right) =\left( 0,0\right)
\end{equation*}です(演習問題)。

加えて、これまでは目的関数\(f\)の定義域\(X\)の内点のみを対象に議論を行ってきましたが、定義域\(X\)の境界点もまた最小点になり得るため、\(X\)の境界点が制約集合\(G\)の要素である場合、それらの点も最小点の候補に加える必要があります。

例(目的関数の定義域の境界点が最小点である場合)
関数\(f:\mathbb{R} _{+}^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} _{+}^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =\sqrt{x_{1}}+\sqrt{x_{2}}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}_{+}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+2x_{2}\leq 3\end{array}$$

すなわち、

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+2x_{2}\leq 3 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq 0\end{array}$$

について考えます。制約集合は、\begin{equation*}
G=\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+2x_{2}\leq 3\wedge -x_{1}\leq 0\wedge -x_{1}\leq 0\right\}
\end{equation*}です。\(x_{1}=0\)または\(x_{2}=0\)の少なくとも一方を満たす任意の点\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)は\(f\)の定義域\(\mathbb{R} _{+}^{2}\)の境界点であるため、それらの点がクーン・タッカー条件を満たすか検討対象になり得ません。したがって、そのような点が\(G\)の要素である場合、それらの点を最小点の候補に加える必要があります。ちなみに、\(f\)の最小点は\(X\)の境界点である以下の点\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast }\right) =\left( 0,0\right)
\end{equation*}です(演習問題)。

以上の論点を踏まえると、複数の線型不等式制約のもとでの最小化問題の解を求めるためには以下の手順にしたがう必要があります。

  1. 最小点が存在することを確認する。その際、最大値・最小値の定理などが役に立つ。
  2. 目的関数\(f\)の定義域\(X\)の内点の中でも、クーン・タッカー条件を満たす点をすべて特定する。その際、ラグランジュの未定乗数法を使えば作業が円滑に進む。
  3. 目的関数\(f\)の定義域\(X\)の内点の中でも、制約条件を満たすとともに、関数が全微分可能ではない点をすべて特定する。
  4. 目的関数\(f\)の定義域\(X\)に含まれる境界点の中でも、制約条件を満たす点をすべて特定する。
  5. 以上の点の中でも\(f\left( x\right) \)の値を最小化する点が最小点である。

特に、目的関数\(f\)の定義域\(X\)が\(\mathbb{R} ^{n}\)上の開集合であるとともに、\(f\)が\(X\)上の任意の点において全微分可能である場合には、関数\(f\)が全微分可能ではない点や、関数\(f\)の定義域\(X\)に含まれる境界点は存在しないことが保証されるため、最小点を特定するためには以下の手順にしたがえばよいということになります。

  1. 最小点が存在することを確認する。その際、最大値・最小値の定理などが役に立つ。
  2. 目的関数\(f\)の定義域\(X\)の内点の中でも、クーン・タッカー条件を満たす点をすべて特定する。その際、ラグランジュの未定乗数法を使えば作業が円滑に進む。
  3. 以上の点の中でも\(f\left( x\right) \)の値を最小化する点が最小点である。
例(線型不等式制約のもとでの最小化問題)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =x_{1}^{2}+x_{2}^{2}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+x_{2}\leq 4 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq -1\end{array}$$

について考えます。制約集合は、\begin{equation*}
G=\left\{ \left( x_{1},x_{2}\right) \in \mathbb{R} ^{2}\ |\ x_{1}+x_{2}\leq 4\wedge -x_{1}\leq 0\wedge -x_{2}\leq -1\right\}
\end{equation*}です。\(f\)はコンパクト集合\(G\)上に定義された連続関数であるため、最大値・最小値の定理より先の最小化問題には解が存在します。加えて、\(f\)の定義域\(\mathbb{R} ^{2}\)は\(\mathbb{R} ^{2}\)上の開集合であり、\(f\)は\(\mathbb{R} ^{2}\)上の任意の点において全微分可能であるため、クーン・タッカー条件を満たす点だけが最小化問題の解の候補です。先に求めたように、以下の点\begin{equation*}\left( x_{1}^{\ast },x_{2}^{\ast },\lambda _{1},\lambda _{2},\lambda
_{3}\right) =\left( 0,1,0,0,2\right)
\end{equation*}だけがクーン・タッカー条件を満たすため、最小点は、\begin{equation*}
\left( 0,1\right)
\end{equation*}であり、\(f\)の最小値は、\begin{equation*}f\left( 0,1\right) =0^{2}+1^{2}=1
\end{equation*}であることが明らかになりました。

 

演習問題

問題(線型不等式制約付き最小化問題)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =2x_{1}^{2}+3x_{2}^{2}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+x_{2}\leq -1 \\
& -x_{1}\leq 3 \\
& -x_{2}\leq 3\end{array}$$

を解いてください。

解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

問題(線型不等式制約のもとでの最小化問題)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =\left\vert x_{1}\right\vert +\left\vert
x_{2}\right\vert
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+2x_{2}\leq 3 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq 0\end{array}$$

を解いてください。

解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

問題(線型不等式制約のもとでの最小化問題)
関数\(f:\mathbb{R} _{+}^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x_{1},x_{2}\right)\in \mathbb{R} _{+}^{2}\)に対して、\begin{equation*}f\left( x_{1},x_{2}\right) =\sqrt{x_{1}}+\sqrt{x_{2}}
\end{equation*}を定めるものとします。以下の最小化問題

$$\begin{array}{cl}
\min\limits_{\left( x_{1}x_{2}\right) \in \mathbb{R}^{2}} & f\left( x_{1},x_{2}\right) \\
s.t. & x_{1}+2x_{2}\leq 3 \\
& -x_{1}\leq 0 \\
& -x_{2}\leq 0\end{array}$$

を解いてください。

解答を見る

プレミアム会員専用コンテンツです
ログイン】【会員登録

関連知識

Mailで保存
Xで共有

質問とコメント

プレミアム会員専用コンテンツです

会員登録

有料のプレミアム会員であれば、質問やコメントの投稿と閲覧、プレミアムコンテンツ(命題の証明や演習問題とその解答)へのアクセスなどが可能になります。

ワイズのユーザーは年齢・性別・学歴・社会的立場などとは関係なく「学ぶ人」として対等であり、お互いを人格として尊重することが求められます。ユーザーが快適かつ安心して「学ぶ」ことに集中できる環境を整備するため、広告やスパム投稿、他のユーザーを貶めたり威圧する発言、学んでいる内容とは関係のない不毛な議論などはブロックすることになっています。詳細はガイドラインをご覧ください。

誤字脱字、リンク切れ、内容の誤りを発見した場合にはコメントに投稿するのではなく、以下のフォームからご連絡をお願い致します。

プレミアム会員専用コンテンツです
ログイン】【会員登録

関数の最適化