首页 > 代码库 > 电梯调度算法简述
电梯调度算法简述
0x00 简述
该算法基于BUS算法的结构,增加了在中间楼层是否停靠的判断和在顶、底层时下一个停靠点的寻找;
1.如果电梯在顶层,遍历请求队列中的所有请求,记录在运行方向上的:最近的同方向外部请求、最近的同方向内部请求、最远的反方向外部请求;
调度时,增加对电梯是否满员的判断,如果满员,则只满足内部请求,下一个停靠点定为最近的同方向内部请求;如果电梯未满,同时存在同方向的外部请求和内部请求时停靠在最近的请求楼层,不存在同方向请求时停靠在最远反方向外部请求楼层;
在底层时同理;
2.在中间楼层时,判断下一个可停靠点是否开关门,条件包括是否满员、是否在该楼层有请求;
0x01 算法的独到之处:
i.相对于BUS算法,灵活地利用了已知的信息(包括请求信息、电梯的容量、剩余空间等状态信息),减少了不必要的停靠开关门的时间;
ii.由于每一趟都尽量优先解决同方向上的请求,整个调度过程不会存在某个乘客等待过长时间的情况(最多是来回一趟的时间),这样设计的实用性是优秀的的,这一点也算是对BUS算法的学习和借鉴;
iii.电梯满员时不停靠的策略比较贴近现实,减少了大量的超载拒绝,在上下班高峰期时能大幅提升电梯调度运行的效率。
电梯调度算法简述
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。