matlab算法中简单的算子,遗传算法中常用选择算子在MATLAB中的实现

收稿日期:2003 - 04 - 30 作者简介:沈崇圣(1947 - ) ,男 ,副教授. 文章编号 :1671 - 7333(2003) 03 - 0199 - 04 遗传算法中常用选择算子在 MATLAB中的实现 沈崇圣 (上海应用技术学院 数理教学部 ,上海 ,200235) 摘要 :  在数学软件 MATLAB 中 ,没有遗传算法的程序 ,本文编写了遗传算法中常用的四种选择算子的 MATLAB 语言程序 ,并在一最优化问题上进行测试。 关键词 :  遗传算法 ; 选择算子 中图分类号 :  O 242. 1 ; TP 311     文献标识码 :  A Realization in MATLAB of the Selection Operator of Genetic Algorithm S HEN Chong2sheng(Department of Maths and Physics Education ,Shanghai Institute of Techology ,Shanghai 200235 ,China)Abstract :There is no genetic algorithm programme in MATLAB ,and this paper programmesof four selection opera2tors which are often used have been realized in MATLAB and used to solve a function optimization problem. Key words : genetic algorithm ; selection operator   遗传算法在很多领域得到广泛的应用 ,其借助于生物进化的思想和原理 ,与计算机科学相结合 ,取得了很大的成功。由不同的编码方案和选择策略构成了不同的遗传算法。而在选择策略中一般总由选择算子 ,杂交算子和变异算子来模仿生物进化中的遗传和变异。 在广泛应用的数学软件 MATLAB 中并没有现成的遗传算法的程序 ,为了在 MATLAB 中进行遗传算法的计算 ,必须对所研究的问题进行编程。本文对遗传算法中常见的四种选择算子 ,用 MATLAB 语言进行编程。 在遗传算法中 ,常用的选择算子有 :转盘式选择算子 ,具有排名的转盘式选择算子 ,随机一致选择算子和锦标赛选择算子。本文用 MATLAB 的函数实现上述四种算子 ,并统一输入参数和输出参数 ,在主程序中只要适当调整输入、输出参数就可以替换调用。 1  转盘式选择算子 这是遗传算法中使用最普遍的选择算子。先计算种群中每个个体的相对适应值 f i ∑f i ,将其作为 选择概率 pi ,在选择时 ,先产生一个[0 ,1] 内的随机数 r ,如 p0 + p1 + p2 + ⋯+ pi - 1 < r ≤ p1 + p2 ⋯ + pi ( p0 = 0) ,则选择个体 i。 在以下的选择算子函数中 ,输入的种群 pop 是一个 n ×m 矩阵 ,其中每一行是一个个体 ,以二进制 第 3 卷  第 3 期 2003 年 9 月    上 海 应 用 技 术 学 院 学 报 JOURNAL OF SHANGHAI INSTITUTE OF TECHNOLOGY Vol. 3 No. 3  Sep. 2003 编码表示。 pop 中有 n 个个体。 popfit 是一个1 ×m 行向量 ,表示pop 中每一个个体的适应度。输出的下一 代新种群为 newpop

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值