Skip to content

Proposal : Intelligent Elevator Dispatching System (IEDS) #348

@kimpro82

Description

@kimpro82

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)

  1. State Monitor: Tracks all cars (Position, Direction, Load, Status).
  2. Request Queue: A centralized buffer for all pending hall calls.
  3. Optimizer: A function that iterates through available cars and calculates the lowest cost for a new request.
  4. 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)

  • Core dispatching logic passes edge-case unit tests (e.g., all calls from top/bottom floors).
  • Simulation logs the AWT for at least 50 random passenger requests.
  • README updated with instructions on how to run the simulation and interpret results.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions