Skip to content

Passenger context model ​

1. Overview ​

Manages passenger cancellations, class changes, flight changes, and amount tracking in the flight recovery scheduling system, registering passenger-related constraints and objectives into the column generation model.

1. Dependent Contexts ​

  1. task (Flight Task)
  2. bunch_compilation (Bunch Compilation)

2. Concepts / Entities ​

1. Passenger ​

A passenger with an amount and a multi-leg flight list, each leg assigned a passenger class.

idp : Unique identifier of passenger p.

amountp : Amount of passenger p (greater than 1 for group passengers).

flightsp : Leg list of passenger p, each entry is a (flight task, class) pair.

routep : Airport route of passenger p.

2. Flight Passenger (FlightPassenger) ​

An association linking a passenger to a specific flight with an optional previous leg.

flightfp : Associated flight task.

passengerfp : Associated passenger.

prevfp : Previous leg's flight passenger association (optional).

clsfp : Passenger's class on this flight.

amountfp : Passenger amount.

3. Passenger Cancel (PassengerCancel) ​

Tracks passenger cancellation decision variables in the column generation formulation.

passengerCancelfp : Cancellation variable for flight passenger fp.

4. Passenger Change (PassengerChange) ​

Tracks passenger class change and flight change decision variables in the column generation formulation.

passengerClassChangefp,cls : Variable for flight passenger fp changing to class cls.

passengerFlightChangefp,f′,cls : Variable for flight passenger fp changing to flight f′ and class cls.

5. Passenger Amount (PassengerAmount) ​

Computes passenger amount expressions per flight and class, accounting for cancellations and changes.

passengerAmountf,cls : Passenger amount expression for flight f at class cls.


3. Variables ​

1. Decision Variables ​

cfp : Cancellation amount for flight passenger fp, dimensionless, domain [0,amountfp], integer, represents the number of cancelled passengers, ∀fp∈FP.

sfp,cls : Class change amount for flight passenger fp to class cls, dimensionless, domain [0,amountfp], integer, ∀fp∈FP,∀cls∈CLS∖{fp.cls}.

rfp,f′,cls : Flight change amount for flight passenger fp to flight f′ and class cls, dimensionless, domain [0,amountfp], integer, ∀fp∈FP,∀f′∈toFlightsfp.flight,∀cls∈CLS.

2. Auxiliary Variables ​

No additional auxiliary variables.


4. Predicates ​

1. Passenger Status ​

isCancelled : Flight passenger fp is cancelled (cfp>0).

isClassChanged : Flight passenger fp has a class change.

isFlightChanged : Flight passenger fp has a flight change.

isTransfer : Passenger p is a transfer passenger (route contains more than 2 airports).


5. Sets ​

1. Flight Passengers ​

FP : Universal set of all flight passenger associations.

FPf : Subset of flight passengers on flight f, ∀f∈F.

FPp : Subset of flight passengers for passenger p, ∀p∈P.

2. Flights ​

F : Universal set of all flight tasks.

Ffp : Subset of alternative flights for flight passenger fp (same origin and destination).

3. Classes ​

CLS : Universal set of all passenger classes (PassengerClass enum).


6. Intermediate Values ​

1. Passenger Amount Expression ​

Description: Net passenger amount for flight f at class cls, accounting for cancellations, class changes, and flight changes.

passengerAmountf,cls=∑fp∈FPf(1[fp.cls=cls]⋅amountfp−cfp−1[fp.cls=cls]⋅∑cls′∈CLSsfp,cls′−1[fp.cls=cls]⋅∑f′,cls′rfp,f′,cls′+∑cls′sfp,cls+∑fp′∈FP:f∈Ffp′rfp′,f,cls)

7. Assertions ​

1. Passenger Route Continuity ​

Description: In a passenger's leg list, the arrival airport of a consecutive leg must match the departure airport of the next leg.

∀p∈P,∀k∈[1,|flightsp|)(flightsp[k−1].arr=flightsp[k].dep)

2. Flight Type Consistency ​

Description: All legs of a passenger must be flight types.

∀p∈P,∀(f,cls)∈flightsp(f.isFlight)

8. Constraints ​

1. Passenger Cancel Minimization ​

[CN]: 乘客取消最小化

Description: Minimize the total number of cancelled passengers (objective function term).

min∑fp∈FPwfp⋅cfp

2. Passenger Class Change Minimization ​

[CN]: 乘客舱位变更最小化

Description: Minimize the total number of class-changed passengers (objective function term).

min∑fp∈FP∑cls∈CLS∖{fp.cls}wfp⋅sfp,cls

3. Passenger Flight Change Minimization ​

[CN]: 乘客航班变更最小化

Description: Minimize the total number of flight-changed passengers (objective function term).

min∑fp∈FP∑f′∈Ffp∑cls∈CLSwfp⋅rfp,f′,cls

4. Passenger Flight Capacity Constraint ​

[CN]: 航班乘客容量约束

Description: The passenger amount per flight per class must not exceed available capacity.

s.t.passengerAmountf,cls≤capacityf,cls,∀f∈F,∀cls∈CLS

5. Passenger Route Cancel Constraint ​

[CN]: 路线取消约束

Description: If any leg of a passenger is cancelled, all legs of the entire route are cancelled.

s.t.cfp=cfp′,∀p∈P,∀fp,fp′∈FPp

9. Objective Function (if applicable) ​

Description: Minimize the weighted sum of passenger cancellations, class changes, and flight changes.

min∑fp∈FP(wfpcancel⋅cfp+∑clswfpclass⋅sfp,cls+∑f′,clswfpflight⋅rfp,f′,cls)

10. Algorithm References ​

No independent algorithm references in this context.


11. Ubiquitous Language ​

TermSymbolDefinition
PassengerPA traveler with amount and multi-leg flight list
Flight PassengerFPAssociation between a passenger and a specific flight
CancelcNumber of cancelled passengers
Class ChangesNumber of passengers changing class
Flight ChangerNumber of passengers changing flight
RouterouteSequence of airports visited by a passenger

12. Design Decisions ​

DecisionAlternativesRationaleDate
Separate cancel/change modelingUnified recovery variableDifferent business semantics and penalty weights-
Route-level cancel linkageIndependent per-leg cancellationPassenger experience: partial cancellation is meaningless-

13. Change Log ​

VersionChangeReason
v1Initial implementationBasic passenger domain modeling