Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Combinatorial Optimization Skills for Claude Code

A curated set of 76 Claude Code skills covering exact methods, metaheuristics, classic problems, and research workflow for combinatorial optimization.

Skills License PRs Welcome

What is this

Claude Code skills are markdown instruction files (SKILL.md) that Claude Code loads on demand. When a prompt matches a skill's topic, Claude Code reads the file and follows its frameworks, decision rules, and reference implementations. Skills make answers more consistent and more technically precise than relying on the base model alone.

This collection covers combinatorial optimization end to end: MILP modeling and decomposition methods, 22 metaheuristic algorithm families, encodings and operators, 17 classic problem classes, Python tooling for experiments, and empirical methodology. It is written for operations research and industrial engineering students, PhD researchers, and practitioners who build optimization code in Python with solvers such as Gurobi, OR-Tools CP-SAT, and HiGHS.

Installation

Requires Claude Code. The skills are plain markdown; no other dependencies are needed to install them.

Plugin route (recommended)

Run inside Claude Code:

/plugin marketplace add hajibabaie/combinatorial-optimization-skills
/plugin install combinatorial-optimization@combinatorial-optimization-skills

This installs all 76 skills at once as the combinatorial-optimization plugin. To pull new and updated skills later, run /plugin marketplace update combinatorial-optimization-skills.

skills.sh route (cross-agent)

The repository is also compatible with the skills.sh CLI, the open Agent Skills Directory. It reads the same .claude-plugin/marketplace.json and works across Claude Code, Cursor, Copilot, and other agents:

npx skills add hajibabaie/combinatorial-optimization-skills

Manual route

Clone the repository and copy any skill folder into your user skills directory:

git clone https://github.com/hajibabaie/combinatorial-optimization-skills.git
cp -r combinatorial-optimization-skills/skills/milp-modeling-gurobi ~/.claude/skills/

Repeat for each skill you want. Claude Code picks up new skills in ~/.claude/skills/ automatically.

On Windows, the same directory is C:\Users\<you>\.claude\skills\.

Quick start

After installation, prompts like these trigger the matching skills:

Formulate a MIP for scheduling 40 jobs on 5 unrelated parallel machines with release dates, minimizing total weighted tardiness. Build it in gurobipy.

Triggers problem-formulation, parallel-machine-scheduling, and milp-modeling-gurobi.

Design an ALNS for a capacitated VRP with heterogeneous fleet. Propose destroy and repair operators and an adaptive weight scheme.

Triggers large-neighborhood-search and vehicle-routing-problem.

I ran two metaheuristics on 30 instances with 10 seeds each. Which statistical test shows whether one is better, and how do I report the result?

Triggers algorithm-benchmarking-statistics and pandas-experiment-management.

You can also name a skill directly, for example "use the column-generation skill to set up a pricing loop for this cutting stock model".

Exact Methods (12)

Solver-based and algorithmic methods that prove optimality or compute bounds.

Skill What it covers
milp-modeling-gurobi End-to-end MILP construction in gurobipy: variables, constraint builders, objectives, parameters, solving, solution extraction
linear-programming-fundamentals LP formulation, simplex/barrier intuition, duality, shadow prices, reduced costs, sensitivity analysis, degeneracy
integer-programming-techniques Branch-and-bound inside solvers, LP relaxation strength, MIP gap, symmetry breaking, formulation tightening, presolve
branch-and-bound Custom B&B: bounding functions, branching rules, node selection, dominance rules, incumbent management
linearization-techniques Linearizing variable products, absolute values, min/max, piecewise-linear functions, logical implications; tight big-M choice
column-generation Restricted master / pricing loop, reduced-cost pricing, stabilization, heuristic pricing, branch-and-price
benders-decomposition Optimality and feasibility cuts, master-subproblem split, lazy-constraint callbacks in Gurobi, L-shaped method
lagrangian-relaxation Choosing constraints to dualize, subgradient method, step-size rules, duality gap, Lagrangian heuristics
dantzig-wolfe-decomposition Block-angular structure detection, master/subproblem reformulation, convexity constraints, link to column generation
cutting-planes-valid-inequalities Cover, clique, MIR, Gomory cuts; subtour elimination; separation routines; user cuts vs lazy constraints
constraint-programming OR-Tools CP-SAT: integer/boolean/interval variables, AllDifferent, NoOverlap, Cumulative, search strategies, CP vs MIP
dynamic-programming State design, Bellman recursions, memoization vs tabulation, labeling algorithms for constrained shortest paths

