教材一覧
教材一覧
教材検索
OPTIMIZATION OF FUNCTIONS

1変数関数の最適化のための2階の必要条件

目次

Share on twitter
Twitterで共有
Share on email
メールで共有

関数の定義域の内点が極大点や極小点であるための2階の必要条件

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)が定義域の内点\(a\in X^{i}\)において微分可能であるとともに、点\(a\)が\(f\)の極大点もしくは極小点である場合には、この点は停留点であること、すなわち、\begin{equation*}f^{\prime }\left( a\right) =0
\end{equation*}が成り立つことを示しました。以上の条件を局所最適化のための1階の必要条件と呼びます。ただ、1階の必要条件は極大点と極小点がともに満たす条件であるため、1階の必要条件を通じて極大点の候補だけを特定したり、逆に、極小点の候補だけを特定することはできません。では、極大点に固有の必要条件や、極小点に固有の必要条件は存在するのでしょうか。順番に解説します。

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域上の点\(a\in X\)が\(f\)の極大点であるものとします。さらに、この点\(a\)は以下の2つの条件を満たすものとします。1つ目の条件は、点\(a\)が\(f\)の定義域\(X\)の内点であるということです。この場合、\(f\)は点\(a\)を含め周辺の任意の点において定義されていることが保証されます。2つ目の条件は、\(f\)が点\(a\)を中心とする近傍において\(C^{2}\)級であるということです。以上の2つの条件を満たす点\(a\)を以下に図示しました。

図:極大点における微分係
図:極大点における微分係

\(C^{2}\)級であることは微分可能性を含意するため、局所最適化のための1階の必要条件より、この極大点\(a\)は停留点であることが保証されます。つまり、\begin{equation*}f^{\prime }\left( a\right) =0
\end{equation*}が成り立つということです。では、点\(a\)が極大点であることに由来する追加的な必要条件は存在するでしょうか。仮定より\(f\)は点\(a\)において2階微分可能であるため、導関数\(f^{\prime }\)は点\(a\)の周辺の任意の点において定義されています。導関数が定める値\(f^{\prime}\left( x\right) \)は点\(x\)における\(f\)のグラフの接線の傾きに相当します。点\(a\)は極大点であり、\(f\)のグラフは点\(a\)の周辺において山型です。山の頂上に相当する点\(a\)における\(f\)のグラフの接線の傾きはゼロです。\(x\)が\(a\)より小さい値をとりながら\(a\)に近づくにつれて\(f\)のグラフの接線の傾き\(f^{\prime }\left(x\right) \)は正の値から減少してゼロへ近づいていきます。逆に、\(x\)が\(a\)より大きい値をとりながら\(a\)に近づくにつれて\(f\)のグラフの接線の傾き\(f^{\prime }\left( x\right) \)は負の値から増加してゼロへ近づいていきます。つまり、点\(a\)の周辺において導関数\(f^{\prime }\)は狭義の減少関数であるため、点\(a\)において、\begin{equation}f^{\prime \prime }\left( a\right) <0 \quad \cdots (1)
\end{equation}が成り立つことが予想されます

図:極大点における微分係数
図:極大点における微分係数

上の図中の点\(a\)もまた先の2つの条件を満たす\(f\)の極大点です。ただ、先の例とは異なり、\(f\)のグラフは点\(a\)の周辺において水平であるため、点\(a\)を含め周辺の任意の点\(x\)における\(f\)のグラフの接線の傾き\(f^{\prime }\left( x\right) \)はゼロを値としてとる定数関数です。したがって、点\(a\)において、\begin{equation}f^{\prime \prime }\left( a\right) =0 \quad \cdots (2)
\end{equation}が成り立つことが予想されます。

以上の2つのケース\(\left(1\right) ,\left( 2\right) \)をあわせて考えると、関数\(f\)が定義域の内点\(a\)において2階微分可能であるとともに点\(a\)が極大点である場合には、\begin{equation*}f^{\prime \prime }\left( a\right) \leq 0
\end{equation*}が成り立つことが予想されます。実際、これは正しい予想です。証明ではテイラーの定理を利用します。

命題(内点が極大点であるための2階の必要条件)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域の内点\(a\in X^{i}\)を任意に選んだとき、\(f\)は点\(a\)を中心とする近傍において\(C^{2}\)級であるとともに、点\(a\)が\(f\)の極大点であるならば、\begin{eqnarray*}&&\left( a\right) \ f^{\prime }\left( a\right) =0 \\
&&\left( b\right) \ f^{\prime \prime }\left( a\right) \leq 0
\end{eqnarray*}がともに成り立つ。

