WIIS

関数の最適化

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

目次

関連知識

前のページ:
Mailで保存
Xで共有

関数の最大点と最大値

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値を最大化するような点\(a\)が\(f\)の定義域\(X\)上に存在する場合には、すなわち、\begin{equation*}\exists a\in X,\ \forall x\in X:f\left( a\right) \geq f\left( x\right)
\end{equation*}が成り立つ場合には、このような点\(a\)を\(f\)の\(X\)における最大点(maximum point)や大域的最大点(global maximum point)もしくは絶対的最大点(absolute maximum point)などと呼びます。また、\(f\)の\(X\)における最大点\(a\)が存在する場合、\(f\)が点\(a\)に対して定める値\(f\left( a\right) \)を\(f\)の\(X\)における最大値(maximum value)や大域的最大値(global maximum value)もしくは絶対的最大値(absolute maximum value)などと呼び、これを、\begin{equation*}\max_{x\in X}f\left( x\right)
\end{equation*}で表記します。

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の値域は、\begin{equation*}f\left( X\right) =\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in X\right\}
\end{equation*}と定義される\(\mathbb{R} \)の部分集合ですが、これと関数\(f\)の最大値の間には、\begin{equation*}\max_{x\in X}f\left( x\right) =\max f\left( X\right)
\end{equation*}という関係が成り立ちます。つまり、\(f\)の\(X\)における最大値は\(f\)の値域の最大値と一致します。一般に、\(\mathbb{R} \)の非空な部分集合は最大値を持つとは限りませんが、存在する場合には必ず1つの実数として定まります。したがって、\(\max f\left( X\right) \)やそれと一致する\(\max\limits_{x\in X}f\left( x\right) \)もまた存在するとは限らない一方、存在する場合には必ず1つの実数として定まります。

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)が\(X\)において最大値をとらない場合には、\(f\)の\(X\)における最大点は存在しません。また、関数\(f\)が\(X\)において最大値をとる場合、その最大値は1つの実数として定まる一方、最大点は一意的であるとは限りません。つまり、異なる点\(a,a^{\prime }\in X\)に対して、\begin{equation*}\max_{x\in X}f\left( x\right) =f\left( a\right) =f\left( a^{\prime }\right)
\end{equation*}が成り立つ状況が起こり得るということです。以上を踏まえた上で、\(f\)の\(X\)における最大点からなる集合を、\begin{equation*}\mathrm{argmax}_{x\in X}f\left( x\right) =\left\{ a\in X\ |\ f\left(
a\right) =\max_{x\in X}f\left( x\right) \right\}
\end{equation*}で表記します。

例(関数の最大点と最大値)
有界な閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:関数の最大点
図:関数の最大点

この関数\(f\)の定義域\(\left[a,b\right] \)における最大点は\(b\)であり、最大値は\(f\left(b\right) \)です。

例(関数の最大点と最大値)
有界な半閉区間上に定義された関数\(f:\mathbb{R} \supset \lbrack a,b)\rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:最大点が存在しないケース
図:最大点が存在しないケース

この関数\(f\)は定義域\([a,b)\)上において最大点を持ちません。\(f\)が点\(b\)において定義されていないからです。

例(関数の最大点と最大値)
有界な閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:関数の最大点
図:関数の最大点

この関数\(f\)の定義域\(\left[a,b\right] \)における最大点は有界閉区間\(\left[ c,d\right] \)上のすべての点であり、最大値は\(f\)がそれらの点に対して定める値であり、それらはいずれも\(f\left( c\right) \)と一致します。

例(関数の最大点と最大値)
関数\(f:\mathbb{R} \supset \lbrack a,b)\cup \left[ d,b\right] \rightarrow \mathbb{R} \)のグラフが下図で与えられています。この関数の定義域は区間ではありません。

図:関数の最大点
図:関数の最大点

この関数\(f\)の定義域\([a,b)\cup \left[ d,b\right] \)における最大点は\(d\)であり、最大値は\(f\left( d\right) \)です。

