整数計画問題

整数計画問題（せいすうけいかくもんだい）は、線型計画問題において、解ベクトル  の各要素を整数に限定した問題をいう。これはNP困難な問題に該当する。線型計画問題には多項式時間アルゴリズムが存在するのに対し、整数計画問題ではまだ見つかっていない。

解ベクトル  の各要素を  または  のみに限定したものを、特に0-1整数計画問題という。

 整数計画問題の基準形と標準形 
整数計画問題では、定式化を標準形（standard form）および基準形（canonical form）に従った形式で表される。基準形の整数計画問題は次のように書き表される（このときベクトル  について求める問題である）: 

また標準形の整数計画問題は次のように書き表される:

ここで  は行列、 は列ベクトルである。線形計画問題と同様に、不等式の制約式に対して非負の制約をもつ  を不等式制約式の小さな項に対して導入することで等式の制約式に書き換えられ、 という非負の条件を持たない自由変数に対しては、非負の変数 ,  を用いて、 と書き直すことで、整数計画問題を標準形に表すことができる。

 例 
350px|thumb|IPとLP緩和後の多面体
右の図に対する整数計画問題は以下の通りである: 

ここで赤点は実行可能な整数点を表しており、赤の破線は実行可能な点をすべて含む最小の多面体（凸包）を表している。青い線と座標軸によって定義されるのが、制約条件から整数制約を除いた線形計画（LP）緩和の多面体を表している。最適化の目標としては、黒の破線が多面体に接した状態を維持したまま可能な限り上方に移動させることである。整数問題の最適解は ,  で、目的関数値が  である。一方、変数の整数条件を取り除いた線形計画緩和の最適解は  で、目的関数値は  である。この線形計画緩和の最適解に対して小数部分を最も近い整数に丸めると、 となり、整数計画問題の実行可能解ではない。

 類似の問題 
（Mixed-integer linear programming: MILP）とは、変数の一部分に対して整数条件が課された問題である。

（Zero–one linear programming、binary integer programming）とは、変数の取り得る値が 0 または 1 に限定された問題である。整数変数が有界の場合はを用いて表現することができる。具体例として、整数変数が  の範囲であるとき、変数は  個のバイナリ変数を用いて: 

もしくは、 個のバイナリ変数を用いて: 

もしくは、 個のバイナリ変数を用いて: 

と書き換えられる。

 整数計画問題として解かれる問題の例 
頂点被覆問題
ナップサック問題
ハミルトン閉路問題
巡回セールスマン問題
集合被覆問題
最大独立集合問題
最小極大マッチング問題
最大クリーク問題
支配集合問題
辺支配集合問題
ビンパッキング問題
配送計画問題
板取り問題

 脚注 

 関連文献 
 今野浩:「整数計画法」，産業図書，1981．
 今野浩・鈴木久敏編：「整数計画と組合せ最適化」，日科技連，1982.
 久保幹雄，田村明久，松井知己（編）：「応用数理計画ハンドブック」，朝倉書店，2002.

Category:最適化
Category:数学に関する記事