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