zoukankan      html  css  js  c++  java
  • 电梯调度算法简述

      0x00 简述

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

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

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

       在底层时同理;

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

      0x01 算法的独到之处:

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

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

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

  • 相关阅读:
    招财铃计划 与 实现,
    present, visible,覆盖,系统行为,
    windows,navigationcontroller,stausbar, 20,充满,
    CSS伪类选择器:is、not
    CSS实现常用组件特效(不依赖JS)
    Iconfont技术
    Axios的基本使用
    axios和ajax,fetch的区别
    axios全攻略
    vue-loader作用
  • 原文地址:https://www.cnblogs.com/UDvoid/p/4034616.html
Copyright © 2011-2022 走看看