This paper 1 presents a parallelization of the Constraint Programming solver OR-Tools, using the parallel framework Bobpp. The principle of the parallelization is to assign one sequential OR-Tools solver per core and to communicate work or nodes using the Bobpp global priority queue. As usual the communication or migration of work between solvers is a kind of Work Stealing. But here we have to deal with a specific overcost. By using OR-Tools, it is possible to record the path from the root of the tree to a node so as to stop the search at a precise node. However, to start the search on a sub-tree, the entire path from the root of the main tree to the root of the sub-tree is to be replayed. This leads to additional costs to the parallel search. This paper presents new strategies using a Work Stealing technique to choose good nodes of the searchspace and assigns each sub-tree during the execution of the algorithm in order to reduce the extra costs due to OR-Tools solver.These strategies are tested with problem modeled in ORTools for imbalanced search tree, despite the additional costs add by OR-Tools a speed-up of 8.04 must to be reached with N-Queens problem using 12 cores and speed-up of 37.73 with Golomb Ruler problem using 48 cores.
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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.