社区
C#
帖子详情
电梯调度算法
DWilliam
2011-10-18 08:56:20
比方说:某栋写字楼6层,有2部电梯,每层楼都有上行和下行两个按键;
响应请求电梯可以是:闲置电梯、距客人最近的电梯
要求:在运送所有客人到达目标楼层的前提下电梯的总行程尽可能小。
有那位知道这在电梯的运行响应规则,或有相关的资料。
...全文
520
12
打赏
收藏
电梯调度算法
比方说:某栋写字楼6层,有2部电梯,每层楼都有上行和下行两个按键; 响应请求电梯可以是:闲置电梯、距客人最近的电梯 要求:在运送所有客人到达目标楼层的前提下电梯的总行程尽可能小。 有那位知道这在电梯的运行响应规则,或有相关的资料。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
永动bug制造机
2011-10-20
打赏
举报
回复
mark
gengchenhui
2011-10-19
打赏
举报
回复
楼层不同,算法也不同吧?
yezhendong185
2011-10-19
打赏
举报
回复
留标记学习
香椿炒鸡蛋
2011-10-19
打赏
举报
回复
看了下标题,以为是操作系统里面的电梯调度。。
wangRMB250
2011-10-19
打赏
举报
回复
学习了
ycagri
2011-10-19
打赏
举报
回复
学习了
only_lonely
2011-10-19
打赏
举报
回复
[Quote=引用 3 楼 sp1234 的回复:]
将一连串几个子任务压入堆栈 --> 将一连串几个子任务压入队列
最容易乱人心智的,就是纠结于每楼层那两个按钮。如果你认为它一旦按下,电梯就必须立刻改变自己的行为规划,那么你可能就会写出一个特别诡异的程序
。它按下就按下吧,不用管它
,电梯仍然按照自己的行为规则运行,只不过是每隔2秒钟才检测一下外界环境的变化而废弃原来的规划并立即重建规划。这样就具有智能了。
[/Quote]
化繁为简,有道理!
EdsionWang
2011-10-19
打赏
举报
回复
[Quote=引用 7 楼 falconshh 的回复:]
看了下标题,以为是操作系统里面的电梯调度。。
[/Quote]
同以为...
以专业开发人员为伍
2011-10-18
打赏
举报
回复
将一连串几个子任务压入堆栈 --> 将一连串几个子任务压入队列
最容易乱人心智的,就是纠结于每楼层那两个按钮。如果你认为它一旦按下,电梯就必须立刻改变自己的行为规划,那么你可能就会写出一个特别诡异的程序。它按下就按下吧,
不用管它
,电梯仍然按照自己的行为规则运行,只不过是每隔2秒钟才检测一下外界环境的变化而废弃原来的规划并立即重建规划。这样就具有智能了。
以专业开发人员为伍
2011-10-18
打赏
举报
回复
随便说一下吧。实际上每一个人写出来的都是不一样的,这也可以看出不同人的设计风格的不同:
就一个电梯来说,它假设具有“启用、停用”状态,并且有“上行、下行、速度、开门、关门”等状态,它也许每隔2秒钟要重新计算一次自己的行为,只有在这个时候才改变自己的规划。
而不是随便外界的什么按钮按下了就改变它
。注意,电梯是定时地计算自己的行为,而不是实时改变自己的行为。搞清楚这个就可以简化控制逻辑。
比如说电梯如果是在闲置,那么它检测有哪一个楼层按下了按钮,判断另外一个电梯是不是会比自己预先到达。如果预先到达那么自己就什么都不做;如果不是,就会做出一个简单的规划(将一连串几个子任务压入堆栈),例如判断是否正确地关门,判断出是否上行(或者下行),设置好目标楼成,发出加速指令(从0开始加速)。
比如说电梯正在正常形势中,那么它检测在自己的运动方向内并且距离自己最近的楼层按下了按钮,它判断是否需要进入减速程序。如果是到了可以减速的距离,就计算出减速的参数,然后发出减速指令。
比如过电梯正在减速运行并且速度接近0时,要判断是否正好到达准确位置。如果没有到达准确位置,还要重新低速改变上下行,进行调整。如果已经到达准确位置,那么就开门吧。
..........
还需要写出大概十种规则,才是一个比较完整的规则框架。
IE11下面经常卡到爆
2011-10-18
打赏
举报
回复
mark
电梯调度算法
(算法合集)
电梯调度算法
是优化高层建筑内电梯运行效率的关键技术,它涉及到多门学科,如计算机科学、控制理论和人工智能。在给定的压缩包文件中,包含了一系列关于
电梯调度算法
的资料,涵盖了强化学习、LOOK调度、最短寻道、...
电梯调度算法
实现
电梯调度算法
是操作系统中一种重要的I/O调度策略,它的主要任务是优化磁盘读写操作的效率,提高系统的整体性能。在操作系统中,磁盘I/O操作通常比CPU计算耗时得多,因此如何有效地调度磁盘臂的移动,减少平均寻道...
电梯调度算法
(java实现)
电梯调度算法
是计算机科学中的一个重要概念,特别是在操作系统领域,它与进程管理有着密切的关系。电梯调度,也称为电梯算法,最初被引入来优化多层建筑中的电梯操作,但其核心思想同样适用于处理多个进程的CPU调度...
模拟
电梯调度算法
,实现对磁盘的驱动调度
电梯调度算法
在操作系统中用于优化磁盘驱动器的访问效率,尤其在处理多个并发的I/O请求时。这种算法借鉴了电梯移动的方式,因此得名。磁盘是一种关键的存储设备,具有高存储容量和快速读写能力。由于磁盘是旋转的,...
经典
电梯调度算法
的简易实现
电梯调度算法
是计算机科学中的一种优化问题,常用于模拟和设计高效的电梯控制系统。在这个简易实现的项目中,我们主要关注如何使用VC++编程语言来实现这些算法。VC++是Microsoft开发的一款强大的C++集成开发环境,它...
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章