証明

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

極小点に関しても同様の議論が成立します。

命題(内点が極小点であるための2階の必要条件)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域の内点\(a\in X^{i}\)を任意に選んだとき、\(f\)は点\(a\)を中心とする近傍において\(C^{2}\)級であるとともに、点\(a\)が\(f\)の極小点であるならば、\begin{eqnarray*}&&\left( a\right) \ f^{\prime }\left( a\right) =0 \\
&&\left( b\right) \ f^{\prime \prime }\left( a\right) \geq 0
\end{eqnarray*}がともに成り立つ。

 

関数の定義域の内点が最大点や最小点であるための2階の必要条件

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域上の点\(a\in X\)が\(f\)の最大点であるものとします。さらに、この点\(a\)は以下の2つの条件を満たすものとします。1つ目の条件は、点\(a\)が\(f\)の定義域\(X\)の内点であるということです。この場合、\(f\)は点\(a\)を含め周辺の任意の点において定義されていることが保証されます。2つ目の条件は、\(f\)が点\(a\)を中心とする近傍において\(C^{2}\)級であるということです。一般に、最大点は極大点でもあるため、この内点\(a\)は極大点であるための2階の必要条件を満たします。したがって以下の命題を得ます。

命題(内点が最大点であるための2階の必要条件)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域の内点\(a\in X^{i}\)を任意に選んだとき、\(f\)は点\(a\)を中心とする近傍において\(C^{2}\)級であるとともに、点\(a\)が\(f\)の最大点であるならば、\begin{eqnarray*}&&\left( a\right) \ f^{\prime }\left( a\right) =0 \\
&&\left( b\right) \ f^{\prime \prime }\left( a\right) \leq 0
\end{eqnarray*}がともに成り立つ。

最小点についても同様の議論が成立します。

命題(内点が最小点であるための2階の必要条件)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の定義域の内点\(a\in X^{i}\)を任意に選んだとき、\(f\)は点\(a\)を中心とする近傍において\(C^{2}\)級であるとともに、点\(a\)が\(f\)の最小点であるならば、\begin{eqnarray*}&&\left( a\right) \ f^{\prime }\left( a\right) =0 \\
&&\left( b\right) \ f^{\prime \prime }\left( a\right) \geq 0
\end{eqnarray*}がともに成り立つ。

 

関数の最大点や最小点を特定する方法

関数\(f\)の最大点は極大点でもあるため、極大点をすべて特定した上で、その中で\(f\left(x\right) \)の値を最大化するような点を特定すれば、それは必然的に最大点になります。

関数の極大点と極小点となり得る点の候補を特定する際には、局所最適化のための1階の必要条件を満たす内点と、関数が微分可能ではない内点に加え、すべての境界点を候補に加える必要があります。したがって、関数の最大点を特定するためには以下の手順にしたがえばよいということになります。

  1. 関数の最大点が存在することを確認する。その際、最大値・最小値の定理などを利用する。
  2. 関数の定義域の内点の中でも、極大点であるための1階および2階の必要条件を満たす点をすべて特定する。
  3. 関数の定義域の内点の中でも、関数が微分可能ではない点をすべて特定する。
  4. 関数の定義域に含まれる境界点をすべて特定する。
  5. 以上のすべての点の中でも、\(f\left( x\right) \)の値を最大化する点が最大点である。

同様に考えると、関数の最小点を特定するためには以下の手順にしたがえばよいということになります。

  1. 関数の最小点が存在することを確認する。その際、最大値・最小値の定理などを利用する。
  2. 関数の定義域の内点の中でも、極小点であるための1階および2階の必要条件を満たす点をすべて特定する。
  3. 関数の定義域の内点の中でも、関数が微分可能ではない点をすべて特定する。
  4. 関数の定義域に含まれる境界点をすべて特定する。
  5. 以上のすべての点の中でも、\(f\left( x\right) \)の値を最小化する点が最小点である。
