2017-07-02 28 views
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个小时之前手动写出不同的集合呢?

回答

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; 
+0

亲爱的马丁,谢谢你这么多,我想永远吻你:)时代应该是一个参数,是的! – matlabcrz