电梯调度算法简述

  0x00 简述

  该算法基于BUS算法的结构,增加了在中间楼层是否停靠的判断和在顶、底层时下一个停靠点的寻找;

  1.如果电梯在顶层,遍历请求队列中的所有请求,记录在运行方向上的:最近的同方向外部请求、最近的同方向内部请求、最远的反方向外部请求;

   调度时,增加对电梯是否满员的判断,如果满员,则只满足内部请求,下一个停靠点定为最近的同方向内部请求;如果电梯未满,同时存在同方向的外部请求和内部请求时停靠在最近的请求楼层,不存在同方向请求时停靠在最远反方向外部请求楼层;

   在底层时同理;

  2.在中间楼层时,判断下一个可停靠点是否开关门,条件包括是否满员、是否在该楼层有请求;

 

  0x01 算法的独到之处:

    i.相对于BUS算法,灵活地利用了已知的信息(包括请求信息、电梯的容量、剩余空间等状态信息),减少了不必要的停靠开关门的时间;

    ii.由于每一趟都尽量优先解决同方向上的请求,整个调度过程不会存在某个乘客等待过长时间的情况(最多是来回一趟的时间),这样设计的实用性是优秀的的,这一点也算是对BUS算法的学习和借鉴;

    iii.电梯满员时不停靠的策略比较贴近现实,减少了大量的超载拒绝,在上下班高峰期时能大幅提升电梯调度运行的效率。

 

转载于:https://www.cnblogs.com/UDvoid/p/4034616.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值