我正在尝试解决电厂的调度问题。但是,我无法在某些情况下获得解决方案。您的建议会有所帮助。
概述
我正在尝试解决具有两台发电机的电厂的发电计划问题。我在热启动时使用cplex解算器(我给出了功率和单位承诺的初始值)来解决问题。 我也有一个限制,限制了计划期间的营业时间。定义如下。
def OHLimit(model,i):
return (0,sum(m.oh[t,i]for t in T),MCOH[i])
m.c1 = Constraint([0,1],rule = OHLimit)
Where,
i = Machine index [0,1]
t = Time interval
T = Planning period
m.oh[t,i] = Variable that represents operating hour in time ‘t’ for machine ‘i'
MCOH[i] = maximum allowable operating hours for machine ‘i’ for planning period ‘T’.
场景1:
我解决问题了一个星期(168小时) MCOH = [1000,1000],因此约束c1将永远不会绑定。 问题能够通过热启动来解决。机器的工作时间如下。 GT01 = 100 OH GT02 = 68 OH 显然,GT01被更多地利用。
场景2:
我想以相同的方式利用两台机器。因此,我将MCOH更改为[90,1000]。我一直希望我的约束会减少GT01的OH。但是,我面临以下挑战。
我想知道我制定约束的方式是否有效,或者问题出在其他地方。
您的建议会有所帮助。
谢谢。