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
  • 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

\neg (red_{BE} \wedge red_{NL})
\ldots

Result

\neg (green_{FR} \wedge red_{NL} \wedge yellow_{LU})

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
\neg (red_{BE} \wedge red_{NL})
\ldots
red_{BE} \wedge \neg red_{BE}
\ldots
\neg (green_{FR} \wedge red_{NL} \wedge yellow_{LU})

Derived formulas

Inconsistency

Initial formulas

Proof Theory

(cutting planes)

red_{BE}+red_{NL} \leq 1
\ldots
red_{BE} \leq 0 \\ 1 \leq red_{BE}
\ldots
red_{BE}+red_{NL}+red_{DE} \leq 1

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
  • 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

red_{BE} + red_{NL} \leq 1
\ldots

Approximate fractional solution

calculated by Simplex

Depth-first search

\ldots

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

\Sigma_{i}~a_{i}p_i \geq b
  • 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