HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

基于SARSA的核动力系统蒸汽发生器水位控制方法与流程

2021-02-26 11:02:07|200|起点商标网
基于SARSA的核动力系统蒸汽发生器水位控制方法与流程

本发明涉及核动力系统控制技术领域,特别是涉及一种基于sarsa的核动力系统蒸汽发生器水位控制方法。



背景技术:

核动力系统作为船舰动力来源,需要满足多种复杂工况下的稳定运行。蒸汽发生器作为一二回路的枢纽部件,其稳定运行是整个核动力系统处于正常运行状态的重要保障。而水位则是衡量蒸汽发生器系统运行状态和安全性的重要指标,必须保持在安全范围内。高水位将会导致二回路汽轮机叶片损坏,低水位将会导致完成热交换的u形管损坏或者反应堆散热出现故障。因此,需要设计强鲁棒性、高稳定性、响应快速的蒸汽发生器水位控制系统来保证蒸汽发生器的水位处于安全范围。

蒸汽发生器水位控制难题在于虚假水位、可控范围小、要求控制器响应迅速且准确、物理过程复杂、某一参数变化会引起其他参数的连锁变化等。现有的蒸汽发生器水位控制方法多采用pid控制、自抗扰控制等技术,这些技术都难以妥善解决上述问题,不能同时满足控制系统的快速、准确、稳定三个要素,且不具备在变工况和系统特性衰退下的自主适应性学习能力。



技术实现要素:

针对现有技术存在的问题,本发明提供一种基于sarsa的核动力系统蒸汽发生器水位控制方法,能够同时实现对蒸汽发生器水位的快速、准确、稳定控制,并实现蒸汽发生器水位控制器在变工况及系统特性衰退下具备自主学习能力。

本发明的技术方案为:

一种基于sarsa的核动力系统蒸汽发生器水位控制方法,其特征在于,包括下述步骤:

步骤1:设计用于核动力系统蒸汽发生器水位控制的sarsa控制器:从核动力蒸汽发生器系统中选择水位的部分影响因素作为sarsa控制器的输入,从核动力蒸汽发生器系统中选择部分控制量作为sarsa控制器的输出,并设定控制目标;

步骤2:对所述sarsa控制器的输入参数也即状态参数、输出参数也即动作指令分别进行区间划分,并设计奖励规则;

步骤3:对sarsa控制器进行训练,更新sarsa控制器内部的q表;

步骤4:判断sarsa控制器的训练结果是否满足控制目标,若未满足,则根据训练结果调整sarsa控制器的参数,转至步骤3;反之,保存q表。

进一步的,所述步骤1包括下述步骤:

步骤1.1:确定sarsa控制器的输入包括主给水阀门上一时刻开度、水位偏差、水位偏差导数、流量失匹、流量失匹导数这五个状态参数;其中,水位偏差为实际水位与目标水位间的偏差,流量失匹为蒸汽发生器的给水流量与蒸汽流量间的偏差;

步骤1.2:确定sarsa控制器的输出为主给水阀门开度;

步骤1.3:设定控制目标为水位偏差与水位偏差导数的乘积e的绝对值≤预设的乘积阈值。

进一步的,所述步骤2包括下述步骤:

步骤2.1:对sarsa控制器的输入参数进行区间划分:将主给水阀门上一时刻开度划分为a1个区间、水位偏差划分为a2个区间、水位偏差导数划分为a3个区间、流量失匹划分为a4个区间、流量失匹导数划分为a5个区间;

步骤2.2:对sarsa控制器的输出参数进行区间划分:将主给水阀门开度离散为b个动作指令;

步骤2.3:设计奖励规则:以水位偏差与水位偏差导数的乘积e为奖励依据,将乘积e划分为c个区间,对乘积e的每个区间设定相应的奖励。

进一步的,所述步骤2中,在进行区间划分和奖励规则设计之前,对所有输入参数、输出参数进行阈值标定。

进一步的,所述步骤3中,在sarsa控制器的训练过程中,

在状态st下选取执行动作的依据为

其中,randoma表示从动作集合中随机选取动作a,表示选择使q(st,a)值最大的动作a,q(st,a)为在状态st下执行动作a的动作价值函数,rand为随机数,rand∈[0,1],ε为随机因子,ε∈[0,1];

q表的更新规则为

其中,st表示t时刻蒸汽发生器输入给控制器的状态,at表示t时刻sarsa控制器输出的动作,rt表示sarsa控制器在状态st下执行动作at得到的奖励;α表示sarsa控制器的学习速度,α∈(0,1];γ表示遗忘速度,γ∈(0,1];isdone为终止标志,isdone=1表示t时刻达到预设的最大仿真时间、isdone=0表示t时刻未达到预设的最大仿真时间。

