任务上下文模型
1. 概述
任务上下文负责航班任务术语和恢复输入,供规则校验、航班串生成和航班串编译使用。 当前 Kotlin FlightTaskContext 是数据上下文,不注册优化变量族。
1. 依赖上下文
无。下游上下文消费其中的任务值。
2. 概念 / 实体
1. 航班任务
2. 航段与恢复分配
3. 航班任务串
分配给一架飞机的有序任务序列。
3. 变量
1. 决策变量
无。任务和恢复值是生成列的输入。
2. 辅助变量
无。
4. 谓词
isFlight(t):t 是航班类型任务;recoveryNeeded(t):任务属于恢复集合;
aircraftChangeEnabled(t)、delayEnabled(t) 和 routeChangeEnabled(t):允许的恢复操作分类。
5. 集合
b 中的有序相邻任务对。
6. 中间值
对于航班串中的相邻任务,转场时间由前一任务结束与后一任务开始计算:
7. 断言
每个航班任务都必须有非空标识、有效机场和一致时间范围。对于 Adj_b 中的每个相邻任务对,机场连续性成立:
8. 约束
本上下文本身不贡献求解器约束;状态和时间值由规则与航班串生成可行性服务消费。
9. 目标函数(如适用)
无。成本由生成航班串计算并由编译上下文消费。
10. 算法引用
没有独立算法文档。
11. 通用语言
| 术语 | 符号 | 定义 |
|---|---|---|
| 航班任务 | t | 可调度的航班/恢复单元 |
| 航段 | leg_t | 带机场和时间的任务计划 |
| 恢复分配 | recovery_t | 施加到任务的可选变更 |
| 航班串 | b | 分配给一架飞机的有序任务序列 |
12. 设计决策
| 决策 | 备选 | 原因 |
|---|---|---|
| 将任务数据与编译分开 | 在全局注册任务变量 | 支持多种生成/编译策略 |
13. 变更记录
| 版本 | 变更 | 原因 |
|---|---|---|
| 1.0 | 记录数据型任务边界 | 避免把任务实体写成已求解模型 |