17 lines
642 B
MiniZinc
17 lines
642 B
MiniZinc
var 1..5: s; % <-- Status @ \Vlabel{line:6:status:start}@
|
|
constraint status(s);
|
|
var bool b1;
|
|
constraint int_ne_reif(s,1,b1); %@\Vlabel{line:6:status:end}@ b1 <-> status() != START
|
|
|
|
var 0.0..1.0: rnd1; % <-- Random Number @\Vlabel{line:6:x1:start}@
|
|
constraint float_uniform(0.0,1.0,rnd1);
|
|
var bool: b2;
|
|
constraint float_gt_reif(rnd1,0.2,b2);
|
|
var bool: b3;
|
|
constraint bool_and(b1,b2,b3);
|
|
var 1..3: x1;
|
|
constraint int_sol(x[1],x1); % <-- Previous Solution @\Vlabel{line:6:x1:sol}@
|
|
% (status() != START /\ uniform(0.0, 1.0) > 0.2) -> x[1] = sol(x[1])
|
|
constraint int_eq_imp(x[1],x1,b3); % <-- Neighbourhood Constraint @\Vlabel{line:6:x1:end}@
|
|
...
|