SGA2.0

所属分类:人工智能/神经网络/深度学习
开发工具:C++
文件大小:9KB
下载次数:5
上传日期:2007-10-14 18:57:15
上 传 者chevis
说明:  遗传算法 2.0版本 非常有效的进化搜索算法 实现简单
(Genetic Algorithm version 2.0 very effective evolutionary search algorithm to achieve a simple)

文件列表:
SGA2.0\AimFcn.asv (643, 2007-08-03)
SGA2.0\AimFcn.m (644, 2004-06-10)
SGA2.0\Code.m (887, 2003-11-06)
SGA2.0\Cross.asv (3718, 2004-02-18)
SGA2.0\Cross.m (3718, 2004-02-18)
SGA2.0\Decode.m (953, 2003-11-06)
SGA2.0\GA.asv (2995, 2004-02-18)
SGA2.0\GA.m (2982, 2004-02-18)
SGA2.0\Mutation.m (2397, 2004-02-18)
SGA2.0\Select.asv (1496, 2004-02-18)
SGA2.0\Select.m (1462, 2003-11-13)
SGA2.0\TestGA.m (350, 2004-04-23)
SGA2.0 (0, 2007-08-03)

SGA(Simple Genetic Algorithm)是一种强大的智能多变量优化算法,它模仿种群繁殖规律来进行 优化。 本SGA可以优化变量,求最小值,最大值(当把函数倒数也就求最小值啦) 并且支持浮点编码,grey编码,二进制编码;轮赌法选择,锦标赛选择;单点交叉,均布交叉,浮点交叉; 单点变异,浮点变异; 调用时 SGA很简单不能很好解决问题,如果需要其他版本的可以和我联系。 if you get some problems,you can email to me and if you want other advanced algorithm,i can contribute them. everyday i can response to u. xihuabin@tom.com shoppingxo@163.net qq:10901831 Xi Huabin(席华彬) si vous avons quelquels problèmes,vous pouvez me donner votre Emails; je peux recevoir Emails tous les jours, et si vous voulez les nouvelles versions,pas problème!je vous les donne; 环境:MATLAB6.5+ToolBox 使用说明: 1,首先在TestGA.m文件 修改参数 例一 GAPara.MaxGen =100; % maximum generation GAPara.SizePop =200; % size of population GAPara.StrAimFcn='AimFcn'; % this is function of counting fitness GAPara.CodeFcn ='float'; % method of coding, you can choose 'float';'grey';'binary' GAPara.SelectFcn='roulette'; % method of select you can choose 'tournament';'roulette' GAPara.CrossFcn ='float'; % method of crossover GAPara.PCross =[0.7]; % probablity of crossover,between 0 and 1 GAPara.MutationFcn='float'; % method of mutation GAPara.PMutation=[0.01]; % probability of mutation,between 0 and 1 GAPara.LenChrom =[1 1]; % length of bit of every varible GAPara.Bound =[-10 10;-10 10]; % bounary of every variable 选择了浮点编码,tournament选择,浮点交叉,浮点变异。 注:采用浮点编码时,以后的交叉,变异只能是浮点,且lenchrom向量中都为1,向量长度为待优化变量个数。 bound为各个变量的范围 例二 GAPara.MaxGen =100; % maximum generation GAPara.SizePop =200; % size of population GAPara.StrAimFcn='AimFcn'; % this is function of counting fitness GAPara.CodeFcn ='binary'; % method of coding, you can choose 'float';'grey';'binary' GAPara.SelectFcn='tournament'; % method of select you can choose 'tournament';'roulette' GAPara.CrossFcn ='uniform'; % method of crossover GAPara.PCross =[0.7]; % probablity of crossover,between 0 and 1 GAPara.MutationFcn='simple'; % method of mutation GAPara.PMutation=[0.01]; % probability of mutation,between 0 and 1 GAPara.LenChrom =[10 10]; % length of bit of every varible GAPara.Bound =[-10 10;-10 10]; % bounary of every variable 选择了二进制编码,tournament选择,均布交叉,单点变异。 注:采用二进制编码和grey编码时,交叉方法只能是simple,uniform,变异方法只能是simple lenchrom向量中表示变量表示成二进制的位数。 例三 GAPara.MaxGen =100; % maximum generation GAPara.SizePop =200; % size of population GAPara.StrAimFcn='AimFcn'; % this is function of counting fitness GAPara.CodeFcn ='grey'; % method of coding, you can choose 'float';'grey';'binary' GAPara.SelectFcn='roulette'; % method of select you can choose 'tournament';'roulette' GAPara.CrossFcn ='uniform'; % method of crossover GAPara.PCross =[0.7]; % probablity of crossover,between 0 and 1 GAPara.MutationFcn='simple'; % method of mutation GAPara.PMutation=[0.01]; % probability of mutation,between 0 and 1 GAPara.LenChrom =[10 10]; % length of bit of every varible GAPara.Bound =[-10 10;-10 10]; % bounary of every variable 选择了grey编码,roulette选择,均布交叉,单点变异。 2,然后在AimFcn.m中给出目标函数 目标函数名可以自己定,例如aim(x),参数只能是x,它是向量啦。 象u=x+y+z等函数,就用x(1),x(2),x(3)表示x,y,z 啦。 3,运行TestGA.m文件就可以了。

近期下载者

相关文件


收藏者