您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 大地电磁測深遗传算法反演
  所属分类: 教育
  开发工具:
  文件大小: 20kb
  下载次数: 0
  上传时间: 2015-06-12
  提 供 者: qq_19******
 详细说明: 程序完整 function [x,traceInfo]=HGA(bounds,evalFN,FN1,FN2,pc,pm,ps,la,mref,maxGen) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Output Arguments: % x - the best solution found during the course of the run % bPop - a trace of the best population % traceInfo - a matrix of best and means of the ga for each generation % % Input Arguments: % bounds - a matrix of upper and lower bounds on the variables % evalFN - the name of the evaluat ion .m function % FN1 - 为数据目标函数; % FN2 - 为模型目标函数 % la -a initial factot of regularization; % mref -a reference model % pc -Probability of cross % pm -Probability of mutation % maxGen -Maximum Number of Generations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% M=40; %定义种群规模 startPop =initialize(M,bounds); xZomeLength =size(startPop,2)+1; %返回个体的变量数目加上适值所占一位 numVar =xZomeLength-1; %变量数目 popSize =size(startPop, 1); %得到个体大小 endPop =zeros(popSize,xZomeLength); %最终得到的种群 c1 =zeros(1,xZomeLength); %得到一个个体,为交叉准备 c2 =zeros(1,xZomeLength); %得到另一个个体,为交叉准备 gen =1; %Current Generation Number,当前的种群数 xOverFNs =['arithXover heuristicXover simpleXover']; %交叉函数名称表,以空格分开 mutFNs =['multiNonUnifMutation nonUnifiMutation unifMutation']; %变异函数表 xOverFNs =parse(xOverFNs); %分析交叉函数 mutFNs =parse(mutFNs); numXOvers =size(xOverFNs, 1 ); numMuts =size(mutFNs, 1); while(gen<=maxGen) for i=1:popSize startPop(i,xZomeLength)=feval(evalFN,startPop(i,1:numVar),la,mref); end [bval,bindx]=max(startPop(:,xZomeLength)); best=startPop(bindx,:); traceInfo(gen,1)=gen; %每一代种群的最优个体和代数 traceInfo(gen,2)=startPop(bindx,xZomeLength); %找出适应值最优个体 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %选择操作 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% endPop =select(startPop); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %交叉操作 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ct=0; a=rand(popSize, 1); for i=1:popSize if(a(i, 1 )bounds(i,2) c1(i)=bounds(i,2); end end c1(xZomeLength)=feval(evalFN,c1(1:numVar),la,mref); endPop(a,:)=c1; stt=stt+1; end gen=gen+1; startPop=endPop; [bval,bindx]=min(startPop(:,xZomeLength)); startPop(bindx,:)=best; fl=FN1(best(1:numVar)); %最优个体保存策略 f2=FN2(best(1:numVar),mref); %更新止则化囚子 la=fl/(fl+f2); end [bval,bindx]=max(startPop(:,xZomeLength)); traceInfo(gen,1)=gen; traceInfo(gen,2)=startPop(bindx,xZomeLength); %最优个体的适应值 x=startPop(bindx,:); %遗传优化的最优解 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: GA MT
 输入关键字,在本站1000多万海量源码库中尽情搜索: