调整电源时间同步性的方法和装置

文档序号:26101016发布日期:2021-07-30 18:12阅读:130来源:国知局
调整电源时间同步性的方法和装置

本发明涉及自适应控制系统,具体是关于一种调整电源时间同步性的方法和一种调整电源时间同步性的装置。



背景技术:

重离子加速器装置包含近百台脉冲电源,这些电源在同步控制系统的指挥下精准协调运转是保证调束成功的关键。同步性是表示多台脉冲电源在某个时刻同时达到要求电流的准时程度。同步控制系统提供的触发信号基本保证了电源的同步性,但当电源发生装置维修,设备替换,光纤线路更改或设备老化等情况后,电源的同步性将发生改变。此时,需要对同步性进行重新的修正,这一过程也被称作同步性标定。通常都是通过修改电源延迟启动的时间,即延时值来修正同步性的。延时值由技术人员对离线采集到的数据进行分析计算后得到。之后通过人工的方式将延时值由控制网下发给相应的电源,从而达到校准同步性的目的。这种方式需要离线采集数据,手工分析数据,而且需要现场零时搭接电流转换器,过程繁琐又很容易混入噪声,且需要技术人员在现场待命随时更换电源接线,造成较大的人力资源浪费。同时,标定的过程中工作人员需要暴露在电磁环境中,这也对工程人员的健康也造成了一定程度的损害。



技术实现要素:

针对上述问题,本发明的目的是提供一种利用改进的强化学习算法在线自动修正同步性的方法和装置。该方法和装置不需要人工的参与,避免了人工的浪费。该方法通过算法核心与采集卡之间的交互不断给出延时值,通过数百次的学习,算法给出的延时值将收敛于最优值,并最终达到电源时间同步性调整的目的。

为实现上述目的,本发明采取以下技术方案:一种调整电源时间同步性的方法,包括如下步骤:

s1:筛选出n个电源中启动最慢的电源;

s2:以所述启动最慢的电源为对齐目标,调整除了所述启动最慢的电源以外的n-1个电源中每个电源的启动时间,以达到所述n个电源同步启动的状态。

所述的一种调整电源时间同步性的方法,优选地,还包括所述步骤s1中筛选出n个电源中启动最慢的电源,包括如下步骤:

s11:选取n个电源中任意两个电源;

s12:利用q-learning算法训练短表,并利用所述训练后的短表中q值的偏向性筛选出所述任意两个电源中启动慢的电源作为第一启动最慢电源;

s13:将所述第一启动最慢电源和剩余的n一2个电源中的任意一个电源一起再次进行步骤s12中的操作得到第二启动最慢电源;

s14:重复步骤s13直至所述n个电源都参与筛选,并将所述启动最慢的电源筛选出。

所述的一种调整电源时间同步性的方法,优选地,所述步骤s12中包括如下步骤:

s121:指定所述任意两个电源中的任意一个为被学习电源,另一个为学习电源;

s122:基于所述学习电源的固定的有限次第一动作和所述学习电源的两个状态建立短表,所述短表在所述固定的有限次动作的影响下依据q-learning算法中的迭代公式更新q值m次;

s123:根据所述m次迭代后所得的q值的偏向性筛选出所述任意两个电源中第一启动最慢的电源。

所述的一种调整电源时间同步性的方法,优选地,所述步骤s2中包括如下步骤:

s21:基于所述启动最慢的电源以外的n-1个电源中的每个电源的p个随机延时值和所述每个电源的k个状态建立长表;

s22:所述长表在所述p个随机延时值的影响下依据q-learning算法中的迭代公式更新q值;

s23:所述剩余n-1个电源中每个电源在所述迭代公式迭代后,以所述启动最慢的电源为对齐目标,执行所述p个随机延时值中的一个后启动;

s24:利用q-learning算法评估所述步骤s23中所述剩余n-1个电源中每个电源与所述启动最慢的电源的时间同步性;

s25:根据步骤s24中的评估的结果,重复步骤s22一s24共k次,以达到所述n个电源同步启动的状态。

所述的一种调整电源时间同步性的方法,优选地,所述q-learning算法中,其迭代公式为:

q(st,at)←(1-α)q(st,at)+α[rt+1+γmaxaq(st+1,a)]

其中,q(st,at)是st状态时采取at动作对应的q值;α是学习率;rt+1是从st到st+1状态的奖励,γ是折扣因子;q(st+1,a)是下一状态st+1状态下的q值,st+1由st和当前所选的动作at决定。

所述的一种调整电源时间同步性的方法,优选地,所述rt+1为二次函数f(x),其公式如下:

f(x)=a-bx2

