问题描述
我有一个代码,您可以输入不同大小的模块(宽度、高度形式的矩形),它根据某些约束为这些模块提供最佳位置。目标函数是最小化面积。
例如,当我输入“(4,5) (3,7) (6,4) (7,7)”时,意思是第一个模块的宽度是 4,高度是 5 它给了我 (x_1,y_1)....(x4,y4) 基于这些[约束][1]的调整模块。
前两个约束表示模块应该在平面图 W 和 Y 内。接下来的 4 个是非重叠约束,意味着模块不应该重叠。而且,最后两个说模块应该在第一象限。
有谁知道这种类型的放置约束是否有任何现有的线性约束公式?
解决方法
无重叠约束之一的形式类似于:
x(i) + w(i) ≤ x(j) + M*δ(i,j,1)
将其替换为
x(i) + w(i) + xmargin ≤ x(j) + M*δ(i,1)
其中 xmargin
是对象 i
和 j
之间所需的额外水平空间。