MATLAB遗传算法工具箱PPT课件
MATLAB遗传算法工具箱及应用(第二版)图文 (1)
第一章 遗传算法概述
考虑两个二进制父代串:
A=10010110 和 B=10111000 I是随机地在1到串长L减1之间(即[1,
在决策变量域中的染色体表现型已被编码,可以估计种 群的个体成员的特性或适应度。通过特征目标函数来估计个 体在问题域中的特性。在自然世界中,这就是个体在现行环 境中的生存能力。因此,目标函数建立的基础是在整个繁殖 过程中选择成对的个体进行交配。
第一章 遗传算法概述
在再生(复制)期间,每个个体均被计算适应度值,它来 自没有加工的原始特性度量,由目标函数给出。这个值用来 在选择中偏向更加适合的个体。相对整个种群,适应度高的 个体具有高的选中参加交配的概率,而适应度低的个体具有 相对低的选中概率。
第一章 遗传算法概述
1.2 遗传算法的特点
遗传算法具有如下优点: (1)对可行解表示的广泛性。遗传算法的处理对象不是参 数本身,而是针对那些通过参数集进行编码得到的基因个体。 此编码操作使得遗传算法可以直接对结构对象进行操作。所谓 结构对象,泛指集合、序列、矩阵、树、图、链和表等各种一 维或二维甚至多维结构形式的对象。这一特点使得遗传算法具 有广泛的应用领域。比如: ①通过对连接矩阵的操作,遗传算法可用来对神经网络或 自动机的结构或参数加以优化。 ②通过对集合的操作,遗传算法可实现对规则集合和知识 库的精炼而达到高质量的机器学习目的。 ③通过对树结构的操作,用遗传算法可得到用于分类的最 佳决策树。 ④通过对任务序列的操作,遗传算法可用于任务规划,而 通过对操作序列的处理,可自动构造顺序控制系统。
遗传算法Malab实例讲解PPT课件
else newpop(i,:)=pop(i); newpop(i+1,:)=pop(i+1);
f(x)=10*sin(5x)+7*cos(4x), x∈[0,10]的最大值为: x1=1.5708 x2 =7.8540 F(x1)=f(x2)=17.0000
f(x)=10*sin(5x)+7*cos(4x) 的最大值
f1(x)=-f(x) -10*sin(5x)-7*cos(4x) 的最小值
if(ms(newin))<fitvalue(fitin) newpop(newin)=pop(fitin); newin=newin+1;
else fitin=fitin+1;
end end end
交叉
function [ newpop ] = crossover( pop,pc ) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:2:px-1
if objvalue(i)+Cmin>0 temp=Cmin+objvalue(i);
else temp=0.0;
end fitvalue(i)= temp; end fitvalue=fitvalue';
end
选择
function [ newpop ] = selection( pop,fitvalue ) totalfit=sum(fitvalue); fitvalue=fitvalue/totalfit; fitvalue=cumsum(fitvalue); [px,py]=size(pop); ms=sort(rand(px,1)); fitin=1; newin=1; while newin<=px
MATLAB遗传算法工具箱
三, MATLAB遗传算法工具箱
(3),gads工具箱:matlab 7.0包含了这个工具 箱,matlab7.0以前的版本没有这个工具箱,雷英 杰 编著《Matlab遗传算法工具箱及应用》对这个工具 箱的使用进行了介绍。
遗传算法工具箱的安装
一.下载工具箱 二.工具箱文件夹放入matlab文件夹的目录 三.在文件/set
1 1 1 1 0 0 0 1 0 1
1 0 1 0 0 1 1 0 1 1
0 0 1 1 0 1 0 0 0 0
0 0 1 0 0 1 1 0 0 0
1 0 0 1 1 1 0 0 0 0
0 1 1 1 0 1 0 0 1 1
(3,选择
rws-轮盘赌选择 sus-随机遍历抽样 select-高级选择函数
XOVR=0.5; NVAR=16; MUTR=0.3; MAXGEN=1000; INSR=0.9; NIND=100; RANGE=[1;16]; a=0.8; c=1.44*1024; t=1000; u=[855 461 432 406 388 372 364 253 164 137 114 108 87 62 55 46]; v=['B1 ';'B2 ';'B3 ';'B4 ';'B5 '; 'B6 '; 'B7 '; 'B8 ';'B9 ';'B10';'B11';'B12'; 'B13'; 'B14'; 'B15';'B16']; SEL_F='sus'; XOV_F='recdis'; MUT_F='mutbga'; OBJ_F='objpush';
补充学习3—matlab工具箱介绍PPT教学课件
pathtool 也可以使用菜单: File Set Path ✓修改 Matlab 的相关配置文件 pathdef.m % 位于 $MATLAB\toolbox\local\
无需手工修改该配置文件,可以先使用 path 或
addpath 命令将指定的目录加入到当前搜索路径中,
然后使用 saveptah 命令将当前搜索路径写入
2020/12/10
7
Matlab 搜索路径
数学实验
Matlab 搜索路径
当用户在 Matlab 的命令窗口中输入一个命令时, Matlab 会按照一个固定的路径取查找该命令,然后 执行它,这个固定的路径就称为搜索路径。
path % 显示 Matlab 的搜索路径
2020/12/10
8
添加搜索路径
pathdef.m
2020/12/10
10
永久添加到搜索路径 数学实验
✓将前面添加路径的命令加到 Matlab 的启动文件中 startup.m % 位于 $MATLAB\toolbox\local\ 该文件的初始文件名为startupsav.m,修改后将文件 名改为 startup.m 即可。
2020/12/10
2020/12/10
2
Matlab 工具箱
数学实验
放入一个目录中的为某种目的专门编写的一组 Matlab 函数就可以组成一个工具箱。
从某种意义上说,任何一个 Matlab 语言的使用 者都可以是工具箱的作者。
2020/12/10
3
工具箱介绍
数学实验
在一个工具箱中,应该有一个名为 Contents.m 的文件,用来描述工具箱中所有 Matlab 函数的名 称和意义。在该文件中第 1 行应该给出该工具箱的 名称,在第 2 行中给出该工具箱的版本与修改时间 等信息。然后分类地给出该工具箱中各类函数的最 基本功能。注意,本文件中所有的语句都应该是注 释语句,由百分号 % 引导,空行也应该由 % 引导。
MATLAB遗传算法工具箱
2, gatbx工具箱常见函数
(1)初始种群的创建
end
%定义目标值与盒子数的关系
while gen<MAXGEN, FitnV=ranking(ObjV,[2,1]); %根据目
标值进行适应度排序 SelCh=select(SEL_F,Chrom,FitnV);
%基于适应度选择个体 SelCh=recombin(XOV_F,SelCh,XOVR);
%建立初始种群,用序列代号的方法
trace=zeros(MAXGEN,2); m=zeros(NIND,MAXGEN); sum=zeros(NIND,NVAR); all=zeros(NIND,1); ObjV=zeros(NIND,1); ObjVOff=zeros(NIND,1); gen=2;
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
运行中出现的问题 一.for循环和工具箱函数出现矛 盾 二.遗传过程中种群中的序列号出 现小数 三.所得图形与预期的很不相同
谢谢!
break
第9讲 MATLAB遗传算法
s3’’=11011(27), s4’’=10000(16)
变异
设变异率pm=0.001。
这样,群体S1中共有
5×4×0.001=0.02
位基因可以变异。 0.02位显然不足 1位,所以本轮遗传操作不 做变异。
● 选择-复制(selection-reproduction)
● 交叉(crossover,亦称交换、交配或杂交)
● 变异(mutation,亦称突变)
选择 - 复制
通常做法是:对于一个规模为 N
的种群 S, 按每个染色体 xi∈S 的选择概率 P(xi) 所决
定的选中机会 , 分 N 次从 S 中随机选定 N 个染色体 ,
(3) 计算各代种群中的各个体的适应度 , 并
对其染色体进行遗传操作,直到适应度最高的个
体(即31(11111))出现为止。
首先计算种群S1中各个体 s1= 13(01101), s2= 24(11000) s3= 8(01000), s4= 19(10011) 的适应度f (si) 。 容易求得 f (s1) = f(13) = 132 = 169 f (s2) = f(24) = 242 = 576 f (s3) = f(8) = 82 = 64 f (s4) = f(19) = 192 = 361
于是,得到第二代种群S2:
s1=11001(25), s2=01100(12)
s3=11011(27), s4=10000(16)
第二代种群S2中各染色体的情况 染色体 s1=11001 s2=01100 s3=11011 适应度 625 144 729 选择概率 0.36 0.08 0.41 积累概率 0.36 0.44 0.85 估计的 选中次数 1 0 2
智能优化方法及MATLABGA工具箱简介PPT课件
混合优化算法
将GA与其他优化算法(如模 拟退火、遗传算法等)结合 ,形成混合优化算法,提高
优化效果。
并行计算
利用MATLAB的并行计算功 能,加速GA算法的迭代过程 ,提高优化效率。
04
智能优化方法在MATLAB中的实现
遗传算法在MATLAB中的实现
遗传算法是一种基于生物进化原理的优化算法,通过模拟基因遗传和变异的过程来寻找最优 解。在MATLAB中,可以使用GA工具箱来实现遗传算法。
遗传算法的主要步骤包括编码、初始种群生成、适应度函数设计、选择操作、交叉操作和变 异操作等。在MATLAB中,可以使用GA函数来定义适应度函数和遗传操作。
应用案例:例如,在图像分割中,蚁群优化算法可以通过不断迭代和更新蚂蚁的 位置和信息素来寻找最优分割结果,使得图像能够被正确地分割成不同的区域。
模拟退火算法在机器学习中的应用
模拟退火算法是一种基于物理退火过程的优化算法,通过模拟固体退火的过程来进行优化。在机器学习中,模拟退火算法可 以用于求解分类、聚类等问题。
应用案例:例如,在机器人路径规划中,粒子群优化算法可 以通过不断迭代和更新粒子的位置和速度来寻找最优路径, 使得机器人能够在最短时间内完成任务。
蚁群优化算法在图像处理中的应用
蚁群优化算法是一种模拟蚂蚁觅食行为的优化算法,通过模拟蚂蚁的信息素传递 过程来进行优化。在图像处理中,蚁群优化算法可以用于图像分割、边缘检测等 问题。
MATLAB SimulatedAnnealing工具箱提供了丰富的函数和参数设置, 可以根据具体问题调整算法参数,以达到最佳的优化效果。
MATLAB遗传算法工具箱及其应用ppt课件
Page 8
汕头大学工学院
二、遗传算法工具箱构造
5、变异算子:mut,mutate,mutbga。 二进制和整数变异操作由mut完成。实值的变异
运用育种函数mutbga是有效的。mutate对变异操作 提供一个高级接口。
Page 9
汕头大学工学院
二、遗传算法工具箱构造
6、多子群支持:migrate。
Page 5
汕头大学工学院
二、遗传算法工具箱构造
2、顺应度计算:ranking,scaling。
顺应度函数用于转换目的函数值,给每一个个体 一个非负的价值数。这个工具箱支持Goldberg的偏 移法和比率法以及贝克的线性评价算法。另外, ranking函数支持非线性评价。
Page 6
汕头大学工学院
Page 10
汕头大学工学院
三、遗传算法工具箱通用函数
几个典型工具箱函数的引见
创建初始种群函数crtbp 二进制串到实值转换函数bs2rv 轮盘工学院
三、遗传算法工具箱通用函数
1、函数crtbp
向量
个体数量 个体长度
功能:创建初始种群。
格式: C,L h,B r in o a c d m s r N e t ,L b V i n i p n dd
GA工具箱本质是个函数包,用户只需安装 了这个工具箱或者软件自带了这个工具箱,就 可以调用这些函数命令,从而编写出强大的 MATLAB遗传算法程序。
Page 4
汕头大学工学院
二、遗传算法工具箱构造
1、种群表示和初始化函数:crtbase,crtbp,crtp。
GA工具箱支持二进制、整数和浮点数的基因表示。 二进制和整数种群可以运用工具箱中的crtbp建立二 进制种群。crtbase是附加的功能,它提供向量描画 整数表示。种群的实值可用crtrp进展初始化。在二 进制代码和实值之间的变换可运用函数bs2rv,它支 持格雷码和对数编码。
MATLAB遗传算法工具箱共25页文档
2, gatbx工具箱常见函数
(1)初始种群的创建
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
➢ XOVR=0.5; ➢ NVAR=16; ➢ MUTR=0.3; ➢ MAXGEN=1000; ➢ INSR=0.9; ➢ NIND=100; ➢ RANGE=[1;16]; ➢ a=0.8; ➢ c=1.44*1024; ➢ t=1000; ➢ u=[855 461 432 406 388 372 364 253 164 137 114 108 87 62 55 46]; ➢ v=['B1 ';'B2 ';'B3 ';'B4 ';'B5 '; 'B6 '; 'B7 '; 'B8 ';'B9 ';'B10';'B11';'B12';
%分配适应度 %选择 %交叉 %变异 %生成新种群
五,一些实例
➢ 1,简单非线性规划
➢ 2,背包问题 ➢ 3,最小hamirton圈
MATLAB遗传算法工具箱PPT课件
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
2021/3/12
8ቤተ መጻሕፍቲ ባይዱ
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
2,编码
单点交叉,两点,多点
二进制,格雷码,
均匀交叉
十进制,符号编码
特殊(PMX,CX,EX)
3,选择
轮盘赌选择(rws) 均匀排序(ranking) 最优保存(代沟) 排挤选择(海明距离)
2021/3/12
5,变异
基本位变异 均匀变异 非均匀变异(高斯变异) 逆转变异,交换变异
3
三, MATLAB遗传算法工具箱
crtbp——二进制编码种群 Chrom= ➢0 0 1 1 0 0 1 0
crtrp——十进制编码种群 ➢ 0 1 1 0 0 0 0 1
➢1 1 1 1 1 1 0 1
(2)适应度计算
➢1 ➢1
MATLAB遗传算法工具使用教程
第八章使用MATLAB遗传算法工具最新发布的MA TLAB 7.0 Release 14已经包含了一个专门设计的遗传算法与直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox,GADS)。
使用遗传算法与直接搜索工具箱,可以扩展MATLAB及其优化工具箱在处理优化问题方面的能力,可以处理传统的优化技术难以解决的问题,包括那些难以定义或不便于数学建模的问题,可以解决目标函数较复杂的问题,比如目标函数不连续、或具有高度非线性、随机性以及目标函数没有导数的情况。
本章8.1节首先介绍这个遗传算法与直接搜索工具箱,其余各节分别介绍该工具箱中的遗传算法工具及其使用方法。
8.1 遗传算法与直接搜索工具箱概述本节介绍MATLAB的GADS(遗传算法与直接搜索)工具箱的特点、图形用户界面及运行要求,解释如何编写待优化函数的M文件,且通过举例加以阐明。
8.1.1 工具箱的特点GADS工具箱是一系列函数的集合,它们扩展了优化工具箱和MA TLAB数值计算环境的性能。
遗传算法与直接搜索工具箱包含了要使用遗传算法和直接搜索算法来求解优化问题的一些例程。
这些算法使我们能够求解那些标准优化工具箱范围之外的各种优化问题。
所有工具箱函数都是MATLAB的M文件,这些文件由实现特定优化算法的MATLAB语句所写成。
使用语句type function_name就可以看到这些函数的MATLAB代码。
我们也可以通过编写自己的M文件来实现来扩展遗传算法和直接搜索工具箱的性能,也可以将该工具箱与MATLAB的其他工具箱或Simulink结合使用,来求解优化问题。
工具箱函数可以通过图形界面或MA TLAB命令行来访问,它们是用MATLAB语言编写的,对用户开放,因此可以查看算法、修改源代码或生成用户函数。
遗传算法与直接搜索工具箱可以帮助我们求解那些不易用传统方法解决的问题,譬如表查找问题等。
遗传算法与直接搜索工具箱有一个精心设计的图形用户界面,可以帮助我们直观、方便、快速地求解最优化问题。
数学建模专题之MATLAB遗传算法优秀课件
Grefenstette, Fitzpattrick
Schaffer
对含噪声的函数进行测试 多种群遗传算法解决多目标优化问题
1 遗传算法概述
年份 1986 1986 1987 1987
1987
1987 1987
1987
1987 1987
续表1.1
贡献者
内容
Goldberg
最优种群大小估计
Grefenstette
A ( A1, A2 , , AN )
其中 Aj ( j 1, 2, , N ) S ,N称为种群规模。
2 标准遗传算法
2.3 遗传算法的若干概念
适应度(Fitness) 在研究自然界中生物的遗传和进化 现象时,生物学家使用适应度这个术语来度量某个物种对 于生存环境的适应程度。对生存环境适应程度较高的物种 将获得更多的繁殖机会,而对生存环境适应程度较低的物 种,其繁殖机会就会相对较少,甚至逐渐灭绝。在遗传算 法中,一般通过适应度函数(Fitness function)来衡量某 一个体的适应度高低。
2 标准遗传算法
2.3 遗传算法的若干概念
个体(Individual) 称S 0,1l为个体空间,个体空间的元
素 a a0a1 al1 S 称为个体,它是染色体带有特征的实
体。分量 a j 0,1 称为基因,正整数 l称为个体的基因长
度。
种群(Population) 称个体空间S中N个个体组成的一个子 集(个体允许重复)称为一个种群,记为:
数学建模专题之 MATLAB遗传算法
Contents
1
遗传算法概述
2
标准遗传算法
3
遗传算法简单举例:函数极值
4
遗传算法求解TSP问题
遗传算法工具箱使用实例幻灯片
2020/3/20
12
【问题】求f(x)=x^2-7*x+2; 的最小值,其中0<=x<=10 【分析】选择二进制编码,二进制编码长度为20,交叉概率为0.95,变异概率 为0.08
%编写目标函数 function y=f(x)
y=x^2-7*x+2; %把上述函数存储为f.m文件并放在工作目录 下
2.进化算子的各态历经性使得遗传算法能够非常有效地进行概 率意义的全局搜索。
3.遗传算法对于各种特殊问题可以提供极大的灵活性来混合构 造领域独立的启发式,从而保证算法的有效性。
遗传算法相比较于精确算法存在以下缺点:
1.需要多次迭代,需要更长的时间来获得优解。 2.可能无法获得最优解,只能获得伪最优解。
2020/3/20
2
遗传算法工具箱的使用
在MATLAB命令行窗口输入gatool,打开遗传算法工具箱:
2020/3/20
3
Solver(求解器):用于选择需要的算法。 Problem:需要解决的问题。
(1)Fitness function:需要优化的目标函数,填写的格式为: @funname,其中funname.m是编写目标函数的M文件,返回一个具体 数值。
输出参数: pop:生成的初始种群
输入参数: num:种群中的个体数目 bounds:代表变量的上下界的矩阵 eevalFN:适应度函数 eevalOps:传递给适度函数的参数 options:选择编码形式(浮点编码或二进制编码)precision F_or_B Precision:变量进行二进制编码时指定的精度,F_:选择浮点编码,
使用fplot(‘y=5*x+12*sin(3*x)+8*cos(7*x)’,[0,9]);画出目标函数,与遗 传算法求出的最优解对比,验证是否正确。
Matlab与遗传算法ppt课件
StallTimeLimit
InitialPopulation PlotFcns
默认值 [0,1] 20 0.8 0.2 100 inf -inf
50
20
[] []
实现功能 初始种群生成区间 种群规模 交配概率 变异概率 超过进化代数时算法停止 超过运算时间限制时停止
最佳个体等于或小于适应度 阈值时算法停止
遗传算法的优点: 1. 与问题领域无关切快速随机的搜索能力。 2. 搜索从群体出发,具有潜在的并行性,可以进行多个个体的 同时比较. 3. 搜索使用评价函数启发,过程简单 4. 使用概率机制进行迭代,具有随机性。 5. 具有可扩展性,容易与其他算法结合。
求 m i n f( x ) 2 0 0 e 0 .0 5 x s i n ( x )x [ 2 ,2 ] ]
6
0.009857
164/33=5…32 5
32
0.003113
199/33=7…1 7
1
0.000946
329/33=10…32 10
32
0.001282
最终新种群染色体
U1
[1101101 1001]
U2
[1101101 1001]
U3
[0001100 1100]
U4
[1111110 1101]
4. 计算每个染色体被复制的累积概率
10
Q k Pk k 1
Hale Waihona Puke (3)选择新种群产生10个随机数:
0.301431,0.322062,0.766503, 0.881893,0.350871 0.538392, 0.177618,0.343242,0.032685,0.197577
精心遗传算法及matlab实现课件PPT
2021/3/10
3
遗传算法的定义
遗传算法( Genetic Algorithm :GA)是一种寻求函 数(问题)最优解的数学方法。其基本原理是:模拟自然界 生物繁衍过程中基因重组与进化的自然过程,把待解决问题 的参数编成二进制码或十进制码(也可编成其他进制码), 即基因,若干基因组成一个染色体(个体),许多染色体进 行类似于自然选择、配对交叉和变异的运算,经过多次重复 迭代(即世代遗传)直至得到最后的优化结果。
2021/3/10
2
特点
群体搜索特性:许多传统的搜索方法都是单点搜索,遗传算 法采用的是同时处理群体中多个个体的方法使遗传算法具有 较好的全局搜索性能,不容易陷入局部最优;
遗传算法的适应度函数(目标函数)可以解决不连续、不可 微、随机或高度非线性的问题,而且其定义域可以任意设定 ;
遗传算法具有可扩展性,易于同别的技术混合使用。
2021/3/10
9
选择(Slection)
选择(或称为复制)是在种群中选择适 应度高(函数更加优化)的个体产生新的种 群的过程。遗传算法中的选择操作就是用来 确定如何从父代群体中按某种方法选取哪些 个体遗传到下一代群体中的一种遗传运算, 用来确定重组或交叉个体。如轮盘赌选择, 随机竞争选择等
2021/3/10
运算参数有很多,均有缺省值,一般都不需要修改。各 个参数选项的详细信息在参考书中有详细介绍,另外在工具 箱操作界面的右侧也有相应的英文介绍。
2021/3/10
19
第4部分:运行显示
Plot对话框:运算过程的图形显示界面,可 同时选择多项,在运算过程中将显示对应的 运算过程。比如:best fitness将显示每一代 中最佳适应度的函数值;Best fitness 将显 示每一代最佳个体的取值;Scores将显示每 一代所有个体的取值等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
7
(5)变异
mut-二进制编码的变异 mutbga-十进制的变异 mutains-重组(有代沟时) bs2rv-二进制的解码 migrate-子种群的支持
例3,chrom= 011001 001000 new1=mut(chrom,0.1) new1= 111001 001010
MATLAB遗传算法工具箱
.
1
一,遗传算法来源和计算步骤
1,来源
自然进化 模拟
2,步骤
编码 初始种群 适应度计算
人工进化(如GA)
选择
自然进化: 遗传-变异-选择 适者生存,优胜劣汰
交叉 变异 新种群的生成 是否达到目标 否
是
解决实际问题
.
2
二,关键操作
1,适应度计算及标定 4,交叉
2,编码
单点交叉,两点,多点
.
4
三, MATLAB遗传算法工具箱
(3),gads工具箱:matlab 7.0包含了这个工具 箱,matlab7.0以前的版本没有这个工具箱,雷英杰 编著《Matlab遗传算法工具箱及应用》对这个工具 箱的使用进行了介绍。
.
5
2, gatbx工具箱常见函数
(1)初始种群的创建
crtbp——二进制编码种群 Chrom= ➢0 0 1 1 0 0 1 0
二进制,格雷码,
均匀交叉
十进制,符号编码
特殊(PMX,CX,EX)
3,选择
轮盘赌选择(rws) 均匀排序(ranking) 最优保存(代沟) 排挤选择(海明距离)
5,变异
基本位变异
均匀变异
非均匀变异(高斯变异)
逆转变异,交换变异
.
3
三, MATLAB遗传算法工具箱
1,三种常见工具箱 (1),gatbx工具箱:英国设菲尔德Sheffield大学 开发的gatbs工具箱,不是Matlab软件自带的,雷 英杰编著《Matlab遗传算法工具箱及应用》涉及到 了这个工具箱,并对它的使用进行了说明。 (2),gaot工具箱:这是网上流传的免费的工具 箱,网上对它介绍的资料也挺多,也不是Matlab软 件自带的,但可以自己配置使用。飞思科技产品研 发中心编著《Matlab 6.X辅助优化计算与设计》第 五章对gaot遗传算法工具箱的使用进行了介绍。
.
8
四,应用gatbx工具箱的基本求解步骤
chrom=crtbp(nind,nvar); var=bs2rv(chrom,fieldd); obj=functionx(var); %开始进化 while gen<maxgen
fitnv=ranking(obj); selch=select(‘sus’,chrom,fitnv); selch=xovsp(selch,p1); selch=mut(selch,p2); var=bs2rv(selch,fieldd); obj=functionx(var); end
➢0 ➢1 ➢1
0 10 00 00 1 01 00 01 0 11 00 01
.
6
(3,选择
rws-轮盘赌选择 sus-随机遍历抽样 select-高级选择函数
(4)交叉
xovsp-单点交叉 xovdp-两点交叉 xovsh-洗牌交叉 recombin-高级交叉函数
例2,chrom=crtbp(2,6) chrom= 011001 001000 new=xovsp(chrom,1) new= 001000 011001
%创建初始种群 %解码 %求目标函数值
%分配适应度 %选择 %交叉 %变异 %生成新种群
.
9
五,一些实例
➢ 1,简单非线性规划
➢ 2,背包问题 ➢ 3,最小hamirton圈
.
10
crtrp——十进制编码种群 ➢ 0 1 1 0 0 0 0 1
➢1 1 1 1 1 1 0 1
(2)适应度计算
➢1 ➢1
0 10 10 11 1 00 00 10
Scaling比率适应度
➢1 ➢0
0 01 11 11 0 01 01 00
Ranking排序适应度 例1:chrom=crtbp(9,6)