所述a=800,b=4;其中x为所述被学习电源和学习电源的欧氏距离,或者,为所述启动最慢的电源与所述剩余的n-1个电源中任意一个电源的欧氏距离。

另一方面还提供一种调整电源同步性的装置,包括如下模块:

筛选模块:用于筛选出n个电源中启动最慢的电源;

调整模块:用于以所述启动最慢的电源为对齐目标,调整除了所述启动最慢的电源以外的n-1个电源中每个电源的启动时间,以达到所述n个电源同步启动的状态。

优选的,所述筛选模块,包括如下模块:

选择模块:用于选取n个电源中任意两个电源;

短表训练模块:用于利用q-learning算法训练短表,并利用所述训练后的短表中q值的偏向性筛选出所述任意两个电源中启动慢的电源作为第一启动最慢电源;

循环模块:用于将所述第一启动最慢电源和剩余的n一2个电源中的任意一个电源一起再次进行短表训练模块中的操作得到第二启动最慢电源;循环直至所述n个电源都参与筛选,并将所述启动最慢的电源筛选出。

优选的,所述短表训练模块,包括如下模块:

指定模块:用于指定所述任意两个电源中的任意一个为被学习电源,另一个为学习电源;

短表建表模块:用于基于所述学习电源的有限次固定的动作和所述学习电源的两个状态建立短表,所述短表在所述固定的有限次动作的影响下依据q-learning算法中的迭代公式更新q值m次;

获取第一启动最慢电源模块:用于根据所述m次迭代后所得的q值的偏向性筛选出所述任意两个电源中第一启动最慢的电源。

优选的,所述调整模块,包括以下模块:

长表建立模块:用于基于所述启动最慢的电源以外的n-1个电源中的每个电源的p个随机延时值和所述每个电源的k个状态建立长表;

迭代模块:用于所述长表在所述p个随机延时值的影响下依据q-learning算法中的迭代公式更新q值;

第一启动模块:用于所述剩余n-1个电源中每个电源在所述迭代公式迭代后,以所述启动最慢的电源为对齐目标,执行所述p个随机延时值中的一个后启动;

评估模块:用于利用q-learning算法评估所述第一启动模块中所述剩余n-1个电源中每个电源与所述启动最慢的电源的时间同步性;

第二启动模块:用于根据评估模块中的评估的结果,重复执行迭代模块、第一启动模块和评估模块共k次,以达到所述n个电源同步启动的状态。

本发明由于采取以上技术方案,其具有以下优点:

1、本发明采用了机器学习的算法分析由采集设备反馈来的数据,并由算法给出下一步延时值,等下一步的延时值被执行后,对反馈来的数据进行分析再一次给出下下步的延时值,整个过程是一个闭环的操作,无需人力参与,避免了人力资源的浪费。

2、算法对强化学习中的q-learning技术做了改进使之能自动分辨需要对齐的目标电源。同时,经过实验验证,该方法能够在前1000次训练内达到98%以上的修正精度,(这里的修正精度指的是,算法给出的延时值与理想延时值的比值),随着学习次数的增加,算法会进一步收敛到理想延时值附近。这保证了同步性修正过程的精确度与有效性。

3、本发明属于在线智能算法,算法运行的过程中,电源的延时会被算法调整到合适的位置,所以只需在调束前运行一段时间该算法,就能达到修正同步性的目的。方便快捷。

附图说明

图1是本发明的一种调整电源时间同步性的方法步骤示意图;

图2是本发明的筛选出n个电源中启动最慢的电源的步骤示意图;

图3是本发明筛选出所述任意两个电源中启动慢的电源作为第一启动最慢电源的步骤示意图;

图4是本发明调整除了所述启动最慢的电源以外的n-1个电源中每个电源的启动时间的步骤示意图;

图5是本发明中短表的图例;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是术语“上”、“下”、“前”、“后”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的系统或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,使用术语“第一”、“第二”、“第三”等词语来限定零部件,仅仅是为了便于对上述零部件进行区别,如没有另行声明,上述词语并没有特殊含义,不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

术语解释:

q-learning:是强化学习算法中value-based的算法,q即为q(s,a)就是在某一时刻的s状态下(s∈s),采取a(a∈a)动作能够获得收益的期望,环境会根据agent的动作反馈相应的回报reward,所以算法的主要思想就是将状态与动作构建成一张q表来存储q值,然后根据q值来选取能够获得最大的收益的动作。

为实现上述目的,本发明采取以下技术方案:如图1,一种调整电源时间同步性的方法,包括如下步骤:

s1:筛选出n个电源中启动最慢的电源;本发明的技术方案可以应用于多种现实环境中,其中,针对背景技术中提及的“重离子加速器装置”尤为有效。在该重离子加速器中,由于有多达数百个脉冲电源,如果人为手工的去采集每个电源的延时数据,这将带来巨大的工作量。所以,本技术方案采用一定的算法通过计算机来实现电源时间同步。

