Glossary ยท approach
Constraint Programming
Optimization paradigm where the focus is on a solution satisfying a set of constraints โ particularly strong for scheduling and assignment problems.
CP
Constraint Programming (CP) is an optimization approach that defines a problem as 'variables + constraints' and searches for solutions that satisfy all constraints. The difference from mixed-integer programming (MIP): MIP works on linear equations and minimizes/maximizes a cost/benefit function; CP expresses logical constraints directly and focuses first on finding a feasible solution, then improving it. For problems with a 'zero conflicts, then optimize' structure โ scheduling, course timetabling, assignment, shift planning, puzzles, configuration โ CP typically delivers faster solutions than MIP. Several mature open-source constraint programming engines are available; commercial products also exist.
รrnek
A school course timetable: 50 teachers and 30 classes under many constraints. The CP solver expresses 'variables = time + room for each course', 'constraints = no conflicts'; it tries variable assignments under the constraints and finds a solution in seconds or minutes.