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

1変数関数の大域的最適解

目次

< 前のページ
Share on twitter
Twitterで共有
Share on email
メールで共有

関数の最大点と最大値

関数\(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} \)における最大値と最大点および最小値と最小点をそれぞれ求めてください。
解答を見る

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

次回は関数の極大点や極大値、極小点や極小値などについて解説します。

< 前のページ
Share on twitter
Twitterで共有
Share on email
メールで共有
DISCUSSION

質問とコメント

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

RELATED KNOWLEDGE

関連知識

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最大値・最小値の定理
最大値・最小値の定理

有界な閉区間上に定義された連続関数は定義域上の点において最大値や最小値を取ります。これを最大値・最小値の定理と呼びます。