我试图在python中的gurobi优化问题中实现分段线性目标。当尝试使用gurobi网站(http://examples.gurobi.com/production-scheduling/)中的示例熟悉此方法时
我陷入困境,好几天都无法真正解决这个问题。现在我希望这里有人能告诉我,我的解释哪里错了。在
上述例子优化了生产能力有限,尤其是员工工作时间有限的几种商品的利润。然而,后一个约束并不难,但是,对于某些奖金支付,可能的工作时间可以扩展(这是分段线性函数)。在一般的问题表述中,问题是这样的:
profit = revenue−cost = ∑r(i)x(i)−cost(t)
,其中r表示货物“i”的具体收入,x表示该货物的份额,而成本项提供了加班的潜在额外成本。 然而,在实际的代码中,目标遗漏了成本项,至少根据我的理解:
^{pr2}$我怀疑这是由分段线性目标引入/解释的,但不幸的是,我不知道怎么做。在
# Set piecewise linear objective
nPts = 101
ti = []
costi = []
lb = 0
ub = maxhours;
for i in range(nPts):
ti.append(lb + (ub - lb) * i / (nPts - 1))
costi.append(-cost(ti[i], limithours, penalty))
m.setPWLObj(t, ti, costi)
m.optimize()
PWLObj是否总是与主要目标脱节?有没有办法将PWLObj乘以主目标函数? 我希望我不只是错过了一些琐碎的地方(我对编程和优化都还很陌生)。 非常感谢您的时间和支持!在
目前没有回答
相关问题 更多 >
编程相关推荐