Article ID: | iaor200947165 |
Country: | France |
Volume: | 43 |
Issue: | 1 |
Start Page Number: | 55 |
End Page Number: | 85 |
Publication Date: | Jan 2009 |
Journal: | RAIRO Operations Research |
Authors: | Liberti Leo |
A reformulation of a mathematical program is a formulation which shares some properties with, but is in some sense better than, the original program. Reformulations are important with respect to the choice and efficiency of the solution algorithms; furthermore, it is desirable that reformulations can be carried out automatically. Reformulation techniques are widespread in mathematical programming but interestingly they have never been studied under a unified framework. This paper attempts to move some steps in this direction. We define a framework for storing and manipulating mathematical programming formulations and give several fundamental definitions categorizing useful reformulations in essentially four types (opt–reformulations, narrowings, relaxations and approximations). We establish some theoretical results and give reformulation examples for each type.