电梯到底是如何调度,来满足不同楼层的请求? 早上被窝内外的温差导致你比平常晚起了20分钟,你飞快洗脸刷牙,穿鞋的同时叫了一辆网约车。 路上堵了半天,一下车你就飞奔进入大楼,因为还有5分钟就要迟到,迟到扣工资100元。 还好有2部电梯正在从2层上升,你舒了口气,心想3分钟后就能到你的楼层打卡。 你看着电梯按钮旁显示的数字:2,1,2,3,4电梯在1层已经满了 旱的旱死,涝的涝死,哪个设计的电梯 这样的场景不止一次出现过,也许电梯间有10个电梯在运行,但你就是等了10分钟也没等到。电梯无数次从你在的那一层经过,就是不停,仿佛加了黑名单。 你不禁陷入沉思,是人性的扭曲,还是电梯设计的sb。电梯到底是如何调度,来满足不同楼层的请求? 同样惨痛的经历和沉思,最终变成这篇文章:电梯是如何调度的? 电梯调度有4种最基本的逻辑,目前大多采用第四种。单电梯运行想实现效率最优,还需考虑诸多因素;而多电梯运行,则更会增加逻辑的丰富和复杂度。 下文将介绍: 电梯运行的4种逻辑; 一部电梯如何运行效率最高; 多部电梯如何运行效率最高。 电梯运行的4种逻辑 1。先到先得 根据乘客请求的先后顺序进行调度,即,谁先按电梯先服务谁。 优点:公平公正公开,且每个乘客的请求都能被依次处理,不会有某一乘客的请求长期得不到满足。 缺点:效率极低,遇到高峰期,全部排队,一起骂设计师。 是否可用:否。 2。最短优先 按照最短距离服务,即,电梯离谁最近先服务谁。 优点:离谁近给谁服务,对比方案1减少了空跑。 缺点:楼层比较偏的同学,比如顶楼的小伙伴下楼吃午饭,等电梯等了1个小时,也没等到。 是否可用:否。 3。顶层底层之间往返循环 在底层和顶层之间往返运行,响应方向相同的请求。即,上下循环往返,有顺路的就带上,走到顶层或底层再掉头。就像一辆公交车。(120,201,如此循环,顺路的都带上) 优点:一个方向的,一趟带走。 缺点:电梯必须到头才折返,和公交一样,空车也必须走到底站。 是否可用:是。 4。顶层底层之间往返循环(按请求的顶层和底层) 是顶底折返的改进,在用户请求的最高和最低楼层之间往返。即,上下循环往返,到了用户请求的最高层,就可以掉头。(跟3相似,只是如果没有人去20层,比如这部电梯里去往楼层最高的人要到19层,没人往更高走了,那到19层就可以掉头往下了。) 优点:在顶底折返的基础上,考虑实际情况,不必须走到顶层底层。 缺点:每次必须把一个顺序的请求走完,还是有点死板。 是否可用:是,目前电梯大多是这种逻辑。 以上是最基础的电梯运行逻辑,其实讲到这里大家已经了解了目前电梯运行的普遍逻辑,也就是上面的方案4。 但这里我们继续探讨优化点,比如以下2个场景: 只有1部电梯,电梯上升至4层,乘客走出去,电梯变空,这时3层和20层用户同时按“上”,电梯应该返回带上3层用户,还是继续向上走? 有两台电梯,一个从20层开始下降,一个从1层出发去2层。有用户在2层按“下”,应该把任务派给哪台电梯? 一部电梯如何运行效率最高 1。什么方案效率最高? 首先定义“效率最高”:所有用户总耗时时长最短没有人遇到极端恶劣体验,而所有用户总耗时时长sum(每个用户的等待时长乘坐时长)。 即,效率最高的方案是让算法选择总耗时最短的方案:choosetheplanwithmin(sum(等待时长乘坐时长))。只需要给乘坐电梯的每个小步骤加上对应时间,算法能够快速预估有哪些方案、各方案耗时、最优方案。 2。目前普遍使用的方案4是效率最高吗? 前文讲到,目前电梯普遍应用的运行方案是方案4,电梯上下往返循环,每次顺路的都带上。我们来检测下方案4的效率并不是最高。 以前面说到的情况为例: “只有1部电梯,电梯上升至4层,乘客走出去,电梯变空,这时3层和20层用户同时按“上”,电梯应该返回带上3层用户,还是继续向上走?” 方案4优先处理同方向请求,先处理上方20层用户请求,那3层用户的等待时长非常长。 但总耗时最短的方法,应该是先回头把3带上,然后往上走。这样20层用户增加了一点点等待时间,3层用户缩短了大量等待时间,总耗时大大缩短。 可见方案4并不是最高,最高的方案是总耗时最短的方案:choosetheplanwithmin(sum(等待时长乘坐时长)) 3。为什么没有使用最高效率方案呢? 因为这个方案,电梯会经常回头接人,而电梯回头会导致乘坐人的体验很怪异。比如我从1楼乘坐电梯去30楼,电梯到10楼时收到9楼有人请求上行,电梯回到9楼接了个人继续上升。我的体验是110930,是不是很怪异? 而且电梯频繁换方向,会使乘坐人难以预估电梯行为,对于电梯秩序和安全都有干扰。 因此目前电梯普遍应用的并不是效率最优,而是效率和体验整体最优的方案:电梯每次运行一个方向,顺路的都带上,到达用户请求的最高层之后,才可以掉头。 多部电梯如何运行效率最高 首先,逻辑基础相似,电梯每次运行一个方向,顺路的带上,到达用户请求的最高层之后,可以掉头。不同的是,顺路的不一定都要自己带上,因为是多部电梯一起工作,有些事情不一定需要自己动手,可以交给兄弟们团结合作。 多部电梯调控,业内称之为“群控电梯调度”。群控电梯调度,受更丰富的因素影响,因此也有更复杂的逻辑。 接下来的内容,本文做更基础的科普简介,大家如有兴趣可以自行深入查询相关资料。 1。群控电梯调度的主要目标 减小乘客平均候梯时间、减少乘客平均乘梯时间、降低系统运行能耗。 2。常见人流量模式概念 上行高峰交通模式:主要人流方向是上行,比如早高峰的公司电梯。 下行高峰交通模式:主要人流方向是下行,比如晚高峰的公司电梯。 二路交通模式:主要人流方向是去某一层从某一层离开,比如:全体大会会议室在4层,开会时人流涌入4层,散会时4层人流流向各层。 四路交通模式:主要人流方向是去某2层从某2层离开,例如:午饭时,人流流向一层和二层的餐厅。 平衡的层间交通模式:上行和下行乘客数量相当,各层之间的交通相当。 空闲交通模式:大量电梯处于空虚,比如节假日、深夜等。 3。常见调度算法 (1)基于专家系统的电梯群控调度 用专家的经验知识建立规则,利用规则比较各种可能的调度途径,从中选出最佳路线。即,听专家的。 优点:合理利用基于经验的、尚未形成科学体系的知识。 缺点:依赖专家。 (2)模糊逻辑电梯群控调度 把模糊不清的边界对象和问题总结成一系列以“IF(条件)THEN(作用)”产生式形式表示的控制规则。即,听专家的,但这个是专家也感觉模糊的规则。 优点:帮助计算机模仿人脑的推理能力,简化复杂问题。 缺点:不具有学习功能,依赖专家。 (3)基于神经网络的群控调度 引入人工神经网络,使系统具有自学习能力。利用非线性和学习方法建立适合的模型,进行高速推理,对电梯交通可进行短、长期预测。即,算法可以根据实际情况学习进化。 优点:学习能力,能更好适合实际情况。 缺点:有些逻辑模糊学不到。 (4)模糊神经网络的调度 模糊神经网络把神经网络与模糊逻辑相结合,克服了人工神经网络结构难以确定,以及模糊逻辑无自学习功能的缺点。即,有些自动学习难以结构化的,使用模糊逻辑规则学习。 优点:学习模糊规则各规则的相对重要度,来实现规则的优化。 本文介绍了单电梯调度的基本逻辑和多电梯调度的常见概念和算法,只讲到了科普皮毛,感兴趣的朋友可以继续探索~