Giter VIP home page Giter VIP logo

elevator-system's Introduction

Elevator System

How to start the app?

See the steps you need to follow to run the application: How to run the app

Description

Introduction

The purpose of this application is to simulate the functioning of the elevator system. To optimize the method of accepting requests to the elevator and assigning requests to elevators, the algorithm calculates the ETD (Estimated Time to Destination) after each request and finds the elevator which seems to handle the call in the shortest time. As a consequence, there is a possibility that the algorithm will insert the new stop between stops that were scheduled before, which will result in a longer waiting time for other passengers (the algorithm will minimize this time).

How is total time calculated?

The total time increased by adding the new route to the elevator routes is the sum of:

  • time which the new passenger is supposed to wait for the elevator to come,
  • elevator stop duration (opening the door, passenger entering the elevator, closing the door),
  • time required to reach the new passenger's destination,
  • time of each stop added to the elevator's route multiplied by the number of passengers traveling inside the elevator or entering the elevator after that stop (in other words, the algorithm calculates the sum of delays caused by the new passenger for all passengers that called the elevator before the new request)

How passengers call the elevator?

To call the elevator, the passenger must enter the target floor using one of the button panels located on each floor. Button panels are not assigned to a specific elevator. Instead, the elevator is selected based on the lowest ETD increase of all passengers. After the elevator call, passengers will be notified to which elevator they have been assigned (this functionality is not implemented - the new route will only appear in the details panel).

Preview

Overview

Overview

General Settings

  • pause / resume simulation,
  • change time ratio (speed of animations),
  • adjust scale of the elevators container,

General Settings

Elevator Settings

You can modify elevator's parameters that are listed below:

  • Min floor - the number of the lowest floor reached by the elevator,
  • Max floor - the number of the highest floor reached by the elevator,
  • Idle floor - the number of floor at which the elevator waits in the idle mode,
  • Speed - the velocity of the elevator [m/s],
  • Stop duration - time the elevator waits for passengers to enter,
  • Toggle door duration - time required to open/close the elevator door

Elevator Settings

Floors Settings

  • Min floor - the number of the lowest floor in the building,
  • Max floor - the number of the highest floor in the building
  • Height (adjusted for each floor separately) - the height of the floor,

Floors Settings

Configuration

Example usage of the application displaying how to add/remove elevators, add/remove floors and adjust their properties.

Configuration

elevator-system's People

Contributors

matipl01 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.