toolforSGAPublic

所属分类:matlab编程
开发工具:matlab
文件大小:5KB
下载次数:14
上传日期:2011-02-18 22:30:47
上 传 者阿腾
说明:  SGA(Simple Genetic Algorithm)是一种强大的智能多变量优化算法,它模仿种群繁殖规律来进行 优化。 本SGA可以优化变量,求最小值,最大值(当把函数倒数也就求最小值啦) 并且支持浮点编码,grey编码,二进制编码;轮赌法选择,锦标赛选择;单点交叉,均布交叉,浮点交叉; 单点变异,浮点变异;
(SGA (Simple Genetic Algorithm) is a powerful smart multi-variable optimization algorithm, which mimics the reproduction of law to be optimized. The SGA can be optimized variables, minimum, maximum, (when the function will last for the minimum is) and support for floating-point encoding, grey code, binary code round of betting method selection, tournament selection single-point crossover, uniform Cross, floating-point crossover single point mutation, floating-point mutation )

文件列表:
SGAPublic\AimFunc.m (105, 2003-07-26)
SGAPublic\Code.m (887, 2003-07-16)
SGAPublic\Cross.m (3484, 2003-07-24)
SGAPublic\Decode.m (953, 2003-07-16)
SGAPublic\Genetic.m (4081, 2003-07-26)
SGAPublic\Mutation.m (2295, 2003-07-16)
SGAPublic\Select.m (1502, 2003-07-26)
SGAPublic (0, 2011-02-18)

SGA(Simple Genetic Algorithm)是一种强大的智能多变量优化算法,它模仿种群繁殖规律来进行 优化。 本SGA可以优化变量,求最小值,最大值(当把函数倒数也就求最小值啦) 并且支持浮点编码,grey编码,二进制编码;轮赌法选择,锦标赛选择;单点交叉,均布交叉,浮点交叉; 单点变异,浮点变异; 调用时 Genetic(目标函数名) if you get some problems,you can email to me shoppingxo@hotmail.com qq:10901831 Xi Huabin(席华彬) 使用环境:MATLAB6.5+ToolBox 使用SGA时, 首先需要一个目标函数(像AimFunc.m),该函数返回适应度 输入变量为待优化变量x 输出为一个适应度。 然后 修改Genetic.m中可以修改的地方 例一 maxgen=200; % maximum generation sizepop=100; % size of population AimFunc=StrAimFunc; % this is function of counting fitness fselect='tournament'; % method of select % you can choose 'tournament';'roulette' fcode='float'; % method of coding % you can choose 'float';'grey';'binary' pcross=[0.6]; % probablity of crossover,between 0 and 1 fcross='float'; % method of crossover % you can choose 'float';'simple';'uniform' pmutation=[0.2]; % probability of mutation,between 0 and 1 fmutation='float'; % method of mutation % you can choose 'float';'simple'; lenchrom=[1 1 1 1 1]; % length of bit of every varible bound=[0 1;... 0 1;... 0 1;... 0 1;... 0 1]; 选择了浮点编码,tournament选择,浮点交叉,浮点变异。 注:采用浮点编码时,以后的交叉,变异只能是浮点,且lenchrom向量中都为1,向量长度为待优化变量个数。 bound为各个变量的范围 例二 maxgen=200; % maximum generation sizepop=100; % size of population AimFunc=StrAimFunc; % this is function of counting fitness fselect='tournament'; % method of select % you can choose 'tournament';'roulette' fcode='binary'; % method of coding % you can choose 'float';'grey';'binary' pcross=[0.6]; % probablity of crossover,between 0 and 1 fcross='uniform'; % method of crossover % you can choose 'float';'simple';'uniform' pmutation=[0.2]; % probability of mutation,between 0 and 1 fmutation='simple'; % method of mutation % you can choose 'float';'simple'; lenchrom=[10 10 10 10 10]; % length of bit of every varible bound=[0 1;... 0 1;... 0 1;... 0 1;... 0 1]; 选择了二进制编码,tournament选择,均布交叉,单点变异。 注:采用二进制编码和grey编码时,交叉方法只能是simple,uniform,变异方法只能是simple lenchrom向量中表示变量表示成二进制的位数。 例三 maxgen=200; % maximum generation sizepop=100; % size of population AimFunc=StrAimFunc; % this is function of counting fitness fselect='roulette'; % method of select % you can choose 'tournament';'roulette' fcode='grey'; % method of coding % you can choose 'float';'grey';'binary' pcross=[0.6]; % probablity of crossover,between 0 and 1 fcross='uniform'; % method of crossover % you can choose 'float';'simple';'uniform' pmutation=[0.2]; % probability of mutation,between 0 and 1 fmutation='simple'; % method of mutation % you can choose 'float';'simple'; lenchrom=[10 10 10 10 10]; % length of bit of every varible bound=[0 1;... 0 1;... 0 1;... 0 1;... 0 1]; 选择了grey编码,roulette选择,均布交叉,单点变异。

近期下载者

相关文件


收藏者