内容发布更新时间 : 2024/11/7 16:49:13星期一 下面是文章的全部内容请认真阅读。
?1? 当rk?0时,得x*??? f(x*)?1
?0?
第5章 遗传算法
本章要求重点掌握遗传算法的5个要素、遗传算法的寻优机制。 一、遗传算法的5个要素 1.编码
将优化问题的解编码,用以模拟生物个体的基因组成; 2.初始种群生成
将优化问题多个随机可行解汇成集合,用以模拟进化的生物种群; 3.个体适应度评估
将优化问题目标函数加以变换,生成适应度函数来评价种群个体的适应度,用以模拟生物个体对环境的适应能力;
4.遗传操作
包含选择、交叉、变异
选择:一种使适应度函数值大的个体有更大的存活机会的机制,用以模拟环境对生物个体的自然选择;
交叉:不同个体间相互交换信息,用以模拟高级生物有性繁殖过程中的基因重组过程;
变异:模拟生物在遗传过程中基因复制差错而产生新个体的现象。 5.控制参数的设定
种群规模:M?30~160; 群体中个体适应度函数的评 交叉概率:pc?0.4~0.99
变异概率:pm?0.0001~0.1 最大进化代数:T?100~1000 二、遗传算法的寻优机制
寻优机制见右侧的基本遗传算法流程图。
仔细看看遗传算法人工模拟进化的例题。
变 异 基本遗传算法流程图 交 叉 选 择 初始群体的生结 束 是 收敛? 编 码 否 遗传操作 作业练习:
1. 确定下列函数的初始区间。
⑴minf(x)?x3?6x 取x0?2.2,h?0.8 答案:[0.8,2]
1 ⑵minf(x)?x2?x 取x0?0.5,h?0.3 答案:[0.8,2.6]
42. 用黄金分割法求解minf(x)?x3?6x,取??0.3、初始搜索区间[0.8,2]。
11 x*?(a?b)??(1.258?41.541)6?1.4 f(x*)??4.256
2223. 用梯度法求解minf(X)?x12?4x2,X0?[4,4]T(做两轮迭代)
?0.4723? 答案:X?X?? f(X*)?f(X2)?1.0443 ?0.4531??*22?x1?2x2,X0?[1,2]T 4. 用阻尼牛顿法求解minf(X)?x12?2x1x2?1.5x2?1/2? 答案:X?X??? f(X*)?f(X1)??3/4
?1?*12?x1x2?10x1?4x2,X5. 用共轭梯度法求解minf(X)?x12?x20?[1,1]T
?8? 答案:X*??? f(X*)??52
?6?2?x1x2?10x1?4x2,X0?[1,1]T(迭代2轮,计算6. 用Powell法求解minf(X)?x12?x2过程中小数点后面保留3位)
?7.998??8?*2f(X)?f(X)??52 答案:x*?? ?????5.999??6?7. 用外点法求解:
?2?2?3?minf(x)?x12?2x22* 答案:x???, f(x*)?
3s.t.x1?x2?1?0?1???3??8. 用混合罚函数法求解:
minf(x)?x1?x2s.t.?lnx1?0?1? 答案:x*??? f(x*)?1?0?x1?x2?1?0