Skip to content

Optimization Problems - Common Algorithms

Optimization algorithms are at the core of solving real-world problems where you want to maximize or minimize some objective under certain constraints. These algorithms are used in fields ranging from machine learning and operations research to engineering, logistics, and economics.


Categories of Optimization Algorithms

CategoryPurposeExample Problems
DeterministicSolve exactly or converge predictablyLinear/Quadratic Programming
Heuristic / MetaheuristicApproximate solutions for hard problemsTSP, scheduling, design problems
Gradient-basedUse derivatives to find optimaMachine Learning, NLP
CombinatorialSearch over discrete structuresRouting, assignment, SAT

1. Gradient-Based Optimization Algorithms

Used in continuous optimization, especially in ML, deep learning, and scientific computing.

AlgorithmDescriptionUses Derivatives?
Gradient DescentMoves in the direction of steepest descent✅ Yes
Stochastic Gradient Descent (SGD)Uses random subsets (batches) for efficiency✅ Yes
Newton’s MethodUses second-order derivatives (Hessian)✅ Yes (2nd order)
Conjugate GradientEfficient for large sparse linear systems✅ Yes
L-BFGSLimited-memory BFGS; for large-scale problems✅ Yes
Adam / RMSPropAdaptive variants for neural networks✅ Yes

Used in: Deep learning, control systems, signal processing


2. Combinatorial Optimization Algorithms

Used when the problem space is discrete, like graphs, sets, or assignments.

AlgorithmDescriptionProblem Type
Dijkstra’s / A*Find shortest path in a graphPathfinding
Hungarian AlgorithmOptimal assignment in a bipartite graphAssignment
Branch and BoundPrunes suboptimal solutions using boundsKnapsack, TSP
BacktrackingRecursive search with pruningScheduling, Sudoku
Integer Programming (IP)Linear programming with integer variablesRouting, logistics
Dynamic Programming (DP)Breaks problem into overlapping subproblemsKnapsack, LCS

Used in: Logistics, operations research, AI planning


3. Metaheuristic Algorithms

Approximate global optima for hard or NP-hard problems. Often stochastic.

AlgorithmInspiration/ApproachUsed In
Simulated AnnealingPhysics: gradual coolingTSP, circuit design
Genetic AlgorithmsEvolution: selection, mutation, crossoverScheduling, design, ML
Ant Colony OptimizationSwarm behavior of antsRouting problems, graphs
Particle Swarm OptimizationSocial behavior in bird flockingNeural network tuning, control
Tabu SearchUses memory of recent movesGraph coloring, job scheduling

Used in: Optimization when exact methods fail or are too slow.


4. Convex Optimization Algorithms

For problems where the objective and constraints form convex sets.

AlgorithmApplicationSolves Problems Like
Interior Point MethodsHigh-dimensional LP/QPPortfolio optimization, control
Simplex MethodVertex search on LP polytopeLinear programming
Dual Ascent / Lagrangian RelaxationHandle constraints with penaltiesConstrained optimization

Used in: Control theory, finance, signal processing


5. Discrete Optimization

AlgorithmDescriptionProblem Domain
Greedy AlgorithmsMake locally optimal choicesHuffman coding, MST
Constraint Programming (CP)Declarative problem solvingScheduling, puzzles
SAT/SMT SolversBoolean satisfiability-based searchVerification, planning

Real-World Optimization Examples

ProblemAlgorithm(s) Typically Used
Route planning (e.g., Uber)Dijkstra, A*, Genetic Algorithms
Neural network trainingSGD, Adam, RMSProp
Job shop schedulingConstraint Programming, Tabu Search
Portfolio optimizationQuadratic Programming, Convex Optimization
Knapsack problemDynamic Programming, Branch and Bound
Compiler register allocationGraph coloring + heuristic search

Summary: When to Use What

Problem TypeRecommended Algorithms
Continuous & DifferentiableGradient descent, L-BFGS, Adam
Integer / DiscreteBranch and Bound, IP, SAT solvers
NP-hard or Large SearchMetaheuristics like GA, SA, ACO
Convex & StructuredSimplex, Interior Point, Dual Methods
Real-time or Fast Approx.Greedy, Local Search, Tabu

Powered by VitePress