What is the difference between these two methods to do the search in Minizinc?
First one:
solve :: seq_search([ann1, ann2]) satisfy;
Second one:
solve :: ann1 :: ann2 satisfy;
The big difference is that using seperate annotations does not guarantee an order.
Using :: ann1 :: ann2
might first use the ann2
or ann1
, the order might not even be the same in the produced FlatZinc being send the the solver.
:: seq_search([ann1, ann2])
does guarantee the order to be first ann1
and then ann2
.