t1 = {start=_, duration=2}. t2 = {start=_, duration=5}. t3 = {start=_, duration=4}. t4 = {start=_, duration=3}. t5 = {start=_, duration=1}. cost = start(t5). prec(T1, T2) --> start(T1) + duration(T1) =< start(T2). disj(T1, T2) --> prec(T1, T2) or prec(T2, T1). precedences --> prec(t1, t2) and prec(t2, t5) and prec(t1, t3) and prec(t3, t5) and prec(t1, t3) and prec(t3, t5). disjunctives --> disj(t2, t4) and disj(t3, t4) and disj(t2, t3). ? domain([t1, t2, t3, t4, t5], 0, 20) and precedences and conjunct_ordering([greatest(duration(A) + duration(B)) if ^ is disj(A,B)]) and disjunct_ordering([greatest(duration(A)) if ^ is prec(A, B)]) and minimize(disjunctives, cost).