与放置相关的线性规划约束设置

问题描述

我有一个代码,您可以输入不同大小的模块(宽度、高度形式的矩形),它根据某些约束为这些模块提供最佳位置。目标函数是最小化面积。

例如,当我输入“(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 是对象 ij 之间所需的额外水平空间。