例(関数の最大値・最小値)
関数\(f:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{equation*}f\left( x\right) =x\ln \left( x\right)
\end{equation*}を定めるものとします。

図:関数のグラフ
図:関数のグラフ

\(f\)は連続関数ですが、定義域\(\mathbb{R} _{++}\)は有界な閉区間ではないため最大値・最小値の定理を適用できません。\begin{eqnarray*}\lim_{x\rightarrow \infty }f\left( x\right) &=&\lim_{x\rightarrow \infty }
\left[ x\ln \left( x\right) \right] \quad \because f\text{の定義} \\
&=&\left( +\infty \right) \cdot \left( +\infty \right) \\
&=&+\infty
\end{eqnarray*}となるため、\(f\)は\(\mathbb{R} _{++}\)上に最大点を持ちません。\(f\)は\(C^{2}\)級であり、導関数\(f^{\prime }:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{eqnarray*}f^{\prime }\left( x\right) &=&\left[ x\ln \left( x\right) \right] ^{\prime
}\quad \because f\text{の定義} \\
&=&\left( x\right) ^{\prime }\ln \left( x\right) +x\left[ \ln \left(
x\right) \right] ^{\prime } \\
&=&\ln \left( x\right) +1
\end{eqnarray*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} _{++}\rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} _{++}\)に対して、\begin{equation*}f^{\prime }\left( x\right) =\frac{1}{x}
\end{equation*}を定めます。停留点であるような内点を特定するために、\begin{equation*}
f^{\prime }\left( x\right) =0
\end{equation*}すなわち、\begin{equation*}
\ln \left( x\right) +1=0
\end{equation*}を解くと、\begin{equation}
x=e^{-1} \quad \cdots (1)
\end{equation}を得ます。これらは\(f\)の定義域\(\mathbb{R} _{++}\)の内点です。このとき、\begin{equation*}f^{\prime }\left( e^{-1}\right) =\frac{1}{e^{-1}}=e
\end{equation*}となるため、\(\left( 1\right) \)は極小点であるための2階の必要条件を満たします。\(f\)の定義域\(\mathbb{R} _{++}\)は開集合であるため境界点は存在しません。\(f\)が微分可能ではない点は存在しません。したがって、\(\left( 1\right) \)のみが最小点の候補であり、\begin{equation*}f\left( e^{-1}\right) =e^{-1}\ln \left( e^{-1}\right) =-e^{-1}
\end{equation*}となります。以上より、\(f\)の最小点および最小値は、\begin{eqnarray*}\mathrm{argmax}_{x\in \mathbb{R} }f\left( x\right) &=&\left\{ e^{-1}\right\} \\
\max_{x\in \mathbb{R} }f\left( x\right) &=&-e^{-1}
\end{eqnarray*}です。

例(関数の最大値・最小値)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =x^{4}+4x^{3}+4x^{2}+1
\end{equation*}を定めるものとします。

図:関数のグラフ
図:関数のグラフ

