Selecting Viewpoints

As already said in section 3.2, different viewpoints can result in completely different models for a problem. Since these resulting models often need sets of constraints that both differ in size and complexity of their propagators, the art in constraint programming consists in finding viewpoints that maximize the CSP's efficiency.

When modeling a problem, you should prefer a viewpoint that needs the fewest set of constraints. In addition, it does not only suffice to have a smallest set of constraints, these constraints are also required to have low complexity and efficient propagation algorithms. As a matter of course you should always use the viewpoints in a way that the constraints and finally the model itself can be clearly described.

Andreas Rossberg 2006-08-28