線形計画法(LP)はPで、整数計画法(IP)はNP困難です。しかし、コンピューターは有限の精度でしか数値を操作できないため、実際にはコンピューターは線形計画法に整数を使用しています。このため、LPとIPは同じ複雑さのクラスにすべきではありませんか?
線形計画法(LP)はPで、整数計画法(IP)はNP困難です。しかし、コンピューターは有限の精度でしか数値を操作できないため、実際にはコンピューターは線形計画法に整数を使用しています。このため、LPとIPは同じ複雑さのクラスにすべきではありませんか?
回答:
50人の担当者が必要なのでコメントできませんが、特に誤解が広がっています。特にラファエルのコメント「一般的に、連続ドメインとは、ブルートフォースがないことを意味します。
これは絶対に間違っています。キーポイントは確かに凸性です。いくつかの技術的な制約条件を除いて、凸時間関数の凸関数を最小化(または凹関数を最大化)することは、多項式時間収束の意味で本質的に簡単です。
大まかに言って、「数学」最適化の問題の凸性と「コンピューターサイエンス」最適化の貪欲なアルゴリズムの実行可能性との間には対応があると言えます。これは、どちらもローカル検索方法を有効にするという意味です。貪欲なアルゴリズムで後戻りする必要はなく、凸最適化問題で下降の方向を後悔する必要もありません。目的関数のローカルな改善により、常にグローバルな最適化に近づくことができます。
これは、非凸の場合にはそうではありません。ここでは、グローバル最小値が存在する場合がありますが、NP問題に適用された場合に貪欲なアルゴリズムが行うのと同じ方法で、ローカル降下アルゴリズムが常に描画されるいくつかのローカル最小値があります。時には彼らは真の最適を見つけますが、ほとんどの場合そうではありません。
簡単な答え:整数を使用してSATのブール値をシミュレートすることができますが、これに制限しないと、実際にSATをシミュレートすることはできません。実行可能な答えが得られますが、シミュレートしようとしていたSATインスタンスに関しては意味がなくなりました。
線形計画法が「効率的」である理由は、解空間が単一の凸多面体で表現される可能性があるためです。その多面体で「最高」の頂点を見つけようとしている場合(線形プログラミング問題に線形変換を適用して、「高さ」を最大化する量に対応させることができます)、頂点からエッジに沿って移動することができます「下り坂」に行かなくても最高のポイントです。整数プログラミングを「困難」にしているのは、連続的なソリューション空間がなく、代わりに多くのばらばらなソリューション空間があり、最適なソリューションに向かって徐々に作業する方法がないことです。
他の答えは正しいですが、私はそれらが少し技術的であると思います。マトリックスをスイープ(削除)して、解決策を探しているとします。マトリックスは次のようになります。
column x1 x2 x3 x4 x5 x6 | solution
-----------------------------------
1 1 1 | 3
1 | 1
1 1 | 2
2 1 1 | 1