例(関数の最大点と最大値)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)はそれぞれの\(x\in X\)に対して、\begin{equation*}f\left( x\right) =x^{2}
\end{equation*}を定めるものとします。定義域が、\begin{equation*}
X=\left[ 0,1\right] \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \left[ 0,1\right] \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \left[ 0,1\right] \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ x^{2}\in \mathbb{R} \ |\ x\in \left[ 0,1\right] \right\} \quad \because f\text{の定義} \\
&=&\left[ 0,1\right] \end{eqnarray*}すなわち、\begin{equation}
f\left( \left[ 0,1\right] \right) =\left[ 0,1\right] \quad \cdots (1)
\end{equation}となるため、関数\(f\)の\(\left[ 0,1\right] \)における最大値は、\begin{eqnarray*}\max_{x\in \left[ 0,1\right] }f\left( x\right) &=&\max f\left( \left[ 0,1\right] \right) \quad \because \text{関数の最大値の定義} \\
&=&\max \left[ 0,1\right] \quad \because \left( 1\right) \\
&=&1
\end{eqnarray*}すなわち、\begin{equation}
\max_{x\in \left[ 0,1\right] }f\left( x\right) =1 \quad \cdots (2)
\end{equation}であり、最大値をもたらす最大点からなる集合は、\begin{eqnarray*}
\mathrm{argmax}_{x\in \left[ 0,1\right] }f\left( x\right)
&=&\left\{ a\in \left[ 0,1\right] \ |\ f\left( a\right) =\max_{x\in \left[
0,1\right] }f\left( x\right) \right\} \quad \because \text{関数の最大点の定義} \\
&=&\left\{ a\in \left[ 0,1\right] \ |\ a^{2}=1\right\} \quad \because \left(
2\right) \text{および}f\text{の定義} \\
&=&\left\{ 1\right\}
\end{eqnarray*}となります。定義域が、\begin{equation*}
X=\left[ -1,1\right] \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \left[ -1,1\right] \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \left[ -1,1\right] \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ x^{2}\in \mathbb{R} \ |\ x\in \left[ -1,1\right] \right\} \quad \because f\text{の定義} \\
&=&\left[ 0,1\right] \end{eqnarray*}すなわち、\begin{equation}
f\left( \left[ -1,1\right] \right) =\left[ 0,1\right] \quad \cdots (3)
\end{equation}となるため、関数\(f\)の\(\left[ -1,1\right] \)における最大値は、\begin{eqnarray*}\max_{x\in \left[ -1,1\right] }f\left( x\right) &=&\max f\left( \left[ -1,1\right] \right) \quad \because \text{関数の最大値の定義} \\
&=&\max \left[ 0,1\right] \quad \because \left( 3\right) \\
&=&1
\end{eqnarray*}すなわち、\begin{equation}
\max_{x\in \left[ -1,1\right] }f\left( x\right) =1 \quad \cdots (4)
\end{equation}であり、最大値をもたらす最大点からなる集合は、\begin{eqnarray*}
\mathrm{argmax}_{x\in \left[ -1,1\right] }f\left( x\right)
&=&\left\{ a\in \left[ -1,1\right] \ |\ f\left( a\right) =\max_{x\in \left[
-1,1\right] }f\left( x\right) \right\} \quad \because \text{関数の最大点の定義} \\
&=&\left\{ a\in \left[ -1,1\right] \ |\ a^{2}=1\right\} \quad \because
\left( 4\right) \text{および}f\text{の定義} \\
&=&\left\{ 1,-1\right\}
\end{eqnarray*}となります。定義域が、\begin{equation*}
X=\mathbb{R} \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \mathbb{R} \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \mathbb{R} \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ x^{2}\in \mathbb{R} \ |\ x\in \mathbb{R} \right\} \quad \because f\text{の定義} \\
&=&[0,+\infty )
\end{eqnarray*}すなわち、\begin{equation}
f\left( \mathbb{R} \right) =[0,+\infty ) \quad \cdots (5)
\end{equation}となるため、関数\(f\)の\(\mathbb{R} \)における最大値は、\begin{eqnarray*}\max_{x\in \mathbb{R} }f\left( x\right) &=&\max f\left( \mathbb{R} \right) \quad \because \text{関数の最大値の定義} \\
&=&\max [0,+\infty )\quad \because \left( 5\right)
\end{eqnarray*}となるため存在しません。したがって最大点も存在しないため、\begin{equation*}
\mathrm{argmax}_{x\in \mathbb{R} }f\left( x\right) =\phi
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最大値や最大点もまた変化します。

 

