timer(T,Interval)
Create a timer T that posts a time(T) event every Interval milliseconds
timer_start(T)
Start the timer T.
timer_stop(T)
Stop the timer T.
timer_kill(T)
Kill the timer T.
timer_set_interval(T,Interval)
Set the interval of the timer T to Interval
Set variables
X :: L..U
Declarae the domain of X. For example, X :: {}..{a,b,c}, Y::{1}..{1..3}
clpset_var(V)
V is a set variable.
clpset_low(V,Low)
The current lower bound of V is Low.
clpset_up(V,Up)
The current upper bound of V is Up.
clpset_added(E,V)
E is a definite element, i.e., an element included in the lower bound.
clpset_excluded(E,V)
E has been forbidden for V. In other words, E has been excluded from the upper bound of V.
Set expressions:
constant sets
variables
X /\ Y : intersection
X \/ Y : union
X \ Y : difference
\ X : complement
#X : cardinality
Set constraints
X #= Y
Sets X and Y are equal.
X #\= Y
Sets X and Y are different
X subset Y
Sets X and Y are different
X #<- Y
X is an element in Y
X #<\- Y
X is not an element in Y
X #<> Y
X and Y are disjoint
Boolean constraints
X #= Y :
X #\= Y
X #==> Y : e.g. (X #<- S1) #=> (X #<- S2)
X #\/ Y
X #/\ Y
format(Format,Data),
format(Stream,Format,Data)
cumulative(S,D,R,L)
S: [S1,S2,...,Sn] is a list of variables representing start times for jobs
D: [D1,D2,...,Dn] is a list of integers representing durations
R: [R1,R2,...,Rn] is a list of integers representing units of a resource
L: total units of the resource available at any one time.
diffn([[X1,X2,..,Xn,L1,L2,..,Ln],...])
The n-dimensional rectangles R1=[X1,X2...,Xn,L1,L2,...,Ln],...,Rn do
not overlap. Two rectangles R1=[P11,P12,...,P1n,L11,L12,...,L1n] and
R2=[P21,P22,...,P2n,L21,L22,...,L2n] do not overlap if there exists
at least one i such that the two edges and
do not overlap.
count(Val,List,RelOp,Count) :
The number of elements Elm in List that satisfies Elm RelOp Val is Count.