我正在尝试编写一个应用程序,为分隔面板生成绘图。
我有N个小隔间(2D矩形)(N <= 40)。对于每个隔间,都有最小高度(minHeight [i])和最小宽度(minWidth [i])相关联。面板本身还有一个MAXIMUM_HEIGHT约束。
这些N个隔间必须按列排列,以便满足每个隔间的上述约束条件。
此外,每列的宽度由该列中每个隔间的minWidths的最大值决定。
此外,每列的高度应相同。 这决定了面板的高度。
我们可以在任何列的剩余空间中添加备用隔间,或者可以将任何隔间的高度/宽度增加到指定的最小值以上。 但是我们不能旋转任何隔间。
OBJECTIVE: TO MINIMIZE TOTAL PANEL WIDTH.
目前,我在我的优化过程中只是简单地忽略了隔间的宽度。我只选择具有最大 minHeight 的隔间并尝试将其放入面板中。然而,这不能保证最优解。
我能不能做得更好呢?
编辑1:面板的 MAXIMUM_HEIGHT = 2100mm,minwidth 范围为(350 mm 到 800 mm),minheight 范围为(225 mm到2100 mm)
编辑2:问题目标:最小化面板的宽度(不是面积)。