Agent skill · Business & Finance

column-generation

When the user wants to solve large-scale optimization problems using column generation, decomposition methods, or Dantzig-Wolfe decomposition. Also use when the user mentions "column generation," "master problem," "pricing problem," "cutting stock," "crew scheduling," "vehicle routing with column gen," "branch-and-price," or when the problem has exponentially many variables. For general optimization, see optimization-modeling. For metaheuristics, see metaheuristic-optimization.

majiayu000github.com/majiayu000GitHub ↗
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill column-generation-kishorkukreja-awesome-supply-chain --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 33 KB
Bundled scripts: none
Path: skills/analysis/column-generation-kishorkukreja-awesome-supply-chain/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Implements column generation and decomposition methods for large-scale optimization problems with exponentially many variables. It guides the agent to use a master problem to select a subset of patterns and a pricing subproblem to generate new patterns, iterating until no improving pattern exists, then solves a final integer program to obtain a concrete solution.

How it works

  • Starts with an initial set of simple patterns that fit within the roll width for cutting stock.
  • Repeatedly:
    • Solve the Restricted Master Problem (RMP) to minimize total rolls while meeting piece demands; obtain dual values (shadow prices).
    • Solve the Pricing Problem (a knapsack-style subproblem) to maximize the dual-weighted value of a new pattern under the roll width constraint; compute reduced cost as 1.0 minus the pattern value.
    • If the reduced cost is negative, add the new pattern to the pool and repeat; otherwise stop.
  • After termination, solves a final Mixed Integer Program (MIP) using all generated patterns to minimize total rolls and extract pattern usage.
  • Provides auxiliary methods to print the solution, plot convergence, and visualize patterns.

When to use it

Use when solving large-scale optimization problems with exponentially many variables where a column-generation approach is appropriate, especially cutting stock, and generally large-scale decomposable problems requiring a master–pricing structure. Triggered when the problem resembles a set-partitioning master problem with a pricing subproblem under resource constraints.

What it can touch

  • It relies on tools and libraries for linear and integer programming: the implementation uses PULP with the CBC solver for both master and pricing problems, and for final MIP.
  • It handles data structures for patterns as dictionaries mapping piece types to counts, and keeps patterns in a list for iteration.

Caveats

  • Depends on CBC solver availability through PULP; performance is solver-driven.
  • Dual extraction from the master problem uses a fallback heuristic if duals aren’t accessible from constraints.
  • Termination relies on reduced cost threshold (-1e-6) to declare optimality; numerical issues may affect convergence.
  • The initial patterns and final MIP assume integer usage of patterns and demand satisfaction as stated in the code.
From the SKILL.md

# Column Generation You are an expert in column generation and decomposition methods for large-scale supply chain optimization. Your goal is to help solve problems with exponentially many variables by generating only relevant columns (variables) on demand, making previously intractable problems solvable. ## Initial Assessment Before applying column generation, understand: 1. **Problem Structure** - Does problem have exponentially many variables? - Can it be decomposed into master and subproblems? - Is there a natural decomposition structure? - Are constraints decomposable? 2. **Problem Characteristics** - Problem type? (cutting stock, routing, crew scheduling, packing) - Size? (thousands to millions of variables) - Why is standard MIP approach failing? - Required solution quality? 3. **Computational Environment** - Solver access? (need LP/MIP solver) - Subproblem complexity? (easy or hard to solve) - Time constraints? - Parallel computing available? 4. **Technical Expertise** - Team familiarity with column generation? - Ability to formulate subproblem? - Need for exact vs. heuristic solutions? --- ## Column Generation Framework ### Core Concept **Problem Decomposition:** - **Master

What's inside
Steps it walks through
  1. Initial Assessment
  2. Column Generation Framework
  3. Core Concept
  4. Mathematical Foundation
  5. Cutting Stock Problem with Column Generation
  6. Problem Description
  7. Implementation
  8. Vehicle Routing with Column Generation
  9. Route-Based Formulation
  10. Implementation Outline
  11. Branch-and-Price
  12. Combining Column Generation with Branch-and-Bound
  13. Implementation Sketch
  14. Advanced Column Generation Techniques
Ships with 1 file
  • metadata.json
More from claude-skill-registry
All skills →
About this skill
What does the column-generation skill do?

When the user wants to solve large-scale optimization problems using column generation, decomposition methods, or Dantzig-Wolfe decomposition. Also use when the user mentions "column generation," "master problem," "pricing problem," "cutting stock," "crew scheduling," "vehicle routing with column gen," "branch-and-price," or when the problem has exponentially many variables. For general optimization, see optimization-modeling. For metaheuristics, see metaheuristic-optimization.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill column-generation-kishorkukreja-awesome-supply-chain --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going