比方说,在G+24的一栋大楼里,有一部位于地面的电梯.
G+7上的一个人叫电梯下去(按下按钮)。
因此,电梯会出现向上箭头,直到G+7然后切换到向下箭头,因为它应该从那里下去。
如果G+2的一名男子按下向上箭头按钮(电梯刚开始向上移动,没有穿过G+2),那么电梯/电梯实际上会在G+2打开吗?
如果会的话,如果G+2的人按下按钮转到G+20会怎么样?
电梯的路径将是什么(如G -> G+2 -> .)?
我很困惑电梯/电梯是如何处理这些案件的!
发布于 2017-10-01 12:00:22
作为一名程序员,您使用统计和建模(最好的情况)或根据自己的主观经验编造假设。
在您的示例中,程序员将使用这样的假设(或统计数据),即大多数想下楼的人都希望一直下去到地面或停车场。如果有人想要进入二楼的电梯(如果大楼很高的话)想要上去的话,那就把这两者结合起来吧。
因此,你不会停下来,直到电梯里的人输入的最低楼层。
基本上,一般的答案是你使用统计的运动。这在不同的建筑物之间是不同的。如果大楼是新的,而且还没有数据,你可以看看地板上有什么,并尝试对移动进行预测。基本上,你创造了一个人们运动的模型。然后尝试创建一个优化函数,以最小化等待时间,例如,队列大小或能耗。
你也可以考虑一天中的时间。例如,在商务塔中,您可以优化在上午高峰时间上楼,以及在下午晚些时候/傍晚下楼。
在这种情况下,建模、仿真和统计是找到好的算法的关键。
再加上这些条件。例如,您可以将条件设置为优化,即任何人都不应等待超过20秒,即使总体效率会下降。例如,如果所有的交通都在较低的楼层,而在50楼只有一个人。忽略他/她一个小时可能是最有效的,但这是不可接受的。或者,感觉到电梯满了的电梯可能不会停下来,除非是在里面的人选择的楼层上。
例如,您可以找到关于如何在Internet上建模的课程。像edX这样的教育网站。下面是一个示例(课程已关闭,但仍可访问):数学建模基础--用数学来创建模型来解决现实生活中的问题。
这里是一篇论文的例子(其中有很多!)如何为电梯建模:“电梯系统的有色Petri网建模”
为了证明这种建模方法确实在实践中得到了应用,下面是一个软件(Oasys MassMotion)的示例,以及它如何用于电梯的建模:Oasys软件博客:模型升降机
这就是计算机科学研究生的做法。在实践中,有一点几乎同样有效,所需要的技能和知识也要少得多,那就是你想出你想要的任何东西(做一些常识的假设),如果有人(主管)抱怨你调整算法:-)
https://stackoverflow.com/questions/46512016
复制相似问题