SUNNY-CP
sunny-cp is a parallel portfolio solver for solving Constraint Satisfaction/Optimization Problems
sunny-cp [5] is a parallel portfolio solver that allows one to solve a Constraint (Satisfaction/Optimization) Problem defined in the MiniZinc language. It implements the SUNNY algorithm and extends its sequential version (see detailed description). sunny-cp is built on top of state-of-the-art constraint solvers, including: Choco, Chuffed, HaifaCSP, JaCoP, MinisatID, OR-Tools, Picat, Chuffed, and Gecode.
Hardware architecture: X64
Install & Run:To install sunny-cp it is possible to use Docker available for the majority of the operating systems. It can then be used by command line or by simply sending a post request to the server deployed by using docker. The Docker image is available in Docker Hub. sunny-cp can be also used a service and access by using HTTP post requests.
Additional information: sunny-cp essentially implements the SUNNY algorithm described in [1][2][3] and extends its sequential version [4]. sunny-cp is built on top of state-of-the-art constraint solvers, including: Choco, Chuffed, HaifaCSP, JaCoP, MinisatID, OR-Tools, Picat, Chuffed, and Gecode. In a nutshell, sunny-cp relies on two sequential steps: PRE-SOLVING: consists in the parallel execution of a (maybe empty) static schedule and the neighborhood computation of underlying k-NN algorithm; SOLVING: consists in the parallel and cooperative execution of a number of the predicted solvers, selected by means of SUNNY algorithm. sunny-cp won the gold medal in the open track of MiniZinc Challenges 2015, 2016, and 2017, and the silver medal in 2018 and 2019 [6].
References:
- [1] R. Amadini, M. Gabbrielli, and J. Mauro. SUNNY: a Lazy Portfolio Approach for Constraint Solving 2013. In ICLP, 2014.
- [2] R. Amadini, M. Gabbrielli, and J. Mauro. Portfolio Approaches for Constraint Optimization Problems. In LION, 2014.
- [3] R. Amadini, and P.J. Stuckey. Sequential Time Splitting and Bounds Communication for a Portfolio of Optimization Solvers. In CP, 2014.
- [4] R. Amadini, M. Gabbrielli, and J. Mauro. SUNNY-CP: a Sequential CP Portfolio Solver. In SAC, 2015.
- [5] R. Amadini, M. Gabbrielli, and J. Mauro. A Multicore Tool for Constraint Solving. In IJCAI, 2015.
- [6] MiniZinc Challenge webpage. http://www.minizinc.org/challenge.html