What does your user need to know to solve a problem?

Up to here, we have seen how to model a problem with the Model object. To solve it, we need to use the Solver object that is obtained from the model as follows:

Solver solver = model.getSolver();

The Solver is in charge of alternating constraint-propagation with search, and possibly learning, in order to compute solutions. This object may be configured in various ways.

Lauching the resolution process

How to look for solutions?

Dealing with solutions

How to deal with Solution?

Search Strategies

How to define search strategies?



How to limit exploration?

Large Neighborhood Search

Using LNS


How to define restart policy?

Multi-thread resolution

How to use several threads to solve a problem?

Last modified 16.03.2020: Update solving part (9d077c6)