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

    1. 前言

      本次作业由我和焦任战同学结对完成,我们选择的题目是电梯调度算法,我作为驾驶员,他作为领航员。

    2. 题目要求

    现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示,其使用规定如下:

    • 楼层号为0~20,其中0号为地下一层
    • 有楼层限制的电梯不在相应楼层停靠,如单双层
    • 所有电梯采用统一按钮控制
    • 请根据上述要求设计并实现一个电梯控制程序,使得用户平均等待时间尽可能小,如果有图形显示就更好了。
    • 算法设计方面问题,大家也可以咨询助教,或者参考这篇文章 https://www.jianshu.com/p/eec35bd4e0df
    • 另外大家也可以参考邹老师的这篇文章 https://www.cnblogs.com/xinz/archive/2011/03/20/1989662.html

    3.完成情况

    (1)解题思路

        采用java自带的GUI组件,绘制用户界面,通过多线程和按钮监听模拟电梯运行

    (2)运行程序

    (3)图形化界面

      

    (4)算法思路

        为选择电梯函数(search)添加同步锁,多个电梯线程抢占search()函数,根据电梯上行、停止、下行状态以及到目标楼层的距离选择最优解对电梯进行调度。

    4.总结

        本次作业由于时间仓促笔者仅通过面向对象方式完成了整个程序,导致整体耦合性较高,对后期测试带来一些麻烦,接下来将会向面向接口或切面方式改进。用户界面通过swing组件和多线程之间调度勉强模拟出电梯的运行效果,但java自带的swing组件比较过时,后期可以采用JS代替。

  • 相关阅读:
    SPOJ
    基础计算几何
    数颜色
    Codeforces 986B
    一些有趣的题
    jQuery
    linux命令学习
    javaScript
    css
    html
  • 原文地址:https://www.cnblogs.com/mxj961116/p/10807119.html
Copyright © 2011-2022 走看看