我有错误/解决方案:5:10 : Syntax Error : Operator expected
nonoverlap(R,Task1,Task2) :-
Task1 = task(_,T1,L1,Rs2),
Task2 = task(_,T2,L2,Rs2),
((member(R,Rs1), member(R,Rs2)) ->
T2 #> T1+L1 % start Task2 after Task1 has finished
#\/ % OR
T1 #> T2+L2 % start Task1 after Task2 has finished
;
true % non-conflicting, do nothing
).
答案 0 :(得分:2)
您需要在文件/模块的开头说明
:- use_module(library(clpfd)).
除此之外,你很可能想说T2 #>= T1 + L1
。
此外,无论顺序如何,都可以说abs(T2-T1) #>= min(L1,L2)
。