一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于粒子群的群体演化优化算法的制作方法

2021-10-24 05:09:00 来源:中国专利 TAG:演化 算法 群体 优化 粒子


1.本发明涉及群体演化优化算法技术领域,特别是指一种基于粒子群的群体演化优化算法。


背景技术:

2.粒子群优化算法又翻译为粒子群算法、微粒群算法、或微粒群优化算法,它是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法,通常认为它是群集智能的一种,同时粒子群优化算法是群体演化优化算法中的一种。
3.中国专利,授权的公开号为cn109447393a,授权公开日为2019年03月08日的发明申请提出一种电力系统经济负荷分配的改进的粒子群算法,该算法通过引入粒子浓度认知项,并粒子速度和粒子位置约束及修正策略,解决后期收敛速度慢、粒子极易陷入局部最优的缺点,但是仍然存在并发计算性能差与计算效率低的问题。
4.现有的群体演化优化算法大多采用粒子群算法、遗传算法、模拟退火算法等的优化算法,上述算法经常出现一个迭代轮次中其他粒子对应的物理问题都已经计算完毕,但少数几个粒子对应的物理问题始终计算不完,此时计算机无法继续进行后续的迭代演化,只能等待,最终导致整个优化过程耗时非常长,容易出现并发计算性能差与计算效率低的问题。


技术实现要素:

5.本发明要解决的技术问题是提供一种计算效率高于传统的优化算法的基于粒子群的群体演化优化算法,另外本分隔幕还具有并发计算性能好的特点。
6.为解决上述技术问题,本发明提供技术方案如下:
7.一种基于粒子群的群体演化优化算法,包括以下步骤:
8.步骤一:确定本次优化的基本参数,选取一定数量的粒子,并且确定各粒子待优化变量的初始值,然后使用计算机计算出全部粒子对应的适应度;
9.步骤二:根据需求使用计算机对步骤一中所有粒子得出的适应度进行整体分析,然后重新确定所有粒子中待优化参数的取值,得出结果;
10.步骤三:对于优先计算完成粒子计算结果的,直接给粒子进行赋值,并重新计算该粒子所对应的方案;
11.步骤四:第二个粒子完成计算结果时,赋予第二个粒子靠拢上个粒子赋值的取值,并重新计算粒子所对应的方案,然后依次对所有的粒子进行赋值;
12.步骤五:重复上述步骤四,直到各粒子计算出的适应度符合要求时,结束计算,并得出优化结果。
13.进一步的,所述步骤一中每个粒子代表了一个方案,每个粒子中都包含有全部的待优化参数。
14.进一步的,所述步骤一中通过调用所优化问题的求解器计算全部粒子对应的适应
度,获得目标函数。
15.进一步的,所述步骤二中的需求为找出所有粒子中适应度最大或最小的粒子,步骤五中符合要求的原则为适应度的最大值不再升高或最小值不再降低。
16.进一步的,所述步骤一中的计算机采用多核多线程的计算方式。
17.进一步的,所述步骤四中粒子的赋值的过程为:分析得出的取值结果,判断取值是否与上一粒子的赋值结果靠近,若靠近则直接赋值,若不靠近则重新计算取值,直到取值与上一粒子的赋值结果靠近,其中判断原则按照粒子群算法的演化规则。
18.本发明具有以下有益效果:
19.本发明的基于粒子群的群体演化优化算法中,优先计算完成粒子计算结果,直接给粒子进行赋值,并重新计算该粒子所对应的方案;第二个粒子完成计算结果时,赋予第二个粒子靠拢上个粒子赋值的取值,并重新计算粒子所对应的方案,然后依次对所有的粒子进行赋值;重复上述步骤四,直到各粒子计算出的适应度符合要求时,结束计算,并得出优化结果,通过直接赋值后,然后重新计算粒子所对应的方案,由于不再等候全部粒子都算完后才开始下一轮的计算,节约了大量的计算时间,在相同的计算时间段内,每个粒子都多计算了好多轮次,能够更快的得出优化结果,因此整体计算效率更高,同时提高并发计算性能,适于推广使用。
附图说明
20.图1为本发明基于粒子群的群体演化优化算法的迭代示意图;
具体实施方式
21.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
22.本发明提供一种基于粒子群的群体演化优化算法,如图1所示,一种基于粒子群的群体演化优化算法,包括以下步骤:
23.步骤一:确定本次优化的基本参数,选取一定数量的粒子,并且确定各粒子待优化变量的初始值,然后使用计算机计算出全部粒子对应的适应度;
24.步骤二:根据需求使用计算机对步骤一中所有粒子得出的适应度进行整体分析,然后重新确定所有粒子中待优化参数的取值,得出结果;
25.步骤三:对于优先计算完成粒子计算结果的,直接给粒子进行赋值,并重新计算该粒子所对应的方案;
26.步骤四:第二个粒子完成计算结果时,赋予第二个粒子靠拢上个粒子赋值的取值,并重新计算粒子所对应的方案,然后依次对所有的粒子进行赋值;
27.步骤五:重复上述步骤四,直到各粒子计算出的适应度符合要求时,结束计算,并得出优化结果。
28.所述步骤一中每个粒子代表了一个方案,每个粒子中都包含有全部的待优化参数。
29.所述步骤一中通过调用所优化问题的求解器计算全部粒子对应的适应度,获得目标函数。
30.所述步骤二中的需求为找出所有粒子中适应度最大或最小的粒子,所述步骤五中符合要求的原则为适应度的最大值不再升高或最小值不再降低。
31.所述步骤一中的计算机采用多核多线程的计算方式。
32.所述步骤四中粒子的赋值的过程为:分析得出的取值结果,判断取值是否与上一粒子的赋值结果靠近,若靠近则直接赋值,若不靠近则重新计算取值,直到取值与上一粒子的赋值结果靠近,其中判断原则按照粒子群算法的演化规则。
33.本优化算法也适用于遗传算法、模拟退火算法、蚁群算法。
34.本优化算法不仅具备原先的优化能力外,具有了更好的并发计算性能、更高的计算效率。
35.本发明的基于粒子群的群体演化优化算法中,优先计算完成粒子计算结果,直接给粒子进行赋值,并重新计算该粒子所对应的方案;第二个粒子完成计算结果时,赋予第二个粒子靠拢上个粒子赋值的取值,并重新计算粒子所对应的方案,然后依次对所有的粒子进行赋值;重复上述步骤四,直到各粒子计算出的适应度符合要求时,结束计算,并得出优化结果,通过直接赋值后,然后重新计算粒子所对应的方案,由于不再等候全部粒子都算完后才开始下一轮的计算,节约了大量的计算时间,在相同的计算时间段内,每个粒子都多计算了好多轮次,能够更快的得出优化结果,因此整体计算效率更高,适于推广使用,更适合开展实际问题的优化研究。
36.实施例1:
37.参见图1,一种基于粒子群的群体演化优化算法,包括以下步骤:
38.步骤一:确定本次优化的基本参数,选取一定数量的粒子,并且确定各粒子待优化变量的初始值,然后使用计算机计算出全部粒子对应的适应度;
39.假设本次优化一共用到6个粒子,共迭代演化10次,与此同时,假设采用计算的计算机性能优良,在任意时刻都可以同时计算6个粒子的物理问题,计算机采用多核多线程的计算方式。
40.步骤二:根据需求使用计算机对步骤一中所有粒子得出的适应度进行整体分析,然后重新确定所有粒子中待优化参数的取值,得出结果;
41.采用随机取值的方法选取初始的x值,此处假设6个粒子的x对应的初始值分别是[

10,

8,

4,3,6,9],即让计算机去分别计算当x1=[

10,

8,

4,3,6,9]时是对应的目标函数的值,下标1代表第一的演化步。
[0042]
步骤三:对于优先计算完成粒子计算结果的,直接给粒子进行赋值,并重新计算该粒子所对应的方案;
[0043]
此处假设粒子3(x13=

4),最先计算完成(上标3代表是第三个粒子),对应的目标函数y13=

