一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【优化求解】基于matlab遗传算法求解道路流量优化问题【含Matlab源码 1480期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、遗传算法简介

1 引言


2 遗传算法理论
2.1 遗传算法的生物学基础


2.2 遗传算法的理论基础




2.3 遗传算法的基本概念






2.4 标准的遗传算法


2.5 遗传算法的特点


2.6 遗传算法的改进方向

3 遗传算法流程



4 关键参数说明

三、部分源代码

%% 清空环境
clear
clc
global W Cmax Mxf1 Mxf2 Mxf3 Mxf4 Q0 b1 b2 b3 b4 N
%% 已知参数
W=[9 14 5 9 8 7 8 7 6 10 10 9 8 6 5 10 8 9 11];            %零流时间
Cmax=[700 900 800 600 600 900 600 300 900 500 700 600 700 500 400 800 700 700 600];   %路段能力
%路段-路径矩阵
Mxf1=[1,1,1,1,1,1,00,0,0,0,0,0,11,1,1,0,0,0,00,0,0,1,1,1,00,0,0,0,0,0,00,0,0,0,0,0,00,0,0,0,0,0,00,0,0,0,0,0,01,0,0,0,0,0,00,1,1,0,0,0,00,0,0,1,1,0,00,0,0,0,0,1,10,1,0,1,0,0,00,0,1,0,1,0,01,0,0,0,0,0,00,0,0,0,0,0,01,1,0,1,0,0,00,0,0,0,0,0,00,0,1,0,1,1,1];
Mxf2=[1,1,1,1,00,0,0,0,11,1,1,0,00,0,0,1,00,0,0,0,00,0,0,0,00,0,0,0,00,0,0,0,01,1,0,0,00,0,1,0,00,0,0,1,10,0,0,0,00,0,1,1,10,0,0,0,00,1,0,0,01,0,0,0,00,0,0,0,00,1,1,1,10,0,0,0,0];
Mxf3=[0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,0,00,0,0,0,1,1,1,0,0,01,1,1,0,0,0,0,0,0,00,0,0,1,0,0,0,1,1,11,1,1,0,1,1,1,0,0,00,0,0,0,0,0,0,1,1,10,0,0,1,0,0,0,0,0,00,0,0,0,0,0,1,0,0,10,0,0,0,1,1,0,1,1,00,1,1,0,0,0,0,0,0,01,0,0,0,0,0,0,0,0,00,0,1,0,0,1,0,0,1,00,1,0,0,1,0,0,1,0,00,0,0,1,0,0,1,0,0,10,0,0,0,0,0,0,0,0,00,0,1,1,0,1,1,0,1,10,0,0,0,0,0,0,0,0,01,1,0,0,1,0,0,1,0,0];
Mxf4=[0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,00,0,0,0,0,1,1,1,00,0,0,0,0,0,0,0,11,1,1,1,1,0,0,0,00,0,0,0,0,1,1,1,10,0,1,1,1,0,0,0,01,1,0,0,0,0,0,0,00,0,1,1,0,1,1,0,00,0,0,0,1,0,0,1,00,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,00,0,0,0,1,0,0,1,10,0,0,0,0,0,0,0,00,1,0,1,0,0,1,0,01,0,1,0,0,1,0,0,00,0,0,0,0,0,0,0,00,1,0,1,1,0,1,1,10,0,0,0,0,0,0,0,0];
b1=length(Mxf1(1,:));
b2=length(Mxf2(1,:));
b3=length(Mxf3(1,:));
b4=length(Mxf4(1,:));
%% OD对需求
Q0=[300 500 700 300];
%% 设置遗传参数
MAXGEN=500;              %最大迭代代数
popsize=500;             %设置初始参数,种群大小
pc=0.8;                  %设置交叉概率
pm=0.1;                  %设置变异概率
N=b1+b2+b3+b4-4;         %编码长度
Chrom=zeros(popsize,N);%创建初始种群
for  i=1:popsizeChrom(i,:)=crtzq(N);
end
ObjV=zeros(popsize,1);
for  i=1:popsizeObjV(i)=Objfun(Chrom(i,:));
end
[objv,f]=sort(ObjV);
bjv(1:popsize-1)=objv(1:popsize-1);
Chrom=Chrom(f,:);
chrom=Chrom(1:popsize-1,:);
fsum=sum(bjv);
Pperpopulation=bjv/fsum;
%计算累积概率
cumsump(1)=Pperpopulation(1);
for i=2:popsize-1cumsump(i)=cumsump(i-1)+Pperpopulation(i);
end
cumsump=cumsump';
Generation=1;
y=zeros(MAXGEN,2);
while Generation<MAXGEN+1for j=1:2:popsize-1%选择操作seln=selection(cumsump);scro=crossover(chrom,seln,pc);scnew(j,:)=scro(1,:);scnew(j+1,:)=scro(2,:);%变异操作smnew(j,:)=mutation(scnew(j,:),pm);smnew(j+1,:)=mutation(scnew(j+1,:),pm);end
chrom=smnew;  %产生了新的种群
Chrom(1:popsize-1,:)=chrom(1:popsize-1,:);
for i=1:1:size(Chrom,1)[ObjV(i)]=Objfun(Chrom(i,:));
end
[objv,f]=sort(ObjV);
bjv(1:popsize-1)=objv(1:popsize-1);
Chrom=Chrom(f,:);
y(Generation,1)=1e7/Objfun(Chrom(end,:));
y(Generation,2)=mean(1e7./ObjV);
chrom=Chrom(1:popsize-1,:);
fsum=sum(bjv);
Pperpopulation=bjv/fsum;
%计算累积概率
cumsump(1)=Pperpopulation(1);
for i=2:popsize-1cumsump(i)=cumsump(i-1)+Pperpopulation(i);
end
Generation=Generation+1
end
%子程序:判断遗传运算是否需要进行交叉或变异, 函数名称存储为IfCroIfMut.m
function pcc=IfCroIfMut(mutORcro)
test(1:100)=0;
l=round(100*mutORcro);
test(1:l)=1;
n=round(rand*99)+1;
pcc=test(n);
%子程序:新种群交叉操作,函数名称存储为crossover.m
function scro=crossover(Chrom,seln,pc)
global N
pcc=IfCroIfMut(pc);
if pcc==1chb=randperm(N-1,1);scro(1,:)=[Chrom(seln(1),1:chb) Chrom(seln(2),chb+1:N)];scro(2,:)=[Chrom(seln(2),1:chb) Chrom(seln(1),chb+1:N)];
elsescro(1,:)=Chrom(seln(1),:);scro(2,:)=Chrom(seln(2),:);
end

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
《智能优化算法及其MATLAB实例(第2版)》包子阳 余继周 杨杉著 电子工业出版社

