WIIS

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

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

目次

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

多変数関数の最大点と最大値

多変数関数\(f:\mathbb{R} ^{n}\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} ^{n}\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} ^{n}\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} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =-x^{2}-y^{2}
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

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

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)における最大点は\(\left(0,0\right) \)であり、最大値は、\begin{equation*}f\left( 0,0\right) =-0^{2}-0^{2}=0
\end{equation*}です。

例(関数の最大点と最大値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x+y
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

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

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)において最大点を持ちません。\(x\)や\(y\)が大きくなるにつれて\(f\left(x,y\right) \)はいくらでも大きくなるからです。一方、この関数\(f\)の定義域を制限して、\begin{equation*}f:\mathbb{R} ^{2}\supset \left[ 0,1\right] \times \left[ 0,1\right] \rightarrow \mathbb{R} \end{equation*}とすれば、\(f\)の定義域\(\left[ 0,1\right] \times \left[ 0,1\right] \)における最大点は\(\left( 1,1\right) \)であり、最大値は、\begin{equation*}f\left( 1,1\right) =1+1=2
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最大値や最大点もまた変化します。

 

多変数関数の最小点と最小値

多変数関数\(f:\mathbb{R} ^{n}\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} ^{n}\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} ^{n}\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} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x^{2}+y^{2}
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

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

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)における最小点は\(\left(0,0\right) \)であり、最小値は、\begin{equation*}f\left( 0,0\right) =0^{2}+0^{2}=0
\end{equation*}です。

例(関数の最小点と最小値)
関数\(f:\mathbb{R} ^{2}\rightarrow \mathbb{R} \)はそれぞれの\(\left( x,y\right) \in \mathbb{R} ^{2}\)に対して、\begin{equation*}f\left( x,y\right) =x+y
\end{equation*}を定めるものとします。\(f\)のグラフは以下の通りです。

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

この関数\(f\)の定義域\(\mathbb{R} ^{2}\)において最小点を持ちません。\(x\)や\(y\)が小さくなるにつれて\(f\left(x,y\right) \)はいくらでも小さくなるからです。一方、この関数\(f\)の定義域を制限して、\begin{equation*}f:\mathbb{R} ^{2}\supset \left[ 0,1\right] \times \left[ 0,1\right] \rightarrow \mathbb{R} \end{equation*}とすれば、\(f\)の定義域\(\left[ 0,1\right] \times \left[ 0,1\right] \)における最小点は\(\left( 0,0\right) \)であり、最小値は、\begin{equation*}f\left( 0,0\right) =0+0=0
\end{equation*}となります。この例が示唆するように、同じ関数でも定義域が変われば最小点や最小値もまた変化します。

 

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

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

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

次回は多変数関数の局所最適解について解説します。

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階の必要条件を明らかにするとともに、関数の大域的最適解(最小点・最大点)を具体的に求める方法について解説します。

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

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

最大値・最小値
順序部分集合の最大元・最小元

非空な順序部分集合のある要素が、他の任意の要素以上である場合、それを最大元と呼びます。また、非空な順序部分集合のある要素が、他の任意の要素以下である場合、それを最小元と呼びます。