跳转至

调度类预设

针对作业调度(Job Shop)、流水线调度(Flow Shop)等调度问题优化的预设策略。

预设对比

预设 目标 求解器 时间预算 解质量
scheduling_focus 快速可行解 Tabu Search
scheduling_evolutionary_repair 高质量可行解 GA + CP-SAT
scheduling_memetic_quality 最优质量解 Memetic 最高

scheduling_focus

适用场景:需要快速得到可行调度方案的场景,如实时调度、交互式决策。

from optagent import solve

solution = solve(
    problem,
    preset="scheduling_focus",
    time_limit=30  # 30秒内得到可行解
)

策略特点: - 单阶段禁忌搜索 - 低计算开销 - 适合大规模问题

scheduling_evolutionary_repair

适用场景:需要高质量调度方案,问题规模中等,有充足计算时间。

from optagent import solve

solution = solve(
    problem,
    preset="scheduling_evolutionary_repair",
    time_limit=120
)

策略特点: - 三阶段编排:进化搜索 → 局部优化 → 精确修复 - GA 保证全局探索,CP-SAT 保证约束可行性 - 热启动继承提升后续阶段效率

三阶段流程

graph LR
    A[Phase 1: GA<br/>60% 预算<br/>全局搜索] -->|热启动| B[Phase 2: Tabu<br/>30% 预算<br/>局部优化]
    B -->|热启动| C[Phase 3: CP-SAT<br/>10% 预算<br/>精确修复]
    C --> D[最终解]

scheduling_memetic_quality

适用场景:追求最优解质量,计算时间充足,问题规模适中。

from optagent import solve

solution = solve(
    problem,
    preset="scheduling_memetic_quality",
    time_limit=300
)

策略特点: - 记忆算法:每代进化后进行局部搜索 - 全局搜索与局部优化深度结合 - 计算开销大,但解质量最高

选择建议

如何选择调度预设

  • 时间紧迫(< 1分钟):scheduling_focus
  • 质量优先(1-5分钟):scheduling_evolutionary_repair
  • 追求最优(> 5分钟):scheduling_memetic_quality
  • 不确定:使用 auto 让系统根据问题规模自动选择