Project for 40.305 Adv Topics in Stochastic Modelling Based on Elevator Group Control Problem
For more information about the project report details, please go to the wiki
Requires Python >= 3.10 Create a new virtual environment and activate it:
python -m venv venv
./venv/Scripts/activateInstall the requirements:
pip install -r requirements.txtTo run the simulation, simply run
python main.pyfrom the main project folder
Various argparsers will be implemented soon to specify features of the simulation
Code for the analysis can be found in /analysis.
A sample jupyter notebook is shown in interactive_analysis.ipynb
The simulation can be imported as shown in the notebook.
- Wait Times of passengers by floor
- Idle Times of each elevator
- Random Assignment (Control)
- Zoning (Sectoring)
- Nearest Elevator (Feasibility Score)
To test the limits of various Idle Configurations, we experimented with different kinds of arrival distributions Namely
- Uniform Arrival Distribution
- Ground Floor Heavy Arrival Distribution
- Assumes that an equal amount of people arrive at every floor
- Equal proportion of people want to go from one floor to every other floor
- A fixed proportion of people arriving and leaving every floor
- An equal proportion of people go from ground floor to every other floor
- Same proportion of people going from ground to other floors is same as proportion going from other floors to ground
- Remaining proportion of people going between the remaining floors are split equally
- Update algorithm of elevator movement. Current one has some flaws in logic
- Also create elevator that has capacity constraints, currently there are no limitations to capacity