【调度问题】基于遗传算法求解公交排班系统matlab源码
生活随笔
收集整理的這篇文章主要介紹了
【调度问题】基于遗传算法求解公交排班系统matlab源码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 簡介
針對公交車的調度優化問題,文章通過對公交線路模型以及不同等級的公交線路層次特征進行分析,提出了一種基于遺傳算法的公交排班模型,并建立了目標函數和約束條件.文中分別對公交線路模型和公交排班問題模型進行了Matlab仿真實驗,并模擬了公交線路上人員數量的變化.針對公交排班的特點,對遺傳算法的各個算子進行了專門化處理并進行了大量的試算.仿真實驗結果表明,遺傳算法對解決公交車輛排班問題是有效的,大大地提高了公交車輛的運營效率.
2 部分代碼
% 產生t(i)序列 clc,clear,close?all warning?off Tmin?=?1; ??% 表示相鄰車輛間發車間隔的最小值(min) Tmax?=?10; ?% 表示相鄰車輛間發車間隔的最大值(min) delta?=?4; ?% 表示相鄰車輛發車間隔之差的限制值 m?=?500; ? ?% 表示總的發車次數(車次) a?=?randi(10); ?% t(1)第一個值的取值范圍設定為1-10之間隨機取值 t(1) =?a; ? ? ??% 賦值 maxt?=?960; ? ?% t(i)的最大值 % Loop for?i=2:mflag?=?1; ? ? ??% 標志變量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 時間點計算完畢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 時間點計算完畢endendend end tt?=?t*maxt/max(t); ttt?=?-tt(1:499)+tt(2:500);3 仿真結果
4 參考文獻
[1]劉繼國. "基于遺傳算法的公交排班系統研究." 控制與信息技術 No.462.06(2019):17-21+27.
?
總結
以上是生活随笔為你收集整理的【调度问题】基于遗传算法求解公交排班系统matlab源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python列表统计每个元素出现次数_p
- 下一篇: 局域网传输速度升级