进一步的,所述步骤3中,sarsa控制器的训练环境为核动力系统蒸汽发生器仿真模型,所述核动力系统蒸汽发生器仿真模型的输入包括给水流量、给水温度、流出的蒸汽流量、一次侧进口比焓、一次侧进口流量、一次侧进口温度,所述核动力系统蒸汽发生器仿真模型的输出包括蒸汽发生器水位、蒸汽腔室压力、一次侧出口比焓、一次侧出口温度。

进一步的,所述步骤4中,根据训练结果调整sarsa控制器的参数的方法为:

计算训练结果也即水位偏差与水位偏差导数的乘积e的绝对值相对于预设的乘积阈值的波动,当该波动超出可容许震荡范围时,对学习速度α、遗忘速度γ、随机因子ε中的一个或多个进行调整;其中,对学习速度α的调整为调大或调小,对遗忘速度γ的调整为调大或调小,对随机因子ε的调整为调小,学习速度α与遗忘速度γ的调整幅度均在0.01~0.05内,随机因子ε的调整幅度在0.01~0.08内。

本发明的有益效果为:

本发明通过设计用于核动力系统蒸汽发生器水位自适应控制的sarsa控制器,利用sarsa强化学习算法的在线自学习能力及“试错”原理,使得蒸汽发生器控制系统能够在与环境(包括被控对象、信号传输、内部不确定性和上下游扰动)的交互过程中根据依赖控制性能的评价反馈信号实现控制决策的优化,从而解决了传统蒸汽发生器水位控制方法难以实现的自学习和自寻优控制问题,并解决了虚假水位、复杂系统鲁棒性弱等带来的控制难题,能够同时实现对蒸汽发生器水位的快速、准确、稳定控制,并实现蒸汽发生器水位控制在变工况和系统特性衰退下具备自主学习能力,显著提高了蒸汽发生器系统的整体性能。

附图说明

图1为强化学习的原理示意图;

图2为本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的控制结构图;

图3为本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的流程图;

图4为具体实施方式中本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的稳态控制效果图;

图5为具体实施方式中本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的变指令控制效果图;

图6为具体实施方式中本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法与传统基于pid控制器的核动力系统蒸汽发生器水位控制方法的变指令控制效果对比图。

具体实施方式

下面将结合附图和具体实施方式,对本发明作进一步描述。

现有的蒸汽发生器水位控制方法多采用pid控制、自抗扰控制等技术,这些技术都难以妥善解决虚假水位、复杂系统鲁棒性弱等带来的控制难题,不能同时满足控制系统的快速、准确、稳定三个要素,且不具备在变工况和系统特性衰退下的自主适应性学习能力。

近年来,由于阿尔法狗战胜世界围棋冠军等标志性事件,致使人工智能再次成为热议话题,引起世界各地科研人员的广泛关注,人工智能领域得到了前所未有的发展与技术突破。而强化学习方法作为机器学习的重要分支之一,也被广泛应用于多个领域,在路径规划、智能机器人、医疗设备等诸多方面均有涉及。如图1所示,为强化学习的原理示意图。由图1可以看出,智能体处在某种环境状态(s)下,采取某种行动(a),得到环境反馈(奖励r),通过奖励衡量执行动作的利弊,不断迭代并往复这一过程,直到全部以高奖励动作完成特定目标。

为实现对系统水位具有一定自主学习能力的快速、准确与稳定控制,本发明将强化学习中的典型算法sarsa也即在线多步时序差分学习应用于核动力系统蒸汽发生器的水位控制中。本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的控制结构如图2所示。其中,整个系统由sarsa控制器、执行机构、蒸汽发生器三部分组成。在多数情况下,蒸汽发生器处在极为复杂的工作状态下,且受到多种因素的干扰,如虚假水位的产生、不同回路传递热量的多少、蒸汽质量的变化等。以上问题不仅增加了工况的复杂性,也给传统基于pid的控制方法带来了很大的挑战,使传统控制方法难以达到预期控制目标。因此,本发明采用sarsa控制方法,通过其“试错”原理,控制器不断获得学习经验,逐步改善控制器的快速性、准确性、稳定性,进而显著提高蒸汽发生器整体性能,保证其安全、高效运行。

如图3所示,本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法,包括下述步骤:

步骤1:设计用于核动力系统蒸汽发生器水位控制的sarsa控制器:从核动力蒸汽发生器系统中选择水位的部分影响因素作为sarsa控制器的输入,从核动力蒸汽发生器系统中选择部分控制量作为sarsa控制器的输出,并设定控制目标。

