However, the work that has attracted the most attention relates to the integration of CSP solving algorithms into these tools. For this reason, this type of system is sometimes referred to as a finite domain constraint solver. Variables may have integer or symbolic domains. A solution to a CSP is a set of variable-value assignments which satisfies all the constraints. In essence, the algorithms increase the efficiency of the search by looking ahead , and actively using the constraints to prune the search space, thus minimizing backtracking.
Optimization is based on a form of branch and bound .
That is, as soon as a solution is found, a further constraint is added to the effect that the value of the optimizing criterion must be less than the value just found. This causes the system to backtrack until a better solution is found. When no further solutions can be found the optimum value is known. Many of the original applications developed by the CHIP team at ECRC were scheduling related. Configuration involves selecting and arranging parts to achieve particular goals while respecting particular constraints.