数学、工学、コンピュータ科学、経済学において、最適化問題とは、実行可能なすべての解の中から最良の解を見つける問題のことである。
最適化問題の文脈では、探索空間とは、問題の制約、目標、または目的を満たすすべての可能な点または解の集合を指します。[ 1 ]これらの点は、目的関数に従って最適な解を見つけるために評価できる実行可能な解を表します。探索空間は、多くの場合、最適化される関数の定義域によって定義され、問題の要件を満たすすべての有効な入力を含みます。[ 2 ]
探索空間は、問題によって大きさや複雑さが大きく異なります。例えば、連続最適化問題では、探索空間は境界や制約によって定義される多次元の実数値領域となる場合があります。一方、組み合わせ最適化などの離散最適化問題では、探索空間は有限個の順列、組み合わせ、または構成から構成される可能性があります。
文脈によっては、「探索空間」という用語は、問題を定義するために最も適切な変数やパラメータのセットを決定するなど、ドメイン自体の最適化を指す場合もあります。探索空間を理解し、効果的に活用することは、効率的なアルゴリズムを設計する上で非常に重要です。なぜなら、探索空間は計算の複雑さや最適解を見つける可能性に直接影響を与えるからです。
m = p = 0の場合、この問題は制約なし最適化問題となります。慣例として、標準形式では最小化問題が定義されます。最大化問題は、目的関数を負にすることで扱うことができます。
形式的には、組み合わせ最適化問題Aは( I、f、m、g )の四つ組であり、
そこで目標は、あるインスタンスxに対して最適な解、すなわち実行可能な解yを見つけることである 。
組み合わせ最適化問題ごとに、特定の尺度m 0に対して実行可能な解が存在するかどうかを問う対応する決定問題があります。たとえば、頂点uとvを含むグラフGがある場合、最適化問題は「 uからvへの経路で、使用する辺の数が最小のものを見つける」かもしれません。この問題の答えは、例えば 4 かもしれません。対応する決定問題は、「 uからvへの経路で、使用する辺の数が 10 以下であるものは存在するか」です。この問題には、「はい」または「いいえ」で簡単に答えることができます。
近似アルゴリズムの分野では、アルゴリズムは困難な問題に対してほぼ最適な解を見つけるように設計されています。通常の決定バージョンは、許容可能な解のみを指定するため、問題の定義としては不十分です。適切な決定問題を導入することもできますが、この問題は最適化問題としてより自然に特徴付けられます。[ 4 ]