- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析matlab6.5遗传算法程序
[原创]基于MATLAB6.5遗传算法程序
function [BestPop,Trace]=fmaxga(FUN,LB,UB,eranum,popsize,pcross,pmutation,options)% [BestPop,Trace]=fmaxga(FUN,LB,UB,eranum,popsize,pcross,pmutation) % Finds a??maximum of a function of several variables.% fmaxga solves problems of the form:??%??????max F(X)??subject t??LB = X = UB????????????????????????????%??BestPop--------最优的群体即为最优的染色体群%??Trace----------最佳染色体所对应的目标函数值%??FUN------------目标函数%??LB-------------自变量下限%??UB-------------自变量上限%??eranum---------种群的代数,取100--1000(默认1000)%??popsize--------每一代种群的规模;此可取50--100(默认50)%??pcross---------交叉的概率,此概率一般取0.5--0.85之间较好(默认0.8)%??pmutation------变异的概率,该概率一般取0.05-0.2左右较好(默认0.1)%??options--------1×2矩阵,options(1)=0二进制编码(默认0),option(1)~=0十进制编码,option(2)设定求解精度(默认1e-4)%???????????????? % 例如测试Shaffers F6函数,自变量下限[-100,-100],上限[100,100],当x=[0 0]时,MaxF6=1% 运行得到相当好的结果:自变量为 04.7684e-005 时,最优值 1.000000% 对应染色体是:1??0??0??0??0??0??0??0??0??0??0??0??0??0??0??0??0??0??0??1??1??0??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1??1
T1=clock;if nargin3, error(FMAXGA requires at least three input arguments); endif nargin==3, eranum=1000;popsize=50;pcross=0.8;pmutation=0.1;options=[0 1e-4];endif nargin==4, popsize=50;pcross=0.8;pmutation=0.1;options=[0 1e-4];endif nargin==5, pcross=0.8;pmutation=0.1;options=[0 1e-4];endif nargin==6, pmutation=0.1;options=[0 1e-4];endif nargin==7, options=[0 1e-4];endif find((LB-UB)0)?? error(数据输入错误,请重新输入(LBUB):);ends=sprintf(程序运行需要约%.4f 秒钟时间,请稍等......,(eranum*popsize*40/(1000*50)));disp(s);bounds=[LB;UB];bits=[];precision=options(2);%由求解精度确定二进制编码长度bits=ceil(log2((bounds(:,2)-bounds(:,1)) ./ precision));%由设定精度划分区间[Pop]=initpop(popsize,bits);%初始化种群[m,n]=size(Pop);pm0=pmutation;BestPop=zeros(eranum,n);Trace=zeros(eranum,length(bits)+1);%分配初始解空间i=1;while i=eranum????for j=1:m????????value(j)=feval(FUN(1,:),(b2f(Pop(j,:),bounds,bits)));%计算适应度????end????[MaxValue,Index]=max(value);????BestPop(i,:)=Pop(Index,:);????Trace(i,1)=MaxValue;?
您可能关注的文档
最近下载
- 立体构成PPT-课件.pptx VIP
- 梅赛德斯-奔驰-R级-产品使用说明书-R350 4MATIC-251165-Rclass.pdf
- 设计依据和设计工作目标.doc VIP
- 津津有味·读经典Level2《铁路少年》译文和答案.pdf
- 办公楼装修 投标方案(技术方案).docx
- 津津有味·读经典Level2《铁路少年》译文和答案.pptx
- 白门埭川李氏宗谱 卷一 苍坡卷2023年癸卯修订稿.pdf
- 器械不良反应报表.docx
- 超星学习通 大学生心理健康教育(北京大学)尔雅网课答案.pdf
- 荣威-550-产品使用说明书-550 Plug-in 豪华版-CSA7154TDPHEV-荣威e550用户手册-2017.3.10.pdf
文档评论(0)