遗传算法的题目和解答(Matlab代码)

题目:用标准遗传算法求解函数f(x)=x+10sin(5x)+7cos(4x)的最大值,其中x的取值范围是[0,10]。
解答:优化结束后,根据适应度曲线的图,可以得出优化结果为x=7.8567,

clear all; %清除所有变量
close all; %清图
clc;    %清屏
NP=50;  %种群数量
L=20;   %二进制位串长度
Pc=0.8; %交叉率
Pm=0.1; %变异率
G=100;  %最大遗传代数
Xs=10;  %上限
Xx=0;   %下限
f=randi(NP,L);  %随机获得初始种群
% 遗传算法循环
for k=1:G  %将二进制解码为定义域范围内十进制for i=1:NPU=f(i,:);m=0;for j=1:Lm=U(j)*2^(j-1)+m;endx(i)=Xx+m*(Xx-Xx)/(2^L-1);Fit(i)=func1(x(i));endmaxFit=max(Fit); %最大值minFit=min(Fit);   %最小值rr=find(Fit==maxFit);fBest=f(rr(1,1),:);      %历代最优个体xBest=x(rr(1,1));Fit=(Fit-minFit)/(maxFit-minFit);   %归一化适应度值%基于轮盘赌的复制操作sum_Fit=sum(Fit);fitvalue=Fit./sum_Fit;fitvalue=cumsum(fitvalue);ms=sort(rand(NP,1));fiti=1;newi=1;while newi<=NPif(ms(newi))<fitvalue(fiti)nf(newi,:)=f(fiti,:);newi=newi+1;elsefiti=fiti+1;endend%交叉操作for i=1:2:NPp=rand;if p<Pcq=randi(1,L);for j=1:Lif q(j)==1;temp=nf(i+1,j);nf(i+1,j)=nf(i,j);nf(i,j)=temp;endendendend%变异操作i=1;while i<=rand(NP*Nm)h=randi(1,1,[1,NP]);for j=1:round(L*Pm)g=randi(1,1,[1,L]);nf(h,g)=~nf(h,g);endi=i+1;endf=nf;f(1,:)=fBest;       %保留最优个体在新种群中trace(k)=maxFit;    %历代最优适应度
end
xBest;  %最优个体
figure;
plot(trace);
xlabel('迭代次数');
ylabel('目标函数值');
title('适应度进化曲线');function result=func1(x)
fit=x+10*sin(5*x)+7*cos(4*x);
result=fit;
end

遗传算法例题(题目和解答以及Matlab代码)相关推荐

  1. 【多式联运】基于粒子群结合遗传算法实现陆海空多式联运问题附matlab代码

    1 简介 物流运输方式由公路.水路.空运及管道等 3 种方式组成,3 种运输方式在技术上.经济上各有长短,都有适宜的 使用范围,每种运输方式单独运用很难实现节约资源.降本增效.随着我国经济不断发展以及 ...

  2. 【优化求解】基于遗传算法求解列车交路方案matlab代码

    1 简介 列车开行方案是城轨系统正常运行的基础,可有效保障路网整体运输效率及城轨系统的服务水平.随着城市轨道交通的快速发展,客流分布呈现出多样性.复杂性和时变性等特征,客流需求与运输能力的矛盾亦愈加显 ...

  3. 【智能优化算法】基于遗传算法实现城市交通信号优化附matlab代码

    1 简介 本文设计实时优化的配置方案对道路畅通的应急决策管理具有重要意义.本文在分析交通控制基本理论的基础上,根据交叉口的实际情况并考虑信号灯的转换与车辆的启动损失时间,采用四相位对称式放行方案,以车 ...

  4. 【优化调度】基于改进遗传算法求解农业水资源调度问题(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 科学的渠系配水决策可以减少渠系输水过程中的渗水损失和无效弃水,提高灌溉水利用率.国内外学者对渠系优化配水决策方法进行了许 ...

  5. 【优化布局】基于遗传算法求解物流多配送中心选址matlab代码

    1 简介 在考虑物流规划部门和客户双方利益的基础上,采用双层规划模型描述物流配送中心的选址问题.基于进化博弈与多目标优化的思想设计了层次遗传算法来求解该模型,通过两个遗传算法的交互迭代求解物流配送中心 ...

  6. 遗传算法求函数极值(含MATLAB代码实现)

    介绍转载自https://blog.csdn.net/xujinpeng99/article/details/6211597,后面用自己设置的函数进行实验. 引言:遗传算法求函数极值算是遗传算法的一种 ...

  7. 基于蚁群结合遗传算法的路径规划问题附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  8. 【优化选址】基于遗传算法求解物流选址问题附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  9. 【优化选址】基于遗传算法求解物流配送中心选址附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

最新文章

  1. 解决git bash闪退问题
  2. asm字节码操作 方法的动态修改增加
  3. 感谢3G,告别3G:开启移动互联网时代的“功臣”退出历史舞台
  4. arduino支持的内核版本_Arduino开发(arduino IDE)
  5. 力扣-222. 完全二叉树的节点个数
  6. 对anaconda虚拟环境进行迁移
  7. LVS (Linux虚拟服务器)模型及算法
  8. 计算混响时间的意义_混响时间的测量方法和步骤
  9. 中文OCR的汉字按常见度的划分
  10. faststone capture截图,怎么截不出图?关于FastStone Capture无法截图、FastStone Capture捕捉矩形区域之后没反应、
  11. 数据结构习题及解析三
  12. php中间件最简单实现,my_test_simple_framework
  13. mysql error 1148_MYSQL:ERROR 1148: The used command is not allowed with this MySQL version
  14. 微信公众号编辑有哪些实用的小工具和小技巧?
  15. 按键精灵移动端系列 - IOS(苹果版)安装1.3.8 deb 下载地址
  16. VS2008编译时error C2248处理方法
  17. DAO:去中心化的新兴领导者
  18. Android仿京东地址省市区选择器
  19. 如何用C#实现电子面单批量打印功能
  20. 李宏毅深度学习笔记(CNN)

热门文章

  1. PAT(乙级)1110 区块反转(JAVA)
  2. 计算机辅助园林,计算机辅助园林景观设计
  3. k3note Android8,小米8和oppo k3哪款好 小米8和oppo k3区别对比评测
  4. windows消息和消息队列详解
  5. atheros有线网卡LINUX驱动,Ubuntu 9.04 解决Atheros AR8131网卡驱动问题
  6. SUSE Linux 10.0 实现网络电视功能(安装Sopcast,使用xine播放)
  7. DITA-OT发布过程和中文支持
  8. 2021土建施工员考试题库及答案
  9. AVOS Cloud 技术支持系统开源了
  10. Ueditor(三):将图片上传至项目外的目录