Expose Gecode scheduling constraints with (start, duration, end) tasks to MiniZinc
- 主要语言
- C++
- 星标
- 335
- 派生
- 88
- 平均合并
- 1 小时 28 分钟
- 30 天内合并 PR
- 1
描述
In Gecode, many [scheduling constraints](https://www.gecode.org/doc-latest/reference/group__TaskModelIntScheduling.html) constraints take a triple of `start`, `duration`, and `end` variables for each task, while the coresponding constraints in MiniZinc work with only a `start` and `duration`.
The idea is to add new custom constraints in [gecode.mzn](https://github.com/Gecode/gecode/blob/develop/gecode/flatzinc/mznlib/gecode.mzn) for the `cumulative`, `cumulatives`, and `unary` variants and matching posting functions in [the registry](https://github.com/Gecode/gecode/blob/develop/gecode/flatzinc/registry.cpp).
贡献指南
这个仓库没有索引到贡献指南
调研方向
首先阅读 gecode/flatzinc/mznlib/gecode.mzn 以及 gecode/flatzinc/registry.cpp 中对应的 posting 代码。将现有的 scheduling 约束变体与 Gecode 的开始时间、持续时间和结束时间任务表示,以及关联的 MiniZinc 约束进行比较。当 cumulative、cumulatives 和 unary 变体都存在自定义约束及匹配的 posting 函数时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- cpp
- 领域
- tooling
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100