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

Linear programming constraint set-up related to placement

我有一个代码,你可以输入不同大小的模块(width, height 形式的矩形),它为那些依赖于模块的模块提供了最佳位置在某些约束条件下。 objective函数是面积最小化

例如,当我输入“(4, 5) (3, 7) (6, 4) (7, 7)”时,这意味着第一个模块的宽度为 4,高度为 5,它给了我(x_1, y_1).....(x4, y4) 基于这些 [constraints][1].

的调整模块

前两个约束表示模块应位于平面图 W 和 Y 内。接下来的 4 个是非重叠约束,表示模块不应重叠。并且,最后两个说模块应该在第一象限。

有谁知道是否存在针对此类放置约束的任何现有线性约束公式?

其中一个无重叠约束的形式类似于:

 x(i) + w(i) ≤ x(j) + M*δ(i,j,1)

将其替换为

 x(i) + w(i) + xmargin ≤ x(j) + M*δ(i,j,1)

其中 xmargin 是对象 ij 之间所需的额外水平 space。