next up previous
Next: Introduction Up: Tutorial on Search in Previous: Introduction

Search Methods

In this chapter we will take a closer look at the principles and alternative methods of searching for solutions in the presence of constraints. Let us first recall what we are talking about. We assume we have the standard pattern of a constraint program:

solve(Data) :-
        model(Data, Variables),
        search(Variables),
        print_solution(Variables).
The model part contains the logical model of our problem. It defines the variables and the constraints. Every variable has a domain of values that it can take (in this context, we only consider domains with a finite number of values).

Once the model is set up, we go into the search phase. Search is necessary since generally the implementation of the constraints is not complete, i.e. not strong enough to logically infer directly the solution to the problem. Also, there may be multiple solutions which have to be located by search, e.g. in order to find the best one. In the following, we will use the following terminology:




next up previous
Next: Introduction Up: Tutorial on Search in Previous: Introduction

1999-08-07