一种混合模拟退火和粒子群的最优化算法制造技术

技术编号:20364669 阅读:83 留言:0更新日期:2019-02-16 17:20
本发明专利技术公开了一种混合模拟退火和粒子群的最优化算法,涉及最优化算法技术领域,包括步骤1、利用模拟退火算法进行M次迭代寻优,实施M次模拟退火过程,得到M个解;步骤2、针对从所述步骤1中获得的所述M个解,实施精英粒子挑选策略,从所述M个解中选出N个精英粒子,将N个所述精英粒子的位置作为下一阶段算法的初始解;步骤3、以N个所述精英粒子作为初始粒子,通过粒子群算法进行精确搜索;步骤4、判断所述步骤3中的所述粒子群算法是否收敛,是否符合迭代终止条件,若符合所述迭代终止条件,迭代结束,并输出全局最优粒子的相关参数。该算法分阶段的对优化问题进行求解,兼顾全局搜索和局部精确搜索两方面的问题,使优化过程更加快速,结果更加准确。

【技术实现步骤摘要】
一种混合模拟退火和粒子群的最优化算法
本专利技术涉及最优化算法
,尤其涉及一种混合模拟退火和粒子群的最优化算法。
技术介绍
近几年来,现实最优化问题越来越向着高维度、强非线性、非凸的方向的发展,面对越来越复杂的优化问题,传统计算方法的局限性愈加凸显,催生了智能算法特别是启发式算法的快速发展。启发式算法常用来解决难以获得准确数值解的优化问题,其在处理复杂优化问题时虽然不一定能够保证获得精确解,但常常能在合理时间内得到可接受精度的解。启发式算法的关键在于综合求解时间和解的质量,常见的启发式算法有模拟退火算法(SA)、遗传算法(GA)、蚁群算法(ACA)等。众多的启发式算法常常难以兼顾搜索效率和搜索质量,容易过早或过晚收敛,从而陷入局部最优点或影响求解速度。为了克服以上缺点,各领域的研究人员相继提出了各种改良措施。例如,专利CN201410166021.0公开了一种基于优胜劣汰、步步选择的粒子群优化方法,专利CN201310269649.9公开了一种自适应的直接搜索模拟退火算法。这些技术方案对粒子群算法和模拟退火算法进行了一定程度的改进,但没有考虑算法在不同阶段的不同需求,改进程度有限。因此,本领域的技术人员致力于开发一种混合模拟退火和粒子群的最优化算法,以兼顾全局搜索和局部精确搜索两方面的问题,实现在较短时间内针对线性和非线性最优化问题进行求解,使优化过程更加快速,结果更加准确。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何兼顾全局搜索和局部精确搜索,如何克服在求解非线性优化过程中的早熟和陷入局部最优点。为实现上述目的,本专利技术提供了一种混合模拟退火和粒子群的最优化算法,包括以下步骤:步骤1、利用模拟退火算法进行M次迭代寻优,实施M次模拟退火过程,得到M个解;步骤2、针对从所述步骤1中获得的所述M个解,实施精英粒子挑选策略,从所述M个解中选出N个精英粒子,将N个所述精英粒子的位置作为下一阶段算法的初始解;步骤3、以N个所述精英粒子作为初始粒子,通过粒子群算法进行精确搜索;步骤4、判断所述步骤3中的所述粒子群算法是否收敛,是否符合迭代终止条件,若符合所述迭代终止条件,迭代结束,并输出全局最优粒子的相关参数。进一步地,所述步骤1中所采用的所述模拟退火算法的粒子更新方式为:在每次循环过程中在原来的解的基础上产生扰动Δx,计算得到新点x'=x+Δx,计算所述新点的函数值并同上一步进行比较,计算差值Δf=f(x'-x),如果所述差值小于零则接受所述新点作为新解,并作为下次循环的初始点,如果所述差值大于零,则计算概率P(Δf);生成一个0~1的随机数,若所述随机数小于所述概率P(Δf),则接受新解,否则放弃。进一步地,所述概率P(Δf)根据Boltzmann–Gibbs来确定,具体计算公式为:其中,T为每次循环的温度,K是Boltzmann常数,f是目标函数。进一步地,所述步骤1中的所述模拟退火算法的整个模拟退火过程就是一个温度下降过程,在所述温度下降过程中,温度从最高温Tmax不断下降达到最低温度Tmin,所述模拟退火算法中采用指数冷却,所述温度T的下降过程按照下式确定:T(t')=aT(t),0<a<1其中,a是一个指数冷却常数。进一步地,所述步骤1中的所述模拟退火算法的状态转移函数按下式确定:进一步地,所述步骤2中实施精英粒子挑选策略,从所述M个解中选出N个精英粒子的具体方法为,针对所述M个解计算每个解的适应度,并从中选择所述适应度较好的N个粒子作为所述精英粒子。进一步地,所述步骤3中的所述粒子群算法为基于最优粒子扰动策略的粒子群算法。进一步地,所述N个精英粒子的速度和解的更新方式如下公式所示:Gbest′k=N(Gbestk,σ)xi,k+1=vi,k+1+xi,kvk+1=w×vk+c1×rand×(Pbestk-xk)+c2×rand×(Gbest′k-xk)其中,Gbest′k为扰动后的最优粒子,由正态分布N(Gbestk,σ)产生,其中σ是对循环变量t的非增函数,c1和c2为惯性权重。进一步地,所述惯性权重c1和c2均为可变惯性权重,所述惯性权重c1和c2均从0.9到0.4递减,以进一步平衡搜索效率和搜索质量。进一步地,所述步骤4中的所述迭代终止条件为达到最大迭代次数或者满足收敛精度这两种情况中的任一种。与现有技术方案相比,本专利技术的有益技术效果在于:(1)本专利技术将全局搜索能力强的模拟退火算法同精确搜索能力强的量子粒子群进行结合,通过混合两种启发式算法,分阶段的对优化问题进行求解。算法的前期阶段,通过模拟退火算法对可行域进行全局搜索,通过增加种群的多样性,避免遗传算法等传统算法容易陷入局部最优解的误区。(2)在算法的后期阶段,通过粒子群算法进行精确搜索,为了加快收敛并且提高收敛精度,最优粒子加入高斯扰动策略,提高算法局部搜索能力。(3)算法结合了模拟退火算法优秀的全局搜索能力和粒子群算法的精确搜索,新算法具有结构简单、收敛速度快、鲁棒性强的特点,结果同遗传算法、传统爬山算法相比较具有更强的适应性。以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。附图说明图1是本专利技术的一个较佳实施例的方法流程图;图2是本专利技术用于某非线性模型的求解过程图;图3是本专利技术所提混合算法同模拟退火算法下目标函数的下降过程对比图。具体实施方式以下参考说明书附图介绍本专利技术的多个优选实施例,使其
技术实现思路
更加清楚和便于理解。本专利技术可以通过许多不同形式的实施例来得以体现,本专利技术的保护范围并非仅限于文中提到的实施例。图1是本专利技术的一个较佳实施例的方法流程图。对本专利技术进行试验操作,用于某非线性模型的求解,本专利技术所提算法通过反复调整模型的输入参数X,使模型输出结果Y同测量参数相匹配,具体过程如图2所示。本专利技术所提混合算法同模拟退火算法和牛顿拉普逊方法进行对比,对比结果表如下:以上详细描述了本专利技术的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本专利技术的构思作出诸多修改和变化。因此,凡本
中技术人员依本专利技术的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。本文档来自技高网
...

【技术保护点】
1.一种混合模拟退火和粒子群的最优化算法,其特征在于,包括以下步骤:步骤1、利用模拟退火算法进行M次迭代寻优,实施M次模拟退火过程,得到M个解;步骤2、针对从所述步骤1中获得的所述M个解,实施精英粒子挑选策略,从所述M个解中选出N个精英粒子,将N个所述精英粒子的位置作为下一阶段算法的初始解;步骤3、以N个所述精英粒子作为初始粒子,通过粒子群算法进行精确搜索;步骤4、判断所述步骤3中的所述粒子群算法是否收敛,是否符合迭代终止条件,若符合所述迭代终止条件,迭代结束,并输出全局最优粒子的相关参数。

【技术特征摘要】
1.一种混合模拟退火和粒子群的最优化算法,其特征在于,包括以下步骤:步骤1、利用模拟退火算法进行M次迭代寻优,实施M次模拟退火过程,得到M个解;步骤2、针对从所述步骤1中获得的所述M个解,实施精英粒子挑选策略,从所述M个解中选出N个精英粒子,将N个所述精英粒子的位置作为下一阶段算法的初始解;步骤3、以N个所述精英粒子作为初始粒子,通过粒子群算法进行精确搜索;步骤4、判断所述步骤3中的所述粒子群算法是否收敛,是否符合迭代终止条件,若符合所述迭代终止条件,迭代结束,并输出全局最优粒子的相关参数。2.如权利要求1所述的混合模拟退火和粒子群的最优化算法,其特征在于,所述步骤1中所采用的所述模拟退火算法的粒子更新方式为:在每次循环过程中在原来的解的基础上产生扰动Δx,计算得到新点x'=x+Δx,计算所述新点的函数值并同上一步进行比较,计算差值Δf=f(x'-x),如果所述差值小于零则接受所述新点作为新解,并作为下次循环的初始点,如果所述差值大于零,则计算概率P(Δf);生成一个0~1的随机数,若所述随机数小于所述概率P(Δf),则接受新解,否则放弃。3.如权利要求2所述的混合模拟退火和粒子群的最优化算法,其特征在于,所述概率P(Δf)根据Boltzmann–Gibbs来确定,具体计算公式为:其中,T为每次循环的温度,K是Boltzmann常数,f是目标函数。4.如权利要求2所述的混合模拟退火和粒子群的最优化算法,其特征在于,所述步骤1中的所述模拟退火算法的整个模拟退火过程就是一个温度下降过程,在所述温度下降过程中,温度从最高温Tmax不断下降达到最低温度Tmin,所...

【专利技术属性】
技术研发人员:周登极张会生马世喜韦婷婷肖旺关睿徐明沈登海
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1