\(f\)は多項式関数であるため連続です。しかし、定義域\(\mathbb{R} \)は有界な閉区間ではないため最大値・最小値の定理を適用できません。\begin{eqnarray*}\lim_{x\rightarrow \infty }f\left( x\right) &=&\lim_{x\rightarrow \infty
}\left( x^{4}+4x^{3}+4x^{2}+1\right) \quad \because f\text{の定義} \\
&=&\lim_{x\rightarrow \infty }\left[ x^{4}\left( 1+\frac{4}{x}+\frac{4}{x^{2}}+\frac{1}{x^{{}}}\right) \right] \\
&=&\left( +\infty \right) \cdot 1 \\
&=&+\infty
\end{eqnarray*}かつ、\begin{eqnarray*}
\lim_{x\rightarrow -\infty }f\left( x\right) &=&\lim_{x\rightarrow -\infty
}\left( x^{4}+4x^{3}+4x^{2}+1\right) \quad \because f\text{の定義} \\
&=&\lim_{x\rightarrow -\infty }\left[ x^{4}\left( 1+\frac{4}{x}+\frac{4}{x^{2}}+\frac{1}{x^{{}}}\right) \right] \\
&=&\left( +\infty \right) \cdot 1 \\
&=&+\infty
\end{eqnarray*}となるため、\(f\)は\(\mathbb{R} \)上に最大点を持ちません。\(f\)は多項式関数であるため\(C^{2}\)級であり、導関数\(f^{\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =4x^{3}+12x^{2}+8x
\end{equation*}を定め、2階導関数\(f^{\prime\prime }:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f^{\prime }\left( x\right) =12x^{2}+24x+8
\end{equation*}を定めます。停留点であるような内点を特定するために、\begin{equation*}
f^{\prime }\left( x\right) =0
\end{equation*}すなわち、\begin{equation*}
4x^{3}+12x^{2}+8x=0
\end{equation*}を解くと、\begin{equation*}
x=0,-1,-2
\end{equation*}を得ます。これらはともに\(f\)の定義域\(\mathbb{R} \)の内点です。このとき、\begin{eqnarray*}f^{\prime }\left( 0\right) &=&12\cdot 0^{2}+24\cdot 0+8=8 \\
f^{\prime }\left( -1\right) &=&12\cdot \left( -1\right) ^{2}+24\cdot \left(
-1\right) +8=-4 \\
f^{\prime }\left( -2\right) &=&12\cdot \left( -2\right) ^{2}+24\cdot \left(
-2\right) +8=8
\end{eqnarray*}となるため、極小点であるための2階の必要条件を満たす点は、\begin{equation}
x=0,-2 \quad \cdots (1)
\end{equation}です。\(f\)の定義域\(\mathbb{R} \)は開集合であるため境界点は存在しません。\(f\)が微分可能ではない点は存在しません。したがって、\(\left(1\right) \)のみが最小点の候補であり、\begin{eqnarray*}f\left( 0\right) &=&0^{4}+4\cdot 0^{3}+4\cdot 0^{2}+1=1 \\
f\left( -2\right) &=&\left( -2\right) ^{4}+4\cdot \left( -2\right)
^{3}+4\cdot \left( -2\right) ^{2}+1=1
\end{eqnarray*}となります。以上より、\(f\)の最小点および最小値は、\begin{eqnarray*}\mathrm{argmax}_{x\in \mathbb{R} }f\left( x\right) &=&\left\{ 0,-2\right\} \\
\max_{x\in \mathbb{R} }f\left( x\right) &=&1
\end{eqnarray*}です。

Share on twitter
Twitterで共有
Share on email
メールで共有
DISCUSSION

質問とコメント

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

RELATED KNOWLEDGE

関連知識

最大値・最小値
1変数関数の大域的最適解

関数の値を最大化するような点が定義域上に存在する場合、そのような点を最大点や大域的最大点と呼びます。また、関数が最大点に対して定める値を最大値や大域的最大値と呼びます。

最大値・最小値
1変数関数の局所最適解

関数の値を最大化するような点が定義域上に存在しない場合でも、変数がとり得る値を限定することにより、その範囲内において関数の値を最大化するような点が存在する状況は起こり得ます。そのような点を極大点や局所的最大点と呼びます。また、関数が極大点に対して定める値を極大値や大域的最大値と呼びます。

1階の必要条件
1変数関数の最適化のための1階の必要条件

関数が定義域において局所最適解(極大点・極小点)を持つための1階の必要条件を明らかにするとともに、関数の大域的最適解(最小点・最大点)を具体的に求める方法について解説します。

2階の必要条件
1変数凸関数・凹関数の無制約最適化

1変数の凸関数を目的関数とする制約条件のない最小化問題や、1変数の凹関数を目的関数とする制約条件のない最大化問題を解く方法を解説します。

最大・最小
実数集合の最大値・最小値

実数集合 R の空でない部分集合 A について、そのある要素 a が A の任意の実数以上ならば、a を A の最大値と呼びます。また、a が A の任意の実数以下ならば、a を A の最小値と呼びます。

最大値・最小値
多変数関数の大域的最適解

多変数関数の値を最大化するような点が定義域上に存在する場合、そのような点を最大点や大域的最大点と呼びます。また、多変数関数が最大点に対して定める値を最大値や大域的最大値と呼びます。

最大値・最小値
多変数関数の局所最適解

多変数関数の値を最大化するような点が定義域上に存在しない場合でも、変数がとり得る値を限定することにより、その範囲内において関数の値を最大化するような点が存在する状況は起こり得ます。そのような点を極大点や局所的最大点と呼びます。また、関数が極大点に対して定める値を極大値や大域的最大値と呼びます。

1階の必要条件
多変数関数の最適化のための1階の必要条件

多変数関数が定義域において局所最適解(極大点・極小点)を持つための1階の必要条件を明らかにするとともに、関数の大域的最適解(最小点・最大点)を具体的に求める方法について解説します。

凸関数・凹関数
多変数凸関数・凹関数の無制約最適化

多変数の凸関数を目的関数とする制約条件のない最小化問題や、多変数の凹関数を目的関数とする制約条件のない最大化問題を解く方法を解説します。