跳转至

编排器设计

编排器(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
    }
  }
}

预算分配

编排器按比例分配总时间预算给各个阶段:

总时间 = 120s

Phase 1 (进化搜索): 120 × 0.6 = 72s
Phase 2 (局部搜索):  120 × 0.3 = 36s
Phase 3 (精确修复):  120 × 0.1 = 12s