Skip to content
Back to categories

Optimization

Algorithms that search for better or best solutions.

Optimization algorithms improve decisions, parameters, schedules, or designs according to a goal and constraints.

OptimizationO(tg)

Gradient Descent

Minimizes an objective by repeatedly moving parameters opposite the gradient.

IntermediateFoundationFormula21 links
OptimizationIterativeMachine Learning
OptimizationO(t)

Newton's Method

Finds a root or optimum by repeatedly using local derivative information to form a better approximation.

IntermediateFoundationFormula22 links
OptimizationIterativeRoot FindingNumerical Methods
OptimizationO(t)

Simulated Annealing

Searches for good solutions while sometimes accepting worse moves early on.

IntermediateCoreFormula5 links
OptimizationMetaheuristicStochasticLocal Search
OptimizationO(gpf)

Genetic Algorithm

Evolves a population of candidate solutions through selection and variation.

IntermediateCoreFormula8 links
OptimizationMetaheuristicPopulation BasedStochastic
OptimizationO(tp)

Adam Optimizer

Adapts gradient updates using moving averages of gradients and squared gradients.

IntermediateCoreFormula6 links
OptimizationGradient BasedMachine Learning
OptimizationO(b^d)

Branch and Bound

Searches solution branches while pruning branches that cannot improve the best result.

AdvancedCoreFormula6 links
OptimizationBranch and BoundConstraint Solving
OptimizationO(tp)

Coordinate Descent

Optimizes one parameter or coordinate at a time.

IntermediateCoreFormula2 links
OptimizationIterativeLocal Search
OptimizationO(poly practical)

Linear Programming Simplex Method

Optimizes a linear objective by moving between vertices of a feasible region.

AdvancedCoreFormula7 links
OptimizationLinear ProgrammingClassic
OptimizationO(t p)

Nelder-Mead

Optimizes without derivatives by moving a simplex through the search space.

IntermediateCoreFormula2 links
OptimizationDerivative FreeLocal Search
OptimizationO(tbg)

Stochastic Gradient Descent

Updates parameters using gradients from one example or a small batch at a time.

IntermediateCoreFormula7 links
OptimizationGradient BasedMachine LearningStochastic
OptimizationO(k n^2)

BFGS

Optimizes smooth functions by updating an approximation of second-order curvature.

AdvancedSpecializedFormula6 links
OptimizationQuasi-NewtonGradient BasedIterative
OptimizationO(k m n)

L-BFGS

Runs BFGS-style optimization while storing only a limited history of curvature updates.

AdvancedSpecializedFormula3 links
OptimizationQuasi-NewtonGradient BasedMachine Learning
OptimizationO(k n^3)

Levenberg-Marquardt

Solves nonlinear least-squares problems by blending Gauss-Newton steps with damping.

AdvancedSpecializedFormula2 links
OptimizationTrust RegionGradient BasedRegression
OptimizationPolynomial for many convex forms

Interior Point Method

Solves constrained optimization problems by moving through the interior of the feasible region.

AdvancedSpecializedFormula5 links
OptimizationInterior PointLinear ProgrammingIterative
OptimizationO(n)

Gradient Clipping

Limits gradient size so optimization updates do not become unstable.

BeginnerCoreFormula3 links
OptimizationGradient BasedMachine LearningRegularization
OptimizationO(k n)

Proximal Gradient Method

Optimizes objectives with a smooth part and a nonsmooth regularization term.

AdvancedSpecializedFormula4 links
OptimizationGradient BasedRegularizationIterative
OptimizationProblem dependent

Hill Climbing

Improves a solution by repeatedly moving to a better neighboring solution.

BeginnerCoreFormula4 links
OptimizationLocal SearchMetaheuristic
OptimizationO(depth * b * w)

Beam Search

Keeps only the best few partial solutions while exploring a large search space.

IntermediateCoreFormula3 links
OptimizationHeuristic SearchSearch
OptimizationO(iterations * p * cost)

Particle Swarm Optimization