首先,将n个电源中启动最慢的电源找出来。

s2:以所述启动最慢的电源为对齐目标,调整除了所述启动最慢的电源以外的n-1个电源中每个电源的启动时间,以达到所述n个电源同步启动的状态。由于最慢启动的电源是拖住整个n个电源同步启动的时间的后腿的电源,因此,在找到最慢启动的电源后,以所述最慢启动的电源的启动时间为标准,给剩余的n-1个电源都添加适合各自的一定的延时,让剩余的n-1个电源在各自的固有延时的基础上延时启动。最终的目标就是使得所述n个电源同时启动。

所述的一种调整电源时间同步性的方法,优选地,如图2,还包括所述步骤s1中筛选出n个电源中启动最慢的电源,在本技术方案实施时,并不知道n个电源中谁是启动最慢的电源,一切都要靠实施本算法技术方案的计算机来实现,包括如下步骤:

s11:选取n个电源中任意两个电源;随机的选择两个电源,无论之前是否该电源是最慢的启动电源,还是不是最慢的启动电源。

s12:利用q-learning算法训练短表,并利用所述训练后的短表中q值的偏向性筛选出所述任意两个电源中启动慢的电源作为第一启动最慢电源;所述短表即是q表。

s13:将所述第一启动最慢电源和剩余的n一2个电源中的任意一个电源一起再次进行步骤s12中的操作得到第二启动最慢电源;该步骤即是将已经比较过的,确认是两个电源中最慢启动的电源再与未参与比较的电源进行比较。

s14:重复步骤s13直至所述n个电源都参与筛选,并将所述启动最慢的电源筛选出。重复进行筛选,就可以将所有电源都进行一次比较,以找到启动最慢的电源。该筛选步骤会涉及所有n个电源,无论在以前的实验中,该电源的启动时间是最慢的,还是最快的;并且,该筛选结果也不会影响下一次的该实验中再次启动电源时,要进行的筛选步骤。

所述的一种调整电源时间同步性的方法,优选地,如图3,所述步骤s12中包括如下步骤:

s121:指定所述任意两个电源中的任意一个为被学习电源,另一个为学习电源;

s122:基于所述学习电源的固定的有限次第一动作和所述学习电源的两个状态建立短表,如图5是短表的示例图,所述短表在所述固定的有限次动作的影响下依据q-learning算法中的迭代公式更新q值m次;所述q-learning算法中包含了所述被学习电源和学习电源的欧氏距离。所述学习电源的固定的有限次第一动作,不是随机的动作,而是固定的。这样设计的主要考虑对于很小的状态空间,几乎不存在局部极值的可能。相反,在很小的状态空间引入随机动作反而会降低筛选出电源的准确性。

s123:根据所述m次迭代后所得的q值的偏向性筛选出所述任意两个电源中第一启动最慢的电源。m为正整数;例如:给该短表设置两个状态分别为s0状态和s2状态,设置每个状态有两个动作分别为+0和+2。将每个状态中的所有动作的q值相加,并进行比较。如果s2状态的q值之和大于s0状态的q值之和,即说明s2状态比s0状态更有价值,则所述被学习电源为所述第一启动最慢的电源。相反,即s2状态的q值之和小于s0状态的q值之和,即说明s0状态比s2状态更有价值,则所述学习电源为所述第一启动最慢的电源。

通过上述步骤的反复计算、比较,得到了所述n个电源中启动最慢的电源。

所述的一种调整电源时间同步性的方法,优选地,如图4,所述步骤s2中包括如下步骤:

s21:基于所述启动最慢的电源以外的n-1个电源中的每个电源的p个随机延时值和所述每个电源的k个状态建立长表;此处,需要为n-1个电源建立长表,即除了启动最慢的电源以外的n-1个电源都建立一个长表。可以有p个随机延时值;p值为3;如果p值小于3,则所述随机延时值不足以表示每个电源的动作;如果p值大于3,则会减小所述q-learning算法的收敛速度。具体例如,所述延时值为:-1,0,+1;并且,如果所述延时值的幅度过大,例如-5,0,+5,则可能出现最终延时值在最优延时值附近波动的现象;举例:如果所述启动最慢的电源与剩余n-1个电源中的其中一台电源相差97个时间单位,而延时值为:-5,0,+5,则最终延时值会在95、100两个值上反复跳动,因为没有97这个状态值。

s22:所述长表在所述p个随机延时值的影响下依据q-learning算法中的迭代公式更新q值;总共迭代次数为k次。通常在小于k次的迭代过程中,就达到了最优延时值,则后续剩余的状态就始终维持在最优延时值处。

