整数計画問題(整数最適化とも呼ばれる)[ 1 ]は、変数の一部またはすべてが整数に制限される数学的最適化または実行可能性プログラムです。多くの設定では、この用語は整数線形計画法(ILP)を指し、その目的関数と制約(整数制約以外)は線形です。
整数計画法はNP完全である[ 2 ](難しいのはNPメンバーシップを示すことである[ 3 ])。特に、未知数がバイナリであり、制約条件のみを満たす必要がある0-1整数線形計画法の特殊なケースは、Karpの21のNP完全問題の1つである[ 4 ]。
決定変数の一部が離散的でない場合、その問題は混合整数計画問題として知られています。[ 5 ]
整数線形計画問題は、正準形式または標準形式(どちらも以下に定義)で表現できますが、これらは互いに異なります。正準形式の整数線形計画問題は次のように表現されます(これは決定されるべきベクトル): [ 6 ]
標準形式のILPは次のように表されます。
どこ はベクトルであり、は行列です。線形計画問題と同様に、標準形式でない ILP は、不等式を消去し、スラック変数 ()そして、符号制約のない変数を、符号制約のある2つの変数の差に置き換える。

右側のグラフは、以下の問題を示しています。
実行可能な整数点は赤色で示され、赤い破線はそれらの凸包、つまりこれらの点をすべて含む最小の凸多面体を示しています。青い線と座標軸は、整数制約のない不等式で与えられるLP緩和の多面体を定義します。最適化の目標は、多面体に接したまま黒い破線をできるだけ上に移動させることです。整数問題の最適解は点です。そして両方とも目的値が2である。緩和の唯一の最適値は目的関数値は2.8です。緩和問題の解を最も近い整数に丸めると、ILPでは実行不可能になります。単体への射影を参照してください。
以下は、最小頂点被覆問題から整数計画問題への還元であり、NP困難性の証明となる。
させて無向グラフとする。線形計画問題を以下のように定義する。
整数計画問題の実行可能な解は、頂点のサブセット上で非ゼロになります。最初の制約は、すべての辺の少なくとも1つの端点がこのサブセットに含まれることを意味します。したがって、解は頂点被覆を表します。さらに、ある頂点被覆Cが与えられた場合、任意の値に 1 に設定できます任意の値に対して0にこれにより、整数計画問題の実行可能な解が得られます。したがって、合計を最小化すれば、我々は最小頂点被覆も発見した。[ 7 ]
混合整数線形計画法( MILP ) は、変数の一部のみが、、は整数に制約されますが、その他の変数は非整数でも構いません。
ゼロイチ線形計画法(またはバイナリ整数計画法)は、変数が0または1に制限される問題です。任意の制限付き整数変数は、バイナリ変数の組み合わせとして表現できます。[ 8 ]例えば、整数変数が与えられた場合、変数は次のように表現できますバイナリ変数:
問題を線形計画問題としてモデル化する際に整数変数を使用する主な理由は2つあります。
これらの考慮事項は実際には頻繁に発生するため、整数線形計画法は多くの応用分野で使用できます。そのいくつかについては、以下に簡単に説明します。
混合整数計画法は、ジョブショップモデルをはじめとする工業生産において多くの応用例があります。重要な例の一つは農業生産計画で、資源(土地、労働力、資本、種子、肥料など)を共有できる複数の作物の生産量を決定する際に用いられます。考えられる目標の一つは、利用可能な資源を超えずに総生産量を最大化することです。場合によっては、これは線形計画問題として表現できますが、変数は整数に制約されなければなりません。
これらの問題は、輸送ネットワークにおけるサービスと車両のスケジューリングに関するものです。例えば、時刻表を遵守するためにバスや地下鉄を個々の路線に割り当て、さらに運転手を配置するという問題が考えられます。ここで、二値決定変数は、バスや地下鉄が路線に割り当てられるかどうか、また運転手が特定の列車や地下鉄に割り当てられるかどうかを示します。ゼロイチ計画法は、プロジェクトが相互に排他的であったり、技術的に相互依存的であったりするプロジェクト選択問題の解決に成功裏に適用されています。
地域分割問題とは、さまざまな基準や制約を考慮しながら、地理的な地域を複数の地区に分割し、事業計画を立てる問題です。この問題における要件としては、隣接性、コンパクト性、バランスまたは公平性、自然境界の尊重、社会経済的均質性などが挙げられます。この種の問題の応用例としては、政治区割り、学校区割り、医療サービス区割り、廃棄物管理区割りなどがあります。
これらの問題の目標は、あらかじめ定義された通信要件を満たし、ネットワークの総コストが最小になるように、設置する回線のネットワークを設計することです。[ 9 ] これには、ネットワークのトポロジーを最適化するとともに、さまざまな回線の容量を設定する必要があります。多くの場合、容量は整数値に制限されます。通常、使用する技術に応じて、整数またはバイナリ変数の線形不等式としてモデル化できる追加の制約があります。
GSMモバイルネットワークにおける周波数計画のタスクは、利用可能な周波数をアンテナ間で分配して、ユーザーにサービスを提供し、アンテナ間の干渉を最小限に抑えることです。[ 10 ] この問題は、バイナリ変数が周波数がアンテナに割り当てられるかどうかを示す整数線形計画問題として定式化できます。
整数線形計画問題(ILP)を解く単純な方法は、 xが整数であるという制約を取り除き、対応する線形計画問題(ILPのLP緩和と呼ばれる)を解き、その解の要素をLP緩和に丸めることです。しかし、この解は最適解ではないだけでなく、実行可能解ですらない場合もあります。つまり、何らかの制約に違反する可能性があるのです。
一般的にLP緩和の解は必ずしも整数値になるとは限りませんが、ILPが次の形式の場合そのためどこそしてすべて整数エントリを持ち、が完全ユニモジュラーである場合、すべての基本実行可能解は整数です。したがって、シンプレックス法によって返される解は整数であることが保証されます。すべての基本実行可能解が整数であることを示すために、任意の基本実行可能解とする。実現可能だとわかっているので、。 させて基本解の基底列に対応する要素とする。基底の定義により、ある正方部分行列が存在する。の 線形独立な列を持ち、。
列以来線形独立であり、正方形です。は非特異であり、したがって仮定により、単一モジュールなのでまた、は非特異であり、可逆であるため、定義上、。 ここの補佐役を表すそしてそれは不可欠であるは整数です。したがって、 したがって、行列がILP の完全ユニモジュラーである場合、ILP アルゴリズムを使用する代わりに、シンプレックス法を使用して LP 緩和を解くことができ、解は整数になります。
行列が完全にユニモジュラーではないものの、整数線形計画問題を正確に解くために使用できるアルゴリズムは数多く存在する。アルゴリズムの一種に、切除平面法がある。これは、線形計画緩和問題を解き、整数実行可能点を排除することなく解を整数に近づける線形制約を追加することで機能する。
もう一つのアルゴリズムのクラスは、分岐限定法の変種です。例えば、分岐限定法と切断平面法を組み合わせた分岐カット法などがあります。分岐限定法は、切断平面法のみを使用するアルゴリズムに比べて多くの利点があります。1つの利点は、アルゴリズムを早期に終了できることです。少なくとも1つの整数解が見つかれば、必ずしも最適解ではないものの、実行可能な解を返すことができます。さらに、線形計画緩和の解を用いることで、返された解が最適解からどれだけ離れているかを最悪の場合の推定値として提供できます。最後に、分岐限定法は複数の最適解を返すために使用できます。
仮定するはm × nの整数行列であり、はm行 1 の整数ベクトルです。ここでは、 n行 1 のベクトルが存在するかどうかを判定する実現可能性問題に焦点を当てます。満足。
Vを係数の最大絶対値とする そしてn(変数の数)が固定定数である場合、実行可能性問題はmとlog Vの多項式時間で解くことができます。n =1の場合は自明です。n=2の場合は1981年にHerbert Scarfによって解決されました。[ 16 ]一般的なケースは、 László LovászとPeter van Emde Boasのアイデアを組み合わせて、 1983年にHendrik Lenstraによって解決されました。[ 17 ] Doignonの定理は、整数計画が実行可能であるのは、すべての部分集合が制約は実行可能であり、この結果をLP型問題のアルゴリズムと組み合わせた方法を用いることで、線形時間で整数計画問題を解くことができる。固定パラメータ扱い可能(FPT)しかし、おそらく二重指数関数的である依存なし[ 18 ]
0-1整数線形計画問題(ILP)の特殊なケースでは、レンストラのアルゴリズムは完全列挙と同等です。つまり、可能な解の数は固定(2 n )であり、各解の実行可能性のチェックはpoly( m , log V )の時間で実行できます。一般のケースでは、各変数は任意の整数になり得るため、完全列挙は不可能です。ここで、レンストラのアルゴリズムは数の幾何学の考え方を利用します。元の問題を、次の性質を持つ同等の問題に変換します。すなわち、解の存在です。は明らかです、または、(n番目の変数)は、 nの関数によって長さが制限される区間に属します。後者の場合、問題は限られた数の低次元問題に縮小されます。アルゴリズムの実行時間計算量は、いくつかのステップで改善されました。
これらのアルゴリズムは、混合整数線形計画問題(MILP)にも使用できます。MILPとは、一部の変数が整数で、一部の変数が実数であるプログラムです。[ 26 ] Lenstraの元のアルゴリズム[ 17 ]: Sec.5は実行時間がここで、n は整数変数の数、d は連続変数の数、Lは問題のバイナリ符号化サイズです。後のアルゴリズムの手法を使用すると、係数改善できるまたは[ 26 ]
整数線形計画法はNP 困難であるため、多くの問題インスタンスは扱いが難しく、代わりにヒューリスティック法を使用する必要があります。たとえば、タブーサーチを使用して ILP の解を探索できます。[ 27 ] タブーサーチを使用して ILP を解くには、実行可能な解の整数制約変数を増減させ、他のすべての整数制約変数を一定に保つように移動を定義できます。次に、制約のない変数を解きます。短期記憶は以前に試した解で構成され、中期記憶は高い目的値をもたらす整数制約変数の値で構成されます (ILP が最大化問題であると仮定します)。最後に、長期記憶は、以前に試していない整数値に向かって探索を誘導できます。
ILPに適用できるその他のヒューリスティック手法には以下のようなものがある。
他にも、巡回セールスマン問題に対するk-optヒューリスティックなど、問題固有の様々なヒューリスティックが存在する。ヒューリスティック手法の欠点は、解が見つからなかった場合、実行可能な解が存在しないのか、単にアルゴリズムが解を見つけられなかったのかを判断できないことである。さらに、これらの手法によって得られた解が最適解にどれだけ近いかを定量化することは通常不可能である。
行列が整数計画を定義する行列は疎行列です。特に、これは行列がブロック構造を持つ場合に発生し、多くのアプリケーションで該当します。行列の疎性は次のように測定できます。列に対応する頂点を持つ2 つの列がエッジを形成する場合両方の列にゼロ以外のエントリがある行があります。言い換えれば、頂点は変数に対応し、2つの変数が不等式を共有する場合、それらはエッジを形成します。スパース性尺度のは、グラフの木の深さの最小値です。そして転置のグラフの木の深さ。 させて数値的な尺度としてエントリの最大絶対値として定義される。 させてを整数計画の変数の数とする。そして2018年に[ 28 ]、整数計画は、でパラメータ化された強力な多項式時間および固定パラメータ扱いやすい時間で解けることが示された。そしてつまり、ある計算可能な関数に対してそしていくつかの定数整数計画問題は時間内に解くことができる特に、時間は右辺とは無関係である。目的関数さらに、レンストラの古典的な結果とは対照的に、変数の数はパラメータであり、ここではその数は変数の は入力の可変部分です。
{{cite book}}: CS1メンテナンス: パブリッシャーの場所 (リンク)