topic 7 solving technologies
play

Topic 7: Solving Technologies (Version of 26th November 2020) - PowerPoint PPT Presentation

Topic 7: Solving Technologies (Version of 26th November 2020) Jean-No el Monette and Pierre Flener Optimisation Group Department of Information Technology Uppsala University Sweden Course 1DL441: Combinatorial Optimisation and Constraint


  1. Topic 7: Solving Technologies (Version of 26th November 2020) Jean-No¨ el Monette and Pierre Flener Optimisation Group Department of Information Technology Uppsala University Sweden Course 1DL441: Combinatorial Optimisation and Constraint Programming, whose part 1 is Course 1DL451: Modelling for Combinatorial Optimisation

  2. Outline 1. The MiniZinc Toolchain The MiniZinc 2. Comparison Criteria Toolchain Comparison 3. SAT Criteria SAT 4. SMT & OMT SMT & OMT 5. IP & MIP IP & MIP CP 6. CP LS & CBLS 7. LS & CBLS Hybrid Technologies Case Study 8. Hybrid Technologies Choosing a Technology 9. Case Study and Backend 10. Choosing a Technology and Backend COCP/M4CO 7 - 2 -

  3. Outline 1. The MiniZinc Toolchain The MiniZinc 2. Comparison Criteria Toolchain Comparison 3. SAT Criteria SAT 4. SMT & OMT SMT & OMT 5. IP & MIP IP & MIP CP 6. CP LS & CBLS 7. LS & CBLS Hybrid Technologies Case Study 8. Hybrid Technologies Choosing a Technology 9. Case Study and Backend 10. Choosing a Technology and Backend COCP/M4CO 7 - 3 -

  4. MiniZinc: Model Once, Solve Everywhere! instance The MiniZinc data Toolchain Comparison Criteria SAT flat backend SMT & OMT flattening model model & solver IP & MIP CP LS & CBLS Hybrid techno&solver-specific Technologies (optimal) predicate definitions Case Study solution Choosing a Technology and Backend From a single language, one has access transparently to a wide range of solving technologies from which to choose. COCP/M4CO 7 - 4 -

  5. Outline 1. The MiniZinc Toolchain The MiniZinc 2. Comparison Criteria Toolchain Comparison 3. SAT Criteria SAT 4. SMT & OMT SMT & OMT 5. IP & MIP IP & MIP CP 6. CP LS & CBLS 7. LS & CBLS Hybrid Technologies Case Study 8. Hybrid Technologies Choosing a Technology 9. Case Study and Backend 10. Choosing a Technology and Backend COCP/M4CO 7 - 5 -

  6. Objectives The MiniZinc An overview of some solving technologies: Toolchain Comparison Criteria SAT to understand their advantages and limitations; SMT & OMT IP & MIP CP LS & CBLS to help you choose a technology for a particular model; Hybrid Technologies Case Study Choosing a to help you adapt a model to a particular technology. Technology and Backend COCP/M4CO 7 - 6 -

  7. Examples (Solving technologies) With general-purpose solvers, taking model&data as input: Boolean satisfiability (SAT) SAT (resp. optimisation) modulo theories (SMT & OMT) The MiniZinc Toolchain (Mixed) integer linear programming (IP & MIP) Comparison Constraint programming (CP) ☞ part 2 of 1DL441 Criteria SAT . . . SMT & OMT Hybrid technologies (LCG = CP + SAT, . . . ) IP & MIP CP Methodologies, usually without modelling and solvers: LS & CBLS Dynamic programming (DP) Hybrid Technologies Greedy algorithms Case Study Approximation algorithms Choosing a Technology Local search (LS) and Backend Genetic algorithms (GA) . . . COCP/M4CO 7 - 7 -

  8. How to Compare Solving Technologies? Modelling Language: What types of decision variables are available? The MiniZinc Toolchain Which constraint predicates are available? Comparison Criteria Can there be an objective function? SAT Guarantees: SMT & OMT IP & MIP Are solvers exact, given enough time: will they find all CP solutions, prove optimality, and prove unsatisfiability? LS & CBLS If not, is there an approximation ratio? Hybrid Technologies Features: Case Study Choosing a Can the modeller guide the solving? If yes, then how? Technology and Backend In which areas has the techno been successfully used? How do solvers work? COCP/M4CO 7 - 8 -

  9. How Do Solvers Work? (Hooker, 2012) Definition (Solving = Search + Inference + Relaxation) The MiniZinc Search: Explore the space of candidate solutions. Toolchain Inference: Reduce the space of candidate solutions. Comparison Criteria Relaxation: Exploit solutions to easier problems. SAT SMT & OMT Definition (Systematic Search) IP & MIP CP Progressively build a solution, and backtrack if necessary. LS & CBLS Use inference and relaxation to reduce the search effort. Hybrid Technologies It is used in most SAT, SMT, OMT, CP , LCG, & MIP solvers. Case Study Choosing a Definition (Local Search) Technology and Backend Start from a candidate solution and iteratively modify it. It is the basic idea behind LS and GA solvers. COCP/M4CO 7 - 9 -

  10. Outline 1. The MiniZinc Toolchain The MiniZinc 2. Comparison Criteria Toolchain Comparison 3. SAT Criteria SAT 4. SMT & OMT SMT & OMT 5. IP & MIP IP & MIP CP 6. CP LS & CBLS 7. LS & CBLS Hybrid Technologies Case Study 8. Hybrid Technologies Choosing a Technology 9. Case Study and Backend 10. Choosing a Technology and Backend COCP/M4CO 7 - 10 -

  11. Boolean Satisfiability Solving (SAT) Modelling Language: Only Boolean variables. The MiniZinc A conjunction ( /\ ) of clauses: Toolchain • A clause is a disjunction ( \/ ) of literals. Comparison • A literal is a Boolean variable or its negation. Criteria SAT Only for satisfaction problems: no objective function; SMT & OMT otherwise: iterate over candidate objective values. IP & MIP Example CP LS & CBLS Variables: var bool: w, x, y, z; Hybrid Clauses: Technologies Case Study constraint (not w \/ not y) /\ (not x \/ y) Choosing a Technology /\ (not w \/ x \/ not z) and Backend /\ (x \/ y \/ z) /\ (w \/ not z); A solution: w=false , x=true , y=true , z=false COCP/M4CO 7 - 11 -

  12. The SAT Problem Given a clause set, find a valuation, that is Boolean values for all the variables, so that all the clauses are satisfied. The MiniZinc Toolchain Comparison Criteria The decision version of this problem is NP-complete. SAT SMT & OMT Any combinatorial problem can be encoded into SAT. IP & MIP Careful: “encoded into” � = “reduced from”. CP There are recipes to clausify non-Boolean constraints. LS & CBLS Hybrid Technologies There has been intensive research since the 1960s. Case Study Choosing a Technology We focus here on systematic search, namely DPLL and Backend [Davis-Putnam-Logemann-Loveland, 1962]. COCP/M4CO 7 - 12 -

  13. DPLL Tree Search: 1 At the root of the tree, start from the empty valuation. The MiniZinc Toolchain 2 Perform inference (see below). Comparison Criteria 3 If some clause is unsatisfied, then backtrack. SAT 4 If all variables have a value, then we have a solution. SMT & OMT 5 Select an unvalued variable b and make two branches: IP & MIP CP one with b = true , and the other one with b = false . LS & CBLS 6 Explore each of the two branches, starting from step 2. Hybrid Technologies Inference: Case Study Unit propagation: If all the literals in a clause evaluate Choosing a Technology to false , except one whose variable has no value yet, and Backend then that literal is made to evaluate to true so that the clause becomes satisfied. COCP/M4CO 7 - 13 -

  14. Strategies and Improvements over DPLL Search Strategies: The MiniZinc On which variable to branch next? Toolchain Comparison Which branch to explore next? Criteria Which search (depth-first, breadth-first, . . . ) to use? SAT SMT & OMT IP & MIP Improvements: CP Backjumping LS & CBLS Hybrid Clause learning Technologies Case Study Restarts Choosing a A lot of implementation details Technology and Backend . . . COCP/M4CO 7 - 14 -

  15. SAT Solving Guarantee: exact, given enough time. The MiniZinc Toolchain Comparison Mainly black-box: limited ways to guide the solving. Criteria SAT It can scale to millions of variables and clauses. SMT & OMT IP & MIP CP Encoding a problem can yield a huge SAT model. LS & CBLS Hybrid Technologies Some solvers can extract an unsatisfiable core, that is Case Study a subset of clauses that make the model unsatisfiable. Choosing a Technology and Backend It is mainly used in hardware and software verification. COCP/M4CO 7 - 15 -

  16. SAT @ MiniZinc and Uppsala University The MiniZinc toolchain was extended with The MiniZinc the PicatSAT backend for the SAT solver Plingeling. Toolchain Comparison Criteria Several research groups at Uppsala University SAT use SAT solvers, such as: SMT & OMT • Algorithmic Program Verification IP & MIP • Embedded Systems CP • Programming Languages LS & CBLS • Theory for Concurrent Systems Hybrid Technologies Case Study My Algorithms & Datastructures 3 (1DL481) course Choosing a Technology discusses SAT solving and has a homework where and Backend a SAT model is designed and fed to a SAT solver. COCP/M4CO 7 - 16 -

  17. Outline 1. The MiniZinc Toolchain The MiniZinc 2. Comparison Criteria Toolchain Comparison 3. SAT Criteria SAT 4. SMT & OMT SMT & OMT 5. IP & MIP IP & MIP CP 6. CP LS & CBLS 7. LS & CBLS Hybrid Technologies Case Study 8. Hybrid Technologies Choosing a Technology 9. Case Study and Backend 10. Choosing a Technology and Backend COCP/M4CO 7 - 17 -

Recommend


More recommend