関数の最小点と最小値

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)が与えられたとき、\(f\left( x\right) \)の値を最小化するような点\(a\)が\(f\)の定義域\(X\)上に存在する場合には、すなわち、\begin{equation*}\exists a\in X,\ \forall x\in X:f\left( a\right) \leq f\left( x\right)
\end{equation*}が成り立つ場合には、このような点\(a\)を\(f\)の\(X\)における最小点(minimum point)や大域的最小点(global minimum point)もしくは絶対的最小点(absolute maximum point)などと呼びます。また、\(f\)の\(X\)における最小点\(a\)が存在する場合、\(f\)が点\(a\)に対して定める値\(f\left( a\right) \)を\(f\)の\(X\)における最小値(minimum value)や大域的最小値(global minimum value)もしくは絶対的最小値(absolute minimum value)などと呼び、これを、\begin{equation*}\min_{x\in X}f\left( x\right)
\end{equation*}で表記します。

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)の値域は、\begin{equation*}f\left( X\right) =\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in X\right\}
\end{equation*}と定義される\(\mathbb{R} \)の部分集合ですが、これと関数\(f\)の最小値の間には、\begin{equation*}\min_{x\in X}f\left( x\right) =\min f\left( X\right)
\end{equation*}という関係が成り立ちます。つまり、\(f\)の\(X\)における最小値は\(f\)の値域の最小値と一致します。一般に、\(\mathbb{R} \)の非空な部分集合は最小値を持つとは限りませんが、存在する場合には必ず1つの実数として定まります。したがって、\(\min f\left( X\right) \)やそれと一致する\(\min\limits_{x\in X}f\left( x\right) \)もまた存在するとは限らない一方、存在する場合には必ず1つの実数として定まります。

関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)が\(X\)において最小値をとらない場合には、\(f\)の\(X\)における最小点は存在しません。また、関数\(f\)が\(X\)において最小値をとる場合、その最小値は1つの実数として定まる一方、最小点は一意的であるとは限りません。つまり、異なる点\(a,a^{\prime }\in X\)について、\begin{equation*}\min_{x\in X}f\left( x\right) =f\left( a\right) =f\left( a^{\prime }\right)
\end{equation*}が成り立つ状況が起こり得るということです。以上を踏まえた上で、\(f\)の\(X\)における最小点からなる集合を、\begin{equation*}\mathrm{argmin}_{x\in X}f\left( x\right) =\left\{ a\in X\ |\ f\left(
a\right) =\min_{x\in X}f\left( x\right) \right\}
\end{equation*}で表記します。

例(関数の最小点と最小値)
有界な閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:関数の最小点
図:関数の最小点

この関数\(f\)の定義域\(\left[a,b\right] \)における最小点は\(f\)であり、最小値は\(f\left(f\right) \)です。

