今天我们做的是一个结对编程作业,其实对结对编程,我也有两种看法,第一:提高自己,第二:埋没自己。关键看是如何去利用结对编程,才能达到事半功倍的效果。这次我们做的是一个关于电梯控制调度的程序,这个程序的算法思想做了一天,初步有了电梯调度算法的框架。由于电脑换了,拿到联想服务站维修,只在3月9日,初步了解了一下电梯系统运行的构架。具体安排,暂时还未公布。
(结对人员苏林东&吴威)
题目:
试想一下,我们正在构建一个高大的办公楼,它有大约电梯配置如下:大厦有21层, 4部电梯,很多乘客使用这些电梯的日常(旅客重量:平均70公斤最大120公斤,最小45公斤)。其他常量数据:电梯速度,开/关门时间,乘客的时间要在/走出电梯。
电梯名称 |
停靠层数 |
乘客限制 |
重量限制 |
1 |
所有楼层 |
10 |
800 kg |
2 |
所有楼层 |
10 |
800 kg |
3 |
所有楼层 |
20 |
1600 kg |
4 |
所有楼层 |
20 |
2000 kg |
想先来谈一下大概的思路:
电梯外部是一个总控制台,但它只有上和下的按钮(最底层只有上,最高层只有下)它负责寻找合适的电梯进行调度,找到合适的电梯之后,可以控制这个电梯,并把电梯信息传给内部控制器进行控制。当电梯外部按下楼层上或下键时,相当于同时按下四部(这里有四部电梯)电梯,这个时候从四部电梯中调度一部进行响应,具体算法是,选择当前没有在运行,或者运行方向与按钮方向相同的并且要经过此楼层的电梯,如有一部,便调这个电梯,若有多部,那么就选择在满足上面条件下与所处楼层最接近的一部电梯。如果没有,则选择等待。当电梯内部按下一个楼层按钮的时候,当电梯停止或者同向可以到达的时候,系统把这个楼层设置为要停靠楼层,当电梯不符合条件是,则等待,到达目标后才执行这个任务。(举例:如果乘客在5层,而现行目标是10层,可乘客又按下了3层,那么这个电梯先上10层,再下第三层)。
思路有了,关键是采用何种算法来统一内部和外部电梯的调控?如何控制人流量?如何提高电梯的效率?
老师,还没有做,尽量会快。
原文:http://www.cnblogs.com/sulindong/p/3590585.html