使用matlab实现简单的遗传算法(一)

本文介绍了遗传算法的基本原理和结构,包括遗传表示、初始化、评价、遗传算子(杂交、变异)以及选择过程。并提供了一个用matlab解决无约束优化问题的示例,详细展示了如何构建目标函数、种群初始化、选择、交叉和变异操作,最终得到最优解。此外,还分享了作者在完成工作后的愉快心情。
摘要由CSDN通过智能技术生成

一、遗传算法简介

遗传算法(Genetic Algorithms)是目前适用比较广泛的随机搜索和优化算法,也是众所周知的进化计算方法。Michalewicz认为遗产算法包含五个基本的组成部分:

1.问题的解的遗传表示
2.创建解的初始种群的方法
3.根据个体适应值对其进行优劣判定的评价函数
4.用来改变复制过程中产生的子个体遗传组成的遗传算子
5.遗传算法的参数值

遗传算法的一般结构
1.遗传表示和初始化 遗传算法维持一群个体 vk(t),k=1,2, 组成的种群(P(t)),t表示遗传代数。每一个个体均代表问题的一个潜在的解。
2.评价 每一个个体均会被评价并通过一些评价方法给出它们的适应值 eval(vk)
3.遗传算子 某些个体会通过遗传算子进行随机的变换操作去产生新的个体,例如,子代。变换操作主要包括两种: 杂交(crossover):通过重新组合两个的个体的某些部分产生新的个体 变异(mutation):通过改变单个个体的某些部分产生新的个体
这些新的个体就被称作子代C(t),然后这些子代继续被评价
4.选择 从父代和子代中选择适应性较好的个体从而形成一个新的种群。
5.最优解 在经历若干代之后,算法收敛到一个最优个体,该个体很有可能代表着问题的最优或次优解。

二、示例

问题描述
下面我们通过一个求解简单的无约束优化问题的示例来介绍遗传算法究竟是如何工作的。

max
  • 17
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值