如何解决 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] 超出域

一种方式:

  1. 确保 ES[h] 定义在 0..24 之上(而不是 1..24
  2. 通过添加约束 ES[0]=10(例如)将 ES[0] 固定为已知值。

如果您想要稳态解,请使用:

  1. ES[0] = ES[24]

除此之外,您还可以使用 if-then-else 结构,例如:

ES[h] - (if h=1 then ES[24] else ES[h-1]) - ..