matlab sga,基于MATLAB遗传算法(SGA)实现

山 论 文 基于 丁 遗传算法 实现 谭湘强 钟映春 张学习 杨宜 民 广东工业大学 自动化研究所 摘要 利用 编程实现了基本遗传算法 , 并构作了 工具库函数 , 通过仿真示例验证了该实现方法的有效性 , 表明它能够对函数进行全局寻优 。 关键词 基本遗传算法 遗传算法概述 遗传算法 , 简称 是美国 大学 教授于 年首先提出来的 , 是一种基于 抑 进化论的优胜劣汰 、 适者生存和 群体进化学说的自适应启发式概率性全局搜索算法 。 算法利用复制 、 交叉 、 变异等遗传操作来模拟 自 然进化 , 完成 问题寻优 , 其基本步骤如下 编码 。 每个待优化问题的自变量需进行编码 , 一般采用有限长度的二进制码代表 自变量的各种取值 , 若将各 自变量的二进制码连成一串, 得到一个二进制码串 , 它代表了自变量的一组取值所决定的一个解 。 如将每一个解看成是生物群体中的一个个体 , 那上述代码则相当于表示该个体遗传特性的染色体 。 产生初始种群 。 随机产生 条染色体组成初始种群 。 该种群代表优化 问题的一些可行解 的集 合 , 一般而 言初始种群的素质较差 , 的任务是从这一 初始种群出发 , 模拟进化过程 , 择优去劣 , 最后找出优秀的群体和个体 , 满足优化的要求 。 复制 。 按编码规则 , 将群体中的每一个体的染 色体所对应的自变量取值代入 目标函数表达式 , 计算出适应值 。 按一定概率从群体 中选取 对个体 , 被复制下来 , 作为双亲用于繁殖后代 , 复制的原则是适应值较大的个体 , 赋予更大的选中概率 , 因此 , 适应值愈高的个体 , 有更多的机会繁殖后代 , 使其优 良特性得以遗传和保留。 交叉 。 将随机选中的双亲任意配对 , 然后分别对其进行交叉 。 最简单的交叉办法是随机地选取一个 或多个截断点 , 将双亲的染色体在截断点分开 , 然后 , 以一定概率 交换其尾部 。 变异 。 首先按给定的概率 随机选取若干个个体 。 一般而言 , 给定的变异概率都很小 , 一般取 司 。 对已选取的每个个体 , 随机选取某一位进行取反运算 , 即由 分 或 由 分 。 由上述的 一 产生 了新一代的种群后 , 对新群体的各个个体再进行评价 , 即对每个染色体进行解码 , 并求出每个个体的适应值 。 重复上述步骤 , 直到最优个体的适应值达到某 一既定值 , 或最优个体的适应值和种群的平均适应值不再提高 , 则迭代过程结束 , 计算结束 。 工具库函数 本文建立 了实现基本遗传算法 , 简称为 的一系列基本函数 , 构成了工具库函数 。 初始化 叩 函数的功能是实现群体的初始化 , 表示群体的大小 , 沙 表示染色体的长度 , 长度大小取决于变量的二进制编码的长度 。 , 习 户〕 。 仙 山 , 】 川种群适应度评价函数 基金项 目 国家 自然科学基金 、广东省 自然科学基金 。 年第 期广东自动化与信息工程 函数的功能是求出群体中适应值最大的值 。 , , , , , 二 函数的功能是计算个体的适应值 。 二 血 王 刀 , 而刀 忱哪闭卜 】 , 函数的功能是实现 目标函数的计算 , 其公式采用本文示例仿真 , 用户可根据不同优化问题予以修改 。 〔 《因 , , 哪 加℃ , , 的 气 序 气 仆 以 卜 卜 一 一 函数的功能是将染色体 或二进制编码 转换为十进制 , 参数 表示待解码的二进制串的起始位置 , 参数 表示所截取的长度 。 , , 卯 不, , 一 卯 柳 函数的功能是产生 一 , ⋯ , 勺行向量 , 其

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值