Skip to content

Crew context model ​

1. Overview ​

Manages crew members, schedules, and transit times in the flight recovery scheduling system, providing crew data required for feasibility checking and cost calculation in bunch generation.

1. Dependent Contexts ​

  1. task (Flight Task)
  2. infrastructure (Infrastructure)

2. Concepts / Entities ​

1. Crew Member (CrewMember) ​

A crew member with identity information, divided into pilots and non-pilots.

typem : Type of crew member m (Operator, Attendant, Other).

workerNom : Worker number of crew member m.

namem : Name of crew member m.

nationalitym : Nationality of crew member m.

2. Pilot (CrewPilotMember) ​

A crew member who is a pilot, delegating identity fields to the underlying Pilot.

rankp : Rank of pilot p (PilotRank).

pilotp : Underlying Pilot object of pilot p.

3. Crew ​

A crew assigned to a flight task, composed of pilot and non-pilot members.

flightc : Flight task assigned to crew c.

membersc : Member list of crew c.

4. Crew Schedule (CrewSchedule) ​

A crew member's schedule mapping flight tasks to their assigned rank.

crewMans : Crew member of schedule s.

scheduless : Flight task to rank mapping of schedule s.

5. Transit Time (TransitTime) ​

Transit time scenario and its required duration based on aircraft and airport relationships.

scenet : Scene of transit time t.

durationt : Required duration of transit time t.


3. Variables ​

The crew context does not directly define optimization variables; its data serves as input parameters for bunch generation.


4. Predicates ​

1. Crew Member Type ​

isPilot : Crew member m is a pilot (CrewPilotMember).

isNotPilot : Crew member m is not a pilot (CrewNotPilotMember).

2. Transit Time Scene ​

isSameAircraft : Previous and next tasks use the same aircraft.

isDomesticNotSameAircraft : Different aircraft but domestic airport.

isInternationalNotSameAircraft : Different aircraft and international airport.


5. Sets ​

1. Crews ​

C : Universal set of all crews.

Ci : Subset of crews assigned to flight task i, ∀i∈I.

2. Crew Members ​

M : Universal set of all crew members.

MP : Subset of pilot members.

MN : Subset of non-pilot members.

Mc : Subset of members in crew c, ∀c∈C.

3. Schedules ​

S : Universal set of all crew schedules.

Sm : Subset of schedules for crew member m, ∀m∈M.

4. Transit Times ​

T : Universal set of all transit time entries.


6. Intermediate Values ​

1. Transit Time Lookup ​

Description: Transit time for given consecutive flight tasks.

transitTime(iprev,isucc)={TSameAircraft,same aircraftTDomestic,different aircraft, domestic airportTInternational,different aircraft, international airportnull,otherwise

7. Assertions ​

1. Crew Member Completeness ​

Description: Every crew must contain at least one member.

∀c∈C(|Mc|≥1)

2. Schedule Continuity ​

Description: In a crew member's schedule, the arrival airport of a consecutive flight task must match the departure airport of the next task.

∀s∈S,∀(iprev,isucc)∈scheduless(iprev.arr=isucc.dep)

8. Constraints ​

The crew context does not directly define optimization constraints; its data indirectly affects bunch generation feasibility via ConnectionTimeCalculator and RuleChecker.


9. Objective Function (if applicable) ​

The crew context does not directly define an objective function.


10. Algorithm References ​

No independent algorithm references in this context.


11. Ubiquitous Language ​

TermSymbolDefinition
CrewCA set of crew members assigned to a flight task
Crew MemberMA crew member with identity information
PilotMPA crew member who operates the aircraft
ScheduleSFlight task assignments for a crew member
Transit TimeTRequired interval between consecutive flights

12. Design Decisions ​

DecisionAlternativesRationaleDate
Separate pilot/non-pilot modelingUnified CrewMember typeDifferent rank systems; separation is clearer-
Enumerate transit time scenesContinuous function modelingLimited number of scenes; enumeration is more intuitive-

13. Change Log ​

VersionChangeReason
v1Initial implementationBasic crew domain modeling