【发布时间】:2022-01-06 14:42:18
【问题描述】:
在对 lp 产生式问题建模时,我使用了大量整数。
首先问题在合理的时间内得到解决,但是当我由于大 M 方法添加大量二进制值 (y) 时,需要数小时和数小时,并且程序似乎根本无法运行。这是因为 Pulp 对于二进制变量非常慢。
我做大 M 的原因是因为我想分离变量边界,以便得到
x(i,t) = 0 或 x(i,t) >= 10(这意味着在每个时间段 t 内不生产或至少生产 10 件产品 i):
x(i,t) - 1
x(i,t) - 9 >= -e - (1 - y(i,t) ) * M
(e是一个很小的常数,M是一个很大的常数)
除了使用上面显示的方法之外,还有其他方法吗? 我可以像 [10, inf] 那样定义 x(i,t) 的边界,但我仍然需要值 0,因为什么也不产生也是一个非常有效的重要解决方案。
提前致谢!
【问题讨论】: