1 简介

本文设计实时优化的配置方案对道路畅通的应急决策管理具有重要意义.本文在分析交通控制基本理论的基础上,根据交叉口的实际情况并考虑信号灯的转换与车辆的启动损失时间,采用四相位对称式放行方案,以车辆在道口的总等待时间最短为目标建立起基于遗传算法的多个交叉口的面控制数学模型.本文利用MATLAB编程实时产生了基于泊松分布的交通流序列,并且为提高模型效率,使建立的模型更具有实用性,我们用VB可视化编程软件制作了一个简易的道路交通信号实时遗传算法演示平台.本文通过对模型的实时优化,算法计算和仿真,获得了在交通信号实时遗传算法的优化控制下的优化参数.

2 部分代码

%% GA%% 清空环境变量clc,clear,close allwarning offfeature jit off%% 遗传算法参数初始化maxgen = 50;                      % 进化代数,即迭代次数sizepop = 50;                     % 种群规模pcross = [0.7];                    % 交叉概率选择,0和1之间pmutation = [0.01];                 % 变异概率选择,0和1之间% 城市交通信号系统参数C = 140;L = 10;load('data.mat')  % 包含交通流量q以及饱和流量xijq = q./3600;      % 转化为秒sxij = xij./3600;  % 转化为秒s%染色体设置lenchrom=ones(1,3);    % t1、t2、t3bound=[38,59;26,37;33,44;];   % 数据范围%---------------------------种群初始化------------------------------------individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]);  %将种群信息定义为一个结构体avgfitness = [];                      %每一代种群的平均适应度bestfitness = [];                     %每一代种群的最佳适应度bestchrom = [];                       %适应度最好的染色体%% 初始化种群for i=1:sizepop    % 随机产生一个种群    individuals.chrom(i,:)=Code(lenchrom,bound); % 编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量)    x=individuals.chrom(i,:);    % 计算适应度    individuals.fitness(i)=fun(x);   % 染色体的适应度 end%% 找最好的染色体[bestfitness bestindex] = min(individuals.fitness);bestchrom = individuals.chrom(bestindex,:);    % 最好的染色体% 记录每一代进化中最好的适应度和平均适应度trace = [bestfitness]; %% 迭代求解最佳初始阀值和权值% 进化开始for i=1:maxgen    disp(['迭代次数:  ',num2str(i)])    % 选择    individuals=Select(individuals,sizepop);    % 交叉    individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);    % 变异    individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,i,maxgen,bound);    % 计算适应度    for j=1:sizepop        x=individuals.chrom(j,:);        % 解码        individuals.fitness(j)=fun(x);   % 染色体的适应度     end    % 找到最小和最大适应度的染色体及它们在种群中的位置    [newbestfitness,newbestindex]=min(individuals.fitness);    [worestfitness,worestindex]=max(individuals.fitness);    % 代替上一次进化中最好的染色体    if bestfitness>newbestfitness        bestfitness=newbestfitness;        bestchrom=individuals.chrom(newbestindex,:);    end    individuals.chrom(worestindex,:)=bestchrom; % 剔除最差个体    trace=[trace;bestfitness]; %记录每一代进化中最好的适应度endx = [bestchrom, C-L-sum(sum(bestchrom))]       % 最佳个体值D = trace(end)       % 延误误差DE = D./sum(sum(q));  % 平均延误E%% 遗传算法结果分析 figure('color',[1,1,1]),plot(1:length(trace),trace(:,1),'b--');title(['适应度曲线  ' '终止代数=' num2str(maxgen)]);xlabel('进化代数');   ylabel('适应度');legend('fz最佳适应度');

3 仿真结果

4 参考文献

