网学网旅游管理编辑为广大网友搜集整理了:求解不可微函数优化的一种混合遗传算法绩等信息,祝愿广大网友取得需要的信息,参考学习。
3 算例
图1 函数f(x)特性示意图
函数f(x)有相当多的极小点,全局极小点是
采用改进的Powell方法计算100次,初值在区间[-500,500]内随机产生,只有6次(即以概率0.06)搜索到全局最优,计算成功的概率极低。
Holland建立的标准(或简单)遗传算法,其特点是二进制编码、赌轮选择方法、随机配对、一点交叉、群体内允许有相同的个体存在。取种群规模m=30,交叉概率pc=0.95、变异概率pm=0.05,最大进化代数T=1000,每个变量用串长为L=16的二进制子串表示。二进制编码比浮点编码遗传算法计算精度低,对于标准遗传算法以目标函数小于-800为搜索成功,标准遗传算法运行100次。当取最大进化代数为T=200时,40次(以概率0.40)搜索到全局最优,平均计算时间为0.51秒;当取T=500时,51次(以概率0.51)搜索到全局最优,平均计算时间为1.13秒。
采用本文混合法计算,取m=30, pc=0.85、pm=0.2,T=100,进行Powell搜索的概率pPowell取不同值,混合法运行100次,计算结果见如表1。对于这个具有多极值的算例,多次计算表明pPowell=0.3时,混合法能以完全概率搜索到全局最优的准确值,但是此时混合法计算时间约为标准遗传算法取T=500时计算时间的4/5。对应的浮点编码遗传算法,取m=30,pc=0.85、pm=0.2,T=100,运行100次,82次(以概率0.82)搜索到全局最优(如表1中PPowell =0所示),计算时间约为标准遗传算法取T=500时计算时间的1/8,但是搜索到全局最优的概率却远远高于标准遗传算法。
表1 pPowell取不同值时混合法的计算结果
PPowell | 0.0 | 0.02 | 0.05 | 0.1 | 0.2 | 0.3 |
求得最优解的次数 | 82 | 85 | 89 | 94 | 98 | 100 |
求得最优解的概率 | 0.82 | 0.85 | 0.89 | 0.94 | 0.98 | 1.00 |
平均计算时间/ 秒 | 0.14 | 0.20 | 0.31 | 0.47 | 0.68 | 0.87 |