問題は次のとおりです。
2次元の配列/数値のグリッドがあり、それぞれが「利益」または「利益」を表します。また、2つの固定整数とh(「幅」と「高さ」)と、固定整数nもあります。
ここで、これらの長方形のセルの値の合計が最大になるように、グリッドに次元w × hの長方形をオーバーレイします。
次の図は、そのような2つの長方形が上に重ねられた2次元グリッドの例です(この図は、最適なソリューションを示していませんおよびn = 2の 1つの可能な重ね合わせのみです)。
長方形は交差できません(そうでなければ、1つの長方形の最適な位置を見つけて、すべての長方形をその位置に配置するだけで済みます)。
上記の例では、セルの値の合計は
これは、組み合わせ最適化の既知の問題に似ていますか?読書を始めて、それを解決する方法を見つけることができるように。
興味のある人のためのいくつかの背景:
これまでのところ、私が持っていた唯一のアイデアは、貪欲なアルゴリズム(最初の四角形の最適な場所を見つけ、次に2番目の四角形の重複しない場所を見つけるなど)または遺伝的アルゴリズムなどのメタヒューリスティックです。
実際には、約100万のセルと数万(または数十万)の長方形を持つグリッドでこの問題を解決したいと考えていますが、短時間で解決する必要はありません(つまり、アルゴリズムは数時間または数日かかる場合があります。)正確な解決策を期待していませんが、これらの制約を考慮して、可能な限り優れた解決策を求めています。
乾杯!