遗传算法工具箱内含常用函数汇总

本文详细介绍了遗传算法工具箱的主要组件,包括种群创建、适应度计算、选择、变异、交叉算子等功能,以及子种群支持和实用函数。通过具体函数如crtbp、crtrp和bs2rv的使用示例,展示了如何在MATLAB中实施遗传算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.工具箱整体结构
1.创建种群
crtbase 创建基向量
crtbp 创建任意离散随机种群
crtrp 创建实值初始种群

2.适应度计算
ranking 常用的基于秩的适应度计算
scaling 比率适应度计算
3.选择函数
reins 一致随机和基于适应度的重插入
rws 轮盘选择
select 高级选择例程
sus 随机遍历采样
4.变异算子
mut 离散变异
mutate 高级变异函数
mutbga 实值变异
5.交叉算子
recdis 离散重组
recint 中间重组
reclin 线性重组
recmut 具有变异特征的线性重组
recombin 高级重组算子
xovdp 两点交叉算子
xovdprs 减少代理的两点交叉
xovmp 通常多点交叉
xovsh 洗牌交叉
xovshrs 减少代理的洗牌交叉
xovsp 单点交叉
sovsprs 减少代理的单点交叉
6.子种群的支持
migrate 在子种群间交换个体
7.实用函数
bs2rv 二进制串到实值
rep 矩阵的复制

%% 编码与解码
1.crtbp
功能:创建初始种群(不一定是二进制),符合一定要求(比如基因位)
eg:
BaseV = crtbase([4,5],[8,4]) %创建基向量,前4个为基数为8的基本字符;后5个为基数为4的基本字符
[Chrom, Lind, BaseV]=crtbp(6,BaseV) %crtrp是GA工具箱的一个M文件,它使用了MATLAB随机函数rand.
运行结果为:
chrom = {}一个6*9的大矩阵;
lind = 9;
BaseV = [8 8 8 8 4 4 4 4 4]

2.crtrp
功能:创建实值种群
eg:创建一个具有6个个体每个个体有4个变量的随机种群.
FieldDR=[-100, ]为2*4的矩阵,上一行代表下界,第二行代表上界.
Chrom = crtrp(6,FieldDR);

3.bs2rv
功能:二进制串到实值的转换
Chrom = crtbp(4,8) %创建任意染色体,
FieldD = [8; -1; 10; 1; 0; 1; 1] %区域描述器,包括边界
Phen = bs2rv(Chrom, FieldD) %转换二进制到实值

一、目标与适应函数的简单对比 目标函数就是你希望得到的优化结果,比如函数最大值或者最小值。而适应度函数是为了计算个体的适配值。 适配值是非负的,而且要求适配值越大则该个体越优越。而目标函数则有正有负,它们之间关系多种多样,比如求最小值时,目标函数最小,则适配值越大,求最大值时目标值越大,适配值越大。 目标函数Object function和适应度函数Fitness function是不一样的概念,有时为了方便后续计算在适应度函数中做些 拉伸,取反,什么的。 目标函数是你求解的优化变量的函数形式;而适应度函数是你求解的优化变量的一种度量,是一种更为广义的概念。可以这么理解,目标函数只是适应度函数的一种,也可以有其他的表达形式。 对于目标函数,为了得到好的搜索性能,经过一些变化就可以得到适应度函数。另外就是这些变化可以不唯一的。 二、适应度函数 适应度函数跟 想要实现什么功能有关,把粒子对应成你问题的候选解,适应度函数用来评价给出的这个候选解(粒子)的好坏(好坏的评价标准需要一个量化指标,也就是,粒子的适应度值) 适应度用于评价个体的优劣程度,适应度越大个体越好,反之适应度越小则个体越差;根据适应度的大小对个体进行选择,以保证适应性能好的个体有更多的机会繁殖后代,使优良特性得以遗传。因此,遗传算法要求适应度函数值必须是非负数,而在许多实际问题中,求解的目标通常是费用最小,而不是效益最大,因此需要将求最小的目标根据适应度函数非负原则转换为求最大目标的形式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值