本实施例中,所述步骤1包括下述步骤:

步骤1.1:确定sarsa控制器的输入包括主给水阀门上一时刻开度、水位偏差、水位偏差导数、流量失匹、流量失匹导数这五个状态参数;其中,水位偏差为实际水位与目标水位间的偏差,流量失匹为蒸汽发生器的给水流量与蒸汽流量间的偏差;

步骤1.2:确定sarsa控制器的输出为主给水阀门开度;

步骤1.3:设定控制目标为水位偏差与水位偏差导数的乘积e的绝对值≤预设的乘积阈值。

步骤2:对所述sarsa控制器的输入参数也即状态参数、输出参数也即动作指令分别进行区间划分,并设计奖励规则。

为了防止连续状态空间导致的维度灾难问题,在进行区间划分和奖励规则设计之前,对所有输入参数、输出参数进行阈值标定,并分别进行适当的离散化处理。具体离散方法如下:

步骤2.1:对sarsa控制器的输入参数进行区间划分:

将主给水阀门上一时刻开度(标幺处理后)划分为a1=5个区间:(0,0.2]、(0.2,0.4]、(0.4,0.6]、(0.6,0.8]、(0.8,1];

将水位偏差(标幺处理后)划分为a2=9个区间:(-∞,-0.1]、(-0.1,-0.08]、(-0.08,-0.06]、(-0.06,-0.02]、(-0.02,0],(0,0.02]、(0.02,0.06]、(0.06,0.1]、(0.1,+∞);

将水位偏差导数(标幺处理后)划分为a3=6个区间:(-∞,-0.04]、(-0.04,-0.02]、(-0.02,0]、(0,0.02]、(0.02,0.04]、(0.04,+∞);

将流量失匹(标幺处理后)划分为a4=8个区间:(-∞,-4]、(-4,-1.6]、(-1.6,-0.8]、(-0.8,0]、(0,0.8]、(0.8,1.6]、(1.6,4]、(4,+∞);

将流量失匹导数(标幺处理后)划分为a5=8个区间:(-∞,-1]、(-1,-0.6]、(-0.6,-0.2]、(-0.2,0]、(0,0.2]、(0.2,0.6]、(0.6,1]、(1,+∞)。

步骤2.2:对sarsa控制器的输出参数进行区间划分:

将主给水阀门开度(标幺处理后)离散为b=7个动作指令:[-0.2,-0.1,-0.05,0,0.05,0.1,0.2]。

通过上述区间划分,得到总容量为17280*7的空间,该空间即为q表。

步骤2.3:设计奖励规则:

强化学习核心思想“试错”在于根据环境状态,不断探索高奖励动作。对于核动力系统蒸汽发生器水位控制而言,状态与动作均包含在上述状态、动作空间中,而在不同状态下执行某一动作的奖励则是人为设定的。

从控制效果及响应速度两方面考虑,以水位偏差与水位偏差导数的乘积e为奖励依据,将乘积e划分为c=9个区间,对乘积e的每个区间设定相应的奖励,乘积e的绝对值越小奖励越高,正奖励与负奖励均有存在:

e∈(-∞,-0.004]时,r=-10;

e∈(-0.004,-0.002]时,r=-8;

e∈(-0.002,-0.001]时,r=-5;

e∈(-0.001,-0.0003]时,r=1;

e∈(-0.0003,0)时,r=2;

e=0时,r=3;

e∈(0,0.002)时,r=2;

e∈[0.002,0.004)时,r=1;

e∈[0.004,0.006)时,r=-1;

e∈[0.006,0.008)时,r=-2;

e∈[0.008,+∞)时,r=-5。

步骤3:对sarsa控制器进行训练,更新sarsa控制器内部的q表;

其中,在sarsa控制器的训练过程中,

在状态st下选取执行动作的依据为

其中,randoma表示从动作集合中随机选取动作a,表示选择使q(st,a)值最大的动作a,q(st,a)为在状态st下执行动作a的动作价值函数,rand为随机数,rand∈[0,1],ε为随机因子,ε∈[0,1];

q表的更新规则为

其中,st表示t时刻蒸汽发生器输入给控制器的状态,at表示t时刻sarsa控制器输出的动作,rt表示sarsa控制器在状态st下执行动作at得到的奖励;α表示sarsa控制器的学习速度,α∈(0,1],α决定待更新的q(st,at)对其本身的保留程度;γ表示遗忘速度,γ∈(0,1];α与γ共同决定了q(st,at)对于下一时刻状态与动作q值的学习程度;isdone为终止标志,isdone=1表示t时刻达到预设的最大仿真时间、isdone=0表示t时刻未达到预设的最大仿真时间。

