zoukankan      html  css  js  c++  java
  • 结对项目电梯调度--设计模拟

    大家假设在这样的一个情境中:大楼有21层,从地面, ​​, ... 20 。地板0是地下停车场水平, 1楼是大堂的水平。大多数人都通过这些2层进出大楼。同时电梯的限制。

    四部电梯,每部电梯有乘客人数限制和最高载重的限制。

    电梯名称

    停靠层数

    乘客限制

    重量限制

    1

     所有楼层

    10

    800 kg

    2

     所有楼层

    10

    800 kg

    3

     所有楼层

    20

    1600 kg

    4

     所有楼层

    20

    2000 kg

    在这里假定正常情况下,电梯均停在0层,当有乘客请求电梯时,电梯运作,经过几次运作后,可能四部电梯在不同或相同的楼层,同时运行方向或相同或不同,此时,当有乘客请求电梯时,再选择一部最优电梯来满足乘客请求。当乘客进入电梯按下要到达楼层的按钮后,按照原来的运行方向进行运行,同时是每2 s楼层数改变1(假定是2秒,这里实际时还可以更改参数不论加减)。直到El_run_count[]所有值为0,电梯再下落到0层,并将状态改为停止状态。

    那么正常的流程:

    1.乘客按动外部按钮请求电梯。

    2.经过调度算法,调派最合适的一部电梯到达客户的楼层。

    3.用户进入电梯,选择要到达的目的楼层。

    4.电梯载乘客到达指定楼层。

    因此综合几项来看,首先要有一个电梯的类Elevator

    {

    Int  El_no,电梯序号(1-4)

    Int  El_st_weight,电梯标准载重;

    Boolean  El_statues,电梯是否可运行(比较是否超重)

    Int  El_go_direction,电梯运行方向(1:上,-1:下,0:停止);

    Int  El_stay_floor,此时电梯所在楼层;

    Int  El_stay_time,电梯在各层停留时间;

    Int  El_run_time_one,电梯运行一层所需的时间

    Int  El_run_time,电梯总的在运动中的运行时间

    Int   El_run_count[21];记录乘客在电梯内部按下按钮的楼层,也是乘客要到达的楼层。

    方法:

    El_req_priority(Pe_stay_floor);电梯调派的选择,电梯“优先级”。

    电梯运行的方法:El_run(  );

    }

    同时在我们的设计想法中,还有一个关键变量:Pe_go_direction

    即:乘客按动外部按钮请求电梯,外部的按钮中要记录乘客去往的方向。

    两个比较量,电梯运行时间,电梯停留时间

    四种情况,之前要记录乘客在电梯外部按下按钮要请求的方向(是上楼还是下楼)。

    1.电梯运行方向向上,乘客的请求楼层 电梯当前楼层

    层数之差:Pe_stay_floor - El_stay_floor;

    电梯可能停靠的层数是在count[a] ,El_stay_floor <= a <=Pe_stay_floor

    2.电梯运行方向向上,乘客的请求楼层 电梯当前楼层

    层数之差:40 - El_stay_floor - Pe_stay_floor

    电梯可能停靠的楼层是count[a],a>= Pe_stay_floor

    3.电梯运行方向向下,乘客的请求楼层 电梯当前楼层

    层数之差:El_stay_floor - Pe_stay_floor

    电梯可能停靠的楼层是count[a],Pe_stay_floor <=a<= El_stay_floor

    4.电梯运行方向向下,乘客的请求楼层 电梯当前楼层

    层数之差:El_stay_floor + Pe_stay_floor

    电梯可能停靠的楼层是count[a], a<= Pe_stay_floor

    未完待续……

    时间记录(表格)

    时间

    3.03

    16:10--17:34

    3.05

    16:20--17:45

    3.07

    16:15--18:00

    3.08

    9:45-1135

    3.09

    10:23-11:30

    汪洋

    查找资料

    实现调度的部分

    查找资料

    整合电梯模拟

    撰写博客

    辛垧

    功能概括

    查阅资料

    对调度的修改

    提出修改意见

    撰写博客,并修改

    结队成员:汪洋,辛垧

     

     

     

  • 相关阅读:
    图书管理系统---基于form组件和modelform改造添加和编辑
    Keepalived和Heartbeat
    SCAN IP 解释
    Configure Active DataGuard and DG BROKER
    Oracle 11gR2
    我在管理工作中積累的九種最重要的領導力 (李開復)
    公募基金公司超融合基础架构与同城灾备建设实践
    Oracle 11g RAC for LINUX rhel 6.X silent install(静默安装)
    11gR2 静默安装RAC 集群和数据库软件
    Setting Up Oracle GoldenGate 12
  • 原文地址:https://www.cnblogs.com/FakerWang/p/3590393.html
Copyright © 2011-2022 走看看