例(関数の最小点と最小値)
有界な半閉区間上に定義された関数\(f:\mathbb{R} \supset (a,b]\rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:最小点が存在しないケース
図:最小点が存在しないケース

この関数\(f\)は定義域\((a,b]\)において最小点を持ちません。\(f\)が点\(a\)において定義されていないからです。

例(関数の最小点と最小値)
有界な閉区間上に定義された関数\(f:\mathbb{R} \supset \left[ a,b\right] \rightarrow \mathbb{R} \)のグラフが下図で与えられています。

図:関数の最小点
図:関数の最小点

この関数\(f\)の定義域\(\left[a,b\right] \)における最小点は有界閉区間\(\left[ d,e\right] \)上のすべての点であり、最小値は\(f\)がそれらの点に対して定める値であり、それらはいずれも\(f\left( d\right) \)と一致します。

例(関数の最小点と最小値)
関数\(f:\mathbb{R} \supset \left[ a,d\right] \cup (e,b]\rightarrow \mathbb{R} \)のグラフが下図で与えられています。この関数の定義域は区間ではありません。

図:関数の最小点
図:関数の最小点

この関数\(f\)の定義域\(\left[a,d\right] \cup (e,b]\)における最小点は\(d\)であり、最小値は\(f\left( d\right) \)です。

例(関数の最小点と最小値)
関数\(f:\mathbb{R} \supset X\rightarrow \mathbb{R} \)はそれぞれの\(x\in X\)に対して、\begin{equation*}f\left( x\right) =-x^{2}
\end{equation*}を定めるものとします。定義域が、\begin{equation*}
X=\left[ 0,1\right] \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \left[ 0,1\right] \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \left[ 0,1\right] \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ -x^{2}\in \mathbb{R} \ |\ x\in \left[ 0,1\right] \right\} \quad \because f\text{の定義} \\
&=&\left[ -1,0\right] \end{eqnarray*}すなわち、\begin{equation}
f\left( \left[ 0,1\right] \right) =\left[ -1,0\right] \quad \cdots (1)
\end{equation}となるため、関数\(f\)の\(\left[ 0,1\right] \)における最小値は、\begin{eqnarray*}\min_{x\in \left[ 0,1\right] }f\left( x\right) &=&\min f\left( \left[ 0,1\right] \right) \quad \because \text{関数の最大値の定義} \\
&=&\min \left[ -1,0\right] \quad \because \left( 1\right) \\
&=&-1
\end{eqnarray*}すなわち、\begin{equation}
\min_{x\in \left[ 0,1\right] }f\left( x\right) =-1 \quad \cdots (2)
\end{equation}であり、最小値をもたらす最小点からなる集合は、\begin{eqnarray*}
\mathrm{argmin}_{x\in \left[ 0,1\right] }f\left( x\right)
&=&\left\{ a\in \left[ 0,1\right] \ |\ f\left( a\right) =\min_{x\in \left[
0,1\right] }f\left( x\right) \right\} \quad \because \text{関数の最小点の定義} \\
&=&\left\{ a\in \left[ 0,1\right] \ |\ -a^{2}=-1\right\} \quad \because
\left( 2\right) \text{および}f\text{の定義} \\
&=&\left\{ 1\right\}
\end{eqnarray*}となります。定義域が、\begin{equation*}
X=\left[ -1,1\right] \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \left[ -1,1\right] \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \left[ -1,1\right] \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ -x^{2}\in \mathbb{R} \ |\ x\in \left[ -1,1\right] \right\} \quad \because f\text{の定義} \\
&=&\left[ -1,0\right] \end{eqnarray*}すなわち、\begin{equation}
f\left( \left[ -1,1\right] \right) =\left[ -1,0\right] \quad \cdots (3)
\end{equation}となるため、関数\(f\)の\(\left[ -1,1\right] \)における最小値は、\begin{eqnarray*}\min_{x\in \left[ -1,1\right] }f\left( x\right) &=&\min f\left( \left[ -1,1\right] \right) \quad \because \text{関数の最小値の定義} \\
&=&\min \left[ -1,0\right] \quad \because \left( 3\right) \\
&=&-1
\end{eqnarray*}すなわち、\begin{equation}
\min_{x\in \left[ -1,1\right] }f\left( x\right) =-1 \quad \cdots (4)
\end{equation}であり、最小値をもたらす最小点からなる集合は、\begin{eqnarray*}
\mathrm{argmin}_{x\in \left[ -1,1\right] }f\left( x\right)
&=&\left\{ a\in \left[ -1,1\right] \ |\ f\left( a\right) =\min_{x\in \left[
-1,1\right] }f\left( x\right) \right\} \quad \because \text{関数の最小点の定義} \\
&=&\left\{ a\in \left[ -1,1\right] \ |\ -a^{2}=1\right\} \quad \because
\left( 4\right) \text{および}f\text{の定義} \\
&=&\left\{ 1,-1\right\}
\end{eqnarray*}となります。定義域が、\begin{equation*}
X=\mathbb{R} \end{equation*}である場合には、関数の値域は\begin{eqnarray*}
f\left( \mathbb{R} \right) &=&\left\{ f\left( x\right) \in \mathbb{R} \ |\ x\in \mathbb{R} \right\} \quad \because \text{関数の値域の定義} \\
&=&\left\{ -x^{2}\in \mathbb{R} \ |\ x\in \mathbb{R} \right\} \quad \because f\text{の定義} \\
&=&(-\infty ,0] \end{eqnarray*}すなわち、\begin{equation}
f\left( \mathbb{R} \right) =(-\infty ,0] \quad \cdots (5)
\end{equation}となるため、関数\(f\)の\(\mathbb{R} \)における最小値は、\begin{eqnarray*}\min_{x\in \mathbb{R} }f\left( x\right) &=&\min f\left( \mathbb{R} \right) \quad \because \text{関数の最小値の定義} \\
&=&\min (-\infty ,0]\quad \because \left( 5\right)
\end{eqnarray*}となるため存在しません。したがって最小点も存在しないため、\begin{equation*}
\mathrm{argmin}_{x\in \mathbb{R} }f\left( x\right) =\phi
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最小値や最小点もまた変化します。

 

