混合求解器¶
混合求解器结合启发式的全局搜索能力与精确求解器的局部优化能力,在质量和速度之间取得平衡。
进化算法 + 修复(GA + Repair)¶
使用遗传算法进行全局搜索,对不可行解通过精确修复算子恢复可行性。
from optagent import solve
solution = solve(
problem,
preset="scheduling_evolutionary_repair",
time_limit=120
)
记忆算法(Memetic)¶
在进化算法的每一代中加入局部搜索改进,兼具全局探索和局部优化。
from optagent import solve
solution = solve(
problem,
preset="scheduling_memetic_quality",
time_limit=300
)
核心流程:
graph LR
A[初始化种群] --> B[评估适应度]
B --> C[选择]
C --> D[交叉]
D --> E[变异]
E --> F[局部搜索改进]
F --> G{终止条件?}
G -- 否 --> B
G -- 是 --> H[输出最优解]
并行组合(Portfolio)¶
同时运行多个不同策略的求解器,取最先完成或质量最好的结果。
from optagent import solve
solution = solve(
problem,
preset="hybrid_portfolio",
config={
"portfolio": ["tabu_search", "cp-sat", "genetic_algorithm"],
"time_limit": 120,
"strategy": "first_feasible" # 或 "best_quality"
}
)
适用场景总结¶
| 混合策略 | 最佳场景 | 时间预算 | 解质量 |
|---|---|---|---|
| GA + Repair | 有修复算子的约束问题 | 中 | 高 |
| Memetic | 需要高质量解 | 高 | 最高 |
| Portfolio | 不确定最佳策略 | 中 | 高 |