Inferensys

Glossary

Column Generation

An algorithm for solving large-scale linear programs where only a subset of variables is considered initially, and new variables with negative reduced cost are iteratively generated by solving a pricing subproblem.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
LARGE-SCALE LINEAR PROGRAMMING

What is Column Generation?

A decomposition algorithm for solving linear programs with an enormous number of variables by iteratively generating only those that can improve the objective.

Column Generation is an algorithm for solving large-scale linear programs (LPs) where the number of variables is too vast to enumerate explicitly. It begins with a restricted master problem containing only a small subset of columns, then iteratively identifies and adds new variables with negative reduced cost by solving a separate pricing subproblem, continuing until no improving columns exist.

The pricing subproblem is typically a combinatorial optimization problem tailored to the application's structure, such as a shortest path or knapsack problem. This decomposition is central to solving Vehicle Routing Problems and crew scheduling at scale, where each column represents a feasible route or schedule, and is often integrated with Branch and Bound frameworks like Gurobi or OR-Tools for integer solutions.

DECOMPOSITION TECHNIQUE

Key Characteristics of Column Generation

Column generation is a pivotal algorithm for solving linear programs with an astronomically large number of variables. Instead of enumerating all possibilities, it starts with a restricted subset and iteratively generates only the variables that can improve the objective function.

01

Delayed Column Generation

The core principle is to avoid explicit enumeration of the entire variable space. The algorithm begins by solving a restricted master problem (RMP) with a small, manageable subset of columns. After solving the RMP, it uses the dual variable values to formulate a pricing subproblem. This subproblem identifies new columns with negative reduced cost (for minimization), which are then added to the RMP. This iterative loop continues until no improving columns exist, proving optimality without ever materializing the full problem matrix.

Exponential
Variable Space Avoided
03

The Pricing Subproblem

The pricing subproblem is the algorithmic engine of column generation. It is an optimization problem itself, tasked with finding a variable that violates the dual feasibility condition. The objective function of the subproblem is the reduced cost of a column, constructed using the dual values from the restricted master. The subproblem's structure is domain-specific:

  • In Vehicle Routing, it is often an Elementary Shortest Path Problem with Resource Constraints (ESPPRC).
  • In Cutting Stock, it is a Knapsack Problem. The efficiency of the entire algorithm hinges on solving this subproblem rapidly.
ESPPRC
Common VRP Subproblem
05

Convergence and Stabilization

A naive implementation often suffers from slow convergence due to dual variable oscillation (bang-bang effect), where dual values swing wildly between extreme points in early iterations. Stabilization techniques are critical for practical performance:

  • Box constraints limit the change in dual variables between iterations.
  • Smoothing uses a weighted average of current and previous dual solutions.
  • Dual-optimal inequalities add valid constraints to the dual space to restrict the feasible region without cutting off the optimal solution.
06

Applications in Logistics

Column generation is the dominant exact method for solving complex routing and scheduling problems where a column represents a complete feasible route or schedule:

  • Vehicle Routing Problem with Time Windows (VRPTW): A column is a feasible route for one vehicle.
  • Crew Scheduling: A column is a multi-day pairing for an airline crew.
  • Cutting Stock Problem: A column is a specific cutting pattern for a raw material roll. In these contexts, the master problem selects the optimal combination of routes or patterns, while the subproblem generates new candidate routes respecting all operational constraints.
COLUMN GENERATION EXPLAINED

Frequently Asked Questions

Clear, technically precise answers to the most common questions about how column generation solves large-scale linear programs by iteratively generating only the most promising variables.

Column generation is an exact algorithm for solving large-scale linear programs (LPs) where the number of variables is too vast to enumerate explicitly. It works by iteratively solving two problems: a restricted master problem (RMP) containing only a subset of variables, and a pricing subproblem that identifies new variables with negative reduced cost (for minimization) to add to the RMP. The algorithm initializes with a feasible subset of columns, solves the RMP to optimality, then uses the resulting dual values to formulate the pricing subproblem. If the subproblem finds a column with negative reduced cost, it is added to the RMP and the process repeats. When no such column exists, the current RMP solution is provably optimal for the full problem. This technique is foundational for solving vehicle routing problems, crew scheduling, and cutting stock problems where the number of possible routes or patterns is combinatorially explosive.

DECOMPOSITION ALGORITHM COMPARISON

Column Generation vs. Related Decomposition Methods

A technical comparison of decomposition methods used to solve large-scale linear and integer programs by exploiting problem structure.

FeatureColumn GenerationDantzig-Wolfe DecompositionBenders Decomposition

Core Mechanism

Iteratively generates variables (columns) with negative reduced cost via a pricing subproblem

Reformulates a compact LP into a master problem with convexity constraints, solved by column generation

Iteratively generates constraints (cuts) by solving a dual subproblem and adding feasibility/optimality cuts to a master problem

Decomposition Axis

Variables (columns)

Variables (columns) via extreme point representation

Constraints (rows)

Master Problem Type

Restricted Master Problem (RMP) containing a subset of columns

Master Problem over extreme points and rays of subproblem polyhedra

Relaxed Master Problem (RMP) with a subset of Benders cuts

Subproblem Purpose

Find new variable with most negative reduced cost

Generate extreme points or rays of subproblem feasible region

Evaluate dual variables to generate violated constraints for the master

Typical Application

Cutting stock, vehicle routing with many possible routes

Multi-commodity flow, stochastic programming with block-angular structure

Two-stage stochastic programming, facility location with complicating variables

Integer Extension

Branch-and-Price: integrates column generation within a Branch-and-Bound tree

Branch-and-Price: same as column generation, as Dantzig-Wolfe is the reformulation

Branch-and-Benders-Cut: integrates Benders cuts within a Branch-and-Bound tree

Convergence Guarantee

Finite convergence for LP; optimality gap closes monotonically

Finite convergence for LP; equivalent to column generation on the reformulation

Finite convergence for LP and MILP; optimality gap closes monotonically

Information Flow

Master sends dual prices to subproblem; subproblem returns a column

Master sends dual prices to subproblem; subproblem returns an extreme point

Master sends trial variable values to subproblem; subproblem returns a cut

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.