基于质子群的优化方法及系统与流程

文档序号:15853344发布日期:2018-11-07 10:31阅读:371来源:国知局
基于质子群的优化方法及系统与流程

本发明涉及智能算法技术领域,特别涉及一种基于质子群的优化方法及系统。

背景技术

在理论和工程实践中,智能优化算法是求解不连续、不可微、高度非线性优化问题的常用方法。与基于梯度的传统优化算法(如共轭梯度法、牛顿法、变尺度法等)不同,智能优化算法是建立在生物智能或物理现象上的随机搜索算法,一般不要求目标函数和约束条件的连续性与凸性,甚至不要求目标函数具有解析表达式,对计算中数据的不确定性有很强的适应能力。常见的智能优化算法包括遗传算法、差分演化算法、蚁群算法、粒子群算法、模拟退火算法、禁忌搜索算法等等。虽然现有智能优化算法已经在相应领域发挥了重要作用,但仍普遍存在易陷入局部最优解、全局收敛能力弱、收敛速度慢等问题。因此,在全局搜索能力、收敛速度等方面,智能优化算法仍有很大的研究空间。



技术实现要素:

本发明的目的是提供一种基于质子群的优化方法及系统,解决现有上述的问题。

为解决上述问题,本发明实施例提供一种基于质子群的优化方法,包括以下步骤:

控制质子群的质子均匀分布在某一区域内,设置质子的初始正交方向组和初始步长;

质子沿初始正交方向组进行探测移动,确定初始最优质子;

根据当前最优质子位置更新质子的正交方向组,使正交方向组的其中一个方向指向当前最优质子;

质子沿更新后的正交方向组进行探测移动,同时,更新最优质子

判断质子间距离是否满足条件或迭代次数是否达到上限,若是,则输出当前全局最优解;若否,则进行迭代循环。

作为一种实施方式,所述确定初始最优质子,具体包括以下步骤:

若质子的候选点的函数值为所有质子候选点的函数值中最优时,则定义该质子为初始最优质子。

作为一种实施方式,还包括以下步骤:

确定初始最优质子后,若质子群中的某一质子在探测移动中位置未变化,则缩短该质子的探测步长,更新进行探测移动。

作为一种实施方式,所述更新质子的正交方向组包括以下步骤:

通过式

pj=ej-σajw

即可构造一组单位正交矢量,且单位正交矢量中一个方向指向最优质子,pj表示为正交方向组的第j个向量,其中,p1表示为当前质子指向最优质子的方向矢量,ej表示为第j个元素为1其余元素为0的单位向量,σ表示为p1的第一个元素模值加1取倒数,aj表示为p1的第j个元素,w表示为中间矢量。

作为一种实施方式,所述令质子群的质子均匀分布在某一区域内,设置初始正交方向组和初始步长步骤,还包括以下步骤:

设置最大迭代次数。

本发明还提供一种基于质子群的优化系统,包括:

初始单元,用于控制质子群的质子均匀分布在某一区域内,设置质子的初始正交方向组和初始步长;

黑洞单元,用于质子沿初始正交方向组进行探测移动,确定初始最优质子;

更新单元,用于根据当前最优质子位置更新质子的正交方向组,使正交方向组的其中一个方向指向当前最优质子;

迭代单元,用于质子沿更新后的正交方向组进行探测移动,同时,更新最优质子

优化单元,用于判断质子间距离是否满足条件或迭代次数是否达到上限,若是,则输出当前全局最优解;若否,则进行迭代循环。

作为一种实施方式,所述黑洞单元还用于若质子的候选点的函数值为所有质子候选点的函数值中最优时,则定义该质子为初始最优质子。

作为一种实施方式,所述更新单元还用于确定初始最优质子后,若质子群中的某一质子在探测移动中位置未变化,则缩短该质子的探测步长,更新进行探测移动。

作为一种实施方式,所述更新单元用于通过式

pj=ej-σajw

即可构造一组单位正交矢量,且单位正交矢量中一个方向指向最优质子,pj表示为正交方向组的第j个向量,其中,p1表示为当前质子指向最优质子的方向矢量,ej表示为第j个元素为1其余元素为0的单位向量,σ表示为p1的第一个元素模值加1取倒数,aj表示为p1的第j个元素,w表示为中间矢量。

作为一种实施方式,所述初始单元用于设置最大迭代次数。

本发明相比于现有技术的有益效果在于:本发明的基于质子群的优化方法模仿质子受黑洞(最优质子定义为黑洞)吸引,朝黑洞方向移动的过程,通过质子探测移动和优化更新黑洞位置逼近全局最优解。每个质子维持一个正交方向组,其中一个方向平行于该质子和黑洞的连线方向。质子沿正交方向组探测移动寻找最优点,经过若干次迭代后,将质子群中最优质子定义为黑洞,然后更新质子正交方向组。如此循环往复,直至满足收敛条件。因此,具有较好的全局搜索能力和收敛速度,可以在算法的运算效率和优化效果间达到较好的平衡;算法所需参数较少,避免了不同参数下算法性能差异较大的问题,在求解不同类型问题时性能稳定;对目标函数要求较低,无需目标函数的一阶或二阶导数,甚至不需要有解析表达式。

附图说明

图1为本发明的基于质子群的优化方法的流程图;

图2为本发明的基于质子群的优化系统的模块连接图。

附图标注:1、初始单元;2、黑洞单元;3、更新单元;4、迭代单元;5、优化单元。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

如图1所示,一种基于质子群的优化方法,包括以下步骤:

s100:控制质子群的质子均匀分布在某一区域内,设置质子的初始正交方向组和初始步长,同时,设置最大迭代次数、质子群大小等参数;

