如何解决 mathprog 中的域外错误?
How to solve out of domain error in mathprog?
H= 1..24;
s.t。 ElectBattery{h in H}: ES[h]-ES[h-1]-P2S[h]*Efi['ESt']+PGEN['ESt',h]==0;
错误:ES[0] 超出域
一种方式:
- 确保
ES[h]
定义在 0..24
之上(而不是 1..24
)
- 通过添加约束
ES[0]=10
(例如)将 ES[0]
固定为已知值。
如果您想要稳态解,请使用:
ES[0] = ES[24]
除此之外,您还可以使用 if-then-else 结构,例如:
ES[h] - (if h=1 then ES[24] else ES[h-1]) - ..
H= 1..24; s.t。 ElectBattery{h in H}: ES[h]-ES[h-1]-P2S[h]*Efi['ESt']+PGEN['ESt',h]==0;
错误:ES[0] 超出域
一种方式:
- 确保
ES[h]
定义在0..24
之上(而不是1..24
) - 通过添加约束
ES[0]=10
(例如)将ES[0]
固定为已知值。
如果您想要稳态解,请使用:
ES[0] = ES[24]
除此之外,您还可以使用 if-then-else 结构,例如:
ES[h] - (if h=1 then ES[24] else ES[h-1]) - ..