Public · locally testedGraph algorithms
Dijkstra shortest path
Dijkstra
label settingbinary heap
Evidence boundary. Registered-edge path and settled nonnegative labels.
- API
ExactGraphOracle.shortest_path- Source
src/optfin_orlab/graphs.py- Complexity
- O((|V| + |E|) log |V|)
Implemented · release review pendingToth lineage
Carpaneto-Toth primal-dual assignment
Carpaneto · Martello · Toth · Dell'Amico
row/column reductionshortest augmenting pathdual bound
Evidence boundary. Primal assignment agrees with brute force and Hungarian checks in the registered stress suite.
- API
AP.solve_carpaneto_toth- Source
source/orlab/problems/assignment.py- Complexity
- Polynomial assignment method; public-release review pending
Public · locally testedExact combinatorial optimization
Hungarian / Kuhn-Munkres assignment
Kuhn · Munkres
dual potentialsaugmenting paths
Evidence boundary. Primal assignment and dual reduced-cost conditions.
- API
HungarianAssignmentSolver.solve- Source
src/optfin_orlab/exact.py- Complexity
- O(n³)
Public · locally testedDynamic programming
Held-Karp TSP and ATSP dynamic programming
Held · Karp
subset DPtour reconstruction
Evidence boundary. Complete subset recurrence and minimum depot return.
- API
TSP.solve / ATSP.solve- Source
src/optfin_orlab/tsp.py- Complexity
- O(2ⁿn²) time; O(2ⁿn) memory
Public · locally testedExact methods
Branch and bound
Land · Doig
LP boundsincumbent pruningbinary branching
Evidence boundary. Feasible incumbent plus exhausted or bounded tree.
- API
BranchAndBound.solve- Source
src/optfin_orlab/branch_and_bound.py- Complexity
- Exponential worst case
Public · locally testedExact methods
Branch and cut
Polyhedral integer optimization
zero-half cutsMIR cutslifted-cover cuts
Evidence boundary. Incumbent, valid-cut ledger and bounded search tree.
- API
BranchAndBound.solve(use_cuts=True)- Source
src/optfin_orlab/branch_and_bound.py- Complexity
- Problem-dependent; exponential worst case
Implemented · release review pendingDecomposition
Branch and price for bin packing
Dantzig-Wolfe · Gilmore-Gomory
restricted masterpricingbranching
Evidence boundary. Column-master bound and branching ledger within the implemented model.
- API
BranchAndPriceBpp- Source
source/orlab/pipeline/branch_and_price_bpp.py- Complexity
- Pricing- and tree-dependent
Implemented · release review pendingDecomposition
Set-partitioning column generation
Dantzig-Wolfe
restricted masterreduced-cost pricingcolumn pool
Evidence boundary. Dual bound only when pricing exhaustion is established.
- API
SetPartitionColumnGeneration- Source
source/orlab/pipeline/setpart_column_generation.py- Complexity
- Master iterations × pricing cost
Implemented · release review pendingDecomposition
Fischetti-style Benders decomposition
Benders · Fischetti
master problemfeasibility cutsoptimality cuts
Evidence boundary. Master/subproblem cut ledger under the registered assumptions.
- API
BendersDecomposition- Source
source/orlab/exact_masters/fischetti_benders.py- Complexity
- Problem- and cut-dependent
Implemented · release review pendingMatheuristics
Fischetti-Lodi local branching
Fischetti · Lodi
Hamming-ball neighborhoodre-centeringexact subproblem
Evidence boundary. Fast-incumbent evidence; exactness requires complete outer search.
- API
LocalBranching.solve- Source
source/orlab/exact_masters/fischetti_lodi_local_branching.py- Complexity
- Neighborhood and MIP dependent
Implemented · release review pendingMatheuristics
Fischetti feasibility pump
Fischetti · Glover · Lodi
LP roundingdistance minimizationcycle perturbation
Evidence boundary. Feasibility only; no optimality claim.
- API
FeasibilityPump.solve- Source
source/orlab/exact_masters/fischetti_feasibility_pump.py- Complexity
- Iterations × relaxation cost
Implemented · release review pendingLocal search operators
DynaSearch with exact exponential-neighborhood DP
Congram · Potts · van de Velde
compound 2-optindependent movesdynamic programming
Evidence boundary. Each pass is at least as strong as its best single 2-opt move in registered checks.
- API
DynaSearch.solve- Source
source/orlab/dynasearch.py- Complexity
- O(n²) per DP-searched pass
Public · locally testedLocal search operators
2-opt segment reversal
Croes
edge exchangebest improvement
Evidence boundary. Feasible tour and recomputed objective after every accepted move.
- API
TSP.heuristic / VRP._two_opt- Source
src/optfin_orlab/tsp.py- Complexity
- O(n²) candidates per pass
Research implementation · bounded evidenceLocal search operators
Relocate and swap neighborhoods
General routing neighborhoods
relocateswapexact re-evaluation
Evidence boundary. Accepted moves are replayed for feasibility in their owning model.
- API
TruckDroneProblem.improve_tour_vnd / CARP.improve- Source
source/orlab/problems/truck_drone.py- Complexity
- Neighborhood- and evaluator-dependent
Implemented · release review pendingConstructive heuristics
Clarke-Wright savings + 2-opt
Clarke · Wright
parallel savingscapacity-feasible merge2-opt
Evidence boundary. Capacity-feasible routes with recomputed cost.
- API
VRP.heuristic- Source
source/orlab/problems/vrp.py- Complexity
- O(n² log n) plus local improvement
Implemented · release review pendingConstructive heuristics
CARP path scanning
Arc-routing construction
path scanningcapacity splitdeadheading shortest paths
Evidence boundary. Every required task is serviced within vehicle capacity.
- API
CARP.construct- Source
source/orlab/problems/carp.py- Complexity
- Problem- and shortest-path dependent
Implemented · release review pendingGeneral metaheuristics
POPMUSIC partial optimization
Taillard · Voss
related-part selectionexact/near-exact subsolverreinsertion
Evidence boundary. Monotone accepted improvements; global optimality is not implied.
- API
POPMUSIC.optimize- Source
source/orlab/popmusic.py- Complexity
- Rounds × selected-subproblem cost
Research implementation · bounded evidenceGeneral metaheuristics
Variable Neighborhood Search
Mladenović · Hansen
shakingneighborhood changelocal descent
Evidence boundary. Checker-valid feasible upper bound when the official evaluator accepts the solution.
- API
RoadefVnsUpperBound.solve- Source
source/orlab/roadef/roadef_vns_ub.py- Complexity
- Time-budgeted
Research implementation · bounded evidenceGeneral metaheuristics
Adaptive Large Neighborhood Search controller
Ropke · Pisinger
destroy/repair operatorsadaptive scoresacceptance gate
Evidence boundary. Operator ledger and feasible incumbent; no global proof.
- API
AdaptiveOperatorController- Source
source/orlab/solvers/roadef_alns_controller.py- Complexity
- Iterations × operator/evaluation cost
Implemented · release review pendingGeneral metaheuristics
Taillard robust tabu search for QAP
Taillard
swap neighborhoodtabu tenureaspiration
Evidence boundary. Feasible assignment and recomputed QAP objective; no global proof.
- API
QAP.tabu_search- Source
source/orlab/problems/qap.py- Complexity
- Iterations × O(n²) swap neighborhood
Implemented · release review pendingGeneral metaheuristics
Adaptive iterated local search for CARP/NEARP
Iterated local search · arc routing
destroygreedy repairadaptive operator choicelocal descent
Evidence boundary. Feasible required-task service and incumbent trace.
- API
CARP.solve- Source
source/orlab/problems/carp.py- Complexity
- Iterations × repair/local-search cost
Public · locally testedGeneral metaheuristics
Seeded classical simulated annealing
Kirkpatrick · Gelatt · Vecchi
QUBO energytemperature schedulefeasibility decode
Evidence boundary. Energy and decoded feasibility only; no quantum or optimality claim.
- API
TruckDroneProblem.solve_qubo_annealing- Source
src/optfin_orlab/truck_drone.py- Complexity
- Restarts × sweeps × interactions
Implemented · release review pendingHybrid exact/metaheuristic
DynaBranch
OptFin OR-Lab synthesis
DynaSearch warm startCarpaneto-Toth boundsubtour branching
Evidence boundary. Exact branch-and-bound retains the proof boundary; the heuristic supplies only the incumbent.
- API
DynaBranch.solve- Source
source/orlab/dynabranch.py- Complexity
- Exponential worst case with DP warm start
Implemented · release review pendingHybrid exact/metaheuristic
Corridor Method with exact window DP
Sniedovich · Voss
moving corridorexact window DPiterated improvement
Evidence boundary. Each corridor is solved exactly; the overall result remains heuristic.
- API
CorridorMethod.solve- Source
source/orlab/corridor_method.py- Complexity
- Windows × subset-DP cost
Research implementation · bounded evidenceHybrid exact/metaheuristic
Residual VNS + column generation
OptFin ROADEF research
residual VNScolumn extractionrestricted mastercompact polish
Evidence boundary. Separate UB feasibility and master-bound evidence; closure only when all proof gates pass.
- API
ResidualVnsColumnGeneration.run- Source
source/orlab/solvers/roadef_residual_vns_column_generation.py- Complexity
- Campaign-budgeted
Research implementation · bounded evidenceLocal search operators
Truck-drone best-improvement VND
VND routing
2-optrelocateexact split evaluation
Evidence boundary. Every candidate is evaluated through exact fixed-tour split; independent W03 remains separate.
- API
TruckDroneProblem.improve_tour_vnd- Source
source/orlab/problems/truck_drone.py- Complexity
- Rounds × neighborhoods × split-DP cost
Implemented · release review pendingToth lineage
Set-covering Lagrangian relaxation
Caprara · Fischetti · Toth
Lagrangian relaxationsubgradientreduced-cost primal heuristic
Evidence boundary. Dual lower bound and feasible primal upper bound are reported separately.
- API
SetCoveringLagrangian.solve- Source
source/orlab/caprara/set_covering_lagrangian.py- Complexity
- Iterations × decomposed covering evaluation
Implemented · release review pendingToth lineage
Train timetabling Lagrangian + branch and bound
Caprara · Fischetti · Toth
conflict relaxationsubgradientdrop-and-add searchbranch and bound
Evidence boundary. Dual bound, feasible timetable and exact-tree closure on registered instances.
- API
TrainTimetabling.solve- Source
source/orlab/caprara/train_timetabling_lagrangian.py- Complexity
- Timetable choices and tree dependent
Implemented · release review pendingToth lineage
Railway crew set-covering method
Caprara · Fischetti · Toth · Vigo · Guida
legal pairing generationset coveringLagrangian bound
Evidence boundary. Set-covering LB/UB evidence within the generated pairing universe.
- API
RailwayCrewScheduling.solve- Source
source/orlab/caprara/railway_crew_scheduling.py- Complexity
- Pairing generation and covering iterations
Implemented · release review pendingToth lineage
Quadratic knapsack exact branch and bound
Caprara · Pisinger · Toth
linear-surrogate upper boundbranch and bound
Evidence boundary. LB=UB tree closure on registered small instances.
- API
QuadraticKnapsack.solve- Source
source/orlab/caprara/quadratic_knapsack.py- Complexity
- Exponential worst case
Implemented · release review pendingToth lineage
Two-dimensional vector packing
Caprara · Toth
dimension boundscombined lower boundFFD upper boundexact feasibility B&B
Evidence boundary. Lower/upper bounds and exact bin-feasibility closure on registered instances.
- API
VectorPacking2D.solve- Source
source/orlab/caprara/vector_packing_2d.py- Complexity
- Exponential exact phase
Research implementation · bounded evidenceQuantum-ready classical baselines
Truck-drone fixed-tour QUBO
Binary set packing · quantum-ready modeling
linear savingsquadratic conflict penaltiesclassical annealing
Evidence boundary. Feasible decoded sortie set only; zero quantum-advantage claim.
- API
TruckDroneProblem.build_qubo / solve_qubo_annealing- Source
source/orlab/problems/truck_drone.py- Complexity
- Candidate interactions plus annealing budget
No method matches that search.