Preprocessing and Probing Techniques for Mixed Integer Programming Problems
چکیده
In the rst part of the paper we present a framework for describing basic tech niques to improve the representation of a mixed integer programming problem We elaborate on identi cation of infeasibility and redundancy improvement of bounds and coe cients and xing of binary variables In the second part of the paper we discuss recent extensions to these basic techniques and elaborate on the investigation and possible uses of logical consequences Subject Classi cation Programming Integer Other key words Preprocessing Probing The success of branch and cut algorithms for combinatorial optimization problems and large scale linear programming problems has lead to a renewed interest in mixed integer programming The key idea of the branch and cut approach is reformula tion Problems are reformulated so as to make the di erence in the objective function values between the solutions to the linear programming relaxation and the integer pro gram as small as possible There are various ways to tighten the linear programming relaxation of an integer program Preprocessing and probing techniques try among others things to reduce the size of coe cients in the constraint matrix and to reduce the size of bounds on the variables Constraint generation techniques try to generate strong valid inequalities Johnson discusses a wide range of issues related to modeling and strong linear programs for mixed integer programming It is well known that there are many ways to represent a mixed integer program by linear inequalities while guaranteeing that the underlying set of feasible solutions is unchanged In the rst part of this paper we present a framework for describing various techniques that modify a given representation of a mixed integer programming problem in such a way that the set of feasible solutions of the linear programming relaxation is reduced but the set of feasible solutions to the mixed integer program is not a ected This may reduce the integrality gap i e the di erence between the objective function values of the linear programming relaxation and the integer program which is crucial in the context of a linear programming based branch and bound algorithm We concentrate on identifying infeasibility and redundancy improving bounds and coe cients and xing variables Several other papers have been written on this subject most notably Dietrich and Escudero and Ho man and Padberg Dietrich and Escudero consider coe cient reduction for linear programming problems containing variable upper bound con straints and Ho man and Padberg discuss the implementation of coe cient reduction for linear programming problems containing special ordered set constraints Both papers deal with pure linear programming problems and in both papers the general ideas are somewhat obscured by the speci c perspective The purpose of this paper is twofold First to introduce a framework for describ ing preprocessing and probing techniques for mixed integer programming problems and survey some of the well known basic techniques In doing so we clearly separate the underlying ideas from the implementation issues Second to present some of the more recently developed techniques that are currently employed by the state of the art general purpose mixed integer optimizers Basic preprocessing and probing techniques The underlying idea of the basic techniques to improve a given representation of a mixed integer programming problem minfcx hy Ax Gy b x f g y RRg is to analyze each of the inequalities of the system of inequalities de ning the feasible region in turn trying to establish whether the inequality forces the feasible region to be empty whether the inequality is redundant whether the inequality can be used to improve the bounds on the variables whether the inequality can be strengthened by modifying its coe cients or whether the inequality forces some of the binary variables to either zero or one We assume that the inequality currently under consideration is of the form X