Metaheuristic Algorithms (22)

Single-solution and population-based heuristics, plus hybrid, parallel, and learning-based frameworks.

Skill What it covers
metaheuristic-design-principles Choosing and designing a metaheuristic: representation, operators, constraint handling, intensification vs diversification
local-search-and-neighborhoods Neighborhood design (swap, insertion, 2-opt, Or-opt), delta evaluation, first vs best improvement, hill climbing limits
simulated-annealing Metropolis acceptance, cooling schedules, initial temperature calibration, reheating, restart strategies
tabu-search Tabu lists and tenure, move attributes, aspiration criteria, frequency-based diversification, candidate lists
iterated-local-search Local search + perturbation + acceptance loop, perturbation strength tuning, ILS as the strong simple baseline
variable-neighborhood-search VND, basic/general/skewed VNS, neighborhood ordering, shaking, when systematic neighborhood change pays off
guided-local-search Feature-based penalties, utility function, augmented objective, penalty decay, relation to OR-Tools routing GLS
grasp Greedy randomized construction, restricted candidate lists, reactive GRASP, multi-start, path-relinking hybrids
large-neighborhood-search LNS and ALNS: destroy/repair operator design, adaptive operator weights, acceptance criteria, noise
genetic-algorithms Canonical GA loop, encodings, selection/crossover/mutation choices, elitism, premature convergence, numpy implementation
memetic-algorithms GA + local search hybrids: Lamarckian vs Baldwinian learning, local search budgeting, diversity under strong local search
biased-random-key-genetic-algorithm BRKGA: random-key encoding, biased crossover, elite/mutant partitioning, decoder as the only problem-specific part
evolution-strategies (mu+lambda)/(mu,lambda) ES, self-adaptive step sizes, CMA-ES essentials, integer and mixed-integer handling
estimation-of-distribution-algorithms UMDA, PBIL, BOA sketch; building and sampling probabilistic models over solutions; permutation EDAs
differential-evolution DE strategies (rand/1/bin, current-to-best), F and CR tuning, jDE and SHADE, discrete adaptations via random keys
particle-swarm-optimization Velocity/position updates, inertia weight, constriction, topologies, discrete and binary PSO adaptations
ant-colony-optimization Pheromone models, Ant System vs ACS vs MMAS, pheromone bounds, local search hybrids, construction graphs
scatter-search-path-relinking Reference set management, diversification generation, subset combination, path relinking between elite solutions
hyper-heuristics Selection hyper-heuristics, low-level heuristic pools, move acceptance, learning mechanisms and reward schemes
matheuristics Fix-and-optimize, relax-and-fix, MIP-based destroy-repair, local branching, budgeting solver calls in a heuristic loop
parallel-and-hybrid-metaheuristics Island models, master-slave evaluation, cooperative search, algorithm portfolios, Python multiprocessing practicalities
nature-inspired-metaheuristics-overview Critical survey of metaphor-based algorithms, mapping each metaphor to classic mechanisms, fair-comparison guidance

Encodings, Operators & Components (8)

Building blocks shared across metaheuristics: representations, variation operators, and evaluation machinery.

