Using dual presolving reductions to reformulate cumulative constraints

  • Authors:
  • Stefan Heinz;Jens Schulz;J. Christopher Beck

  • Affiliations:
  • Zuse Institute Berlin, Berlin, Germany 14195;Technische Universität Berlin, Institut für Mathematik, Berlin, Germany 10623;Department of Mechanical & Industrial Engineering, University of Toronto, Toronto, Canada M5S 3G8

  • Venue:
  • Constraints
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dual presolving reductions are a class of reformulation techniques that remove feasible or even optimal solutions while guaranteeing that at least one optimal solution remains, as long as the original problem was feasible. Presolving and dual reductions are important components of state-of-the-art mixed-integer linear programming solvers. In this paper, we introduce them both as unified, practical concepts in constraint programming solvers. Building on the existing idea of variable locks, we formally define and justify the use of dual information for cumulative constraints during a presolving phase of a solver. In particular, variable locks are used to decompose cumulative constraints, detect irrelevant variables, and infer variable assignments and domain reductions. Since the computational complexity of propagation algorithms typically depends on the number of variables and/or domain size, such dual reductions are a source of potential computational speed-up. Through experimental evidence on resource constrained project scheduling problems, we demonstrate that the conditions for dual reductions are present in well-known benchmark instances and that a substantial proportion of them can be solved to optimality in presolving --- without search. While we consider this result very promising, we do not observe significant change in overall run-time from the use of our novel dual reductions