s200:质子沿初始正交方向组进行探测移动,确定初始最优质子;其中,若质子的候选点的函数值为所有质子候选点的函数值中最优时,则定义该质子为初始最优质子。

s300:根据当前最优质子位置更新质子的正交方向组,使正交方向组的其中一个方向指向当前最优质子;

s400:质子沿更新后的正交方向组进行探测移动,同时,更新最优质子

s500:判断质子间距离是否满足条件或迭代次数是否达到上限,若是,则输出当前全局最优解;若否,则进行迭代循环。

除上述步骤外,还包括以下步骤:

确定初始最优质子后,若质子群中的某一质子在探测移动中位置未变化,则缩短该质子的探测步长,更新进行探测移动。

在步骤s400中,可以通过多种方式改变更新最优质子的频率。一、在每一次迭代后均更新最优质子;二、设置固定更新频率,如设置通过固定迭代次数后更新一次最优质子;三、根据质子间距离改变更新最优质子的频率,如初识探测移动时,质子间距离较大,可设置通过多次迭代后更新一次最优质子,之后可逐渐减少迭代次数来更新最优质子。

在步骤s400中,在重新确认最优质子后,质子的正交方向组需要旋转,使其一个方向指向最优质子方向。一般情况下,方向矢量的旋转需要通过构造householder对称正交矩阵实现。为了改善算法所需内存空间和执行效率,本发明提出一种无需构造矩阵的简单方法。在本实施例中,更新正交方向组通过pj=ej-σajw即可得到一组与单位矢量正交的方向组,单位矢量为当前质子指向最优质子的方向矢量,式中,pj表示为正交方向组的第j个向量,其中,p1表示为当前质子指向最优质子的方向矢量,ej表示为第j个元素为1其余元素为0的单位向量,σ表示为p1的第一个元素模值加1取倒数,aj表示为p1的第j个元素,w表示为中间矢量。

其中,公式pj=ej-σajw推演如下:

记当前质子位置指向最优质子的单位矢量为:p1=(a1a2…ad)t,a1表示为p1的第1个元素,a2表示为p1的第2个元素,ad表示为p1的第d个元素(即最后一个元素),为了表述方便,假设a1≠0。如果a1=0,只要顺延至ai≠0,1<i≤d即可(必然存在ai≠0,1<i≤d,否则p1为零向量);

构造矩阵h=i-σwwt,i表示为单位矩阵,σ表示为中间常数,w表示为中间矢量;其中,

其中,μ表示为a1的正负情况,e1表示为第一个元素为1其余元素为0的单位量;;

sgn(a1)为符号函数,即

通过验证可知,h为对称正交矩阵,且hp1=[-μ0…0]t=-μe1;

令pj=hej,j=2,…,d,其中,ej表示为第j个元素为1其余元素为0的单位向量,则有

因此,{pj}、j=1,…,d构成了一组正交基,

pj=hej=(i-σwwt)ej=ej-σ(wt-ej)w=ej-σajw,即pj=ej-σajw;

只要要获得pj、ej、σ、aj以及w参数就可得到一组与p1正交的方向组,无需构成矩阵h。

以下通过仿真实例,进行效果展示:

表1给出了测试函数,均为多维多峰复杂函数。利用本发明基于质子群的优化方法求解各函数的全局最小值,所得结果如表2所示。对于4个测试函数,基于质子群的优化方法均能稳健快速地收敛至全局最优点,验证了算法的有效性。

表1测试函数

表2本发明算法得到的优化结果

本发明的基于质子群的优化方法模仿质子受黑洞(最优质子定义为黑洞)吸引,朝黑洞方向移动的过程,通过质子探测移动和优化更新黑洞位置逼近全局最优解。每个质子维持一个正交方向组,其中一个方向平行于该质子和黑洞的连线方向。质子沿正交方向组探测移动寻找最优点,经过若干次迭代后,将质子群中最优质子定义为黑洞,然后更新质子正交方向组。如此循环往复,直至满足收敛条件。

如图2所示,本发明还提供一种基于质子群的优化系统,包括初始单元1、黑洞单元2、更新单元3、迭代单元4以及优化单元5。初始单元1用于控制质子群的质子均匀分布在某一区域内,设置质子的初始正交方向组和初始步长,同时,设置最大迭代次数、质子群大小等参数;黑洞单元2用于质子沿初始正交方向组进行探测移动,确定初始最优质子,其中,若质子的候选点的函数值为所有质子候选点的函数值中最优时,则定义该质子为初始最优质子;更新单元3用于根据当前最优质子位置更新质子的正交方向组,使正交方向组的其中一个方向指向当前最优质子;迭代单元4用于质子沿更新后的正交方向组进行探测移动,同时,更新最优质子;优化单元5用于判断质子间距离是否满足条件或迭代次数是否达到上限,若是,则输出当前全局最优解;若否,则进行迭代循环。

为了改善算法所需内存空间和执行效率,更新单元3用于通过式

pj=ej-σajw

即可构造一组单位正交矢量,且单位正交矢量中一个方向指向最优质子,pj表示为正交方向组的第j个向量,其中,p1表示为当前质子指向最优质子的方向矢量,ej表示为第j个元素为1其余元素为0的单位向量,σ表示为p1的第一个元素模值加1取倒数,aj表示为p1的第j个元素,w表示为中间矢量。

本发明具有较好的全局搜索能力和收敛速度,可以在算法的运算效率和优化效果间达到较好的平衡;算法所需参数较少,避免了不同参数下算法性能差异较大的问题,在求解不同类型问题时性能稳定;对目标函数要求较低,无需目标函数的一阶或二阶导数,甚至不需要有解析表达式。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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