• emntopal1905
    了解作者
  • Python
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-05-18 21:16
    上传日期
champions galatasaray
ABC.rar
  • ABC.m
    5.8KB
内容介绍
% I. Setup the ABC ff= 'tepeler';%'testfunction'; % objective function D=2; % number of optimization variables %_______________________________________________________ % II. Stopping criteria Gmax=100; % max numum cost %_______________________________________________________ % III. ABC parametermber of iterations/generation mincost=-10; % minis N=15; % set population size limit=N*D/2; %limit cycle xlo=-3; xhi=3; %set lower and upper limits %% Create the initial population (x) ite=0; % generation counter initialized x=xlo*ones(N,D)+(xhi-xlo)*rand(N,D); % random inital colony figure(1); [X,Y,Z]=peaks(50); contour(X,Y,Z,20); hold on plot(x(:,1), x(:,2), 'kd'); hold off % cost=feval(ff,x);% calculates cost/fitness values of pop using ff [cost_sort,ind]=sort(cost);%sorting individuals acording to cost values the_best_ind=x(ind(1),:); % determine the best individual the_best_fit=cost(ind(1));%or cost_sort(1); % determine the best firtnees value minc(1)=min(cost); % minc contains min of population meanc(1)=mean(cost); % meanc contains mean of population %_______________________________________________________ % Iterate through generations ite=0; hataS=zeros(1,N); while(ite<Gmax) ite=ite+1; %% Ýþçi arý fazý for i=1:N satir=x(i,:); sutun=fix(rand*D)+1; % deðiþtirilecek sütün rastgele seçiliyor. k=fix(rand*N)+1; % rasgele bir komþu seciliyor teta=(rand-0.5)*2; % [-1 1] aralýðýnda rasgele deðer seciliyor j=sutun; v=[]; v=x(i,:); v(:,j)=x(i,j)+teta*(x(i,j)-x(k,j)); % aday birey %alt sýnýrlama if (v(:,j)<xlo) v(:,j)=xlo; end %üst sýnýrlama if (v(:,j)>xhi) v(:,j)=xhi; end %Aday uygunluk hesaplama aday_fit=feval(ff,v); birey_fit=cost(i); if birey_fit>=0 fitness(i)=1/(1+birey_fit); else fitness(i)=1+abs(birey_fit); end %Aç gözlü (greedy) seçim if (aday_fit<birey_fit) x(i,:)=v; cost(i)=aday_fit; hataS(i)=0; if aday_fit>=0 fitness(i)=1/(1+aday_fit); else fitness(i)=1+abs(aday_fit); end else hataS(i)=hataS(i)+1; % faliure+1 end end %for i %olasýlýk hesaplama toplamFitness=sum(fitness); p=fitness/toplamFitness; %% Gözgü arý fazý for i=1:N %gözcü arýnýn aramasý. pr=rand; if(pr<p(i)) satir=x(i,:); sutun=fix(rand*D)+1; % deðiþtirilecek sütün rastgele seçiliyor. k=fix(rand*N)+1; % rasgele komþu seçiliyor. teta=(rand-0.5)*2; % [-1 1] aralýðýnda rasgele deðer seciliyor j=sutun; v=x(i,:); v(:,j)=x(i,j)+teta*(x(i,j)-x(k,j)); %alt sýnýrlama if (v(:,j)<xlo) v(:,j)=xlo; end %üst sýnýrlama if (v(:,j)>xhi) v(:,j)=xhi; end %Aday uygunluk hesaplama aday_fit=feval(ff,v); birey_fit=cost(i); %Aç gözlü (greedy) seçim if (aday_fit<birey_fit) x(i,:)=v; cost(i)=aday_fit; hataS(i)=0; fitness(i)=1/(1+aday_fit); else hataS(i)=hataS(i)+1; % faliure+1 end else hataS(i)=hataS(i)+1; %faliure +1 end end %gözcü arý fazý %% kaþif arý fazý if (max(hataS)>=limit) ss=find(hataS==max(hataS)); x(ss(1),:)=xlo*ones(1,D)+(xhi-xlo)*rand(1,D); % rasgele yeni birey hataS(i)=0; end %% The new colony is re-evaluated for cost cost=feval(ff,x); % Sort the costs and associated parameters [cost_sort,ind]=sort(cost);%sorting individuals acording to cost values if cost_sort(1)<the_best_fit the_best_ind=x(ind(1),:); % determine the best individual the_best_fit=cost(ind(1));%or cost_sort(1);%determine the best fitnees value end %% Do statistics for a single nonaveraging run minc(ite+1)=min(cost); %or minc(ite+1)=the_best_fit % minc contains min of population meanc(ite+1)=mean(cost); % meanc contains mean of population %% ploting the new colony pause(.1) figure(1); contour(X,Y,Z,20); hold on plot(x(:,1), x(:,2), 'b*'); hold off %_______________________________________________________ % Stopping criteria if (ite>Gmax || cost_sort(1)<mincost) break; end disp(['Current iteration=' num2str(ite) ... ' the best cost value=' num2str(the_best_fit) ... ' the best individual index=' num2str(ind(1))]) end % END OF ABC fddfsd toc %_______________________________________________________ % Displays the output day=clock; disp(datestr(datenum(day(1),day(2),day(3),day(4),day(5), day(6)),0)) disp(['optimized function is ' ff]) format short g disp(['popsize = ' num2str(N) ' Limit = ' num2str(limit) ]) disp(['#generations=' num2str(ite) ' best cost=' num2str(the_best_fit)]) disp(['best solution']) disp([num2str(the_best_ind)]) disp('artificial bee colony algorithm') figure(2) iters=0:length(minc)-1; plot(iters,minc,iters,meanc); xlabel('generation');ylabel('cost'); legend('best', 'colony average');
评论
    相关推荐
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档
    • 卷积神经网络
      这是卷积神经网络的一个实际用例,已经调试好了,能够在matlab上成功运行,适合从事卷积神经网络(CNN)研究的人员学习使用。
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等
    • android从bootloader到launcher启动流程整理
      讲述android 开机流程 从boot rom---bootloader---init--zygote---systemserver---ams 并附上自己整理的每个流程的流程图 ,清晰熟悉android 启动流程
    • Aerosim Blockset
      The AeroSim aeronautical simulation blockset provides a complete set of tools for the rapid development of nonlinear 6-degree of freedom aircraft dynamic models. In addition to the basic aircraft dynamics blocks, the library also includes complete aircraft models which can be customized through parameter files.
    • 微电网PSO优化算法
      微电网的粒子群优化调度算法,里面包括相关文献参考和电价数据,算法的过程解释的很清楚,是我学算法时候用到的资源。
    • 分数阶混沌系统:分数阶混沌系统的数值解。-matlab开发
      该工具箱包含可用于模拟一些著名的分数阶混沌系统的函数,例如: - 陈的系统, - Arneodo的系统, - Genesio-Tesi 的系统, - 洛伦兹系统, - 牛顿-莱普尼克系统, - 罗斯勒的系统, - Lotka-Volterra系统, - 达芬的系统, - 范德波尔的振荡器, -伏打的系统- 陆氏系统, - 刘的系统, - Chua的系统, - 金融系统, - 3 细胞 CNN。 这些函数以数值方式计算描述混沌系统的分数阶非线性微分方程的解。 每个函数返回总模拟时间的状态轨迹(吸引器)。 更多详情请看书: Ivo Petras,分数阶非线性系统:建模、分析和仿真,Springer,系列:非线性物理科学,2011,ISBN 978-3-642-18100-9。 http://www.springer.com/engineering/control/book/978-3-
    • matlabpam代码-dsp-library:用于光通信的MATLABDSP函数库
      matlab pam代码 DSP库 该项目包含几种不同的功能,可将DSP算法应用于光通信。 这些功能适用于相干和非相干(PAM,DMT)光通信。 大多数功能是相互独立的。 因此,该代码中的功能可以轻松使用,并与其他DSP功能结合使用。 用法 功能列表以及简短说明在文件中。 输入和输出参数的描述在每个函数的标题中。 讯号 通常,输入(和输出)信号在第一维度上具有时间(例如,列向量),而第二维度用于一次管理多个信号(例如,不同的极化,不同的参数等)。 之所以选择这种约定,是因为MATLAB通过将列保留在内存的连续部分中来存储矩阵,因此,这种约定比其他方法(行向量)要快。 参数 大多数功能使用参数结构作为输入参数。 函数中使用的参数的描述通常在标头中,而coherent-dsp函数的默认参数在文件中。 参考 执照 此代码在下发布。
    • 有关多目标跟踪的PHD滤波的一些资料
      一些关于多目标跟踪的新的文献,主要是有关概率假设密度(PHD)的
    • 雷达目标跟踪程序合集.zip
      雷达目标跟踪相关程序,CA运动模型,CT运动模型,IMM交互多模型,卡尔曼滤波,粒子滤波PF,概率数据互联JPDA等算法程序相互结合,实现密集杂波环境目标跟踪和高机动目标跟踪....