0

我正在尝试根据每小时的分辨率在一年内优化能源生产过程。从电网购买的电价根据一天的两次有两个不同的值;07:00-18:00 价格为 10,18:00-07:00 价格为 5。

时间设置如下:

 P_el     electricityprice              /t7*t18 10, t19*t6 5, ....../  
 t             time                     /t1*t8760/

如何自动创建 P_el,这样直到第 8760 小时才需要手动编写不同的集合?

4

1 回答 1

1

我认为您在这里要做的是使 p_el 成为参数,而不是集合。以下应该工作。(请检查我的时间是否完全正确)

set t "time" /t1*t8760/;

parameter hour(t) "hour of the day from 1 to 24";
parameter p_el(t) "electricity price";

hour(t) = mod(ord(t), 24);
p_el(t) = 5;
p_el(t)$(hour(t) >= 7 and hour(t) < 18) = 10;
于 2017-07-02T14:03:33.217 回答