精确求解器¶
精确求解器保证在可行解空间中找到全局最优解,适用于中小规模问题。
CP-SAT(约束规划)¶
基于 Google OR-Tools 的 CP-SAT 求解器,擅长处理调度、排列等组合约束。
优势场景: - 作业调度(Job Shop / Flow Shop) - 排列与组合问题 - 含复杂逻辑约束的问题
MILP(混合整数线性规划)¶
调用商业或开源 MILP 求解器(如 Gurobi、CBC),适合线性规划问题。
from optagent import solve
solution = solve(
problem,
solver="milp",
time_limit=300,
config={
"mip_gap": 0.01, # 允许 1% 的最优性差距
"threads": 4
}
)
优势场景: - 线性规划(LP) - 混合整数规划(MIP) - 背包问题、指派问题、选址问题
求解器对比¶
| 特性 | CP-SAT | MILP |
|---|---|---|
| 建模能力 | 逻辑约束、调度约束 | 线性约束 |
| 求解速度 | 中-快 | 中 |
| 最优性保证 | 是 | 是 |
| 适用问题类型 | 组合、调度 | 线性、网络流 |
| 内存占用 | 中 | 高 |