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

博客考察站点间距离,发现每6秒可能出现车到站事件。假设车站总有足够车发出,考虑单行方向,用Bus_on_e表示发车次数,Bus_on_e – bus_on_s为在线车数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

Bus_on_e为发车次数,Bus_on_ebus_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+=1bus_on_e+1即为车的编号

 

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

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

结束:t=60*60*18;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值