51 lines
3.1 KiB
Plaintext
51 lines
3.1 KiB
Plaintext
目前的能源系统结构主要由太阳能发电站、风能发电站、发电机和电池模块通过电力网与住宅相连接。以下是中文和符号的对照:
|
||
As:电池的充电状态动作;Ag1:发电机1的功率动作;Ag2:发电机2的功率动作;Ag3:发电机3的功率动作;Av:太阳能的电压动作;
|
||
Sp:电价状态;Sc:电池荷电状态;Sl:住宅负载状态;Sg1:发电机1功率状态;Sg2:发电机2功率状态;Sg3:发电机3功率状态;St:温度状态;Si:太阳辐射度状态;Sw:风速状态;
|
||
Pc:电池充放电功率;Pg1:发电机1功率;Pg2:发电机2功率;Pg3:发电机3功率;Pso:太阳能功率;Pw:风能功率;
|
||
Cb:电池成本;Cg1:发电机1成本;Cg2:发电机2成本;Cg3:发电机3成本;Cs:太阳能成本;Cw:风能成本;Rs:销售收入;Cp:购买成本;Ee:过剩能源;Es:短缺能源;Pe:过剩惩罚;Ps:短缺惩罚。
|
||
一、控制方案和目标:
|
||
1、优先使用太阳能和风能发电,当无法满足满负荷时,请使用发电机和电池供电。
|
||
2、在供电时考虑多种供电来源(太阳能、风能、发电机和电池),综合每个发电模块的成本,需满足下一时刻的住宅用电负载,且使供需差异最小化。
|
||
3、减少超过公网交易限额的交易,以避免公共电网波动影响住宅用电的稳定性。
|
||
4、最大化奖励函数并最小化能源不平衡。
|
||
二、连续状态空间:是一个长度为9的向量,包含以下部分:
|
||
Sp:由数据提供;Sc:初始为0.4,始终介于0.2和0.8;Sl:由数据提供;
|
||
Sg1:初始功率为0;Sg2:初始功率为0;Sg3:初始功率为0;
|
||
St:由数据提供;Si:由数据提供;Sw:由数据提供。
|
||
其中Sc,Sg1、Sg2和Sg3始终不小于0。
|
||
三、连续动作空间:一个长度为5的向量,x表示当前时间的取值, 其范围从-1到1,每个时刻的值都是在上一时刻基础上进行变化的,Ag1、Ag2和Ag3分别表示相对于各自最大瞬时功率100、100和200的变化值。
|
||
1、Ac:电池总容量为500,初始电池容量为500*0.4=200,电池容量变化100*x;
|
||
2、Ag1:发电量变化100*x;
|
||
3、Ag2:发电量变化100*x;
|
||
4、Ag3:发电量变化200*x;
|
||
5、Av:太阳能电压变为(1+x)倍。
|
||
可根据需求通过改变功率控制发电机的开关,当关闭时保持Sg=0,当打开时需满足Pg约束。根据成本,通常前一台发电机的最大功率不足以满足剩余负荷时,才开启后续发电机。
|
||
四、发电量计算公式
|
||
1、Pc = max(0.2, min(0.8, Sc + 0.2 * action[0] * 0.9)),其中0.8和0.2为电池荷电状态上下限;
|
||
2、Pg1 = max(0, min(150, 100 * action[1] + Sg1)),其中150和0为发电机1开启时发电量上下限;
|
||
3、Pg2 = max(0, min(375, 100 * action[2] + Sg2)),其中375和0为发电机2开启时发电量上下限;
|
||
4、Pg3 = max(0, min(500, 200 * action[3] + Sg3)),其中500和0为发电机2开启时发电量上下限;
|
||
5、Pso = max(0, (0.2 * Si + 0.05 * St - 9.25) * (1 + action[4])),其中太阳能发电功率不小于0。
|
||
6、Pw:与Ws有关
|
||
if 3 <= Ws < 8, Pw = Ws^3 * 172.2625 / 1000
|
||
elif 8 <= Ws < 12, Pw = 64 * 172.2625 / 125
|
||
else Pw = 0
|
||
五、成本和能源平衡计算
|
||
P = Pc + Pg1 + Pg2 + Pg3 + Pso + Pw
|
||
if P >= Sl , Ee = P – Sl, else Es = Sl - P
|
||
1、Cb = 0.01 * Asoc + 0.1 * Sc
|
||
2、Cg1 = 0.0034 * Pg1^2 + 3 * Pg1 + 30
|
||
3、Cg2 = 0.001 * Pg2^2 + 10 * Pg2 + 40
|
||
4、Cg3 = 0.001 * Pg3^2 + 15 * Pg3 + 70
|
||
5、Cs = 0.01 * Pso
|
||
6、Cw = 0.01 * Pw
|
||
7、Rs = 0.5 * Sp * Ee
|
||
8、Cp = Sp * Es
|
||
9、Pe = (Ee - 100) * 50
|
||
10、Ps = (Es - 100) * 50
|
||
因为Rs、Pe和Cp、Ps对应能源过剩和能源短缺情况,只能同时存在一组。
|
||
六、奖励函数
|
||
Reward = - (Cb + Cg1 + Cg2 + Cg3 + Cs + Cw + Pe + Ps - Rs + Cp) / 1000
|
||
七、请求动作数据
|
||
读取数据并使用上述公式计算每个时刻的状态,请你使用最合适的优化方法,给出每个时刻的动作控制方案,每小时计算一次并生成一个长度为5的数组,表示Ac、Ag1、Ag2、Ag3和Av的动作决策。返回的数据应为以下Json格式:[{x1, x2, x3, x4, x5}, {x1, x2, x3, x4, x5}, ..., {x1, x2, x3, x4, x5}]
|