【优化求解】遗传算法求解红绿灯管理优化问题【含Matlab源码 262期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
在这里插入图片描述
🔊博主简介:985研究生,Matlab领域科研开发者;

🚅座右铭:行百里者,半于九十。

🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式

更多Matlab优化求解仿真内容点击👇
Matlab优化求解(进阶版)

⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!

⛄一、遗传算法

遗传算法是经过选择、复制和变异过程后发现最优解的一种方法,由生物领域的遗传演化衍生而来。遗传算法模拟自然进化论这一特点使其能够一代接一代进行复制而同时去除不合适解。在遗传算法里,最适合解或最优解会在整个过程结束后保存下来。

(1)染色体种群
需要对范围内的染色体或解构成的种群进行判断。在交通流控制方面,染色体是指交通灯系统里的绿灯时间。种群范围设为大于0,因为绿灯时间不可能小于0。种群里的染色体个数也需要确定,因为解的数量决定了优化速度以及所求解的准确度。如果种群里生成的解过多,那么找到最适合的最优解所需时间就更长。但如果解的个数过少或偏小,遗传算法可能会无法找到最适合的优化解。所以,必须仔细选出适当数目的染色体,因为交通流控制既要求速度也要求准确性。在交通流控制方面,染色体的个数设为50,指的是遗传算法会在种群里生成50 个解,且从中找到最适合的解。

需要对种群的初始范围进行仔细筛选。如果得当,遗传算法就能够选出最佳兴趣点。种群的初始范围也就是遗传算法开始时首批生成的种群的染色体范围。范围恰当的话将会为遗传算法找到所需或最佳染色体节约大量时间。如果范围太小,将影响染色体的多样性,以致遗传算法在操作过程中会遗漏掉的最佳点而陷入局部最佳。所以找到合适的初始范围对交通流控制很重要,本文选用范围为0-80。

(2)染色体生成与复制
另一个重要方面是遗传算法需要进行的迭代次数。这是遗传算法的停止规则之一,当遗传算法运算所需的迭代次数确定好遗传算法就会停止操作。对于交通流控制,遗传算法的迭代次数是100 次。这个次数是在认真考虑了迭代次数对遗传算法有关的影响之后得出的。如果迭代次数太多,遗传算法可能要执行较长的计算时间后才能停止下来。另一方面,如果迭代次数太少,遗传算法的效率可能不如预期的好,因为遗传算法无法从种群中找到最佳染色体。

交叉部分是指复制所需的选择过程完成后来自父代或染色体的信息部分。在复制过程中,染色体都是成对选出来构成下一代染色体的父代。交叉部分决定了会有多少个父辈转移到其子代来生成新的染色体。在交通流控制方面,交叉部分设为0.8。这说明一对父代A和B将会生成2 个后代。后代的产生是根据父代的价值或信息而来的。所以一个后代将遗传父代A的0.8 和B的0.2 部分;另一个后代将遗传父代A的0.2 及B的0.8 部分,结果如公式(1):
在这里插入图片描述
其中,X和Y是继承的新生代。

(3)适应度函数
适应度函数是指让遗传算法从种群里筛选合适染色体所用到的规则或公式。种群里的每条染色体均将接受适应度函数测试,然后对应地都生成一个适应度值。本文适应度函数其实是一组简单的规则或法则。交通的适应度函数将从某个具体时刻的所有3 个相态里取出队列长度方面的数据,然后与所有染色体进行测试,通过直接核实各相态排队的车辆来达到对绿灯时间的优化。

适应度极限是遗传算法的另一个停止规则。其实就是适应度函数要达到的一个目标。适应度极限是适应度函数所求的结果,因此一旦最佳适应度值达到极限,遗传算法将会停止运算而输出最合适的染色体。在交通流控制方面,适应度极限设为0 且一旦染色体符合适应度函数,并生成一个为0或更小的适应度值,那么遗传算法将视该染色体为最合适的优化解。

⛄二、部分源代码

clear all;
close all;
clc;

%%问题表述

FitnessFunction=@(C,g,x,c) TDi(C,g,x,c); % 适应度功能

nLights=4; %红绿灯数量
nIntersections=1; % 交叉点数(静态为 1 个交叉点)

VarSize=[1 nIntersections*nLights]; % 基于交叉点数的决定染色体基因

greenMin= 10; % 绿灯的下限
greenMax= 60; % 绿灯的上限
Cyclemin=60; % CYCLE 的下限
Cyclemax=180 ;
RoadcapacityNSWE=[20,20,20,20]; % 道路容量分别
CarsNSWE=[20,20,11,17];
RoadCongestion1NSWE=RoadcapacityNSWE-CarsNSWE; % 根据空闲道路空间的拥堵
RoadCongestionNSWE=RoadCongestion1NSWE./RoadcapacityNSWE; % 体积/容量比
carpass=5;
%%遗传算法参数

MaxIt=25; %最大迭代次数

nPop=400; %人口规模

pc=0.5; %交叉百分比
nc=2round(pcnPop/2); % 后代数量(父母)

pm=0.02; % 突变百分比
nm=round(pm*nPop); %突变体数量
mu=0.1; % 突变率

pinv=0.2;
ninv=round(pinv*nPop);

beta=8; % 选择压力

%% 初始化

% 个人结构
empty_individual.GreenNSWE=[];
empty_individual.TotalDelay=[];

% 人口结构
pop=repmat(empty_individual,nPop,1);

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]王雪梅,李晓峰.基于遗传算法城市交叉路口交通流量优化控制[J].微型电脑应用. 2015,31(12)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值