ABSTRACT

A mixed-integer linear program (MILP) is a mathematical program with linear constraints in which a specified subset of the variables are required to take on integer values. Although MILPs are difficult to solve in general, the past ten years have seen a dramatic increase in the quantity and quality of software — both commercial and noncommercial — designed to solve MILPs. Generally speaking, noncommercial MILP software tools cannot match the speed or robustness of their commercial counterparts, but they can provide a viable alternative for users who cannot afford the sometimes costly commercial offerings. For certain applications, open-source software tools can also be more extensible and easier to customize than their commercial counterparts, whose flexibility may be limited by the interface that is exposed to the user. Because of

the large number of open-source and noncommercial packages available, it might be difficult for the casual user to determine which of these tools is the best fit for a given task. In this chapter, we provide an overview of the features of the available noncommercial and open source codes, compare selected alternatives, and illustrate the use of various tools. For an excellent overview of the major algorithmic components of commercial solvers, especially CPLEX, LINDO, and XPRESS, we refer to reader to the paper of Atamtu¨rk and Savelsbergh [6].