Searches for good solutions by moving particles according to personal and group best positions.

IntermediateCoreFormula5 links
OptimizationPopulation BasedMetaheuristicStochastic
OptimizationO(iterations * ants * choices)

Ant Colony Optimization

Solves combinatorial problems by reinforcing paths that produce good solutions.

AdvancedExtendedFormula1 links
OptimizationPopulation BasedMetaheuristicStochastic
OptimizationO(iterations * neighborhood)

Tabu Search

Improves solutions with local moves while forbidding recently visited moves or states.

IntermediateExtendedFormula3 links
OptimizationLocal SearchMetaheuristicHeuristic
OptimizationO(iterations * population * cost)

Differential Evolution

Optimizes continuous parameters by combining differences between population members.

IntermediateCoreFormula5 links
OptimizationPopulation BasedEvolution StrategyStochastic
OptimizationO(iterations * population * n^2)

CMA-ES

Optimizes continuous functions by adapting a Gaussian search distribution.

AdvancedSpecializedFormula2 links
OptimizationEvolution StrategyPopulation BasedStochastic
OptimizationO(n^3)

Bayesian Optimization

Optimizes expensive black-box functions using a surrogate model and acquisition rule.

AdvancedCoreFormula1 links
OptimizationModel FittingStochasticBayesian Optimization
OptimizationO(log((b-a)/tolerance))

Golden Section Search

Finds the minimum of a unimodal one-dimensional function by shrinking an interval efficiently.

BeginnerCoreFormula3 links
OptimizationSearchRoot FindingIterative
OptimizationO(iterations * n * line_search)

Powell's Method

Minimizes a function by performing line searches along evolving directions.

IntermediateExtendedFormula3 links
OptimizationDerivative FreeLocal SearchIterative
OptimizationO(iterations * step cost)

ADMM

Solves constrained optimization problems by alternating primal updates and dual correction.

AdvancedSpecializedFormula2 links
OptimizationConstraint SolvingAlternating DirectionConvex Optimization
OptimizationO(iterations * n k)

Expectation-Maximization

Fits latent-variable models by alternating expected assignments and parameter updates.

AdvancedCoreFormula4 links
OptimizationProbabilistic ModelModel FittingIterative
OptimizationO(iterations * n)

RANSAC

Fits a model by repeatedly sampling small subsets and keeping the model with the most inliers.

IntermediateCoreFormula3 links
OptimizationModel FittingRobust EstimationStochastic
OptimizationO(d^n)

Constraint Satisfaction Backtracking

Solves constraint problems by assigning variables recursively and undoing inconsistent choices.

IntermediateCoreFormula4 links
OptimizationConstraint SolvingBacktrackingSearch
OptimizationO(t c)

Momentum Gradient Descent

Momentum Gradient Descent improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

RMSProp

RMSProp improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

Nesterov Accelerated Gradient

Nesterov Accelerated Gradient improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

FISTA

FISTA improves candidate solutions according to an objective function.

IntermediateSpecializedFormula1 links
Optimization
OptimizationO(t c)

Trust Region Method

Trust Region Method improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

Augmented Lagrangian Method

Augmented Lagrangian Method improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

Cutting Plane Method

Cutting Plane Method improves candidate solutions according to an objective function.

IntermediateExtendedFormula1 links
Optimization
OptimizationO(t c)

Subgradient Method

Subgradient Method improves candidate solutions according to an objective function.

IntermediateCoreFormula1 links
Optimization
OptimizationO(t c)

Mirror Descent

Mirror Descent improves candidate solutions according to an objective function.

IntermediateSpecializedFormula1 links
Optimization
OptimizationO(t c)

Frank-Wolfe Algorithm

Frank-Wolfe Algorithm improves candidate solutions according to an objective function.

IntermediateSpecializedFormula1 links
Optimization
OptimizationO(2^n)

DPLL

DPLL uses recursively assigning variables with unit propagation and backtracking for satisfiability.

