Presentation is loading. Please wait.

Presentation is loading. Please wait.

SUNNY-CP: A Multicore Tool for Constraint Solving Jacopo Mauro University of Oslo NordConsNet Uppsala, May 2017.

Similar presentations


Presentation on theme: "SUNNY-CP: A Multicore Tool for Constraint Solving Jacopo Mauro University of Oslo NordConsNet Uppsala, May 2017."— Presentation transcript:

1 SUNNY-CP: A Multicore Tool for Constraint Solving Jacopo Mauro University of Oslo NordConsNet Uppsala, May 2017

2 Portfolio Approaches in CP
IDEA: combine different CP solvers to get an overall better Portfolio Solver PORTFOLIO SOLVER SELECTED SOLVER(s) NEW, UNSEEN PROBLEM ... CSP / COP S1 Sm S1, …, Sk DATASET (KNOWN PROBLEMS) FEATURE VECTOR FV = (F1, …, Fd) (MACHINE LEARNING) SOLVER(S) SELECTION

3 Motivations SAT portfolio solvers → effective in competitions
Lack of CP portfolio solvers sunny-cp only portfolio entrant since MiniZinc Challenge 2014 (first version sequential) GOAL: provide an effective, usable, and Parallel CP Portfolio Solver

4 sunny-cp Parallel – many cores exploited
Dynamic – solvers selection on-line Cooperative – bounds communication Configurable – different user options Modern – contains state-of-the-art solvers

5 SUNNY Minimizing the probability of choosing the wrong solver(s)
SUb-portfolio: only a subset of solvers is scheduled k-NN algorithm: solvers selection relies on the k-NN algorithm LazY approach: no explicit ML model learned off-line (like RF, SVM, …)

6 Scheduling Solve instance with 4 solvers si, timeout T = 1800 s, backup solver BK = s3, k = 5, neighborhood {p1, …, p5 }, Best sub-portfolios: {s1,s2,s3}, {s1,s2,s4}, {s2,s3,s4} [0, T] is divided in = 6 slots of T/6 = 300 s: 2 assigned to s1, 1 to s2, 2 to s4, 1 to BK = s3 After sorting slots by AST, the resulting schedule is: p1 p2 p3 p4 p5 AST s1 T 3 278 1136.2 s2 593 1558.6 s3 36 1452 1377.6 s4 122 60 1116.4 s4 s1 s3 s2 600 1200 1500 1800 time

7 Parallel schedule How to parallelise SUNNY sequential schedule on c > 1 cores? IDEA: First c – 1 solvers on c – 1 cores, the remaining solvers on the last core Sequential schedule s4 s1 s3 s2 600 1200 1500 1800 Time Time s1 s3 Corresponding parallel schedule on c = 3 cores s4 900 s2 1800 Core 1 Core 2 Core 3 Time

8 SCHEDULE PARALLELISATION
Architecture INPUT PROBLEM + PARAMETERS PRE-SOLVING STATIC SCHEDULE NEIGHBOURHOOD DETECTION C N(p, k) Yes No Solved? SOLVING SCHEDULE PARALLELISATION IPσ,c DYNAMIC SCHEDULE OUTPUT Time SAT UNS UNK UNB OPT

9 Technicalities Input problem defined in MiniZinc
Default portfolio of 12 solvers: Chuffed, MZN/Gurobi, G12/FD, G12/LazyFD, Choco, Gecode, HaifaCSP, iZplus, MinisatID, Opturion CPX, OR-Tools, JaCoP, Mistral, and Picat-SAT mzn2feat extracts 95 features from scaled in range [-1, 1], constant features are removed k usually square root of knowledge base

10 Bounds Communication COP schedule takes into account quality
COPs execution is cooperative Best objective bound z found by solver S is obsolete S is restarted Injecting a better bound z* can speed up the search → even outperform the Virtual Best Solver

11 Validation 10-fold cross validation exploiting 1, 2, 4, 8 cores on:
5524 CSPs 4864 COPs

12 RCPSP Example Resource-Constrained Project Scheduling Problem (2904 instances in MiniZinc benchmark → 647 hard) Resources Tasks Dependencies Makespan

13 Better than VBS OBJ OPT

14 MiniZinc Challenge Use Borda Count to rank
Sequential version for 2014 → honorable mention Winner and gold medalist in 2015 Gold medalist in 2016

15 MiniZinc Challenge 2015 * → parallel solver

16 MiniZinc Challenge 2016 * → parallel solver

17 Results updated (no bugs)
* → parallel solver

18 ICON Challenge on Algorithm Selection (2015)
ASlib → library to evaluate performances of algorithm selectors 13 scenarios We submitted SUNNY

19 New Findings (by others)
Lindauer et al. → k matters: needs to be learned

20 Future and Ongoing Work
Understand the concurrent interaction of solver What to share? When? Impact on race conditions on memory Need better solver support! Stochastic solvers into the picture Parallel execution of parallel solvers Other problems / other domains (ASLIB) What to do with buggy solvers?

21 sunny-cp Open source and publicly available
Welcome to play with it

22 ...Thanks for your attention!


Download ppt "SUNNY-CP: A Multicore Tool for Constraint Solving Jacopo Mauro University of Oslo NordConsNet Uppsala, May 2017."

Similar presentations


Ads by Google