区画化されたパネルの描画を生成するアプリケーションを作成しようとしています。
N 個のキュービクル (2D 長方形) があります (N <= 40)。各キュービクルには、最小の高さ (minHeight[i]) と最小の幅 (minWidth[i]) が関連付けられています。パネル自体にも MAXIMUM_HEIGHT 制約があります。
これらの N 個のキュービクルは、各キュービクルで上記の制約が満たされるように、列方向のグリッドに配置する必要があります。
また、各列の幅は、その列の各キュービクルの最大 minWidths によって決まります。
また、各列の高さは同じでなければなりません。これにより、パネルの高さが決まります
任意の列に残っている空きスペースに予備のキュービクルを追加したり、指定された最小値を超えて任意のキュービクルの高さ/幅を増やしたりできます。ただし、キュービクルを回転させることはできません。
OBJECTIVE: TO MINIMIZE TOTAL PANEL WIDTH.
現在、最適化でキュービクルの幅を無視するだけで実装しています。minHeight が最大のキュービクルを選択し、パネルに収まるようにします。ただし、最適解を保証するものではありません。
私はこれより良くなることができますか?
編集 1: パネルの MAXIMUM_HEIGHT = 2100mm、最小幅範囲 (350mm から 800mm)、最小高さ範囲 (225mm から 2100mm)
編集 2: 問題の目的: パネル幅を最小化する (パネル領域ではない)。