Transforming Constraint Programs to Input for Local Search

University of Leuven, Belgium

Jo Devriendt, Patrick De Causmaecker, Marc Denecker
jo.devriendt@cs.kuleuven.be

Context: NP optimization problems

  • Find optimal feasible solution
  • Deciding existence feasible solution: in NP
  • Computing objective value: poly-time


Examples: TSP, knapsack, chromatic number, etc.

Same problem statement
Different technologies

Search & Explanation

  • Choice based search tree
  • Explanations (nogoods)
    construct infeasibility proof
  • CP, SAT, SMT

Approach 1:

Relaxation & Cutting

  • Relax problemon by dropping discreteness
    • Poly-time algorithm finds optimal solution
  • Add valid constraints that cut away approximate solutions
  • MIP, Convex Programming

Approach 2:

Local Search

  • Initial feasible solution
  • Move between neighboring feasible solutions
  • Metaheuristics, Evolutionary computing

Approach 3:

Local Search:
Neigborhood examples

  • Permuting cities in Traveling Salesman Problem
  • Swapping shifts in Nurse Scheduling Problem
  • Flipping boolean values in SAT
  • Changing location of facility in Facility Location Problem
  • Permuting rounds in Sport Scheduling problems
  • Adding or removing node from vertex cover
  • ...

All information available in problem specification.

 

This talk:

Automated derivation of local search input (using symmetry)