跳转至

预设示例

预设示例展示如何少写编排配置:用户可以选择内置 preset、传入外部 preset 文件,或者让 Orchestrator().run(program) 自动选择策略。

https://github.com/Dongbox/optagent-examples/tree/main/examples/presets

问题说明

  • scheduling_memetic_quality_preset.py:调度问题使用 memetic quality preset,强调 repair 和 local improvement。
  • scheduling_evolutionary_repair_preset.py:小型 job shop 使用 evolutionary repair preset。
  • scheduling_evolutionary_repair_large_preset.py:较大的两机 flow-shop 风格模型使用同类 preset。
  • routing_blackbox_preset.py:黑盒路径目标使用显式 routing preset。
  • routing_blackbox_auto_preset.py:不传 preset,由编排器自动选择并在结果 metadata 中暴露选择结果。
  • hybrid_production_preset.py:混合生产计划使用 hybrid-capable preset。

目录结构

examples/presets/
  README.md
  scheduling_memetic_quality_preset.py
  scheduling_evolutionary_repair_preset.py
  scheduling_evolutionary_repair_large_preset.py
  routing_blackbox_preset.py
  routing_blackbox_auto_preset.py
  hybrid_production_preset.py

代码示例

from optagent import BuiltInStrategyPreset, Orchestrator

program = build_program()
result = Orchestrator().run(
    program,
    preset=BuiltInStrategyPreset.SCHEDULING_EVOLUTIONARY_REPAIR,
)

自动选择 preset 时:

result = Orchestrator().run(program)
print(result.metadata.get("selected_preset"))

运行

PYTHONPATH=. python examples/presets/scheduling_evolutionary_repair_preset.py
PYTHONPATH=. python examples/presets/routing_blackbox_auto_preset.py
PYTHONPATH=. python examples/presets/hybrid_production_preset.py

注意事项

  • preset 示例适合展示用户侧 API,不适合替代底层能力测试。
  • 需要解释阶段行为时,仍应查看 result.solver_traces
  • 外部 preset 文件应使用公开、可审计的 JSON/YAML,不包含内部路径。