详细业务问题:
我正在尝试解决生产调度业务问题,如下所示:
我需要建立一个线性规划来解决以下问题:
变量 y:(二进制)变量 z:y 的累积
当 z > 6 时,y = 0。我还需要在此之后重置 z 的累积。
期望的输出:
如何将语句构建为 MILP 约束。有没有什么技巧可以解决这个问题。谢谢你。
我认为您可以对维护进行不同的建模。只是禁止 7 个的任何序列y
。IE
y[t-6]+y[t-5]+y[t-4]+y[t-3]+y[t-2]+y[t-1]+y[t] <= 6 for t=1,..,T
这比使用累加器更容易。请注意,开始时需要注意:您可以为此使用历史数据。即,在t=1
, 的值t=0,-1,-2,..
是已知的。
您的累加器方法本质上并不是错误的。我们经常用它来模拟库存。库存容量是对累积库存有多大的限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句