系统概览¶
OptAgent 采用分层架构设计,以 DAG IR(有向无环图中间表示)为核心,贯穿建模、分析、求解与输出的完整流程。
架构分层¶
graph TB
subgraph "Modeling Layer"
A[Builder API] --> B[ProgramSpec]
end
subgraph "DAG IR Layer"
B --> C[DAG Graph]
C --> D[Node / Edge / Attribute]
end
subgraph "Analyzer Layer"
C --> E[Decomposer]
E --> F[Rule Engine]
F --> G[Analysis Plan]
end
subgraph "Strategy Recommendation"
G --> H[Feature Extraction]
H --> I[Preset Selector]
end
subgraph "Orchestrator Layer"
I --> J[Multi-Phase Executor]
J --> K[State Manager]
K --> L[Fallback Handler]
end
subgraph "Solver Layer"
L --> M[Heuristic Solver]
L --> N[Exact Solver]
L --> O[Hybrid Solver]
end
subgraph "Output Layer"
M --> P[Solution]
N --> P
O --> P
P --> Q[Report / Visualize]
end
核心设计原则¶
DAG IR 作为唯一真实来源
所有问题结构信息都通过 DAG IR 表达。建模层生成 IR,分析器读取 IR,求解器基于 IR 工作。这确保了整个流水线的数据一致性。
策略与机制分离
编排器(Orchestrator)负责"何时做什么",求解器负责"怎么做"。这种分离使得可以独立扩展求解策略和求解机制。
组件交互¶
| 组件 | 职责 | 输入 | 输出 |
|---|---|---|---|
| Builder | 提供建模 API | 用户问题描述 | ProgramSpec |
| DAG IR | 问题结构的中间表示 | ProgramSpec | 图结构 |
| Analyzer | 问题分析与分解 | DAG IR | Analysis Plan |
| Strategy Recommender | 推荐最优策略 | Analysis Plan + Features | Preset Config |
| Orchestrator | 多阶段执行协调 | Preset Config + DAG IR | Execution Trace |
| Solver | 具体求解执行 | DAG IR + Config | Solution |
| Output | 结果输出与可视化 | Solution | Report / Chart |