Combinatorial search techniques
Jo Devriendt †
† KTH Royal Institute of Technology, Sweden
jhmde@kth.se
TODO: look for Laurent Perron
On the intersection between AI and OR
Combinatorial problems





Vehicle routing
Nurse rostering
Planning
Graph coloring
Pigeon allocation
Max flow
Combinatorial search
Pick a satisfying solution from a set of candidate solutions
Combinatorial search in
Artifical Intelligence
- More focused on decision problems
- Lots of approaches
- SAT, CP, SMT, ASP, ...
- Are converging towards "learning"
- Fundamental algorithm:
Conflict-Driven Clause Learning (CDCL) - Mathematical foundation through Proof Complexity
- Fundamental algorithm:
- Young technique: 1996 [1]
- Biggest successes: chip verification, planning, scheduling
[1] "GRASP - A New Search Algorithm for Satisfiability" Marques-Silva & Sakallah 1996
Conflict-driven clause-learning search
Depth-first search
Propositional description
Result
Proof constructed from conflicts

Proof Theory
(resolution)
- Proof length implies lower bound on running time for inconsistent instances
- Resolution has exponential length for pigeonhole principle
Derived formulas
Inconsistency
Initial formulas
Proof Theory
(cutting planes)
Derived formulas
Inconsistency
Initial formulas
- Proof length implies lower bound on running time for inconsistent instances
- Resolution has exponential length for pigeonhole principle
- Cutting planes has polynomial length for pigeonhole principle
Combinatorial search in Operations Research
- More focused on optimization problems
- Two large classes of approaches
- Local search
- Incomplete heuristics
- Mathematical programming
- Solve equations over numerical variables
- Fundamental algorithm: Simplex
- Local search
- Old technique: 1947 [2]
- Biggest successes: traveling salesman, resource allocation
[2] "Maximization of a linear function of variables subject to linear inequalities" Dantzig 1947
Branch-and-bound and Simplex
Description in linear algebra
Approximate fractional solution
calculated by Simplex
Depth-first search
Result

Simplex: solve a system of linear inequalities over real variables



Motivation for a hybrid approach
- Some hard problems for CDCL have no rational solutions
- E.g., pigeonhole principle
- CDCL cannot "count" or "add"
- Some easy problems for CDCL are hard for mathematical programming
- No "tight" linearization
- Simplex cannot "split"
- State-of-the-art hybrid: SCIP [3]
- Clause learning and constraint propagation during branch-and-bound MIP solving
- Research goal: plug Simplex into CDCL
- "Inverse SCIP" approach
[3] "The SCIP Optimization Suite 6.0" Gleixner et al. 2018
A rational solver for Pseudo-Boolean (PB) problems
-
Linear constraints over Boolean variables:
-
Characteristics of clauses and mathematical programs
- CDCL solvers exist, with non-clausal learning
-
End-goal: call rational solver (Simplex) during CDCL search
- derive rational infeasability
- learn new PB constraint
A rational solver for Pseudo-Boolean (PB) problems
-
Solve PB problems for rational solutions
-
10s timeout
-
7070 instances
-
| SoPlex | Experimental [4] | |
|---|---|---|
| SAT (verified) | 2636 | 3456 |
| UNSAT (verified) | 1623 | 924 |
| SAT (unverified) | 1623 | 30 |
| UNSAT (unverified) | 0 | 513 |
| Timeout | 1188 | 2147 |
[4] "A fast linear-arithmetic solver for DPLL(T)" Dutertre & De Moura 2006
A rational solver for Pseudo-Boolean (PB) problems
Challenges:
-
Timeout for many instances
-
Incremental search
-
Exact vs floating point calculations
-
"Primal" vs "Dual"
Thanks for your attention!
Questions?
Combinatorial search techniques
By Jo Devriendt
Combinatorial search techniques
- 582