来源书本包子阳《智能算法以及matlab实现》

代码:

%差分进化求函数极值
clear all;
close all;
clc;
NP = 50;   %种群数量
D = 10;    %个体的维度
G = 200;   %最大进化代数
F0 = 0.4;  %初始的变异因子
CR = 0.1;  %交叉算子
Xs = 20;   %自变量上限
Xx = -20;  %自变量下限
yz = 10^-6; %阈值%%%%%%%%%%%%%%%%%%%赋初值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = zeros(D,NP);  %初始化种群
v = zeros(D,NP);  %变异种群
u = zeros(D,NP);  %选择种群
x = rand(D,NP)*(Xs-Xx)+Xx;  %赋初值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算目标函数%%%%%%%%%%%%%%%%%%%
for m = 1:NPOb(m) = func1(x(:,m));
end
trace(1) = min(Ob);
%%%%%%%%%%%%%%%%%%%%%%%差分进化循环%%%%%%
for gen = 1:G%%%%%%%%%%变异操作%%%%%%%%%%%%%%%%自适应变异算子%%%%%%%%%%lamda = exp(1 - G/(G+1-gen));F = F0*2^(lamda);%%%%%%%%%%r1,r2,r3和m的互不相同%%%%%%%%%%for m = 1:NPr1 = randint(1,1,[1,NP]);while (r1==m)r1 = randint(1,1,[1,NP]);endr2 = randint(1,1,[1,NP]);while (r2==m) | (r2==r1)r2 = randint(1,1,[1,NP]);endr3 = randint(1,1,[1,NP]);while (r2==m) | (r2==r1)|(r3==r2)r1 = randint(1,1,[1,NP]);end v(:,m) = x(:,r1)+F*(x(:,r2)-x(:,r3));end%%%%%%%%%%%%%%%%交叉操作%%%%%%%%%%%%%%%r = randint(1,1,[1,D]);for n = 1:Dcr = rand(1);if (cr<= CR) |(n==r)u(n,:) = v(n,:);elseu(n,:)= v(n,:);endend%%%%%%%%%%%%%%%%%边界条件的处理%%%%%%%%%%%for n =1:Dfor m = 1:NPif (u(n,m)<Xx)|(u(n,m)>Xs)u(n,m) = rand*(Xs-Xx)+Xx;endendend%%%%%%%%%%%%%%%%%%%选择操作%%%%%%%%%%%%for m = 1:NPOb1(m) = func1(u(:,m));endfor m = 1:NPif Ob1(m)<Ob(m)x(:,m) = u(:,m);endendfor m = 1:NPOb(m) = func1(x(:,m));endtrace(gen+1) = min(Ob);if min(Ob(m))<yzbreakend
end
[SortOb, Index] = sort (Ob);
x = x(:,Index);                   %最优变量
X = x(:,1);
Y = min(Ob);
%%%%%%%%%%%%%%%%%%%%%%%%%%%画图%%%%%%%%%%%
figure
plot(trace);
xlabel('迭代次数');
ylabel('目标函数值');
title('DE 目标函数曲线');

适应函数:

%%%%%%%%%%%%%%%%%%%适应度函数%%%%%%%%%
function result= func1(x)
summ = sum(x.^2);
result = summ;
end

不过感觉这个代码时间复杂度应该不小吧