IntermediateCoreNo formula9 links
OptimizationDivide and ConquerConstraint Solving
OptimizationO(2^n)

CDCL

CDCL uses learning conflict clauses from implication graphs and backjumping to useful decision levels for satisfiability.

IntermediateCoreNo formula8 links
OptimizationConstraint SolvingGraph
OptimizationO(2^n)

WalkSAT

Searches for a satisfying assignment by flipping variables in unsatisfied clauses.

IntermediateCoreNo formula6 links
OptimizationConstraint SolvingRandomness
OptimizationO(2^n)

Davis-Putnam Algorithm

Davis-Putnam Algorithm addresses satisfiability by eliminating variables by resolution before checking the remaining formula.

IntermediateExtendedNo formula4 links
OptimizationConstraint Solving
OptimizationO(2^n)

Unit Propagation

Simplifies SAT formulas by repeatedly assigning literals forced by unit clauses.

IntermediateCoreFormula5 links
OptimizationConstraint Solving
OptimizationO(2^n)

Pure Literal Elimination

Pure Literal Elimination handles satisfiability simplification by assigning variables that appear with only one polarity.

IntermediateCoreNo formula4 links
OptimizationConstraint Solving
OptimizationO(2^n)

2-SAT Implication Graph

Solves 2-SAT by turning binary clauses into implications and checking strongly connected components.

IntermediateCoreFormula4 links
OptimizationConstraint Solving
OptimizationO(n log n)

0/1 Knapsack Dynamic Programming

Solves 0/1 knapsack by tabulating the best value for each item prefix and capacity.

IntermediateCoreFormula6 links
OptimizationDynamic Programming
OptimizationO(n log n)

Knapsack FPTAS

Knapsack FPTAS addresses knapsack approximation by scaling item values so dynamic programming runs in polynomial time.

IntermediateExtendedNo formula6 links
OptimizationDynamic ProgrammingApproximation
OptimizationO(n log n)

Meet-in-the-Middle Knapsack

Meet-in-the-Middle Knapsack addresses knapsack optimization by enumerating half-instance sums and combining compatible partial solutions.

IntermediateExtendedNo formula6 links
Optimization
OptimizationO(n log n)

Branch-and-Bound Knapsack

Branch-and-Bound Knapsack uses pruning item-choice subtrees whose optimistic bound cannot beat the incumbent for knapsack optimization.

IntermediateCoreNo formula6 links
Optimization
OptimizationO(n^3)

Hungarian Algorithm

Solves the assignment problem by maintaining dual labels and improving a minimum-cost matching.

IntermediateCoreFormula6 links
OptimizationMatching
OptimizationO(V^2 E)

Min-Cost Max-Flow

Finds a maximum feasible flow whose shipped units have minimum total cost.

IntermediateCoreFormula4 links
OptimizationNetwork FlowPriority Queue
OptimizationO(n log n)

Vertex Cover 2-Approximation

Vertex Cover 2-Approximation uses choosing both endpoints of uncovered edges to build a bounded cover for vertex cover approximation.

IntermediateCoreFormula8 links
OptimizationApproximation
OptimizationO(n log n)

Branch-and-Bound Vertex Cover

Branch-and-Bound Vertex Cover addresses vertex cover by branching on uncovered edges and pruning covers that cannot improve the incumbent.

IntermediateExtendedNo formula6 links
Optimization
OptimizationO(n log n)

Greedy Set Cover

Approximates set cover by repeatedly choosing the set that covers the most uncovered elements per cost.

IntermediateCoreFormula8 links
OptimizationApproximation
OptimizationO(n)

Algorithm X

Algorithm X uses choosing a constraint column and recursively trying rows that satisfy it for exact cover search.

IntermediateCoreNo formula7 links
OptimizationDivide and ConquerConstraint Solving
OptimizationO(n)

Dancing Links

Dancing Links handles exact cover search by using linked-list removal and restoration to implement Algorithm X efficiently.

IntermediateCoreNo formula7 links
Optimization
OptimizationO(2^n)

