Implementation of Multi-Car Elevator Scheduling Algorithm using SCAN and ETA-based Optimization
1. Overview
The goal of this project is to develop a simulation-ready elevator control algorithm that optimizes passenger flow in a high-rise environment. The system will transition from a basic directional SCAN algorithm to an intelligent dispatching model that minimizes Average Waiting Time (AWT).
2. Objectives
- Minimize Average Waiting Time (AWT) and Average Travel Time (ATT).
- Implement a scalable logic that can handle multiple elevator cars simultaneously.
- Provide a visual or data-driven output to verify the efficiency of the dispatching logic.
3. Technical Requirements & Considerations
We are currently evaluating three potential stacks for this implementation:
- Python: Best for algorithmic complexity and data analysis (using NumPy/Pandas for performance logging).
- Excel VBA: Ideal for quick prototyping within an existing corporate infrastructure and easy data entry/visualization via spreadsheets.
- Vanilla TypeScript: Best for a real-time web-based visual simulation (DOM manipulation for car movement).
4. Functional Requirements
R1: Hall Call Management (External)
- The system must register "Up" or "Down" calls from each floor.
- The dispatcher must assign the "optimal" car based on the Cost Function:
$$Cost = |CurrentFloor - TargetFloor| + Penalty(DirectionMismatch)$$
R2: Car Call Management (Internal)
- The system must handle multiple destination selections within each car.
- Internal stops must be prioritized based on the current direction of travel (SCAN Logic).
R3: Dispatching Algorithm (The Core)
- Phase 1: Basic SCAN (Collective Control) - Move in one direction until all calls are cleared.
- Phase 2: Estimated Time of Arrival (ETA) Dispatching - Assign the car that can reach the floor the fastest, considering current load and intermediate stops.
5. Proposed Architecture (Logic Flow)
- State Monitor: Tracks all cars (Position, Direction, Load, Status).
- Request Queue: A centralized buffer for all pending hall calls.
- Optimizer: A function that iterates through available cars and calculates the lowest cost for a new request.
- Executor: Updates the state of each car per "tick" or "time step."
6. Success Metrics
-
Throughput: Number of passengers delivered per 100 time steps.
-
Energy Efficiency: Total distance traveled by all cars combined.
-
Wait Constraint: No single passenger should wait more than $T_{max}$ (to prevent starvation).
7. Definition of Done (DoD)
Implementation of Multi-Car Elevator Scheduling Algorithm using SCAN and ETA-based Optimization
1. Overview
The goal of this project is to develop a simulation-ready elevator control algorithm that optimizes passenger flow in a high-rise environment. The system will transition from a basic directional SCAN algorithm to an intelligent dispatching model that minimizes Average Waiting Time (AWT).
2. Objectives
3. Technical Requirements & Considerations
We are currently evaluating three potential stacks for this implementation:
4. Functional Requirements
R1: Hall Call Management (External)
R2: Car Call Management (Internal)
R3: Dispatching Algorithm (The Core)
5. Proposed Architecture (Logic Flow)
6. Success Metrics
7. Definition of Done (DoD)