编排器设计¶
编排器(Orchestrator)是 OptAgent 的"大脑",负责协调多阶段、多策略的求解流程。
核心职责¶
graph TB
subgraph "Orchestrator"
P[Phase Planner]
SM[State Manager]
FB[Fallback Handler]
MR[Merge & Rank]
end
P -->|阶段计划| SM
SM -->|执行状态| FB
FB -->|回退策略| P
SM -->|所有结果| MR
MR -->|最终解| OUT[Output]
| 职责 | 描述 |
|---|---|
| 阶段编排 | 将求解过程分为多个阶段,每个阶段有不同的策略和预算 |
| 状态管理 | 维护求解过程中的中间状态,支持热启动继承 |
| 回退处理 | 当主策略失败或效果不佳时,自动切换备选策略 |
| 结果合并 | 合并多个并行求解器的结果,选择最优解 |
配置结构¶
编排器通过 Preset Config 驱动:
{
"orchestrator": {
"phases": [
{
"type": "evolutionary",
"budget": 0.6,
"solver": "genetic_algorithm",
"config": {"population_size": 50}
},
{
"type": "local_search",
"budget": 0.3,
"solver": "tabu_search",
"warm_start": true
},
{
"type": "exact_repair",
"budget": 0.1,
"solver": "cp-sat",
"warm_start": true
}
],
"fallback": {
"enabled": true,
"strategy": "portfolio",
"timeout_per_phase": 30
}
}
}
预算分配¶
编排器按比例分配总时间预算给各个阶段: