The Planning Lifecycle: From Schedule to Day-of-Ops
The airline crew scheduling problem is traditionally solved in distinct, consecutive steps to manage the NP-hard mathematical complexity. A Rave Developer's code spans across this entire lifecycle, but operates differently at each stage.
The Four Stages of Airline Optimization
flowchart LR
A[1. Network Planning<br>Flight Timetable] --> B[2. Crew Pairing<br>Anonymous Trips]
B --> C[3. Crew Rostering<br>Named Assignments]
C --> D[4. Crew Tracking<br>Day-of-Ops Recovery]
1. Network Planning (Schedule Generation)
Months in advance, the commercial planning department defines the flight schedule (the timetable of aircraft moving between cities). The crew optimizer takes this scheduled flight network as its input data.
2. Crew Pairing (Optimization)
In the crew pairing step, the goal is to find the least costly set of pairings (consecutive flights flown by a single crew) that covers every single flight in the given network.
-
State: Crews are anonymous.
-
Focus: Creating efficient, legal blocks of work that minimize deadheading and layover costs.
-
Rave Context: Rule execution focuses heavily on the
Leg,Duty, andTriplevels.
3. Crew Rostering (Assignment)
In the rostering step, the actual crew members are named and assigned to the anonymous pairing teams generated in the previous step.
- State: Crews are identified individuals.
- Focus: Managing vacations, training days, union bidding, and legal rest between pairings.
- Rave Context: Rule execution scales up to the
Roster/Planlevel, looking at 30-day horizons.
4. Crew Tracking (Day-of-Ops / Dispatch)
On the actual day of the flight, reality strikes. Weather, mechanical failures, or crew sickness break the optimized rosters.
- State: Real-time operational recovery.
- Focus: Repairing broken pairings on the fly while maintaining strict EASA FTL legality.
- Rave Context: The Rave rule engine evaluates legality in real-time as dispatchers drag-and-drop flights to different crew members in the Jeppesen UI.