2018-4-7 包子阳书本39页例题相关推荐

  1. html大学生网站开发实践作业:旅游网站设计——联途旅游网(39页) HTML+CSS+JavaSc 旅游网页html 开心旅游网html 旅游网前端框架HTML模板...

    HTML5期末大作业:旅游网站设计--联途旅游网(39页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材 ...

  2. 2018-4-8蚁群算法---包子阳《智能优化算法以及Matlab实现》第五章

    资料来源: <智能优化算法以及matlab实现>包子阳  余继周 编著 第五章-----蚁群算法 是一种元启发式优化算法(自己理解:就是作为群体的单位个体也就是元,在里面充当着随机的选择搜 ...

  3. BookBlock - 效果非常真实的书本翻页预览

    这个名为 BookBlock 的图片预览效果是一个书展示或网上书店的概念,已全屏打开3D页面导航网格的形式显示图书的详细信息.我们可以打开书预览的摘录,其中有一些细节的网格.对于图书预览,我们在使用 ...

  4. unity 制作书本 翻页效果

    unity 制作书籍翻页效果 unity C# 翻书效果 2D 真实翻页 不使用插件 自制 实现思路: 将书本分为两边,一边一个翻页实现: 下图为书本的右面,以OA为分界线,△OAB是下一面的如上图的 ...

  5. 手机html5翻页效果代码,jquery html5手机端翻书效果_手指滑动书本翻页效果代码

    特效描述:jquery html5手机端翻书 手指滑动 书本翻页效果.显现手机端翻书效果,支持手拖动翻页 代码结构 1. 引入JS 2. HTML代码 function loadApp() { // ...

  6. 用Cocos Creator 模拟书本翻页效果

    1.简介 本文主要探讨了如何使用CocosCreator来模拟书本翻页效果,分别介绍了通过使用贝塞尔曲线和verlet积分算法来模拟书页底边在翻页过程中的弯曲形变,最后通过自定义assembler传入 ...

  7. #今日论文推荐# 莫纳什大学最新《长文档摘要》综述,39页pdf长文档摘要的实证研究:数据集、模型和指标

    #今日论文推荐# 莫纳什大学最新<长文档摘要>综述,39页pdf长文档摘要的实证研究:数据集.模型和指标 像学术文章和商业报告这样的长文档已经成为了详述需要额外关注的重要问题和复杂主题的标 ...

  8. UICollectionView实现书本翻页布局

    效果图: UICollectionView能够实现你想要的任何布局,Vincent Ngo在raywenderlich中,用swift介绍了如何实现书本翻页布局,不得不佩服Vincent Ngo的想法 ...

  9. html5 3d翻页,HTML5 3D书本翻页动画

    这是一款十分炫酷的HTML5 3D书本翻页动画,效果相对比较简单,拖拽鼠标模拟用手翻页,更漂亮的是翻页过程中,呈现出逼真的3D立体效果.书本中的文字和图片也会3D展示,非常酷. HTML代码 Lore ...

最新文章

  1. SNMP在企业网中应用
  2. Java的知识点30——线程的优先级、终止线程的典型方式、获取线程基本信息的方法
  3. VTK修炼之道14:图像处理_创建
  4. android subString
  5. [Quatsch]Quantum Or Optics
  6. scrapy异步写入mysql_scrapy之异步写入数据库
  7. 【Git/Github学习笔记】ubuntu系统下使用git命令与windows下的差别
  8. vue全局引入scss文件(推荐)
  9. 2015第35周六转相见恨晚的知识列表
  10. 会计专业计算机技能大赛,会计技能大赛策划
  11. Arduino基础入门篇25—红外遥控
  12. nosqlbooster 延长试用日期
  13. 做一个靠谱的软件测试工程师:进行有效地沟通
  14. 如何快速去除图片上的水印?去除图片水印怎么做?
  15. 数据库表去除重复数据
  16. Linux常见压缩工具
  17. 地理距离测算(方法免费共享,经纬度、省份、地级市、港口间距离)
  18. html----->表单进阶------>字段集
  19. access自动编号怎么解除_【转】Access中如何设置自动编号字段?
  20. then在c语言中什么意思,then 放在句末可以表示”然后“的意思吗?

热门文章

  1. ASP.NET MVC 5 - 视图
  2. HTML5十五大新特性
  3. 找出字符串中所有数字
  4. 参悟JavaScript
  5. 区块链热度不减 应用风险不容忽视
  6. Servlert接口的doGet()、doPst()方法
  7. 1098 Insertion or Heap Sort 需再做
  8. linux打开 root .m2,小辣椒M2 (LA-M2)获取ROOT权限教程,新手root必看
  9. 在linux上装git教程,教你玩转Git-Linux 平台上安装
  10. UI设计培训分享:2021年UI设计风格新风向标主要体现在哪些方面