Mathematical Programming

, Volume 142, Issue 1, pp 47–82

Simultaneous column-and-row generation for large-scale linear programs with column-dependent-rows

• İbrahim Muter
• Ş. İlker Birbil
• Kerem Bülbül
Full Length Paper Series A

DOI: 10.1007/s10107-012-0561-8

Muter, İ., Birbil, Ş.İ. & Bülbül, K. Math. Program. (2013) 142: 47. doi:10.1007/s10107-012-0561-8

Abstract

In this paper, we develop a simultaneous column-and-row generation algorithm that could be applied to a general class of large-scale linear programming problems. These problems typically arise in the context of linear programming formulations with exponentially many variables. The defining property for these formulations is a set of linking constraints, which are either too many to be included in the formulation directly, or the full set of linking constraints can only be identified, if all variables are generated explicitly. Due to this dependence between columns and rows, we refer to this class of linear programs as problems with column-dependent-rows. To solve these problems, we need to be able to generate both columns and rows on-the-fly within an efficient solution approach. We emphasize that the generated rows are structural constraints and distinguish our work from the branch-and-cut-and-price framework. We first characterize the underlying assumptions for the proposed column-and-row generation algorithm. These assumptions are general enough and cover all problems with column-dependent-rows studied in the literature up until now to the best of our knowledge. We then introduce in detail a set of pricing subproblems, which are used within the proposed column-and-row generation algorithm. This is followed by a formal discussion on the optimality of the algorithm. To illustrate our approach, the paper is concluded by applying the proposed framework to the multi-stage cutting stock and the quadratic set covering problems.

Keywords

Linear programmingColumn generationColumn-and-row generationRow-and-column generationPricing subproblemMulti-stage cutting stockQuadratic set coveringColumn-dependent-rows