最適化問題とは
最適化問題は、特定の集合における実数値または整数値の関数についてその値を最小化または最大化する状態を分析する
数学の問題です。このような問題は数理計画問題とも呼ばれ、
自然科学や
工学、社会科学など多くの分野で発生しています。その歴史は18世紀にまで遡り、特に変分問題が最も初期の形態とされています。1940年代に登場した線型計画法により、最適化は一層研究が進み、数理的手法の進化を助けてきました。
定義と基本概念
数学的に最適化問題を定義する場合、最小化問題はある関数 $f:A \to \mathbb{R}$ に対して、条件 \( x_0 \in A \, : \, \forall x \in A, \, f(x_0) \leq f(x) \) を満たす $x_0$ を求めることを示します。最大化問題の場合は、条件 \( \forall x \in A, \, f(x_0) \geq f(x) \) を満たす $x_0$ を探します。最大化問題は目的関数の符号を反転させることにより最小化問題として捉えられます。このとき、目的関数を「目的の達成」を示す重要な関数とし、探すべき変数とその条件を「制約条件」と呼びます。
制約条件の集合 A を「実行可能領域」とし、その要素を「実行可能解」と称します。さらに、実行可能解の中で最小または最大の目的関数値を持つ解をそれぞれ「最小解」や「最大解」と呼びます。一般に、最小解と最大解を区別することなく「最適解」と総称することがあります。
問題の分類
最適化問題は多様な観点から分類されます。まず、対象となる空間に基づいて無限次元問題と有限次元問題に分かれます。関数空間に制約される問題は無限次元に、ユークリッド空間に制約されるものは有限次元に分類されます。また、制約がない場合は無制約問題、逆にある場合は有制約問題として扱います。
次に、目的関数や制約条件に基づいて幾つかの具体的な問題クラスへ分類されます。代表的なものには以下のようなものがあります。
1.
線型計画問題 - 目的関数が1次関数で、制約条件が線形である。
2.
整数計画問題 - 変数が整数値に制約される線型計画問題。
3.
凸計画問題 - 目的関数が凸関数であり、制約条件も凸集合である場合。
4.
非線型計画問題 - 非線型の目的関数や制約条件を含む場合。
アルゴリズム
最適化問題の解法として様々なアルゴリズムが存在します。導関数が必要な場合の手法としては、勾配法があります。また、導関数が不要な手法も多く、Nelder-Mead法や進化戦略などが挙げられます。同様に、1次元と多次元に対応したアルゴリズムが用意されており、特定の最適化問題に特化したアプローチが開発されています。
歴史的背景
最適化問題に対する手法は、カール・フリードリッヒ・ガウスによる最急降下法に端を発し、1940年代にはジョージ・ダンツィクによって線型計画法がその名称で広まりました。この分野への貢献を果たした
数学者には、ジョン・フォン・ノイマンやレオニート・カントロヴィチが知られています。
最適化問題は広範な応用があり、自身が関与する多くの分野において不断に進化し続ける重要な研究領域です。