toulbar2
Propagation loop

Propagates soft local consistencies and bounded variable elimination until all the propagation queues are empty or a contradiction occurs.
While (queues are not empty or current objective bounds have changed):

  1. queue for bounded variable elimination of degree at most two (except at preprocessing)
  2. BAC queue
  3. EAC queue
  4. DAC queue
  5. AC queue
  6. monolithic (flow-based and DAG-based) global cost function propagation (partly incremental)
  7. NC queue
  8. returns to #1 until all the previous queues are empty
  9. DEE queue
  10. returns to #1 until all the previous queues are empty
  11. VAC propagation (not incremental)
  12. returns to #1 until all the previous queues are empty (and problem is VAC if enable)
  13. exploits goods in pending separators for BTD-like methods

Queues are first-in / first-out lists of variables (avoiding multiple insertions). In case of a contradiction, queues are explicitly emptied by WCSP::whenContradiction