Bunch compilation context model
1. Overview
Compiles flight task bunches into the column generation optimization model, managing the registration of task-time, flow, fleet-balance, flight-link, and flight-capacity constraints and incremental column addition.
1. Dependent Contexts
- task (Flight Task)
- rule (Rule)
- framework (gantt_scheduling)
2. Concepts / Entities
1. Compilation
The set of decision variables for flight task bunches in column generation, specialized as BunchCompilation<FlightTaskBunch, FltX, FlightTask, Aircraft, FlightTaskAssignment>.
2. Flight Link (FlightLink)
Represents a connection between two consecutive unrecovered flight legs with a split cost.
3. Fleet Balance CheckPoint
A combination of airport and aircraft minor type, used to track aircraft distribution across airports.
4. Flight Capacity
Tracks passenger and cargo capacity expressions across flight task bunches.
3. Variables
1. Decision Variables
2. Auxiliary Variables
4. Predicates
1. Task Type
isFlight : Task
isRecoveryNeeded : Task
2. Capacity Type
hasPassenger : Aircraft of flight task
hasCargo : Aircraft of flight task
5. Sets
1. Bunches
2. Tasks
3. Links
4. Checkpoints
6. Intermediate Values
1. Link Expression
Description: The number of selected bunches covering link
2. Fleet Balance Expression
Description: The number of aircraft arriving at checkpoint
3. Passenger Capacity Expression
Description: Total passenger capacity for flight task
4. Cargo Capacity Expression
Description: Total cargo capacity for flight task
7. Assertions
1. Link Coverage Consistency
Description: Each link's coverage count must be consistent with the task decision variables of bunches containing it.
2. Fleet Balance Consistency
Description: The aircraft count at each checkpoint must match the original plan.
8. Constraints
1. Task Coverage Constraint
[CN]: 任务覆盖约束
Description: Every flight task that requires recovery must be covered by exactly one selected bunch.
2. Link Slack Constraint
[CN]: 链接松弛约束
Description: The link coverage count plus its slack variable must be at least the threshold.
3. Fleet Balance Constraint
[CN]: 车队平衡约束
Description: The number of aircraft arriving at each checkpoint plus its slack variable must equal the expected amount.
9. Objective Function (if applicable)
Description: Minimize total recovery cost including bunch costs and slack penalties.
10. Algorithm References
| Algorithm Name | File Path | Referenced In | Brief Description |
|---|---|---|---|
| Threshold Slack | exampleThresholdSlack | Section 3 Auxiliary Variables | Threshold slack function for link and fleet balance |
11. Ubiquitous Language
| Term | Symbol | Definition |
|---|---|---|
| Bunch | An ordered sequence of flight tasks assigned to a single aircraft | |
| Compilation | Compilation | The set of decision variables for column generation |
| CheckPoint | A combination of airport and aircraft minor type | |
| Link | A connection between two consecutive flight legs | |
| Split Cost | splitCost | Cost allocation for a link |
12. Design Decisions
| Decision | Alternatives | Rationale | Date |
|---|---|---|---|
| Use threshold slack instead of hard constraints | Hard constraints, linear relaxation | Allows infeasible solutions with penalty, improving solving flexibility | - |
13. Change Log
| Version | Change | Reason |
|---|---|---|
| v1 | Initial implementation | Basic column generation compilation |