【问题标题】:How to solve out of domain error in mathprog?如何解决 mathprog 中的域外错误?
【发布时间】:2020-03-16 20:12:47
【问题描述】:

H= 1..24; 英石。 ElectBattery{h in H}:ES[h]-ES[h-1]-P2S[h]*Efi['ESt']+PGEN['ESt',h]==0;

错误:ES[0] 超出域

【问题讨论】:

    标签: linear-programming modeling ampl energy mathprog


    【解决方案1】:

    一种方式:

    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]) - ..
    

    【讨论】:

    • 2.我想要一个稳定状态的解决方案,我写了相同的 E(0) = E(24),它说 ES 已经定义。但是你放的第二个选择很完美?
    猜你喜欢
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2020-07-05
    • 2020-05-06
    • 2020-02-07
    • 2017-07-20
    相关资源
    最近更新 更多