公交车调度问题程序流程图

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

通过考察各个站点间的距离,发现每6秒将可能出现车到站的事件。

假设车站总有足够的车发出,考虑单行方向。

Bus_on_e为发车次数,Bus_on_e – bus_on_s为在线车数

初始化t=0

bus_on_e=0;

bus_on_s=0;

站点人数station(i)(j)=0;

站点将下车人数free(i)(j)=0;

开始(以6秒为步长)(每6秒线上将有可能有一辆车到某一站)

站点人数改变:station(i)(j)= station(i)(j)+p(i)(j)*6

站点将下车人数改变:free(i)(j)=free(i)(j)+f(i)(j)*6

遍历所有在线车的位置(车是否到达站点bus_opp(i)?=车站位置)i=bus_on_s:1:bus_on_e

判断车是否在终点bus_opp(n)?=end?

改变车的位置bus_opp(n)+=(6*20/60)

减少在线车数量bus_on_s+=1

改变车上人数Num(n)=Num(n)+station(i)(j)-free(i)(j)

车到终点不再行驶bus_opp(n)=10000

改变车的位置bus_opp(n)+=(6*20/60)

计算满意率

计算满意率

判断是否为发车时间(最短发车间隔为60秒)Now-last(上一次发车时间)?=T(发车间隔)

增加车数bus_on_e+=1,bus_on_e+1即为车的编号

初始化车bus_opp(bus_on_e+1)=0;

初始化车人数为第一站人数Num(bus_on_e+1)=station(i)(1)

结束:t=60*60*18;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航