Consulting and audit

We intervene at all levels of knowledge engineering: feasibility study, validation of expertise, technology transfer, system development. Continue

CP PDF Print E-mail

Constraint programming (CP) is an advanced technique to solve complex optimization problems. It lies at the crossroads of many branches: artificial intelligence, operational research, ...

Efficiency of constraint programming is that it allows to separate the representation of the problem (definition of constraints and objectives) of solving. The designer of a program using an engine resolution constraints avoid described algorithm or sequence to get the solution but models space of solutions and what he does not want in this space. Then, the engine iterates through this space to find one or more solutions to the optimal solution. This system called "solver" has the ability to browse the entire solutions optimally through different techniques: reduction of space research, spread of constraints, "match", use of timers......

Daumas Autheman et Associés uses constraint programming for fields where find quickly an approiate solution is strategic stake.

PC advantages :

  • Several answers possible: a solution, all the solutions, the optimal solution
  • Combination of constraints of different natures in a homogeneous environment, for example set constraints, numerical constraints, Boolean constraints, disjunctives
  • Flexibility: it is possible to add news constraints only programming theses new constraints.
  • Inheritance of artificial intelligence techniques: symbolic processing, logic programming, problem solving techniques
  • Very effective when there is a large number of constraints difficult to satisfy simultaneously.
  • Search algorithms that can adapt to exact methods or heuristics.

Fields where CP is making a great performance :

  • Combinatorial and logical allocation problems (very efficient especially when it must take into account the interactions between the different actors).
  • Too irregular problems for mathematical optimization.