用Integar编程求解最小化问题



我被要求解决以下问题:

问题是:

你被要求用胶合板修理农舍。

  • 你得到了三十块胶合板。(每个尺寸=10英尺x 10英尺(

  • 房子需要20个圆形(半径=2.5英尺(和15个矩形

  • 切割一个圆圈需要花费20美元,切割一个矩形需要花费15美元种方法来切割纸张,如下所示:

这是图片:https://i.stack.imgur.com/mOomz.png

基本上,

第一种方法:从1张中切出4个圆

第二种方法:从1张中剪切4个矩形

第三种方法:从1张中剪切2个圆形和1个矩形

(我将这些设置为x、y、z:挡住去路的纸张数量(

  • 您还可以用45美元购买1个单圆和用30美元购买1个矩形

  • 您不能浪费超过30%的材料。(假设总未使用面积<=30%(

以下是我解决问题的方法:

x、 y,z=以上述方式切割的纸张数量

目标函数:

M=80x+60y+55z

施工单位:

1.4x+2z<20

2.4y+z<15

3.x+y+z<30

4.0215x+0.04y+0.367z<0.3(x+y+z(

我似乎得到了全零,但我不知道如何设置约束。

我被要求用ORtools python来解决这个问题。

但是用不正确的方程式来做是没有任何意义的。

我认为前两个约束是错误的,应该大于。

这里还包括了购买单独圆形(c(和矩形(r(的可能性的模型:

M = 80x+60y+55z+45c+30r

限制条件:

1. 4x+2z+c >= 20
2. 4y+z+r >= 15
3. x+y+z <= 30
4. 0.215x+0.04y+0.367z <= 0.3(x+y+z)
5. x >= 0, y >= 0, z >= 0, c >= 0, r >= 0

给出:

M=640, x=5, y=4, z=0, c=0, r=0

最新更新