製造環境で使用する学校用の簡単なソフトウェアの開発を依頼されました。
これがシナリオです:
サイズのリストが表示されます。各サイズはボードを反映しているため、たとえば、24 "x 30"のボード、30 "x 30"、30"x48"などがあります。これらのボードは、原材料を切断するプロセスの副産物です。
原材料は、60"x120"と48"x96"の2種類のボードサイズで提供されます。
彼らは、原材料からボードを切り取る最良の方法を知りたがっています。「最良の」方法とは、原材料と残留物の量が最も少ない方法と定義されています。彼らはまた、使用される原材料の量を知りたいので、例えば、60"x120"の30枚のボードと48"x96"の3枚のボードです。
ボードは水平または垂直にカットできます。つまり、24"x30"は24"x30"または30"x24"のいずれかにカットできます。
全体で50枚のボードが与えられた場合(同じサイズの場合もあります)、2 ^ 50の異なる組み合わせを使用できます。これは、何千もの異なるボードサイズでソフトウェアを実行するため、長すぎるようです。
このシナリオに合うかもしれないアルゴリズムを誰かが知っているのだろうか。
ありがとう!