每日年度数据子集

时间:2017-07-02 12:10:18

标签: subset gams-math

我正在尝试根据每小时的分辨率优化一年的能源生产过程。根据一天中的两次,从电网购买的电价有两个不同的值;在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小时之前不需要手动编写不同的设置?

1 个答案:

答案 0 :(得分: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;