Skip to main content

Demand Generator

The Demand Generator is a component responsible for creating travel intentions in the simulation. It produces DEMAND events, which act as the starting point of user behavior.

Events

Consumed EventsEmitted Events
(none)DEMAND

Role of the Demand Generator

The Demand Generator models when and how often users intend to travel. Its primary responsibility is to generate future travel intentions and inject them into the simulation as DEMAND events.

Once emitted, a DEMAND event is delivered to the User Model, which interprets the intention, evaluates candidate routes, and initiates reservation-related actions.

Demand Definition

A DEMAND represents a user’s future intention to travel from an origin (org) to a destination (dst). It expresses what the user wants to do independently of how the trip will be executed (services, vehicles, routing); those are handled downstream by the User Model.

info

A DEMAND must represent a future trip relative to its generation time; if reservation is required it must be generated before dept, and for immediate travel the generation time may equal dept to mean “depart as soon as possible.”

Demand Generation Strategies

Demands are typically generated by a dedicated Demand Generator component, based on the simulation’s modeling objectives.

Common strategies include:

  • Periodic generation: For example, a commuter user may generate a DEMAND event every day.
  • Stochastic generation: DEMAND events may be generated probabilistically to reflect population-level travel patterns.
  • Scenario-driven generation: DEMAND events may be injected at predefined times to simulate events, disruptions, or peak hours.

Design Rationale

Separating Demand generation from decision-making and execution keeps the simulation modular: demand models can be changed independently of routing and service logic, and the event flow cleanly distinguishes intent creation (DEMAND) from intent realization by downstream components.