← all publishers

hajibabaie

@hajibabaie source repo

76 published skills

  1. Vehicle Routing Problem · hajibabaie
    When the user wants to model and solve vehicle routing problems — the capacitated VRP and its main variants (time windows, multi-depot, heterogeneous fleet, pickup-and-delivery) — via two- and three-index MIP formulations, savings and sweep construction, ALNS improvement, and OR-Tools routing. Also use when the user mentions "vehicle routing," "VRP," "CVRP," "time windows," "fleet," "delivery routes," or "Solomon instances," or when several capacity-limited routes must start and end at a depot. For single-vehicle tours, see traveling-salesman-problem; for destroy-repair design in depth, see large-neighborhood-search.
    0
    installs
  2. Gurobi Advanced Features · hajibabaie
    When the user wants to use Gurobi beyond plain model building — callbacks for lazy constraints, user cuts, heuristic solution injection, and early termination; IIS computation for diagnosing an infeasible model; the solution pool; the multi-objective API; the matrix API (addMVar/addMConstr); MIP starts; and parameter tuning with the built-in tuning tool. Also use when the user mentions "Gurobi callback," "lazy constraints," "IIS," "solution pool," "Gurobi parameters," "infeasible model," or "MIP start." For core model construction, see milp-modeling-gurobi; for cut families and separation theory, see cutting-planes-valid-inequalities.
    0
    installs
  3. Linearization Techniques · hajibabaie
    When the user wants to turn nonlinear terms — variable products, absolute values, min/max, piecewise-linear functions, logical implications, or fractional objectives — into mixed-integer linear constraints, or needs tight big-M values. Also use when the user mentions "linearize," "big-M," "bilinear," "piecewise linear," "indicator constraint," "product of variables," or "McCormick," or when a quadratic model must run on a MILP solver. For overall MILP construction, see milp-modeling-gurobi; for formulation strength and cuts, see integer-programming-techniques.
    0
    installs
  4. Facility Location Problem · hajibabaie
    When the user wants to choose facility sites and assign customers to them — UFLP, CFLP, p-median, or p-center — with strong MIP formulations, Benders or Lagrangian solution paths, and greedy, interchange, or VNS heuristics. Also use when the user mentions "facility location," "p-median," "p-center," "open facilities," "location-allocation," "UFLP," "warehouse location," or when fixed opening costs trade off against assignment or transport costs. For optimality-cut decomposition at scale, see benders-decomposition; for demand uncertainty, see stochastic-optimization.
    0
    installs
  5. Large Neighborhood Search · hajibabaie
    When the user wants to implement or tune large neighborhood search (LNS) or adaptive LNS (ALNS), covering destroy/repair operator design, adaptive operator weights, acceptance criteria, and noise, for routing, scheduling, and tightly constrained problems. Also use when the user mentions "large neighborhood search," "ALNS," "destroy and repair," "removal operator," "insertion heuristic," "adaptive weights," "ruin and recreate," or when small-move local search stalls because moves are infeasible. For VRP baselines, see vehicle-routing-problem; for exact MIP repair, see matheuristics.
    0
    installs
  6. Network Flow Optimization · hajibabaie
    When the user wants to solve flow problems on a network - max-flow/min-cut, min-cost flow, multicommodity flow, or shortest paths via Dijkstra, Bellman-Ford, and label-correcting methods - using networkx, gurobipy, or specialized algorithms, including when total unimodularity makes LP solutions integral for free. Also use when the user mentions "network flow," "min-cost flow," "max flow," "multicommodity," "shortest path," "flow conservation," or when the constraints have flow-balance structure on a graph. For one-to-one matching, see assignment-problems; for duality and sensitivity background, see linear-programming-fundamentals.
    0
    installs
  7. Timetabling And Rostering · hajibabaie
    When the user wants to model and solve educational timetabling (course or exam scheduling) or personnel rostering problems with hard and soft constraints, using MIP, CP-SAT, or heuristic methods. Also use when the user mentions "timetabling," "course scheduling," "nurse rostering," "shift scheduling," "soft constraints," "exam scheduling," or when the problem assigns events to time slots, rooms, or shifts under conflict, coverage, and workload rules. For CP-SAT modeling idioms, see constraint-programming; for the conflict-graph structure behind period assignment, see graph-coloring.
    0
    installs
  8. Fitness Landscape Analysis · hajibabaie
    When the user wants to analyze a fitness landscape before or while designing a search algorithm — measuring ruggedness with random-walk autocorrelation and correlation length, fitness-distance correlation, plateaus and neutrality, and sampled local optima networks — and to use those measurements to choose operators and predict problem hardness. Also use when the user mentions "fitness landscape," "ruggedness," "fitness-distance correlation," "autocorrelation," "problem hardness," "big valley," or "neutrality," or when a metaheuristic stagnates for unclear reasons. For move and neighborhood design, see local-search-and-neighborhoods; for turning the diagnosis into a full algorithm design, see metaheuristic-design-principles.
    0
    installs
  9. Traveling Salesman Problem · hajibabaie
    When the user wants to model or solve the traveling salesman problem - exact MIP formulations (MTZ vs DFJ with lazy subtour-elimination cuts), construction heuristics (nearest neighbor, greedy edge, Christofides), 2-opt/3-opt/Or-opt improvement, and Lin-Kernighan-style moves. Also use when the user mentions "TSP," "traveling salesman," "subtour elimination," "tour," "2-opt," "TSPLIB," "Hamiltonian cycle," or when one vehicle must visit every node exactly once and return. For multiple vehicles, capacities, or time windows, see vehicle-routing-problem; for delta-evaluation engineering, see local-search-and-neighborhoods.
    0
    installs
  10. Dantzig Wolfe Decomposition · hajibabaie
    When the user wants to reformulate a structured LP or MIP via Dantzig-Wolfe decomposition — detect block-angular structure, build the master with convexity constraints, price columns from independent subproblems, and relate the DW bound to LP and Lagrangian bounds. Also use when the user mentions "Dantzig-Wolfe," "block-angular," "decomposable structure," "convexification," "master problem reformulation," or when a model splits into blocks tied by a few linking constraints. For the pricing loop and branch-and-price, see column-generation; for subgradient dual bounds, see lagrangian-relaxation.
    0
    installs
  11. Parallel Machine Scheduling · hajibabaie
    Parallel Machine Scheduling
    0
    installs
  12. Particle Swarm Optimization · hajibabaie
    When the user wants to design, implement, or tune particle swarm optimization, covering velocity and position updates, inertia weight, constriction, swarm topologies, and discrete adaptations such as random-key and binary PSO. Also use when the user mentions "particle swarm," "PSO," "inertia weight," "velocity update," "swarm topology," or "binary PSO," or when a gradient-free continuous box-constrained problem needs a population method. For the often stronger vector-difference alternative, see differential-evolution; for mapping particles to permutations, see decoder-based-representations.
    0
    installs
  13. Solution Validation Testing · hajibabaie
    Solution Validation and Testing
    0
    installs
  14. Multi Objective Optimization · hajibabaie
    When the user wants to optimize two or more conflicting objectives and reason about Pareto trade-offs — Pareto dominance and efficient sets, exact front generation with weighted-sum and epsilon-constraint scalarizations in Gurobi, NSGA-II mechanics (fast non-dominated sorting, crowding distance, crowded tournament), pymoo workflows, and hypervolume/IGD quality indicators with sound normalization. Also use when the user mentions "multi-objective," "Pareto front," "NSGA-II," "epsilon-constraint," "hypervolume," "trade-off," "nadir point," or when a model carries several objectives that cannot be merged into one number. For selection machinery inside evolutionary algorithms, see selection-and-replacement-strategies; for plotting Pareto fronts and convergence, see matplotlib-optimization-visualization.
    0
    installs
  15. Optuna Hyperparameter Tuning · hajibabaie
    When the user wants to tune metaheuristic or solver parameters with Optuna, including search-space definition, TPE sampling, pruning weak configurations early, multi-instance objectives (mean/median over an instance set), and held-out validation against overtuning. Also use when the user mentions "Optuna," "hyperparameter tuning," "parameter tuning," "tune metaheuristic," "TPE sampler," "algorithm configuration," or when reported results hinge on hand-picked parameter values. For statistical comparison of tuned configurations, see algorithm-benchmarking-statistics; for deciding which parameters an algorithm should expose, see metaheuristic-design-principles.
    0
    installs
  16. Pandas Experiment Management · hajibabaie
    When the user wants to record, store, and aggregate computational-experiment results for optimization algorithms with pandas - tidy one-row-per-run tables, run metadata (instance, seed, algorithm, parameters, runtime, objective), atomic CSV/parquet writing, aggregation across instances and seeds, and pivot tables for papers. Also use when the user mentions "experiment results," "results dataframe," "aggregate runs," "experiment tracking," "results CSV," "results parquet," or when thousands of raw runs must become one defensible paper table. For statistical comparison of algorithms, see algorithm-benchmarking-statistics; for turning result tables into figures, see matplotlib-optimization-visualization.
    0
    installs
  17. Quadratic Assignment Problem · hajibabaie
    When the user wants to model or solve the quadratic assignment problem — assigning n facilities to n locations to minimize the total flow-times-distance cost — with linearized MIP models or robust tabu search built on O(n) swap delta evaluation. Also use when the user mentions "quadratic assignment," "QAP," "flow distance," "QAPLIB," "facility layout," or "Koopmans-Beckmann," or when pairwise interaction costs depend on a permutation. For linear assignment without interaction terms, see assignment-problems; for choosing among product linearizations, see linearization-techniques.
    0
    installs
  18. Variable Neighborhood Search · hajibabaie
    When the user wants to design or implement variable neighborhood search and its family — VND, basic VNS, general VNS, and skewed VNS — choosing and ordering neighborhoods, designing shaking moves, and deciding when systematic neighborhood change beats a single neighborhood. Also use when the user mentions "variable neighborhood search," "VNS," "VND," "shaking," "neighborhood change," or when a local search keeps returning to the same local optimum. For move design and delta evaluation, see local-search-and-neighborhoods; for perturbation-restart loops, see iterated-local-search.
    0
    installs
  19. Decoder Based Representations · hajibabaie
    When the user wants to design an indirect encoding where a decoder maps a simple genotype (random keys, priority vectors, rule choices) to a feasible solution, including serial/parallel schedule-generation schemes and feasibility-enforcing decoders. Also use when the user mentions "decoder," "random keys," "indirect encoding," "schedule generation scheme," "priority-based encoding," "genotype-phenotype mapping," or when operators are easier to apply to a vector than to the constrained solution. For direct representation choice, see solution-encodings; for the evolutionary engine around a decoder, see biased-random-key-genetic-algorithm.
    0
    installs
  20. Scatter Search Path Relinking · hajibabaie
    When the user wants to implement scatter search (reference set management, diversification generation, subset combination, improvement method) or path relinking as intensification between elite solutions, standalone or inside GRASP. Also use when the user mentions "scatter search," "path relinking," "reference set," "RefSet," "elite solutions," "solution combination," "relinking," or when a small, explicitly managed elite population should replace a large stochastic one. For greedy randomized construction and multi-start, see grasp; for large-population recombination, see genetic-algorithms.
    0
    installs
  21. Constraint Handling Techniques · hajibabaie
    When the user wants to handle constraints inside metaheuristics by choosing among penalty functions (static, dynamic, adaptive), repair operators, feasibility-preserving operators, decoder-based feasibility, stochastic ranking, and Deb's feasibility rules. Also use when the user mentions "constraint handling," "penalty function," "repair operator," "infeasible solutions," "feasibility rules," "adaptive penalty," or when a metaheuristic keeps returning infeasible solutions. For representation choice, see solution-encodings; for feasibility-enforcing decoders, see decoder-based-representations.
    0
    installs
  22. Fitness Evaluation And Caching · hajibabaie
    When the user wants to speed up objective evaluation in a metaheuristic or local search — profiling, delta/incremental evaluation, memoization with solution hashing, surrogate, vectorized batch, and parallel evaluation. Also use when the user mentions "fitness evaluation," "delta evaluation," "incremental evaluation," "memoization," "expensive objective," or "evaluation bottleneck," or when most runtime goes to recomputing objectives from scratch. For move and neighborhood design, see local-search-and-neighborhoods; for array-level speedups, see numpy-vectorization-for-optimization.
    0
    installs
  23. Integer Programming Techniques · hajibabaie
    When the user wants to diagnose and fix slow MIP solves — branch-and-bound mechanics inside modern solvers, LP relaxation strength, MIP gap interpretation, formulation tightening, symmetry breaking, big-M versus indicator constraints, and presolve effects. Also use when the user mentions "branch and bound," "MIP gap," "LP relaxation," "symmetry breaking," "tighten formulation," "big-M," or when the dual bound stalls while the incumbent stops improving. For building gurobipy models from scratch, see milp-modeling-gurobi; for implementing a custom search tree, see branch-and-bound.
    0
    installs
  24. Local Search And Neighborhoods · hajibabaie
    When the user wants to design or implement neighborhood-based local search - choosing moves (swap, insertion, 2-opt, Or-opt, exchange), writing O(1)/O(n) delta evaluation, first vs best improvement, scan order, and move data structures. Also use when the user mentions "local search," "2-opt," "neighborhood," "delta evaluation," "hill climbing," "first improvement," or when a heuristic recomputes the full objective after every move. For accepting worsening moves to escape local optima, see simulated-annealing; for perturbation-and-restart wrappers, see iterated-local-search.
    0
    installs
  25. Optimization Project Structure · hajibabaie
    When the user wants to organize optimization research code into a reproducible project — separating the src package, scripts, configs, and results; JSON/YAML config systems; factory registration of algorithms and problems; seed discipline; atomic result writing; and light testing. Also use when the user mentions "project structure," "research code organization," "config file," "factory pattern," "reproducible runs," or "random seed," or when results can no longer be traced to the exact code and parameters that produced them. For result tables and aggregation, see pandas-experiment-management; for commit and tag discipline, see git-for-research-code.
    0
    installs
  26. Linear Programming Fundamentals · hajibabaie
    When the user wants to formulate linear programs, solve them with simplex or barrier methods, and interpret the result through duality — shadow prices, reduced costs, sensitivity ranges, degeneracy. Also use when the user mentions "linear programming," "dual values," "shadow price," "sensitivity analysis," "reduced cost," "LP relaxation duals," or when a constraint's economic price is needed to explain or decompose a model. For mixed-integer models, see milp-modeling-gurobi; for LPs whose columns must be priced on demand, see column-generation.
    0
    installs
  27. Metaheuristic Design Principles · hajibabaie
    When the user wants to choose or design a metaheuristic for a combinatorial problem — picking a representation, designing operators, handling constraints, balancing intensification and diversification, and setting stopping criteria and evaluation budgets. Also use when the user mentions "which metaheuristic," "design a heuristic," "intensification," "diversification," "stopping criterion," "metaheuristic framework," or when exact methods cannot scale to the required instance size. For representation choice, see solution-encodings; for move and neighborhood design, see local-search-and-neighborhoods.
    0
    installs
  28. Vehicle Platooning Optimization · hajibabaie
    When the user wants to coordinate truck platoons — choosing routes with bounded detours, scheduling departures and waiting under time windows, and pairing trucks on shared arcs so followers save air-drag fuel — via an exact MIP or a metaheuristic. Also use when the user mentions "platooning," "truck platoon," "fuel savings," "convoy," "platoon coordination," or "slipstreaming," or when arc fuel cost depends on which other vehicles traverse the arc at the same time. For routing without inter-vehicle coupling, see vehicle-routing-problem; for MIP construction patterns, see milp-modeling-gurobi.
    0
    installs
  29. Algorithm Benchmarking Statistics · hajibabaie
    When the user wants to compare optimization algorithms with a sound empirical protocol — instance and seed design, time limits, best/mean/gap reporting, nonparametric hypothesis tests, effect sizes, and the plots that summarize them. Also use when the user mentions "compare algorithms," "statistical test," "Wilcoxon," "Friedman test," "performance profile," "time-to-target," or asks "is my algorithm better" than a baseline. For benchmark instance sets and parsers, see instance-generation-and-benchmarks; for tidy run tables and aggregation, see pandas-experiment-management.
    0
    installs
  30. Cutting Planes Valid Inequalities · hajibabaie
    When the user wants to strengthen a MIP with cutting planes and valid inequalities — deriving cover, clique, MIR, or Gomory cuts, writing separation routines, and adding them as user cuts or lazy constraints via Gurobi callbacks. Also use when the user mentions "valid inequalities," "cutting planes," "separation problem," "user cuts," "cover inequalities," "subtour elimination," or when a formulation needs exponentially many constraints generated on the fly. For callback mechanics beyond cuts, see gurobi-advanced-features; for formulation tightening, see integer-programming-techniques.
    0
    installs
  31. Set Covering Packing Partitioning · hajibabaie
    When the user wants to model or solve set covering, set packing, or set partitioning problems with exact MIP models, the greedy heuristic and its ln(n) guarantee, LP rounding, or Lagrangian-based heuristics in the Caprara-Fischetti-Toth style. Also use when the user mentions "set covering," "set partitioning," "set packing," "crew scheduling," "covering constraint," "winner determination," or when each row must be hit at least once, exactly once, or at most once by selected columns. For pricing the columns of huge set-partitioning masters, see column-generation; for the routes behind those columns, see vehicle-routing-problem.
    0
    installs
  32. Warm Starts And Initial Solutions · hajibabaie
    When the user wants to construct an initial solution and feed it into a solver — construction heuristics by problem class, MIP starts and variable hints in Gurobi, partial fixing, and seeding metaheuristic populations from exact solution pools. Also use when the user mentions "warm start," "MIP start," "initial solution," "construction heuristic," "seed the population," "variable hints," or when the solver struggles to find any feasible solution. For callback injection and solution pools, see gurobi-advanced-features; for fix-and-optimize hybrids built on partial fixing, see matheuristics.
    0
    installs
  33. Instance Generation And Benchmarks · hajibabaie
    When the user wants to assemble instances for optimization experiments by parsing standard benchmarks (TSPLIB, CVRPLIB/Solomon, OR-Library, MIPLIB, QAPLIB, Taillard), writing seeded generators with controlled hardness, reporting instance features, or building train/test splits for tuning. Also use when the user mentions "benchmark instances," "TSPLIB," "Solomon instances," "OR-Library," "instance generator," "test instances," or when a study needs a defensible test bed. For statistical comparison, see algorithm-benchmarking-statistics; for feasibility checking, see solution-validation-testing.
    0
    installs
  34. Parallel And Hybrid Metaheuristics · hajibabaie
    When the user wants to parallelize a metaheuristic or combine several searches — island models with migration, master-slave fitness evaluation, parallel multistart, cooperative search, or algorithm portfolios — with the Python practicalities (multiprocessing, joblib, vectorization-first). Also use when the user mentions "parallel metaheuristic," "island model," "migration," "master-slave," "cooperative search," "portfolio," or when single runs are too slow and CPU cores sit idle. For removing Python loops inside one process, see numpy-vectorization-for-optimization; for choosing the base algorithm, see metaheuristic-design-principles.
    0
    installs
  35. Biased Random Key Genetic Algorithm · hajibabaie
    When the user wants to design, implement, or tune a biased random-key genetic algorithm (BRKGA), where chromosomes are random-key vectors in [0,1), evolution uses elite/mutant partitioning with biased uniform crossover, and a decoder is the only problem-specific component. Also use when the user mentions "BRKGA," "random keys," "random-key encoding," "biased crossover," "decoder," or when genetic operators must never produce infeasible solutions. For decoder design patterns, see decoder-based-representations; for general GA operators and selection, see genetic-algorithms.
    0
    installs
  36. Diversity And Population Management · hajibabaie
    Diversity and Population Management
    0
    installs
  37. Mutation And Perturbation Operators · hajibabaie
    When the user wants to design or tune mutation and perturbation operators — bit-flip, creep, Gaussian, polynomial; swap, insertion, inversion, scramble, segment moves for permutations; destroy-style perturbations; and mutation-strength adaptation. Also use when the user mentions "mutation operator," "bit flip," "swap mutation," "inversion mutation," "Gaussian mutation," "perturbation strength," "mutation rate," or when a metaheuristic stagnates and needs calibrated noise. For two-parent recombination, see crossover-operators; for improving-move design, see local-search-and-neighborhoods.
    0
    installs
  38. Numpy Vectorization For Optimization · hajibabaie
    When the user wants to remove slow Python loops from metaheuristic or optimization code using NumPy — population-level operations, batch fitness evaluation, distance matrices, broadcasting, argsort/argpartition idioms, default_rng, and memory layout. Also use when the user mentions "vectorize," "numpy broadcasting," "population fitness," "distance matrix," "speed up metaheuristic," or "slow Python loop." For computing less instead of faster (delta evaluation, caching), see fitness-evaluation-and-caching; for multiprocessing and island models, see parallel-and-hybrid-metaheuristics.
    0
    installs
  39. Selection And Replacement Strategies · hajibabaie
    When the user wants to choose, implement, or tune parent selection and survivor replacement in evolutionary algorithms — tournament, roulette-wheel, rank, stochastic universal sampling, and Boltzmann selection, plus generational vs steady-state replacement, elitism, and (mu+lambda) vs (mu,lambda) — with selection-pressure and takeover-time analysis. Also use when the user mentions "selection operator," "tournament selection," "roulette wheel," "rank selection," "elitism," "steady-state GA," or when a population converges prematurely or stalls. For diversity machinery, see diversity-and-population-management; for the full GA loop, see genetic-algorithms.
    0
    installs
  40. Estimation Of Distribution Algorithms · hajibabaie
    When the user wants to design or implement an estimation of distribution algorithm — UMDA, PBIL, compact GA, tree models, BOA, or permutation EDAs with position-frequency, edge-histogram, or Mallows models — building and sampling probabilistic models over good solutions instead of using crossover. Also use when the user mentions "estimation of distribution," "EDA," "UMDA," "PBIL," "probabilistic model-building," or when variable interactions must be learned rather than hand-coded. For recombination-based search, see genetic-algorithms; for representation and decoder choices, see solution-encodings.
    0
    installs
  41. Matplotlib Optimization Visualization · hajibabaie
    Matplotlib Visualization for Optimization
    0
    installs
  42. Nature Inspired Metaheuristics Overview · hajibabaie
    When the user needs a critical, operator-level assessment of metaphor-based metaheuristics — what harmony search, cuckoo search, firefly, grey wolf, whale, or bat algorithms actually compute, and when to just use an established method. Also use when the user mentions "harmony search," "cuckoo search," "firefly algorithm," "grey wolf optimizer," "novel metaheuristic," "metaphor-based," or asks whether a newly published nature-inspired algorithm is worth adopting. For designing a method from proven components, see metaheuristic-design-principles; for sound empirical comparison, see algorithm-benchmarking-statistics.
    0
    installs
  43. Grasp · hajibabaie
    When the user wants to implement GRASP — multi-start greedy randomized construction with a restricted candidate list followed by local search — including alpha tuning, reactive GRASP, and path relinking hybrids. Also use when the user mentions "GRASP," "greedy randomized," "restricted candidate list," "RCL," "multi-start," "semi-greedy," or when a good greedy heuristic exists but its deterministic bias must be escaped by randomized restarts. For the improvement phase, see local-search-and-neighborhoods; for elite-set intensification, see scatter-search-path-relinking.
    0
    installs
  44. Lot Sizing · hajibabaie
    When the user wants to model and solve dynamic lot-sizing problems, from uncapacitated single-item lot sizing to multi-item capacitated lot sizing (CLSP) with setup times, covering Wagner-Whitin DP, facility-location reformulation, (l,S) valid inequalities, big-bucket vs small-bucket models, and fix-and-optimize. Also use when the user mentions "lot sizing," "Wagner-Whitin," "setup costs," "CLSP," "production planning periods," or a setup-vs-holding cost trade-off over a discrete horizon. For DP recursion design, see dynamic-programming; for MIP-based improvement loops, see matheuristics.
    0
    installs
  45. Bin Packing · hajibabaie
    When the user wants to pack items into the fewest capacitated bins, compare FFD/BFD heuristics against the L1/L2 lower bounds, or build exact compact MIP and arc-flow models, plus variants with variable bin sizes and item conflicts. Also use when the user mentions "bin packing," "first fit decreasing," "minimize bins," "packing items," "lower bound L2," or when indivisible items must be partitioned into identical capacity-limited containers. For repeated item sizes with large demands and trim loss, see cutting-stock; for the pattern set-covering route, see column-generation.
    0
    installs
  46. Tabu Search · hajibabaie
    When the user wants to design or implement tabu search — tabu lists and tenure, move attributes, aspiration criteria, frequency-based diversification, candidate list strategies, and elite-restart intensification. Also use when the user mentions "tabu search," "tabu list," "tabu tenure," "aspiration criterion," "candidate list," or when a local search keeps cycling back into the same local optima. For neighborhood design and delta evaluation, see local-search-and-neighborhoods; for incremental objective updates and solution hashing, see fitness-evaluation-and-caching.
    0
    installs
  47. Cutting Stock · hajibabaie
    When the user wants to solve one-dimensional cutting stock problems — cutting demanded item widths from standard stock rolls at minimum roll usage or trim loss — with pattern-based (Gilmore-Gomory) or compact MIP models, column generation with knapsack pricing, and integer rounding. Also use when the user mentions "cutting stock," "trim loss," "cutting patterns," "stock rolls," "pattern generation," "Gilmore-Gomory," or when a covering model has one column per feasible cutting pattern. For the generic restricted-master/pricing machinery, see column-generation; for the unit-demand cousin of this problem, see bin-packing.
    0
    installs
  48. Matheuristics · hajibabaie
    When the user wants to hybridize a MIP solver with heuristic search — fix-and-optimize, relax-and-fix, MIP-based destroy-and-repair (LNS with exact repair), local branching, or solution polishing — including budgeting solver calls inside the loop. Also use when the user mentions "matheuristic," "fix-and-optimize," "relax-and-fix," "local branching," "MIP heuristic hybrid," "proximity search," or when the full MIP stalls while sub-MIPs with most binaries fixed solve in seconds. For heuristic destroy-repair, see large-neighborhood-search; for MIP starts and variable hints, see warm-starts-and-initial-solutions.
    0
    installs
  49. Graph Coloring · hajibabaie
    When the user wants to assign colors (labels, slots, frequencies) to graph vertices so adjacent vertices differ, minimize the number of colors used, or bound the chromatic number with exact or heuristic methods. Also use when the user mentions "graph coloring," "chromatic number," "DSATUR," "tabucol," "Kempe chains," "coloring conflicts," or when items must share scarce resources subject to pairwise conflicts (exam slots, CPU registers, radio frequencies). For full timetabling models with soft constraints, see timetabling-and-rostering; for CP-SAT modeling depth, see constraint-programming.
    0
    installs
  50. Branch And Bound · hajibabaie
    When the user wants to implement a custom branch-and-bound algorithm — designing bounding functions, branching rules, node selection (depth-first vs best-first), dominance rules, and incumbent management — or to decide when custom B&B beats a MIP solver. Also use when the user mentions "custom branch and bound," "bounding function," "branching rule," "node selection," "best-first search," or when the bounding relaxation is combinatorial rather than an LP. For solver-internal B&B and MIP gaps, see integer-programming-techniques; for branch-and-price trees, see column-generation.
    0
    installs
  51. Hyper Heuristics · hajibabaie
    When the user wants to build a hyper-heuristic — a search method that selects or generates low-level heuristics instead of searching solutions directly — covering selection hyper-heuristics (heuristic selection plus move acceptance), low-level heuristic pool design, learning and reward schemes, and generation hyper-heuristics. Also use when the user mentions "hyper-heuristic," "operator selection," "low-level heuristics," "heuristic selection," "move acceptance," "choice function," or when many candidate operators exist and none dominates across instances. For adaptive destroy/repair weights, see large-neighborhood-search; for choosing the overall search paradigm, see metaheuristic-design-principles.
    0
    installs
  52. Column Generation · hajibabaie
    When the user wants to solve linear or integer programs whose variable set is too large to enumerate, by iterating between a restricted master problem and a reduced-cost pricing problem, up to full branch-and-price. Also use when the user mentions "column generation," "pricing problem," "restricted master problem," "branch-and-price," "Gilmore-Gomory," or when the problem has exponentially many variables such as patterns, routes, or crew schedules. For deriving the master from a compact model, see dantzig-wolfe-decomposition; for labeling algorithms used in pricing, see dynamic-programming.
    0
    installs
  53. Knapsack Problems · hajibabaie
    When the user wants to formulate and solve knapsack problems — 0-1, bounded, multiple, multidimensional, or quadratic — using dynamic programming, branch-and-bound, MIP, greedy bounds, or metaheuristics. Also use when the user mentions "knapsack," "0-1 knapsack," "multidimensional knapsack," "subset selection," "capacity constraint," or when a knapsack appears as a pricing or separation subproblem inside a larger algorithm. For Bellman recursions and state design, see dynamic-programming; for pricing loops built on a knapsack solver, see column-generation.
    0
    installs
  54. Genetic Algorithms · hajibabaie
    Genetic Algorithms
    0
    installs
  55. Memetic Algorithms · hajibabaie
    When the user wants to build or tune a memetic algorithm - a genetic algorithm hybridized with local search - covering Lamarckian vs Baldwinian learning, local-search frequency and depth budgeting, restart management, and population diversity under strong local search. Also use when the user mentions "memetic algorithm," "hybrid GA," "GA with local search," "Lamarckian," "cultural algorithm," or when a plain GA stalls far from optimality and needs intensification. For the underlying evolutionary loop, see genetic-algorithms; for neighborhood and delta-evaluation design, see local-search-and-neighborhoods.
    0
    installs
  56. Solution Encodings · hajibabaie
    When the user wants to choose or design a solution representation for a metaheuristic — binary, integer, real-valued, permutation, matrix, set-based, or mixed — and judge candidates by locality, redundancy, feasibility coverage, and bias. Also use when the user mentions "solution representation," "encoding," "permutation encoding," "binary encoding," "genotype," "representation choice," or when operators keep producing infeasible or invalid offspring. For indirect encodings and decoder design, see decoder-based-representations; for recombination operators per encoding, see crossover-operators.
    0
    installs
  57. Assignment Problems · hajibabaie
    When the user wants to match agents to tasks at minimum cost - linear assignment via the Hungarian algorithm, LP duality, or linear_sum_assignment; generalized assignment (GAP) via MIP, Lagrangian relaxation, and local search; bottleneck (min-max) assignment. Also use when the user mentions "assignment problem," "Hungarian algorithm," "generalized assignment," "GAP," "linear_sum_assignment," "matching," or when each task needs one agent under capacity limits. For flow formulations, see network-flow-optimization; for interaction costs between assigned pairs, see quadratic-assignment-problem.
    0
    installs
  58. Crossover Operators · hajibabaie
    Crossover Operators
    0
    installs
  59. Dynamic Programming · hajibabaie
    When the user wants to design and implement dynamic programming for combinatorial optimization — state-space design, Bellman recursions, memoization vs tabulation, solution recovery, and labeling algorithms for resource-constrained shortest paths. Also use when the user mentions "dynamic programming," "Bellman recursion," "state space," "Held-Karp," "labeling algorithm," "memoization," or when the problem decomposes into stages with overlapping subproblems. For pricing loops that call a DP oracle, see column-generation; for tree search driven by DP bounds, see branch-and-bound.
    0
    installs
  60. Guided Local Search · hajibabaie
    When the user wants to escape local optima by penalizing solution features and re-optimizing an augmented objective — guided local search (GLS) design, implementation, lambda calibration, penalty decay, and pairing with fast local search. Also use when the user mentions "guided local search," "GLS," "feature penalties," "augmented objective," "penalty decay," "escape local optimum," or OR-Tools' GUIDED_LOCAL_SEARCH routing metaheuristic. For neighborhood and delta-evaluation design, see local-search-and-neighborhoods; for memory-based escape via move attributes, see tabu-search.
    0
    installs
  61. Job Shop Scheduling · hajibabaie
    When the user wants to model and solve job-shop scheduling problems, sequencing job operations on machines under fixed per-job routes, minimizing makespan or tardiness, via disjunctive MIP, CP-SAT interval models, or critical-path tabu search. Also use when the user mentions "job shop," "disjunctive constraints," "makespan," "operations sequencing," "critical path neighborhood," "shifting bottleneck," or when every job visits machines in its own technological order. For permutation flow shops, see flow-shop-scheduling; for deeper CP-SAT modeling, see constraint-programming.
    0
    installs
  62. Open Source Solvers · hajibabaie
    When the user wants to solve LPs, MIPs, or CP models without a commercial license — choosing among HiGHS, SCIP, CBC, OR-Tools (CP-SAT and MathOpt), PuLP, Pyomo, and python-mip, comparing licenses, setting realistic performance expectations versus Gurobi, and migrating gurobipy models to an open-source stack. Also use when the user mentions "open-source solver," "HiGHS," "SCIP," "PuLP," "Pyomo," "CBC," "free solver," or "no Gurobi license." For gurobipy model construction itself, see milp-modeling-gurobi; for deep CP-SAT modeling, see constraint-programming.
    0
    installs
  63. Problem Formulation · hajibabaie
    When the user wants to translate a word problem or real-world planning situation into a formal optimization model — identifying decision variables, objective function, and constraints, choosing the model type (LP, MIP, CP, or heuristic), estimating model size, and auditing the data before any solver code is written. Also use when the user mentions "formulate," "model this problem," "decision variables," "objective function," "translate to optimization," or when a problem arrives as plain prose with no mathematical structure yet. For implementing the resulting MIP, see milp-modeling-gurobi; for nonlinear terms that must become linear, see linearization-techniques.
    0
    installs
  64. Robust Optimization · hajibabaie
    When the user wants to optimize under uncertainty with hard feasibility guarantees by building robust counterparts of LPs and MIPs over box, budget (Bertsimas-Sim), or ellipsoidal uncertainty sets and tuning the price of robustness. Also use when the user mentions "robust optimization," "uncertainty set," "robust counterpart," "Bertsimas-Sim," "worst case," "budget of uncertainty," or when constraint data is uncertain and any violation is unacceptable. For scenario-based expected-value models, see stochastic-optimization; for solver modeling mechanics, see milp-modeling-gurobi.
    0
    installs
  65. Simulated Annealing · hajibabaie
    When the user wants to design, implement, or tune simulated annealing for combinatorial optimization, covering Metropolis acceptance, cooling schedules (geometric, Lundy-Mees, adaptive), initial temperature calibration, reheating, and restarts. Also use when the user mentions "simulated annealing," "cooling schedule," "acceptance probability," "initial temperature," "Metropolis criterion," or when a hill climber stalls in local optima and needs a randomized escape. For move and delta-evaluation design, see local-search-and-neighborhoods; for choosing among metaheuristics, see metaheuristic-design-principles.
    0
    installs
  66. Evolution Strategies · hajibabaie
    When the user wants to design or implement an evolution strategy — (mu+lambda) or (mu,lambda) selection, self-adaptive step sizes, or CMA-ES — for continuous, integer, or mixed-integer search, including tuning another algorithm's parameters. Also use when the user mentions "evolution strategy," "CMA-ES," "self-adaptation," "(mu+lambda)," "step size control," or when a combinatorial problem is attacked through a continuous relaxation such as random keys. For vector-difference search, see differential-evolution; for TPE-based tuning with pruning, see optuna-hyperparameter-tuning.
    0
    installs
  67. Flow Shop Scheduling · hajibabaie
    When the user wants to model or solve flow-shop scheduling problems - permutation flow-shop makespan computation, the NEH heuristic, MIP models in gurobipy, and iterated greedy as the state-of-the-art metaheuristic, with a makespan-plus-tardiness multi-objective extension. Also use when the user mentions "flow shop," "permutation flow shop," "NEH," "iterated greedy," "Taillard," "makespan minimization," or when every job visits all machines in the same fixed order. For job-specific machine routes, see job-shop-scheduling; for Pareto trade-off analysis, see multi-objective-optimization.
    0
    installs
  68. Milp Modeling Gurobi · hajibabaie
    When the user wants to build, solve, and debug mixed-integer linear programs in Python with Gurobi — creating variables, writing constraint-builder functions, setting objectives and parameters, handling solver status, and extracting solutions safely. Also use when the user mentions "gurobipy," "build a MIP model," "mixed-integer program," "addVar," "addConstr," "tupledict," or asks why reading .X fails after optimize. For products of variables, big-M choices, and piecewise-linear terms, see linearization-techniques; for callbacks, IIS deep-dives, and solution pools, see gurobi-advanced-features.
    0
    installs
  69. Benders Decomposition · hajibabaie
    When the user wants to solve a structured MILP or two-stage stochastic program by Benders decomposition — splitting it into an integer master and LP subproblems, deriving optimality and feasibility cuts from subproblem duals, and implementing either the classic iterative loop or branch-and-Benders-cut with lazy-constraint callbacks in Gurobi. Also use when the user mentions "Benders decomposition," "Benders cuts," "L-shaped method," "feasibility cut," "optimality cut," "master problem," or when fixing a few complicating variables leaves an easy or separable subproblem. For scenario generation and SAA, see stochastic-optimization; for callback mechanics and parameters, see gurobi-advanced-features.
    0
    installs
  70. Git For Research Code · hajibabaie
    When the user wants to version-control optimization research code - small commits per experiment change, tags for paper result snapshots, .gitignore for solver logs, linking result tables to commit hashes, and branch strategy for risky refactors. Also use when the user mentions "git workflow," "version control research," "tag results," "reproducible experiments git," "gitignore solver," or when a paper number must trace to an exact code state. For repository layout, see optimization-project-structure; for tidy result tables, see pandas-experiment-management.
    0
    installs
  71. Iterated Local Search · hajibabaie
    When the user wants to design, implement, or tune iterated local search (ILS) — the local-search + perturbation + acceptance loop that is the strongest simple baseline for permutation and routing problems. Also use when the user mentions "iterated local search," "ILS," "perturbation," "kick move," "double-bridge," "iterated greedy," "restart strategy," or when a hill climber keeps returning the same local optimum and needs a principled escape mechanism. For neighborhood and delta-evaluation design, see local-search-and-neighborhoods; for randomized multi-start construction, see grasp.
    0
    installs
  72. Lagrangian Relaxation · hajibabaie
    When the user wants to compute strong dual bounds for integer programs by dualizing complicating constraints, optimizing the Lagrangian dual with subgradient methods, and recovering feasible solutions with Lagrangian heuristics. Also use when the user mentions "Lagrangian relaxation," "subgradient," "Lagrangian bound," "dualize constraints," "Lagrangian heuristic," or when a MIP would be easy except for a few coupling constraints. For LP duality foundations, see linear-programming-fundamentals; for the column-generation view of the same bound, see dantzig-wolfe-decomposition.
    0
    installs
  73. Constraint Programming · hajibabaie
    Constraint Programming with CP-SAT
    0
    installs
  74. Differential Evolution · hajibabaie
    When the user wants to solve continuous or mixed black-box optimization problems with differential evolution, choose among DE strategies (rand/1/bin, best/1/bin, current-to-best), tune F and CR, or adapt DE to permutation problems through random keys. Also use when the user mentions "differential evolution," "DE/rand/1," "mutation factor," "crossover rate CR," "SHADE," "jDE," or when a derivative-free population method is needed over a box-bounded continuous space. For covariance-matrix adaptation and (mu+lambda) selection, see evolution-strategies; for velocity-based swarm search, see particle-swarm-optimization.
    0
    installs
  75. Ant Colony Optimization · hajibabaie
    When the user wants to design, implement, or tune ant colony optimization for combinatorial problems, including pheromone model design, visibility heuristics, and choosing among Ant System, Ant Colony System, and MAX-MIN Ant System. Also use when the user mentions "ant colony," "ACO," "pheromone," "MMAS," "ant colony system," "pheromone evaporation," "pheromone trail," "construction graph," or when solutions are built component-by-component guided by learned trail values. For tour neighborhoods and 2-opt machinery, see local-search-and-neighborhoods; for TSP formulations and benchmarks, see traveling-salesman-problem.
    0
    installs
  76. Stochastic Optimization · hajibabaie
    When the user wants to optimize decisions under uncertainty with two-stage stochastic programming — extensive (deterministic-equivalent) form in Gurobi, scenario generation and reduction, sample average approximation (SAA), and EVPI/VSS analysis. Also use when the user mentions "stochastic programming," "two-stage," "scenarios," "SAA," "recourse," "uncertainty in demand," or when decisions split into here-and-now and wait-and-see stages. For L-shaped decomposition of large scenario models, see benders-decomposition; for distribution-free worst-case models, see robust-optimization.
    0
    installs