【发布时间】:2013-06-17 14:16:13
【问题描述】:
我想编写谓词cumulative/2 的自定义版本(或至少在功能方面类似的谓词)。我查找了 CLP(FD) 库的来源,现在我想知道修改该库(仅通过添加新内容)以合并新的 my_cumulative/2 是否是一个好主意,但与库的 可以使用私有谓词。
我想添加以下功能:
- 我希望任务计划器具有抢先性(这意味着计划的任务可以在多个时间间隔内“拆分”)。
- 除了累积性之外,我还希望它是多资源的(这意味着我可以使用
[limit(3)]代替[limit(2),limit(3),limit(1)];其中每个限制对应于不同的资源) - 我想为每个任务添加优先级,这样优先级较高的任务就有更多的“决策权”,不能被较低的任务调度。
- 我希望“不可调度”的解决方案成为一项任务的可能解决方案。
当我试图添加一个自定义运算符/\ 来计算交叉点时,我想到了这个想法(同样\/ 表示联合),我看到实际上已经在 clpfd.pl 中定义了一个但没有创建模块的一部分。
【问题讨论】:
标签: module prolog swi-prolog clpfd