一种基于构象空间退火的两阶段差分进化多模态优化方法

文档序号:9506580阅读:1063来源:国知局
一种基于构象空间退火的两阶段差分进化多模态优化方法
【技术领域】
[0001] 本发明涉及一种智能优化、计算机应用领域,尤其涉及的是,一种基于构象空间退 火的两阶段差分进化多模态优化方法。
【背景技术】
[0002] 在工程实践中存在着许多多模态优化问题,这些问题不仅需要在可行域内求得问 题的一个全局最优解,往往还需要得到其它全局最优解和一些有意义局部最优解。例如,神 经网络的结构及其权值的优化问题,现代投资组合问题及复杂系统参数及结构辨识问题等 都是多模态优化问题。因此,如何构造出一种优化算法,使得其能够找到问题的所有全局最 优解和尽可能多的局部最优解,即如何有效地求解多模态优化问题,是计算科学、智能优化 等领域一个亟需解决的问题。
[0003] 进化算法,作为一种基于种群的随机性搜索算法,比传统的优化算法有着更好的 优势。在进化过程中,算法保持一定数量较好的种群,如果某些种群在整个进化过程中能够 一直存活下来,则算法不仅能够得到最优解,而且能够获得一系列质量较好的局部最优解。 然而,由于进化算法的贪婪特性,算法最后往往收敛至某个单一的最优解。鉴于此,探测并 保存较好的模态成为多模态优算法的难点所在,也是算法设计的关键。
[0004] 针对上述问题,国内外学者在进化算法中引入小生境思想,利用小生境方法来改 进进化算法的进化策略,因此提出了一系列基于小生境的多模态优化方法,这些方法虽然 在某些情况下能够解决一些多模态优化问题,但是由于多模态优化问题的解的个数不确定 性、问题维数的不确定性以及适应度曲面的复杂性,这些方法对于一些实际应用问题仍力 不从心。此外,小生境半径的取值也是一个极其具有挑战性的工作,小生境半径过大会导致 形成过多的生境,从而导致计算量大,而达不到应有的效果,过小又会导致探测不到某些小 于生境半径的模态,从而不能保证多模收敛。
[0005] 因此,现有的多模态优化方法存在着缺陷,需要改进。

【发明内容】