Skill What it covers
solution-encodings Binary, integer, real-valued, permutation, matrix, set-based representations; locality and redundancy; encoding-operator fit
decoder-based-representations Random keys, priority/rule-based decoding, schedule-generation schemes, feasibility-enforcing decoders
crossover-operators One-point, two-point, uniform, arithmetic/blend/SBX, OX, PMX, CX, ERX, AEX; preservation properties per encoding
mutation-and-perturbation-operators Bit-flip, creep, Gaussian, polynomial; swap, insertion, inversion, scramble; mutation strength control and adaptation
selection-and-replacement-strategies Tournament, roulette, rank, SUS, Boltzmann; selection pressure; generational vs steady-state replacement, elitism
constraint-handling-techniques Static/dynamic/adaptive penalties, repair operators, feasibility-preserving operators, stochastic ranking, Deb's rules
diversity-and-population-management Diversity measures, fitness sharing, crowding, niching, duplicate elimination, restarts, diversity-driven adaptation
fitness-evaluation-and-caching Delta/incremental evaluation, solution memoization, surrogate evaluation, vectorized batch evaluation, profiling

Classic Problems (17)

Standard problem classes with formulations, dedicated heuristics, and benchmark instance sources.

Skill What it covers
traveling-salesman-problem MTZ vs DFJ formulations with lazy subtour cuts, construction heuristics, 2-opt/3-opt/Or-opt, Lin-Kernighan idea, TSPLIB
vehicle-routing-problem CVRP and variants (time windows, multi-depot, heterogeneous fleet), MIP models, savings/sweep, ALNS, OR-Tools routing
vehicle-platooning-optimization Truck platoon coordination: fuel-saving objective, formation on shared segments, routing with detours, time windows
knapsack-problems 0-1, bounded, multiple, multidimensional, quadratic knapsack; DP, B&B, MIP, greedy bounds; role as pricing subproblem
bin-packing 1D bin packing and variants, FFD/BFD with worst-case ratios, L1/L2 lower bounds, MIP and arc-flow sketch
cutting-stock Pattern-based (Gilmore-Gomory) vs compact models, column generation with knapsack pricing, integer rounding, trim loss
facility-location-problem UFLP/CFLP, p-median, p-center; strong vs weak formulations; Benders and Lagrangian paths; interchange heuristics
assignment-problems Linear assignment (Hungarian, scipy), generalized assignment, bottleneck assignment, total unimodularity note
quadratic-assignment-problem Flow-distance objective, linearizations, exact-solving limits, robust tabu search, delta evaluation, QAPLIB
set-covering-packing-partitioning SCP/SPP/partitioning models, greedy with ln(n) guarantee, LP rounding, Lagrangian heuristics, crew scheduling
network-flow-optimization Max-flow, min-cost flow, multicommodity flow, shortest paths; total unimodularity; networkx + gurobipy implementations
graph-coloring MIP and CP models, DSATUR/RLF construction, tabucol, Kempe chains, clique lower bounds, applications
job-shop-scheduling Disjunctive MIP, CP-SAT interval model, critical-path neighborhood, shifting bottleneck sketch, makespan and tardiness
flow-shop-scheduling Permutation flow shop, NEH heuristic, MIP models, iterated greedy as state of the art, Taillard instances
parallel-machine-scheduling Single-machine rules (SPT/EDD/Moore/WSPT), P||Cmax with LPT, unrelated machines MIP, due-date objectives
lot-sizing Wagner-Whitin DP, capacitated lot sizing, (l,S) inequalities, facility-location reformulation, fix-and-optimize
timetabling-and-rostering Educational timetabling and nurse rostering: hard/soft constraints, CP and MIP, hyper-heuristics and LNS, ITC/INRC

Tooling & Workflow (9)

Python tooling for building optimization code and for running, recording, and visualizing experiments.

