Abstract

This paper presents a parallelization of Constraint Programming (CP) solver, based on the portfolio principle, in order to quickly solve constraint satisfaction and optimisation problems. The portfolio principle is widely used in the parallelization of boolean SATisfiability (SAT) and CP solvers. It is based on the running of N search strategies for the same problem using N computing cores. Each core uses its own strategy in order to perform a search that is different form the other ones. The first strategy that responds to the needs of the user stops all other strategies. In the usual portfolio principle, the number of search strategies is limited compared to the current number of the computing cores used by parallel machines. The idea of this article is to run N search strategies for the same CP problem and schedule these strategies using P computing cores (P > N). The novelty is that the scheduling of these N strategies is dynamically performed between the different computing cores. The goal is to adapt the scheduling of the search strategies so as to favour the strategy that finds a solution quickly. The performances obtained with this adaptive portfolio solver are illustrated by solving the CP problems modeled using FlatZinc format and solved using the OR-Tools solver on top of the parallel Bobpp framework.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call