【调度问题】基于遗传算法求解公交排班系统matlab源码
生活随笔
收集整理的這篇文章主要介紹了
【调度问题】基于遗传算法求解公交排班系统matlab源码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 簡(jiǎn)介
針對(duì)公交車(chē)的調(diào)度優(yōu)化問(wèn)題,文章通過(guò)對(duì)公交線路模型以及不同等級(jí)的公交線路層次特征進(jìn)行分析,提出了一種基于遺傳算法的公交排班模型,并建立了目標(biāo)函數(shù)和約束條件.文中分別對(duì)公交線路模型和公交排班問(wèn)題模型進(jìn)行了Matlab仿真實(shí)驗(yàn),并模擬了公交線路上人員數(shù)量的變化.針對(duì)公交排班的特點(diǎn),對(duì)遺傳算法的各個(gè)算子進(jìn)行了專(zhuān)門(mén)化處理并進(jìn)行了大量的試算.仿真實(shí)驗(yàn)結(jié)果表明,遺傳算法對(duì)解決公交車(chē)輛排班問(wèn)題是有效的,大大地提高了公交車(chē)輛的運(yùn)營(yíng)效率.
2 部分代碼
% 產(chǎn)生t(i)序列 clc,clear,close?all warning?off Tmin?=?1; ??% 表示相鄰車(chē)輛間發(fā)車(chē)間隔的最小值(min) Tmax?=?10; ?% 表示相鄰車(chē)輛間發(fā)車(chē)間隔的最大值(min) delta?=?4; ?% 表示相鄰車(chē)輛發(fā)車(chē)間隔之差的限制值 m?=?500; ? ?% 表示總的發(fā)車(chē)次數(shù)(車(chē)次) a?=?randi(10); ?% t(1)第一個(gè)值的取值范圍設(shè)定為1-10之間隨機(jī)取值 t(1) =?a; ? ? ??% 賦值 maxt?=?960; ? ?% t(i)的最大值 % Loop for?i=2:mflag?=?1; ? ? ??% 標(biāo)志變量while?flag?==?1% Tmin< t(i)-t(i-1) < Tmaxa1?=?randi(9);if?a1>Tmin+2?&&?i==2t(i)=t(i-1)+a1;?% Tmin < t(i)-t(i-1) < Tmaxflag?=?0; ??% i 時(shí)間點(diǎn)計(jì)算完畢elseif?a1>Tmin+2?&&?i>2??% |t(i+1)-2*t(i)+t(i-1)|<delta?t(i)=t(i-1)+a1;?% Tmin < t(i)-t(i-1) < Tmaxif?abs( (t(i)-t(i-1))?-(t(i-1)-t(i-2)) )<deltaflag?=?0; ?% i 時(shí)間點(diǎn)計(jì)算完畢endendend end tt?=?t*maxt/max(t); ttt?=?-tt(1:499)+tt(2:500);3 仿真結(jié)果
4 參考文獻(xiàn)
[1]劉繼國(guó). "基于遺傳算法的公交排班系統(tǒng)研究." 控制與信息技術(shù) No.462.06(2019):17-21+27.
?
總結(jié)
以上是生活随笔為你收集整理的【调度问题】基于遗传算法求解公交排班系统matlab源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python列表统计每个元素出现次数_p
- 下一篇: 车智汇模式系统技术开发数据