Search code examples
searchheuristicsconstraint-programmingminizinc

Difference between seq_search([ann1, ann2]) and ann1 :: ann2?


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; 

Solution

  • 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.