[0006] 为了克服现有的多模态优化方法的参数选择难、对于一些实际应用问题无法得到 所有的全局最优解和质量较高的局部最优解、解的质量不高、计算量大等不足,本发明提出 一种简单、高效、优化结果良好的、可以适用于大多数多模态优化问题的基于构象空间退火 的两阶段差分进化多模态优化方法。
[0007] 本发明解决其技术问题所采用的技术方案是:
[0008] -种基于构象空间退火的两阶段差分进化多模态优化方法,所述方法包括以下步 骤:
[0009] 1)初始化:设置种群规模NP,交叉概率Cr,增益常数F,小生境半径阈值cU,函数 评价次数阈值e rat,种子个体附近个体的数目m ;
[0010] 2)随机生成初始种群P = {x1,X2,. . .,xNp},X1,i = 1,2,…,Np表示种群中的第i 个个体;
[0011] 3)计算出各个体的目标函数值,并按目标函数值升序排序;
[0012] 4)将当前种群中目标函数值最小的个体设置为种子个体Xs,且将其它个体设置 为自由个体,即未标记为种子的个体;
[0013] 5)计算小生境半径:
[0014] 5. 1)根据公式⑴计算初始半径值dinitlal;
[0016] 其中,4表示种群中第i个个体X1的第j维元素,^表示种群中第k个个体1*'的 第j维元素,N为问题维数,N p为种群规模;
[0017] 5. 2)根据公式(2)计算小生境半径值rd,其中FEs为函数评价次数;
[0020] 5. 3)根据公式(4)确定当前小生境半径值r ;
[0022] 6)扰动生成新个体:
[0023] 6. 1)如果在第一阶段,即小生境半径r大于阈值dcut,则从整个种群中任意选取3 个个体{xa, Xb, Xc I a, b, c e {1,2, · · ·,N1J,a 乒 b 乒 c};
[0024] 6. 2)根据公式(5)计算差分个体x$P x °之间的欧氏距离d ;
[0026] 其中,<、X】分别为种群中第b、c个个体的第j维元素;
[0027] 6. 3)判断d是否大于小生境半径r,若不满足,则重新从整个种群中随机选取差分 个体x#P ^并返回步骤6. 2),直到满足d > r为止;
[0028] 6. 4)根据公式(6)所示的差分限制变异策略进行变异:
[0030] 其中,< 为种群中第i个目标个体对应的变异个体的第j维元素 ,j = 1,2,···,Ν, N为问题维数,I I xb_x1 I > r表示差分个体^之间的距离大于小生境半径r ;
[0031] 6. 5)根据公式(7)进行交叉生成新个体trial1:
[0033] 其中,j = 1,2,···,Ν,》力/)表示种群中第i个目标个体对应的新个体trial1的第 j维元素,^为种群中第i个目标个体对应的变异个体的第j维元素,randb(0, 1)表示为随 机产生O到1之间的小数,rnbr(j)表示随机产生1到N之间的整数,(^表示交叉概率; [0034] 6. 6)如果在第二阶段,即小生境半径r小于或等于阈值cU,则根据公式⑶所示 的各个体到种子个体的欧氏距离Cl1选取种子个体X 3^的m个邻近体X nelgh:
[0036] 其中,if为种子个体xs1 勺第j维元素;
[0037] 6. 7)根据公式(9)所示的种子邻近变异策略分别生成K = -0. 5和K = 1. 5的变 异个体:
[0039] 其中,为种子邻近个体Xnelgh的第j维元素;
[0040] 6. 8)根式公式(7)对步骤6. 6)生成的变异个体进行交叉生成新个体;
[0041] 7)对每个新个体进行种群更新:
[0042] 7. 1)根据公式(10)计算出当前种群中各个体与新个体trial的欧氏距离,并找出 与其最近的个体Xnram3st;
[0044] 7. 2)如果trial与Xnearast的距离d nearast小于当前小生境半径r,且trial的目标 函数值小于Xnearast的目标函数值,则trial替换X nearast;
[0045] 7. 3)如果trial与x_rast的距离d _rast大于当前小生境半径r,则找出当前种群 中目标函数值最大的个体xWOTSt,若trial的目标函数值小于x WOTSt的目标函数值,则trial 替换 Xirarst;
[0046] 8)选取新种子:
[0047] 8. 1)根据公式(11)计算出当前种群中各自由个体与种子个体xSEEd的平均距离 daTC,其中,Nf为自由个体的数目;
[0049] 8. 2)如果某一自由个体与当前种子个体Xseed之间的距离大于d aTC,则将其标记为 新种子;
[0050] 9)如果当前种群中的所有个体都为种子个体,则为一代结束,并返回步骤3);
[0051] 10)判断是否满足终止条件,如果满足,则保存结果并退出。
[0052] 进一步,所述步骤10)中,终止条件为函数评价次数。当然,也可以为其他终止条 件。
[0053] 本发明的技术构思为:基于构象空间退火思想,根据退火过程将整个差分进化算 法分为两个阶段:全局探测模态阶段和模态内局部增强阶段;在第一阶段,根据动态小生 境半径值来选取差分个体,避免选取相似度较高的个体,从而根据差分限制变异策略生成 高质量的新个体来维持种群的多样性,确保探测到所有模态;在第二阶段,根据种子个体的 邻近个体生成新个体,从而对已探测到的模态进行高度搜索,以加快算法收敛速度。
[0054] 本发明的有益效果表现在:一方面,根据退火策略来动态调整小生境半径,避免参 数选择不当而影响算法的性能;另一方面,根据动态退火过程将算法分为两个阶段,并在 各阶段设计合适的变异策略来生成新个体,在保证算法多模收敛的同时加快算法的收敛速 度,从而求得高质量的解。
【附图说明】
[0055] 图1是基于构象空间退火的两阶段差分进化多模态优化方法基本流程图。
[0056] 图2是种子邻近变异策略示意图。其中,A为种子个体,B和E和A的邻近个体,C 和D为邻近个体B分别在K = 1. 5和K = -0. 5时根据邻近变异策略生成的新个体,F和G 为邻近个体E分别在K = 1. 5和K = -0. 5时根据邻近变异策略生成的新个体。
【具体实施方式】
[0057] 下面结合附图对本发明作进一步描述。
[0058] 参照图1和图2,一种基于构象空间退火的两阶段差分进化多模态优化方法,包括 以下步骤:
[0059] 1)初始化:设置种群规模NP,交叉概率Cr,增益常数F,小生境半径阈值cU,函数 评价次数阈值e rat,种子个体附近个体的数目m ;
[0060] 2)随机生成初始种群P = {x1,X2, . . .,xNp},X1,i = 1,2,…,Np表示种群中的第i 个个体;
[0061] 3)计算出各个体的目标函数值,并按目标函数值升序排序;
[0062] 4)将当前种群中目标函数值最小的个体设置为种子个体Xs,且将其它个体设置 为自由个体,即未标记为种子的个体;
[0063] 5)计算小生境半径:
[0064] 5. 1)根据公式⑴计算初始半径值dinitlal;
[0066] 其中,X丨表示种群中第i个个体X 1的第j维元素,·<表示种群中第k个个体X喻 第j维元素,N为问题维数,Np为种群规模;
[0067] 5. 2)根据公式(2)计算小生境半径值rd,其中FEs为函数评价次数;
[0070] 5. 3)根据公式(4)确定当前小生境半径值r ;
[0072] 6)扰动生成新个体:
[0073] 6. 1)如果算法在第一阶段,即小生境半径r大于阈值dcut,则从整个种群中任意选 取 3 个个体{xa, xb, xc I a, b, c e {1,2,…,N1J,a 乒 b 乒 c};
[0074] 6. 2)根据公式(5)计算差分个体x$P x °之间的欧氏距离d ;
[0076] 其中,分别为种群中第b、c个个体的第j维元素;
[0077] 6. 3)判断d是否大于小生境半径r,若不满足,则重新从整个种群中随机选取差分 个体x#P ^并返回步骤6. 2),直到满足d > r为止;
[0078] 6. 4)根据公式(6)所示的差分限制变异策略进行变异:
[0080] 其中,< 为种群中第i个目标个体对应的变异个体的第j维元素,j = 1,2,…,N, N为问题维数,I I xb-x1 I > r表示差分个体^之间的距离大于小生境半径r ;
[0081] 6. 5)根据公式(7)进行交叉生成新个体trial1:
[0083] 其中,j = 1,2,···,Ν,/πα/;表示种群中第i个目标个体对应的新个体trial1的第 j维元素,< 为种群中第i个目标个体对应的变异个体的第j维元素 ,randb (0, 1)表示为随 机产生0到1之间的小数,rnbr(j)表示随机产生1到N之间的整数,(^表示交叉概率;
[0084] 6. 6)如果算法在第二阶段,即小生境半径r小于或等于阈值dcut,则根据公式(8) 所示的各个体到种子个体的欧氏距离Cl 1选取种子个体X 3^的m个邻近体X nelgh:
[0086] 其中,为种子个体Xseed的第j维元素;
[0087] 6. 7)根据公式(9)所示的种子邻近变异策略分别生成K = -0. 5和K = 1. 5的变 异个体:
[0089] 其中,为种子邻近个体Xnelgh的第j维元素;
[0090] 6. 8)根式
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1