Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 与布局相关的线性规划约束设置_Matlab_Optimization_Constraints_Linear Programming_Integer Programming - Fatal编程技术网

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

Matlab 与布局相关的线性规划约束设置,matlab,optimization,constraints,linear-programming,integer-programming,Matlab,Optimization,Constraints,Linear Programming,Integer Programming,我有一个代码,您可以输入不同大小的模块(以宽度、高度的形式显示的矩形),它根据某些约束为这些模块提供了最佳位置。目标函数是最小化面积 例如,当我输入“(4,5)(3,7)(6,4)(7,7)”时,意味着第一个模块的宽度是4,高度是5,它会根据这些[约束][1]给我(x_1,y_1)…(x4,y4)个调整后的模块 前两个约束表示模块应位于平面布置图W和Y内。接下来的4个是非重叠约束,表示模块不应重叠。最后两个说模块应该在第一象限 有人知道这种类型的放置约束是否存在任何现有的线性约束公式吗?其中一个

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

例如,当我输入“(4,5)(3,7)(6,4)(7,7)”时,意味着第一个模块的宽度是4,高度是5,它会根据这些[约束][1]给我(x_1,y_1)…(x4,y4)个调整后的模块

前两个约束表示模块应位于平面布置图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
是对象
i
j
之间所需的额外水平空间,您可以向无重叠约束添加边距。只是一个常数。你能写一个等式来举例吗?谢谢你的回答。我在这里查看约束:我没有看到第一个非重叠约束中的“M*δ(I,j,1)”部分。我看到W(x_I,j+y_I,j)。本质上是一样的。