[目前,我正在研究纸浆生产线最小化问题。变量X
等于此问题中数字列表的总和。如果X为正,则不应将任何惩罚加到目标上。但是,如果X
为负,则应将此作为目标的惩罚加到。这意味着在这种情况下,Penalty
应该等于-X
。
例如:
X = lpvariable('X'-1000,1000,cat='Integer')
Penalty =lpvariable('Penalty', 0,1000,cat='Integer')
prob += Penalty # Objective
prob += 10 + 11 + -2 + -4 == X
在这种情况下为X=15
和Penalty=0
但是总和会是什么时候>>
prob += -10+11-2-4 ==X
变量
X=-5
,惩罚应为Penalty = 5
有人可以帮我吗?
非常感谢。
[目前,我正在研究纸浆生产线最小化问题。变量Xis等于此问题中数字列表的总和。如果X为正,则不应将任何惩罚加到目标上。 ...
您所缺少的是对Penalty
的约束。您几乎说出了这是您的问题。