没有合适的资源?快使用搜索试试~ 我知道了~
(精品word)遗传算法MATLAB程序设计.doc
需积分: 5 0 下载量 67 浏览量
2022-10-23
23:28:34
上传
评论
收藏 162KB DOC 举报
温馨提示
试读
10页
(精品word)遗传算法MATLAB程序设计.doc
资源详情
资源评论
资源推荐
(精品 word)遗传算法 MATLAB 程序设计
摘自 Matlab 在数学建模中的应用, 北航出版社,2011.4
4.2 遗传算法 MATLAB 程序设计
4。2。1 程序设计流程及参数选取
4。2.1。1 遗传算法程序设计伪代码
BEGIN
t = 0 ; %Generations NO.
初始化 P(t) ; %Initial Population or Chromosomes
计算 P(t) 的适应值;
while (不满足停止准则) do
begin
t = t+1 ;
从 P(t—1)中选择 P(t) ; % Selection
重组 P(t) ; % Crossover and Mutation
计算 P(t) 的适应值;
end
END
4。2.1.2 遗传算法的参数设计原则
在单纯的遗传算法当中,也并不总是收敛,即使在单峰或单调也是如此。这是因为种群的进化能力已经基
本丧失,种群早熟。为了避免种群的早熟,参数的设计一般遵从以下原则
[5]
:
(1)种群的规模:当群体规模太小时,很明显会出现近亲交配,产生病态基因。而且造成有效等位基因
先天缺乏,即使采用较大概率的变异算子,生成具有竞争力高阶模式的可能性仍很小,况且大概率变异算子
对已有模式的破坏作用极大。同时遗传算子存在随机误差(模式采样误差),妨碍小群体中有效模式的正确
传播,使得种群进化不能按照模式定理产生所预测的期望数量;种群规模太大,结果难以收敛且浪费资源,
稳健性下降.种群规模的一个建议值为 0~100。
(2)变异概率:当变异概率太小时,种群的多样性下降太快,容易导致有效基因的迅速丢失且不容易修
补;当变异概率太大时,尽管种群的多样性可以得到保证,但是高阶模式被破坏的概率也随之增大。变异概率
一般取 0。0001~0.2。
(3)交配概率:交配是生成新种群最重要的手段。与变异概率类似,交配概率太大容易破坏已有的有
利模式,随机性增大,容易错失最优个体;交配概率太小不能有效更新种群.交配概率一般取 0。4~0。99。
(4)进化代数:进化代数太小,算法不容易收敛,种群还没有成熟;代数太大,算法已经熟练或者种
群过于早熟不可能再收敛,继续进化没有意义,只会增加时间开支和资源浪费。进化代数一般取 100~500。
(5)种群初始化:初始种群的生成是随机的;在初始种群的赋予之前,尽量进行一个大概的区间估计,
以免初始种群分布在远离全局最优解的编码空间,导致遗传算法的搜索范围受到限制,同时也为算法减轻负
担。
4。2.1。3 适应度函数的调整
(1)在遗传算法运行的初期阶段
群体中可能会有少数几个个体的适应度相对其他个体来说非常高。若按照常用的比例选择算子来确定个
体的遗传数量时,则这几个相对较好的个体将在下一代群体中占有很高的比例,在极端情况下或当群体现模
较小时,新的群体甚至完全由这样的少数几个个体所组成。这时交配运算就起不了什么作用,因为相同的两
个个体不论在何处发生交叉行为都永远不会产生新的个体.这样就会使群体的多样性降低,容易导致遗传算
法发生早熟现象(或称早期收敛),使遗传算法所求到的解停留在某一局部最优点上。因此,我们希望在遗
智慧安全方案
- 粉丝: 3650
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0