ビンパッキング問題(ビンパッキングもんだい)とは、離散数学の組合せ論の中のNP困難問題で、与えられた「荷物(重さや個数がついている)」をつめる「箱(ビンやコンテナなど)」の最小数を見つけるものである。問題を解くためにビン型(筒状型)の模型を使うのでこのように呼ばれる。 様々な解決方法(アルゴリズム)が考案されているが、あらゆる場合の箱の最小数を効率的に見つけることができるような万能なアルゴリズムはない(NP困難問題)。 ゲイリー、ジョンソンによる著書『Computers and Intractability(英語版)』で記述されているビンパッキング問題の定義を以下で説明する[1]:226。 入力:有限個のアイテム集合 、およびアイテム ごとのサイズ 、および容量 をもつビンおよび正の値をとる が与えられる。 問い:集合 を素集合 に分割して、それぞれの部分集合 に含まれるアイテムのサイズの