s23:所述剩余n-1个电源中每个电源在所述迭代公式迭代后,以所述启动最慢的电源为对齐目标,执行所述p个随机延时值中的一个后启动;所述p值为-1或者0或者+1,即延时减少一个时间单元,或者不变时间单元,或者增加一个时间单元。

s24:利用q-learning算法评估所述步骤s23中所述剩余n-1个电源中每个电源与所述启动最慢的电源的时间同步性;

s25:根据步骤s24中的评估的结果,重复步骤s22一s24共k次,以达到所述n个电源同步启动的状态。如果步骤s24中的所述启动最慢的电源和所述剩余n-1个电源中的一个电源之间同步性不好,即仍然有时问差,则重复步骤s22一s24。通常,在小于k次的重复步骤中,即可得到最优延时值,就能使得所述剩余n-1个电源中的每个电源和所述启动最慢的电源达到最好的同步性。

所述的一种调整电源时间同步性的方法,优选地,所述q-learning算法中,其迭代公式为:

q(st,at)←(1-α)q(st,at)+α[rt+1+γmaxaq(st+1,a)]

其中,q(st,at)是st状态时采取at动作对应的q值;α是学习率;rt+1是从st到st+1状态的奖励,γ是折扣因子;q(st+1,a)是下一状态st+1状态下的q值,st+1由st和当前所选的动作at决定。根据公式可以看出,学习速率α越大,保留st的效果就越少。折扣因子丫越大,更多地考虑st+1,折扣因子越小,更多地考虑当前的收益。

所述的一种调整电源时间同步性的方法,优选地,所述奖励rt+1为二次函数f(x),其公式如下:

f(x)=a-bx2

所述a=800,b=4;其中x为所述被学习电源和学习电源的欧氏距离,或者,为所述启动最慢的电源与所述剩余的n-1个电源中任意一个电源的欧氏距离。

另一方面还提供一种调整电源同步性的装置,包括如下模块:

筛选模块:用于筛选出n个电源中启动最慢的电源;

调整模块:用于以所述启动最慢的电源为对齐目标,调整除了所述启动最慢的电源以外的n-1个电源中每个电源的启动时间,以达到所述n个电源同步启动的状态。

优选的,所述筛选模块,包括如下模块:

选择模块:用于选取n个电源中任意两个电源;

短表训练模块:用于利用q-learning算法训练短表,并利用所述训练后的短表中q值的偏向性筛选出所述任意两个电源中启动慢的电源作为第一启动最慢电源;

循环模块:用于将所述第一启动最慢电源和剩余的n一2个电源中的任意一个电源一起再次进行短表训练模块中的操作得到第二启动最慢电源;循环直至所述n个电源都参与筛选,并将所述启动最慢的电源筛选出。

优选的,所述短表训练模块,包括如下模块:

指定模块:用于指定所述任意两个电源中的任意一个为被学习电源,另一个为学习电源;

短表建表模块:用于基于所述学习电源的有限次固定的动作和所述学习电源的两个状态建立短表,所述短表在所述固定的有限次动作的影响下依据q-learning算法中的迭代公式更新q值m次;

获取第一启动最慢电源模块:用于根据所述m次迭代后所得的q值的偏向性筛选出所述任意两个电源中第一启动最慢的电源。

优选的,所述调整模块,包括以下模块:

长表建立模块:用于基于所述启动最慢的电源以外的n-1个电源中的每个电源的p个随机延时值和所述每个电源的k个状态建立长表;

迭代模块:用于所述长表在所述p个随机延时值的影响下依据q-learning算法中的迭代公式更新q值;

第一启动模块:用于所述剩余n-1个电源中每个电源在所述迭代公式迭代后,以所述启动最慢的电源为对齐目标,执行所述p个随机延时值中的一个后启动;

评估模块:用于利用q-learning算法评估所述第一启动模块中所述剩余n-1个电源中每个电源与所述启动最慢的电源的时间同步性;

第二启动模块:用于根据评估模块中的评估的结果,重复执行迭代模块、第一启动模块和评估模块共k次,以达到所述n个电源同步启动的状态。

一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被控制器执行时能够使得所述控制器执行所述任意一项调整电源时间同步性的方法。

综上所述,在由众多电源构成的多电源系统中,依据q-learning算法建立短表和长表,以启动最慢的电源为对齐目标,通过q值迭代公式逐步调整剩余电源的延时时间值,以达到众多电源同时启动的目标。整个过程是一个闭环的操作,无需人力参与,避免了人力资源的浪费。保证了同步性修正过程的精确度与有效性。能达到修正同步性的目的,方便快捷。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1