整数計画問題に帰着される問題を見つけ次第メモする.
何が変数かは察してください.
帰着されたからと言ってすぐ解けるわけではない.
整数計画問題はNP困難ではあるが,これらの問題から何か法則性を見つけて特殊な条件の整数計画問題を解く典型手法みたいなものを見つけたい.
EDPC D(01ナップサック問題)
定式化
制約
定式化
制約
定式化
制約
定式化
制約
解法
ABC013 C
定式化
制約
定式化
制約
解法
一般性を失わずとおける.
制約を満たすがあったとし,
であるならば,
や
を満たす限り
や
にすると,
を変えずに
を小さくできる. したがって,
をできるだけ大きくした方がいいことになる.
で
を固定する.
すると, できるだけを大きくしたいので,
となる. ここで求める問題を書き直すと以下のようになる.
これは単純になので, 各
について
で求められる.
ARC050 B
定式化
制約
定式化
制約
解法
はできるだけ大きく,
はできるだけ小さくしたい.
を固定したとき,
が最適.
である必要があるため,
の下限は
.自明な解から探索の上限を求めると
であることが分かる.
自明な解:で
,したがって
となり
の範囲を絞れる.
ABC275 G
定式化
制約
定式化
制約
解法
から
を引き,
に
を加えても各制約の左辺値は変わらない.したがって,「
」、「
」、「
」、「
」、「
」のいずれかを満たすような最適解が存在する.それぞれ決め打つと,あとは適当な全探索により調べることができる.
ARC128 C
定式化
制約
定式化
制約
解法
を絶対値の小さな数とする.緩和問題の最適解が整数でない
を含むとする.整数でない
に
,整数でない
に
しても制約は満たしたまま目的関数を変化させることができる.目的関数を減少させる(増加させない)方向に
を変化させることで整数である
の数を増やすことができる.これを繰り返すことで整数のみの
からなる最適解が存在する(強双対性を持つ)ことが分かった.
緩和問題の双対問題を考える.
これは最小費用流で解ける形となっている.
ARC139 B
定式化
制約
解法
等号制約を使ってを消す.
または
の場合は簡単に最適解が分かるので,
かつ
である場合を考える.
一般性を失わず,とできる.
である場合,
,
とすれば,
であるため,制約を違反せずに目的関数を減少させることができる.
したがって,としてよい.また,
としてあり得る最大値は
であるため,
の値による適当なアルゴリズムの使い分けにより
で解ける.