関数が最大値や最小値をとるための条件

有界な閉区間上に定義された関数が連続である場合には、最大値・最小値の定理より、関数は定義域において最大値や最小値をとることが保証されます。ただ、関数の定義域は有界な閉区間であるとは限らないため、定義域が有界な閉区間であるとは限らない状況において、関数が最大値や最小値をとるかどうかを判定する手法が要請されます。また、関数が定義域において最大値や最小値をとることが分かっている場合においても、最大点や最小点は必ずしも明らかではありません。したがって、関数の最大点や最小点を特定する手法もまた要請されます。

微分可能な関数を対象とした場合、関数が定義域において最大値や最小値をとるための条件や、定義域の点が最大点や最小点であるための条件が知られています。以降ではそのような条件について学びます。

 

演習問題

問題(関数の最大値・最小値)
関数\(f:\mathbb{R} \supset \left[ 0,1\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ 0,1\right] \)に対して、\begin{equation*}f\left( x\right) =2x
\end{equation*}を定めるものとします。この関数\(f\)の\(\left[ 0,1\right]\)における最大値と最大点および最小値と最小点をそれぞれ求めてください。
解答を見る

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

問題(関数の最大値・最小値)
関数\(f:\mathbb{R} \supset \left[ -2,2\right] \rightarrow \mathbb{R} \)はそれぞれの\(x\in \left[ -2,2\right] \)に対して、\begin{equation*}f\left( x\right) =x^{3}
\end{equation*}を定めるものとします。この関数\(f\)の\(\left[ -2,2\right] \)における最大値と最大点および最小値と最小点をそれぞれ求めてください。
解答を見る

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

問題(関数の最大値・最小値)
関数\(f:\mathbb{R} \rightarrow \mathbb{R} \)はそれぞれの\(x\in \mathbb{R} \)に対して、\begin{equation*}f\left( x\right) =\cos \left( x\right)
\end{equation*}を定めるものとします。この関数\(f\)の\(\mathbb{R} \)における最大値と最大点および最小値と最小点をそれぞれ求めてください。
解答を見る

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

関連知識

前のページ:
Mailで保存
Xで共有

質問とコメント

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

会員登録

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

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

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

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

関数の最適化