本实施例中,sarsa控制器的训练环境为核动力系统蒸汽发生器仿真模型。所述核动力系统蒸汽发生器仿真模型在合理假设下,根据蒸汽发生器内热工水力过程,采用集总参数法构建,包括了一次传热管和水室内工质、二次侧工质液相部分、二次侧工质蒸汽部分等蒸汽发生器的重要参数,能够反映一定热工特性且便于matlab环境中调用,进行控制系统设计。

所述核动力系统蒸汽发生器仿真模型的输入包括给水流量、给水温度、流出的蒸汽流量、一次侧进口比焓、一次侧进口流量、一次侧进口温度,所述核动力系统蒸汽发生器仿真模型的输出包括蒸汽发生器水位、蒸汽腔室压力、一次侧出口比焓、一次侧出口温度。核动力系统蒸汽发生器仿真模型的输入到输出的计算,采用的是本领域技术人员熟知的技术手段,本实施例中采用的是魏志伟等(2018)在《蒸汽发生器非线性机理模型与动态特性分析》中描述的公式(1)至(22)对应的技术手段,详见:魏志伟,王明春,张雨飞,王馥郁,耿健.蒸汽发生器非线性机理模型与动态特性分析[j].发电设备,2018,32(04):261-267。其中,本发明中的给水流量、给水温度、流出的蒸汽流量、一次侧进口比焓、一次侧进口流量、一次侧进口温度、蒸汽发生器水位、蒸汽腔室压力、一次侧出口比焓、一次侧出口温度分别为《蒸汽发生器非线性机理模型与动态特性分析》中的二回路下降段入口质量流量、热水段出口温度、汽水分离器出口蒸汽的质量流量、一回路工质入口比焓、一回路工质入口质量流量、一回路工质入口温度、sg水位、sg蒸汽腔室压力、一回路工质出口比焓、一回路工质出口温度。

步骤4:判断sarsa控制器的训练结果是否满足控制目标,若未满足,则根据训练结果调整sarsa控制器的参数,转至步骤3;反之,保存q表。

通过训练sarsa控制器,逐步更新控制器核心“q表”,提升sarsa控制器的控制性能。在训练过程中,可以通过调节α、γ、ε,加快收敛速度,改善控制效果。本实施例中,根据训练结果调整sarsa控制器的参数的方法为:

计算训练结果也即水位偏差与水位偏差导数的乘积e的绝对值相对于预设的乘积阈值的波动,当该波动超出可容许震荡范围时,对学习速度α、遗忘速度γ、随机因子ε中的一个或多个进行调整;其中,对学习速度α的调整为调大或调小,对遗忘速度γ的调整为调大或调小,对随机因子ε的调整为调小,学习速度α与遗忘速度γ的调整幅度均在0.01~0.05内,随机因子ε的调整幅度在0.01~0.08内。

对经过大量更新的sarsa控制器进行仿真测试,根据测试结果与控制目标逐步规范奖励条件,使sarsa控制器收敛快速的同时确保控制精度,以满足控制要求。进一步对控制器进行变指令、变扰动测试,多次调整参数至满足控制要求。

本实施例中,使用达到控制目标的sarsa控制器对蒸汽发生器水位分别进行稳态控制与变指令控制,得到本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法的稳态控制效果图、变指令控制效果图分别如图4、图5所示。在变指令下,还使用传统基于pid控制器的核动力系统蒸汽发生器水位控制方法对蒸汽发生器水位进行控制,得到本发明的基于sarsa的核动力系统蒸汽发生器水位控制方法与传统基于pid控制器的核动力系统蒸汽发生器水位控制方法的变指令控制效果对比图如图6所示。由图4可以看出,稳态时,本发明的sarsa控制器对水位的控制存在微小震荡,但仍能满足控制要求。由图5可以看出,变指令时,本发明的sarsa控制器能够快速响应且很快达到新的控制目标。由图6可以看出,本发明的sarsa控制器相比于pid控制器具有很大的优势,具体表现为:超调量小、响应迅速、调节时间短。因此,本发明的sarsa控制器相对于传统pid控制器来说具有更强的环境适应力,在快速、准确、稳定三方面都优于传统pid控制器。此外,sarsa控制器可以在线学习,对更为复杂的控制系统的环境变化(参数变化、特性衰退、外部扰动、指令变化、模式切换),具有良好的自学习和自适应控制能力。

显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips