Skip to content

Task context model ​

1. Overview ​

The task context owns the flight-task vocabulary and recovery input used by rule checking, bunch generation, and bunch compilation. The current Kotlin FlightTaskContext is a data context; it does not register an optimization variable family.

1. Dependent Contexts ​

None. Downstream contexts consume its task values.


2. Concepts / Entities ​

1. Flight task ​

idt: stable task identifier; dept,arrt: departure and arrival airports; timet: scheduled/actual time range; aircraftt: assigned or enabled aircraft; statust: recovery permissions and hard-limit flags.

2. Flight leg and recovery assignment ​

legt: flight-leg plan and route; recoveryt: optional aircraft, time, or route change; durationt: task duration.

3. Flight-task bunch ​

An ordered sequence assigned to one aircraft. Bb is its task sequence, aircraftb its executor, and costb its calculated cost.


3. Variables ​

1. Decision Variables ​

None. Task and recovery values are inputs to generated columns.

2. Auxiliary Variables ​

None.


4. Predicates ​

isFlight(t): task t is a flight-type task. recoveryNeeded(t): the task is in the recovery set. aircraftChangeEnabled(t), delayEnabled(t), and routeChangeEnabled(t) classify allowed recovery operations.


5. Sets ​

T: all flight tasks; TF: flight-type tasks; TR: tasks requiring recovery; A: aircraft; B: candidate task bunches. Adjb: ordered adjacent task pairs in candidate task bunch b.


6. Intermediate Values ​

For consecutive tasks in a bunch, the transition time is calculated from the predecessor's end and successor's start:

connectionTime(t,t′)=startt′−endt

7. Assertions ​

Every flight task has a nonblank identifier, valid airports, and a consistent time range. For every adjacent pair in Adj_b, airport continuity holds:

∀(t,t′)∈Adjb:arrt=dept′

8. Constraints ​

This context contributes no solver constraints by itself. Its status and time values are consumed by the rule and bunch-generation feasibility services.


9. Objective Function (if applicable) ​

None. Cost is calculated for a generated bunch and consumed by compilation.


10. Algorithm References ​

No independent algorithm document.


11. Ubiquitous Language ​

TermSymbolDefinition
flight tasktschedulable flight/recovery unit
flight legleg_ttask plan with airports and time
recovery assignmentrecovery_toptional change applied to a task
bunchbordered tasks assigned to one aircraft

12. Design Decisions ​

DecisionAlternativeRationale
keep task data separate from compilationregister task variables globallypermits multiple generation/compilation policies

13. Change Log ​

VersionChangeReason
1.0Documented the data-only task boundaryAvoid presenting task entities as a solved model