Extensible job-shop scheduling models and heuristics for MoonBit.
moon update
moon check --deny-warn
moon test --deny-warn
moon run cmd/demoimport {
"ljs448/moonbitJobShop/src" @jobshop,
}
let result = @jobshop.dispatch(input)# 最小可运行示例,打印排程和甘特事件
moon run cmd/demo
# 运行 small / medium / large 固定数据集,并打印可复现指标
moon run cmd/benchmarksrc/
├── model / schedule / validation_extra 领域模型、调度结果与硬约束
├── dispatch_options / dispatch_lookahead 派工规则与前瞻排序
├── calendar / dynamic_capacity 停机日历与容量投影
├── search_* / neighborhood / random 确定性邻域和优化搜索
├── dynamic_events / rolling_window 动态事件与滚动重调度
├── objective* / pareto* / metrics* 目标函数、多目标和运营指标
├── analysis / setup_optimizer 瓶颈、关键路径和换型分析
├── benchmark* / sensitivity 基准数据集与 what-if 分析
└── format_* / text_render / trace_export 机器可读和人类可读输出| 场景 | jobs | machines | operations | repeats | makespan | tardiness | score |
|---|---|---|---|---|---|---|---|
| tiny-2x2 | 2 | 2 | 4 | 5 | 11 | 0 | 51 |
| small-6x3 | 6 | 3 | 24 | 3 | 70 | 74 | 681 |
| medium-12x4 | 12 | 4 | 60 | 2 | 136 | 446 | 2852 |
| large-20x5 | 20 | 5 | 120 | 1 | 219 | 1496 | 8483 |
moon run cmd/benchmarkmoon fmt --check
moon check --deny-warn
moon test --deny-warn
moon test --target native --deny-warn
moon test --target all --deny-warn
moon info$prod = (Get-ChildItem src -Filter *.mbt | Where-Object {$_.Name -notlike '*_test.mbt'} | Get-Content | Measure-Object -Line).Lines
$tests = (Get-ChildItem src -Filter '*_test.mbt' | Get-Content | Measure-Object -Line).LinesExtensible job-shop scheduling models and heuristics for MoonBit.