16,那么立刻计算它下一步的取值,此时其他粒子都还没有计算完成,它得不到其他例子计算结果的信息,因此只能是随机选择一个方向进行飞行,此处假设取值结果为x23=

4.5,在获得该值后,立刻将

4.5赋予粒子3,并重新开始计算对应的物理问题。
[0044]
步骤四:第二个粒子完成计算结果时,赋予第二个粒子靠拢上个粒子赋值的取值,并重新计算粒子所对应的方案,然后依次对所有的粒子进行赋值;
[0045]
此时,假设粒子6也计算完成,目标函数y16=

81,则按照标准粒子群算法的演化规则去计算其新的取值,此时仅有粒子3、粒子6两个计算结果,且粒子3的目标函数(

4.5)
比粒子6的目标函数(

81)大,因此按照粒子群算法的演化规则,粒子6的新取值将会向粒子3的原取值(

4)靠拢,此处假设新值的计算结果为x26=5.7,在获得该值后,立刻将5.7赋予粒子6,并重新开始计算对应的物理问题。
[0046]
步骤五:重复上述步骤四,直到各粒子计算出的适应度符合要求时,结束计算,并得出优化结果。
[0047]
粒子群算法的演化过程见附图1,从中可以看出,由于不再等候全部粒子都算完后才开始下一轮的计算,节约了大量的计算时间,在相同的计算时间段内,每个粒子都多计算了好多轮次,因此整体计算效率更高,图中的灰色实心箭头的含义同上,虚心箭头表示本方法比常规方法多进行的迭代。
[0048]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