[1]陆志猛, 张伟强, 阮日升. 城市道路交通信号实时遗传算法的优化控制[J].  2008.​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

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

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

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

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

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

  3. 【信号去噪】基于NLM时间序列心电信号去噪附matlab代码

    1 简介 作为一种信号预处理手段,信号去噪在众多信号处理应用中发挥着重要的作用.到目前为止,信号去噪问题被大量研究,并取得了许多重要成果,涌现出了包括非局部均值(NLM)去噪算法在内的一批优秀的去噪方 ...

  4. 基于遗传算法求解物流配送中心选址附Matlab代码

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

  5. 【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码

    1 内容介绍 一种基于WOAVMD算法的信号去噪方法,具体为:根据鲸鱼优化算法分别建立目标包围,发泡网攻击以及猎物搜寻的数学模型,然后进行初始化参数,在取值范围内初始化鲸鱼的位置向量,根据位置向量对原 ...

  6. 【信号去噪】基于蚁群算法优化小波阈值实现信号去噪附matlab代码

    1 简介 基于硬阈函数和软阈函数的小波去噪算法处理的信号分别存在着偏差和方差过大的缺点,为有效解决这一问题,提出基于蚁群算法优化小波变换去噪算法.并采用常用的信号用matlab对去噪效果进行了仿真.仿 ...

  7. 基于智能优化算法PSO/GWO/AFO+柔性车间生产调度(Matlab代码实现)

    目录 1 柔性车间生产调度 2 运行结果 3 参考文献 4 Matlab代码实现 1 柔性车间生产调度 随着经济全球化的不断加深和市场竞争的日益严峻,传统的单一车间制造模式已经无法满足我国制造业的生产 ...

  8. 遗传算法配送路径优化java_基于遗传算法的配送中心路径优化问题分析

    1. 引言 VRP问题指车辆路线优化问题,一般而言,有一个或多个供应点,多个需求点有不同的货物需求,分析如何组织货车在这些需求点中进行配送从而达到总里程最小.配送时间最短.总成本最低等目标.VRP问题 ...

  9. 单目标应用:基于北方苍鹰优化算法NGO的概率神经网络PNN数据分类(提供MATLAB代码)

    一.北方苍鹰优化算法NGO 北方苍鹰优化算法(Northern Goshawk Optimization,NGO)由MOHAMMAD DEHGHANI等人于2022年提出,该算法,该算法模拟了北方苍鹰 ...

最新文章

  1. jdk8中流的使用(二)
  2. 本地化在ASP.NET 2.0中的实现
  3. 1.7-27编程基础之字符串 单词翻转
  4. Java反射基础(一)--Class对象获取
  5. excel文件修复工具_win10上使用SFC工具修复损坏的系统文件,安全高效,维修电脑必会...
  6. 适合做短视频电商的人群分类
  7. Django+Scrapy结合使用并爬取数据入库
  8. 博弈指什么棋_格局:什么是格局?(胜读十年书)
  9. 学生宿舍管理项目开发计划书_第六组学生宿舍管理系统项目计划书
  10. 各家usbcan分析仪以及各家软件使用经验
  11. excel 第4讲:排序与筛选
  12. C语言——求2-1000之间的素数,每行打印8个
  13. 5000字:一文看懂用户运营之增长八卦模型
  14. python字典中的值不允许重复_python字典中值不允许重复的原因
  15. 微信小程序实现表情包编辑
  16. python中的函数不包括参数函数_在Python中定义函数时不需要声明函数参数的类型。...
  17. 字节跳动 C++面经总结第四期
  18. wlan网页登录认证原理
  19. 有哪些适合男生的蓝牙耳机?520情人节适合送男生的蓝牙耳机推荐
  20. 第五届浙江省大学生网络与信息安全竞赛预赛 部分WP

热门文章

  1. 【2017】KK English
  2. 记一次边锋客户端(C++)实习生面试
  3. Python 程序实现电脑自动定时关机
  4. 易语言数据类型内存分布格式
  5. esp32和显示屏交互
  6. Transmit for Mac(FTP/SFTP客户端)
  7. centos 卸载ffmpeg_Linux系统常用命令:CentOS,RedHat包的安装和卸载
  8. 基于JavaWeb的贫困认定管理系统设计与实现
  9. 机房预约系统(C++)
  10. redis的key能查到,但是删除不掉