Branch-and-Bound Set Packing

Branch-and-Bound Set Packing addresses set packing by branching on compatible sets and bounding the best possible packing.

IntermediateExtendedNo formula6 links
Optimization
OptimizationO(2^n)

Local Search Set Packing

Local Search Set Packing addresses set packing by swapping sets in and out of a packing to improve objective value.

IntermediateExtendedNo formula3 links
Optimization
OptimizationO(2^n)

Held-Karp TSP

Solves exact TSP by dynamic programming over visited-city subsets and the current last city.

IntermediateCoreFormula7 links
OptimizationDynamic Programming
OptimizationO(n log n)

Christofides Algorithm

Builds a metric TSP tour within 3/2 of optimum using a tree, matching, and shortcutting.

IntermediateCoreFormula7 links
OptimizationMatchingApproximation
OptimizationO(n^2)

Nearest Neighbor TSP

Nearest Neighbor TSP uses repeatedly visiting the nearest unvisited city for traveling salesperson heuristic.

IntermediateCoreNo formula5 links
OptimizationGreedy
OptimizationO(n^2)

2-Opt

2-Opt uses reversing crossing tour segments when the swap shortens the tour for traveling salesperson improvement.

IntermediateCoreNo formula5 links
Optimization
OptimizationO(n^2)

Lin-Kernighan

Lin-Kernighan addresses traveling salesperson improvement by adaptively choosing k-edge exchanges that improve a tour.

AdvancedSpecializedNo formula2 links
Optimization
OptimizationO(2^n)

Branch-and-Bound Maximum Clique

Branch-and-Bound Maximum Clique addresses maximum clique by branching on candidate vertices while bounding clique size with coloring.

IntermediateExtendedNo formula4 links
Optimization
OptimizationO(2^n)

Tomita Clique Algorithm

Tomita Clique Algorithm addresses maximum clique by using greedy coloring bounds to prune maximum-clique search.

AdvancedSpecializedNo formula3 links
OptimizationGreedy
OptimizationO(2^n)

Dreyfus-Wagner Steiner Tree

Dreyfus-Wagner Steiner Tree addresses steiner tree by combining terminal subsets with shortest-path distances.

AdvancedSpecializedNo formula5 links
OptimizationDynamic Programming
OptimizationO(2^n)

Feedback Vertex Set Branching

Feedback Vertex Set Branching addresses feedback vertex set by branching on cycle vertices until the remaining graph is acyclic.

AdvancedSpecializedNo formula2 links
OptimizationGraph
OptimizationO(2^n)

Minimum Feedback Arc Set Heuristic

Minimum Feedback Arc Set Heuristic addresses feedback arc set by ordering vertices to reduce backward edges in a directed graph.

IntermediateExtendedNo formula3 links
OptimizationGraph
OptimizationO(poly(n, L))

Karmarkar's Algorithm

Karmarkar's Algorithm uses following a projective interior path toward an optimal linear-programming solution for linear programming.

IntermediateCoreNo formula4 links
Optimization
OptimizationO(n log n)

Revised Simplex Method

Solves linear programs by updating a compact basis representation instead of a full tableau.

IntermediateCoreNo formula4 links
Optimization
OptimizationPolynomial; commonly dominated by shortest paths and matching-style augmentation

Chinese Postman Algorithm

Finds a minimum-cost closed walk that traverses every edge of a graph.

AdvancedExtendedNo formula2 links
GraphOptimizationEulerian Path
OptimizationO(n^2) per pass in common bisection implementations

Kernighan-Lin Algorithm

Improves a graph bisection by swapping vertex pairs to reduce cut cost.

AdvancedExtendedNo formula2 links
GraphOptimizationLocal Search
OptimizationO(n + m) per pass with suitable gain buckets

Fiduccia-Mattheyses Algorithm

Refines network or graph partitions with efficient single-vertex moves.

AdvancedExtendedNo formula2 links
GraphOptimizationLocal Search