【优化求解】基于matlab遗传算法求解道路流量优化问题【含Matlab源码 1480期】相关推荐

  1. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  2. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  3. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  4. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  6. 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  7. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  8. java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)

    java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...

  9. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  10. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

最新文章

  1. API 大赛决赛名单出炉,速来围观!
  2. python求和_Python程序查找特殊求和系列的解决方案
  3. Visual Studio 快捷键汇总
  4. html 鼠标图标做成动画效果,纯css3实现的鼠标悬停动画按钮
  5. 使用Combres 库 ASP.NET 网站优化
  6. 巧妙mybatis避免Where 空条件的尴尬
  7. vue开发看这篇文章就够了 vue知识大全
  8. Silverlight C# 游戏开发:Balder的3D世界
  9. 索尼电视总出现Android,索尼电视紧急撤回安卓8.0固件包:N多用户无法连接Wi-Fi...
  10. 高校学生档案管理系统(Angularjs+HTML+CSS+bootstrap)
  11. Python3 语音识别谷歌验证码
  12. 工业电脑量产测试之----U盘DOS 启动盘制作(1)
  13. 计算机组成原理课程试题,计算机组成原理课程复习考试试题及答案B.doc
  14. 人民日报海外版总编辑詹国枢谈新闻写作技巧:五句话妙手著文章
  15. 数据分析之EXCL筛选多列相同的数据(满足多列条件的数据)进行处理
  16. HDMI协议解析-从软硬件角度分析
  17. androidP 对反射的限制之黑名单机制
  18. 最简单的机器学习入门:线性回归
  19. Html5 文件上传
  20. K8S系列:pod更新镜像方法、原理

热门文章

  1. MySql-Mysql技术内幕~SQL编程学习笔记(1)
  2. 《现代前端技术解析》第七章读书笔记
  3. 备忘:BLOCK CORRUPTION IN SYSTEM DATAFILE
  4. iPhone界面学习(2)
  5. Linux高性能集群搭建(2)---NFS共享文件系统安装配置
  6. 20200725每日一句
  7. Improving Opencv 1:The Core Functionality (core module) Mat - The Basic Image Container
  8. 20191107每日一句
  9. 181002有道扇贝每日一句
  10. Atitit 软件的俩大要点 提升可读性 提升扩展性 目录 1. 命名可读性 1 2. 提升扩展性法 1 3. 项目常见扩展法 2 1.结构可读性 表驱动代替if else 减少层次 Dsl