正在加载图片...
.1336· 工程科学学报.第41卷,第10期 equations): 3.3增强学习能量管理控制策略的求解 严(s)=r(s)+y∑P(s')(s')(14) 基于增强学习的控制策略就是通过基于值迭代 的Q_learning算法,求解给定离散状态和动作空间 其中,s'表示状态s执行动作π(s)后的下一个可能 下的最优值函数,通过多次迭代得到最优控制策略, 状态,其服从P分布.上式有两部分组成:即时 其实现流程如图4所示.根据历史工况数据可以求 回报R(s)及未来累积折扣回报期望E,~Pe[V 得需求功率状态转移矩阵P,根据性能优化价值函 (s)].求解V的目的是找到一个当前状态s下最 数可以求得回报函数矩阵R,选择一定的折扣因子 优的行动策略π(s),定义最优的值函数为: y和迭代次数N,将四元组{P,R,Y,N}输入马尔 V(s)=maxV(s) (15) 科夫决策过程工具箱求解得到最优价值函数和对应 其贝尔曼方程形式为: 的控制策略 r(s)=()+yAP.(s)r~()16) 历史工况数据 表示为增强学习中的Q函数形式为: 状态变量和控制变量离散化 (V(s)=maxQ(s,a) eA (17) 计算状态转移 计算离散状态和动作 Q(s,a)=r(s)+yp(s')V(s') 概率矩阵P 空间下的回报函数矩阵R 其中,Q(s,a)表示在s状态下执行动作a作为第一 折扣 MDP工具箱 迭代 个动作时的最大累计折扣回报.通过求解最优值函 因子y 次数N 数来确定最优控制策略: 控制策略 m(s)=agma(ΣP(s')r'(s))(18) 图4基于增强学习的控制策略求解过程 对于值迭代的Q_learning算法而言,在给出离 Fig.4 Process of solving the control strategy based on RL 散状态和动作空间之后,对应于状态s和动作a的 图5给出在城市行驶工况,选择折扣因子为 Q值和最优Q值可以递归定义为: 0.9,迭代次数为10000时,求解过程的百步均方差, Qsa)=s.e)+yP.(0.a19) 可以看出,随着迭代次数的增加,Q值的百步均方差 Q'so)=o)+ygP.(m0'a 逐渐减小并趋近于0,这表明Q值逐渐收敛于某一 定值,验证了该算法的收敛性.如图6给出了车速 (20) 为30kmh-J,电池S0C为0.9时,通过Q_learning 最终,Q_learning算法中Q值的迭代更新规则 算法求解得到的状态值函数最优值以及迭代后的Q 可以表示为: 值,可以看出迭代后的Q值逐渐收敛于状态值函数 Q(s,a)+Q(s,a)+n(r+ymaxQ(s',a')-Q(s,a)) 的最优值,这表明了增强学习算法的有效性 (21) 200 相对较大 -g=10 km.h 其中,7是学习率,η∈[0,1],学习率越大,收敛速 9150H -r=20km·h1 --=30km-h- 度越快,但会导致过拟合问题,本文中,取值为0.1. 100 50 趋近于0 表2给出了Q-learning算法在Matlab中的计算流 程,基于Q_learning的最优控制策略通过多次迭代 20 40 60 100 迭代次数x100 得到. 图5Q_leaming学习选代中的百步均方差 表2Q--learning算法在Matlab中的计算流程 Fig.5 100-step mean square error in Q_learning iteration Table 2 Computing process of Q-learning algorithms in Matlab 初始化Q(s,a),s∈S,a∈A(s),任意Q(s,a)=0 4 仿真与硬件在环试验结果分析 初始化状态S(Pm(t),SOC(t),() 重复(对每一次迭代中的每一步): 为了验证基于增强学习的能量管理策略的可行 根据状态S选取一个动作A(P(:)执行 性和有效性,首先通过Matlab/Simulink建立应用于 执行完A动作后观察回报值R和新的状态S” Q(s,a)+(s,a)+nr+ymaxe(s',a')-0(s,a)) 能量管理策略的整车仿真模型进行仿真试验,然后 S+-S' 通过硬件在环试验,采用不同的能量管理策略试验 循环直到S终止 验证.工程科学学报,第 41 卷,第 10 期 equations): V 仔 (s) = r(s) + 酌 移 +肄 s忆沂S Ps仔(s) (s忆)V 仔 (s忆) (14) 其中,s忆表示状态 s 执行动作 仔( s)后的下一个可能 状态,其服从 Ps仔(s) 分布. 上式有两部分组成:即时 回报 R(s)及未来累积折扣回报期望 Es忆 ~ Ps仔(s) [V 仔 (s忆)]. 求解 V 仔的目的是找到一个当前状态 s 下最 优的行动策略 仔(s),定义最优的值函数为: V * (s) = max 仔 V 仔 (s) (15) 其贝尔曼方程形式为: V * (s) = r(s) + max a沂A 酌 移s忆沂S Psa (s忆)V * (s忆) (16) 表示为增强学习中的 Q 函数形式为: V * (s) = max a沂A Q(s,a) Q(s,a) = r(s) + 酌Psa (s忆)V * (s忆 { ) (17) 其中,Q(s,a)表示在 s 状态下执行动作 a 作为第一 个动作时的最大累计折扣回报. 通过求解最优值函 数来确定最优控制策略: 仔 * (s) = arg max a沂 ( A 移s忆沂S Psa (s忆)V * (s忆) ) (18) 对于值迭代的 Q_learning 算法而言,在给出离 散状态和动作空间之后,对应于状态 s 和动作 a 的 Q 值和最优 Q 值可以递归定义为: Q(s,a) = r(s,a) + 酌 移s忆沂S Psa (s忆)Q(s忆,a忆)(19) Q * (s,a) = r(s,a) + 酌 移s忆沂S Psa (s忆)max a忆 Q * (s忆,a忆) (20) 最终,Q_learning 算法中 Q 值的迭代更新规则 可以表示为: Q(s,a)饮Q(s,a) + 浊(r + 酌 max a忆 Q(s忆,a忆) -Q(s,a)) (21) 其中,浊 是学习率,浊沂[0,1],学习率越大,收敛速 度越快,但会导致过拟合问题,本文中,取值为 0郾 1. 表 2 给出了 Q鄄鄄 learning 算法在 Matlab 中的计算流 程,基于 Q_learning 的最优控制策略通过多次迭代 得到. 表 2 Q鄄鄄learning 算法在 Matlab 中的计算流程 Table 2 Computing process of Q鄄鄄learning algorithms in Matlab 初始化 Q(s,a),s沂S,a沂A(s),任意 Q(s,a) = 0 初始化状态 S(Pm (t),SOC(t),v(t)) 重复(对每一次迭代中的每一步): 根据状态 S 选取一个动作 A(Pb(t))执行 执行完 A 动作后观察回报值 R 和新的状态 S忆 Q(s,a)饮Q(s,a) + 浊(r + 酌 max a忆 Q(s忆,a忆) - Q(s,a)) S饮S忆 循环直到 S 终止 3郾 3 增强学习能量管理控制策略的求解 基于增强学习的控制策略就是通过基于值迭代 的 Q_learning 算法,求解给定离散状态和动作空间 下的最优值函数,通过多次迭代得到最优控制策略, 其实现流程如图 4 所示. 根据历史工况数据可以求 得需求功率状态转移矩阵 P,根据性能优化价值函 数可以求得回报函数矩阵 R,选择一定的折扣因子 酌 和迭代次数 N,将四元组{P, R, 酌, N}输入马尔 科夫决策过程工具箱求解得到最优价值函数和对应 的控制策略. 图 4 基于增强学习的控制策略求解过程 Fig. 4 Process of solving the control strategy based on RL 图 5 给出在城市行驶工况,选择折扣因子为 0郾 9,迭代次数为 10000 时,求解过程的百步均方差, 可以看出,随着迭代次数的增加,Q 值的百步均方差 逐渐减小并趋近于 0,这表明 Q 值逐渐收敛于某一 定值,验证了该算法的收敛性. 如图 6 给出了车速 为 30 km·h - 1 ,电池 SOC 为 0郾 9 时,通过 Q_learning 算法求解得到的状态值函数最优值以及迭代后的 Q 值,可以看出迭代后的 Q 值逐渐收敛于状态值函数 的最优值,这表明了增强学习算法的有效性. 图 5 Q_learning 学习迭代中的百步均方差 Fig. 5 100鄄step mean square error in Q_learning iteration 4 仿真与硬件在环试验结果分析 为了验证基于增强学习的能量管理策略的可行 性和有效性,首先通过 Matlab / Simulink 建立应用于 能量管理策略的整车仿真模型进行仿真试验,然后 通过硬件在环试验,采用不同的能量管理策略试验 验证. ·1336·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有