固定数の変数を使用した整数プログラミング


12

H. Lenstraによって有名な1983紙変数の固定数で整数計画変数の固定数を持つ整数プログラムは、データの長さの時間多項式で解決できると述べています。

次のように解釈します。

  1. 一般に整数プログラミングはまだNP完全ですが、手元にある私の典型的な問題サイズ(たとえば、約10.000変数、任意の数の制約)が実際に実行可能であれば、制約の数で多項式的にスケーリングするアルゴリズムを構築できますが、変数と制約の数。
  2. 適切な制約を追加することで任意の整数を強制的に0-1にできるため、結果はバイナリプログラミングにも適用できます。

私の解釈は正しいですか?

この結果は実際的な意味を持ちますか?つまり、利用可能な実装はありますか、それはCPLEX、Gurobi、Mosekなどの一般的なソルバーで使用されていますか?

論文からの引用:

この長さは、目的のために、n・m・log(a + 2)と定義できます。ここで、aはAとbの係数の絶対値の最大値を示します。実際、問題の問題はNP完全であるため、そのような多項式アルゴリズムは存在しない可能性が高い

[...]

[5]、[10]は、nの任意の固定値に対して、整数線形計画問題を解くための多項式アルゴリズムが存在すると推測されました。本論文では、このようなアルゴリズムを示すことにより、この推測を証明します。アルゴリズムの実行時間を制限できる多項式の次数は、nの指数関数です。


2
制約や変数の数では多項式でスケーリングするが、変数や制約の数ではスケーリングしないアルゴリズムを構築できました。」興味深い点/質問-これまでのところ、これは制約(変数の数を固定)に当てはまることがわかりましたが、変数(定数の数を固定)にも当てはまるかどうかを尋ねることは興味深いかもしれません?直感的には、それは真実ではないように感じます。そうでなければ、IPは一般にポリタイムになりますが、私にはわかりません。
-usul

論文のセクション4で、Lenstraは「mの固定値を持つ整数線形計画問題は多項式的に解ける」と述べています。(mは制約の数です)これは、主な結果の結果として続きます。このセクションは私には明らかではありません。考え直して、多分彼は固定nとmを仮定します。つまり、「a」の多項式(Aとbの係数の絶対値の最大値)です。(結果として、上記の質問から「または変数」の部分を削除しました)。
ベルンハルトカウスラー

6
@usul:それは事実であり、IPがポリタイムであることを意味するものではありません。それだけでそこに指数関数的な時間を要するつのアルゴリズムであることを意味しおよび多項式mは、指数に時間かかるという別のMおよび多項式をNnmmn
Sashoニコロフ

回答:


19

現在の最速のアルゴリズムは、固定値ごとに整数線形プログラムの長さが実際には線形です。Lokshtanov(2009)は博士論文で、Lenstra(1983)、Kannan(1987)、Frank&Tardos(1987)の結果を次の定理によりうまくまとめています。n

整数線形計画を用いて解くことができる における演算や空間多項式Lを。ここで、Lは入力のビット数、nは整数線形プログラムの変数の数です。O(n2.5n+o(n)L)LLn

したがって、問題は、変数の数によってパラメーター化された固定パラメーター線形です。

1)はい、整数線形計画法は「まだ」NP完全です。上記の理論結果の実行時間は、制約の数にのみ線形に依存するため、制約の数に応じて適切にスケーリングされます。しかし、私はこのアルゴリズムの実際の実装を知りません。

2)はい、変数をバイナリ値にすることは、あなたが観察したように簡単です。

L ここで、mは制約の数、sは制約または目的関数のエンコードに必要な最大ビット数です。

O(2nnm+8nnmlogmlogm+n2.5n+o(n)slogm)
ms

1
ああ、「固定パラメータ線形」という用語に感謝します。それがLenstraの論文の目的です。参照:en.wikipedia.org/wiki/Parameterized_complexity
ベルンハルトカウスラー

4
nO(n2nm)

T(n,m,s)nmsO(2nm+(logm)T(n,f(n),s)O(s)f(n)nO(n)

1
これはあなたの答えの基本的な事実を変えるものではありませんが、別の関連する参考文献はKL Clarksonです。次元が小さい場合の線形および整数プログラミング用のラスベガスアルゴリズム。J. ACM 42(2):488–499、1995、doi:10.1145 / 201019.201036。
デビッドエップシュタイン

2
mnO(n2.5n+o(n)L)T(n,f(n),s)f(n)=4nL=4nsf(n)O(2nnm+n2.5n+o(n)(logm)s)

4

Lenstraタイプの結果の実用的な意味、およびCPLEXやGurobiなどでの実装の可能性に関するいくつかのポイントを以下に示します。つまり、多面体の幅が大きすぎない超平面(変数の多項式とデータのサイズ)。しかし、MahajanとRalphsここにプレプリント)は、最適な選言の選択の問題がNP完全であることを示しました。そのため、このクラスのアルゴリズムの実用的な効率的な実装を作成するのは難しいように思われます。

CPLEXなどのパッケージに実装されているほとんどのアルゴリズムは、ブランチアンドカットメソッドとして分類できます。この一連の手法は通常、実行可能なIPインスタンスで適切に機能し、最適に近いソリューションを見つけることができます。しかし、Lenstraタイプのアルゴリズムの焦点は、最初から実行不可能な最悪のIPインスタンスにあり、目標はそれらの整数の実行不可能性を証明することです(そして、このタスクの複雑さを研究します)。私の知る限り、この説明に当てはまる実用的な関連性を持つ問題のクラスはありません。そのため、CPLEX / Gurobiの人々は、Lenstraタイプのアルゴリズムをすぐには実装しないでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.