Team RealOpt

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: Software

BapCod : a generic Branch-and-Price Code

contact: François Vanderbeck

Beyond the above application specific algorithms, we are involved in the development of a generic platform for the implementation of the branch-and-price method. Contrary to the cutting plane approach, column generation has not yet made its way into commercial solvers. Despite its successes, the use of a Dantzig-Wolfe decomposition approach is currently restricted to experts. The difficulties inherent to implementing the method and to combining it with other techniques were only overcome in an application specific context. As a consequence, algorithmic ideas have been developed and tested for specific applications only, without convincing arguments for showing their impact across different applications. The challenge is to show that column generation is also a technique that can be automated and make its way into commercial solvers (as cutting plane approach did recently).

We develop the prototype of a generic branch-and-price code, named BaPCod , for solving mixed integer programs by column generation. Previous attempts have been limited to offering “tool-boxes ” to ease the implementation of algorithms combining branch-and-price-and-cut. With these, the user must implement three basic features for its application: the reformulation, the setting-up of the column generation procedure and the branching scheme. Other available codes that offer more by default were developed for a specific class of applications (such as the vehicle routing problem and its variants). Our prototype is a “black-box ” implementation that does not require user input and is not application specific. The features are

(i) the automation of the Dantzig-Wolfe reformulation process [158] ,

(ii) a default column generation procedure with standard initialization and stabilization [1] ,

(iii) a default branching scheme – recent progress has been made on the issue of generic branching scheme in [22] ,

(iv) a column generation based primal heuristic. The column generation literature reports many application specific studies where primal heuristics are a key to success. After a review of generic classes of column generation based primal heuristics, we integrated a so-called “diving” method in which we introduce diversification based on Limited Discrepancy Search. While being a general purpose approach, the implementation of our heuristic illustrates the technicalities specific to column generation. The method is numerically tested on variants of the cutting stock and vehicle routing problems [24] .

The ongoing work consists in developping preprocessing techniques.


Logo Inria