Skill What it covers
gurobi-advanced-features Callbacks (lazy, user cuts, heuristic solutions), parameter tuning, IIS, solution pool, multi-objective API, MIP starts
numpy-vectorization-for-optimization Population-level operations, batch fitness, distance matrices, broadcasting, argpartition idioms, profiling loops
pandas-experiment-management Tidy result tables, run metadata, atomic CSV/parquet writing, aggregation across instances and seeds, pivot tables
matplotlib-optimization-visualization Convergence curves, Gantt charts, route plots, Pareto fronts, performance profiles, publication-quality settings
open-source-solvers HiGHS, SCIP, CBC, OR-Tools, PuLP, Pyomo, python-mip; license comparison; migration patterns from gurobipy
optimization-project-structure Research-code layout, config systems, factory registration, seeding everywhere, atomic result writing, light testing
instance-generation-and-benchmarks TSPLIB, CVRPLIB/Solomon, OR-Library, MIPLIB, QAPLIB, Taillard parsers; synthetic generators; train/test splits
optuna-hyperparameter-tuning Search space definition, TPE, pruning, multi-instance objectives, avoiding overtuning, irace comparison note
git-for-research-code Small commits per experiment, tags for paper snapshots, .gitignore for solver logs, linking results to commit hashes

Methodology (8)

Modeling choices, optimization under uncertainty, and sound empirical practice.

Skill What it covers
problem-formulation Word problem to formal model: decisions, objective, constraints, model type choice, size estimation, when to decompose
multi-objective-optimization Pareto optimality, weighted sum vs epsilon-constraint, NSGA-II mechanics, pymoo, hypervolume and IGD indicators
stochastic-optimization Two-stage stochastic programs, scenario generation and reduction, SAA, EVPI/VSS, extensive form in Gurobi
robust-optimization Uncertainty sets (box, budget, ellipsoidal), robust counterparts via duality, price of robustness, RO vs SP guidance
algorithm-benchmarking-statistics Instance/seed protocols, Wilcoxon and Friedman tests, effect sizes, performance profiles, reporting checklists
warm-starts-and-initial-solutions Construction heuristics by problem class, MIP starts and variable hints, partial fixing, heuristic-exact exchange
solution-validation-testing Independent feasibility checkers, objective recomputation, unit tests for constraint builders, known-optimum regression
fitness-landscape-analysis Ruggedness, fitness-distance correlation, local optima networks, plateaus; using analysis to pick operators

Repository structure

combinatorial-optimization-skills/
├── README.md
├── LICENSE
├── .claude-plugin/
│   └── marketplace.json        # plugin marketplace manifest
├── skills/                     # 76 skill folders, one SKILL.md each
│   ├── milp-modeling-gurobi/
│   │   └── SKILL.md
│   ├── genetic-algorithms/
│   │   └── SKILL.md
│   └── ...
├── general-research/           # cross-skill research notes
├── libraries/                  # solver and library notes
└── implementations/            # standalone reference implementations

Each skill is a single self-contained SKILL.md. Skills reference each other by folder name in their related-skills sections, so installing the full set gives the best cross-linking.

Supporting material

  • general-research/ — notes that span several skills: surveys, reading lists, and topic maps for combinatorial optimization research.
  • libraries/ — notes on Python optimization libraries and solvers beyond what each skill covers inline.
  • implementations/ — standalone, runnable reference implementations of algorithms described in the skills.

These folders supplement the skills; the skills/ folder alone is enough to use the collection.

Contributing

PRs are welcome. For a new or changed skill:

  • Follow the structure of the existing SKILL.md files: frontmatter with name and description, an initial assessment section, a core framework, worked Python implementations, advanced techniques, practical challenges, and a related-skills list.
  • Keep code minimal and runnable; prefer numpy/pandas idioms over hand-rolled loops.
  • Cross-link related skills by their folder names so the network of skills stays connected.
  • Add new skills to the matching group table in this README and update the skill count badge.
  • Test that the skill triggers: run a prompt that matches its description and confirm Claude Code loads it.

License

MIT.

About

76 Claude Code skills for combinatorial optimization and operations research: MILP with Gurobi, metaheuristics, encodings/operators, classic problems, and research tooling

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors