概述
在电力市场均衡分析领域,基于强化学习(RL)的博弈论方法和仿真技术得到了广泛应用。然而,现有方法存在明显局限:基于博弈论的方法通常局限于信息完整的简单市场环境,难以直观揭示策略间的默契;而传统的 RL 算法则受限于低维离散状态和动作空间,导致收敛不稳定。
针对这些挑战,我们采用了深度确定性策略梯度(DDPG)算法对发电商(GenCo)的投标策略进行建模。通过一系列仿真实验,包括发电商、负载和网络的不同配置,我们验证了该方法相较于传统 RL 算法具有更高的准确性。即便在不完全信息环境下,该方法也能成功收敛到完全信息的纳什均衡。
此外,通过定量调整发电商的等待时间参数,该方法能够直观地展示不同默契合谋水平对市场的影响,为市场策略分析提供了有力工具。
核心方法
本文提出的模型利用深度神经网络(DNN)处理高维连续数据,避免了传统方法中状态/动作空间的离散化处理。实验表明,所提出的模型可以收敛到完全的纳什均衡(NE),即使在信息不完整的环境中。
当折扣系数较小时,游戏结果对应相应阶段的 NE;相比之下,当折扣系数接近 1 时,结果变得默契勾结。所提出的模型可以反映不同的竞争水平,并找出触发临界值通过定量调整折扣系数进行默示勾结,这可能是分析战略行为的有效手段。
当前多智能体 DRL 方法的一个开放问题是缺乏对它们趋同的理论认识。然而,我们的实验结果表明所提出的方法在一般情况下具有良好的收敛性。如果只有 NE 需要解决,博弈论方法具有完全信息仍然是首选。我们提出的方法可以被视为博弈论方法的补充,用于分析 GenCos 在不完全信息下的策略信息。
运行结果
文献对比结果
[图:文献中的市场出清逻辑示意图]
[图:文献中的竞价策略收敛曲线]
代码运行结果
[图:3 节点系统 Q-Learning 收敛曲线]
[图:Agent 策略变量变化趋势]
[图:市场出清价格波动]
[图:不同耐心参数下的合谋程度]
- Python 3.7
- Pytorch 1.0.1
代码实现
以下是核心的市场出清函数及绘图部分。在实际编写时,注意供给曲线和负荷参数的初始化。
import numpy as np
import matplotlib.pyplot as plt
# 市场出清,考虑网络阻塞
def market_clearing(a_declare):
# 供给曲线的截距和斜率
a_real = np.array([18.0, 20.0, 25.0, 22.0, 22.0, 16.0])
b_real = np.array([0.25, 0.20, 0.20, 0.20, 0.20, 0.25])
# 需求曲线的截距和斜率
c_real = np.array([120.0, 130.0, 120.0, 135.0, , , , , , ,
, , , , , , , , , ]) * -
d_real = np.array([, , , , , , , , , ,
, , , , , , , , , ])
p_min = np.array([, , , , , ])
p_max = np.array([, , , , , ])
q_min = np.zeros()
q_max = np.array([, , , , ,
, , , , ,
, , , , ,
, , , , ])

