Operations research, mathematical programming
40 ideas in this subject. The map below lists the main ideas of the subject by area, in teaching order. 11 of its 197 ideas have a page so far.
Start here
- ConceptConstrained optimisation
Constrained optimisation looks for the maximum or minimum of an objective function of several variables over the set of points that satisfy given constraints. Typical constraints are equations and inequalities .
- ConceptLinear programming
Linear programming is the optimization of a linear function over the set of solutions of finitely many linear inequalities. The feasible set is a convex polyhedron. When an optimum exists, it is attained on a face, and at a vertex when the polyhedron has vertices. Each linear program has a dual program. If one of the two has an optimal solution, so does the other, with the same optimal value; this is tied to Farkas' lemma. Linear programs are solved in practice by the simplex algorithm and by interior point methods. The ellipsoid method and interior point methods solve them in polynomial time.
- LemmaFarkas' lemma
- ConceptFourier–Motzkin elimination
Fourier–Motzkin elimination removes one variable from a system of linear inequalities, as Gaussian elimination does for equations. The new system has a solution exactly when the old one has, and its solutions are the projections of the old solutions. Repeating it decides whether a system of linear inequalities is solvable. It gives short proofs of Farkas' lemma and of the fact that projections of polyhedra are polyhedra. The number of inequalities can grow very fast, so it is mainly a theoretical tool.
- ConceptSimplex algorithm
The simplex algorithm, introduced by George Dantzig, solves linear programs. It walks from vertex to adjacent vertex of the feasible polyhedron along edges, never decreasing the objective, until no neighbouring vertex is better. In practice it is fast. But for the usual pivot rules there are inputs, such as the Klee–Minty cubes, on which it takes exponentially many steps. The question of how few steps suffice in the worst case is linked to the diameter of polytope graphs and to the Hirsch conjecture.
- ConceptTotally unimodular matrix
A totally unimodular matrix is an integer matrix in which every square submatrix has determinant , or . In particular every entry is , or . A linear program whose constraint matrix is totally unimodular and whose right-hand side is integral has integral vertices. This explains why many problems on graphs, such as bipartite matching and network flows, can be solved exactly by linear programming.
Map of the subject
Basic notions of optimization 1 of 9
- mathematical optimization concept
- optimization problem definition
- feasible region definition
- constraint definition
- slack variable definition
- minimizer on a set definition
- Constrained optimisation concept
- Lagrange multiplier rule for equality constraints statement
- operations research concept
Linear programming 4 of 32
- Linear programming concept
- linear program in standard form definition
- basic feasible solution definition
- fundamental theorem of linear programming statement
- dual linear program definition
- weak duality statement
- strong duality theorem of linear programming statement
- complementary slackness statement
- Farkas' lemma statement
- Fourier–Motzkin elimination definition
- Simplex algorithm definition
- revised simplex method definition
- Bland's rule definition
- degeneracy and cycling in the simplex method concept
- criss-cross algorithm definition
- Klee–Minty cube counterexample
- smoothed analysis of the simplex method statement
- ellipsoid method definition
- Khachiyan's theorem that linear programming is in P statement
- Karmarkar's algorithm definition
- polynomial Hirsch conjecture conjecture
- strongly polynomial algorithm for linear programming problem
- Dantzig–Wolfe decomposition definition
- Benders decomposition definition
- column generation definition
- parametric programming concept
- linear-fractional programming definition
- goal programming definition
- transportation problem problem
- assignment problem problem
- Hungarian algorithm definition
- data envelopment analysis definition
Integer programming 1 of 15
- integer programming concept
- mixed-integer linear program definition
- linear programming relaxation definition
- Totally unimodular matrix definition
- Hoffman–Kruskal theorem statement
- integral polytope definition
- total dual integrality definition
- branch and bound definition
- cutting-plane method definition
- Gomory's fractional cut definition
- branch and cut definition
- branch and price definition
- Lagrangian relaxation definition
- Lenstra's algorithm for integer programming in fixed dimension statement
- NP-hardness of integer programming statement
Combinatorial optimization 0 of 23
- combinatorial optimization concept
- polyhedral combinatorics concept
- knapsack problem problem
- bin packing problem problem
- cutting stock problem problem
- set cover problem problem
- travelling salesman problem problem
- Held–Karp algorithm definition
- Christofides algorithm definition
- vehicle routing problem problem
- Steiner tree problem problem
- quadratic assignment problem problem
- facility location problem problem
- maximum cut problem
- Goemans–Williamson algorithm statement
- blossom algorithm definition
- Edmonds' matching polytope theorem statement
- matroid intersection problem
- greedy algorithm for matroids statement
- submodular set function definition
- polynomial-time submodular minimization statement
- Lovász extension definition
- Lin–Kernighan heuristic definition
Network flows 1 of 18
- flow network definition
- maximum flow problem problem
- Max-flow min-cut theorem statement
- integral flow theorem statement
- Ford–Fulkerson algorithm definition
- Edmonds–Karp algorithm definition
- Dinic's algorithm definition
- push–relabel maximum flow algorithm definition
- minimum-cost flow problem problem
- network simplex algorithm definition
- circulation problem problem
- multi-commodity flow problem problem
- Gomory–Hu tree statement
- shortest path problem problem
- critical path method definition
- Braess's paradox counterexample
- Wardrop equilibrium definition
- price of anarchy in routing statement
Convex programming and duality 1 of 18
- convex optimization concept
- Lagrangian duality concept
- duality gap definition
- Slater's condition statement
- Karush–Kuhn–Tucker conditions statement
- Fritz John conditions statement
- constraint qualifications definition
- second-order sufficient optimality conditions statement
- Fenchel's duality theorem statement
- Sion's minimax theorem statement
- saddle point of a function on a product definition
- Danskin's theorem statement
- Proximal operator definition
- Moreau envelope definition
- self-concordant function definition
- barrier function definition
- interior-point method definition
- central path definition
Conic, quadratic and polynomial programming 2 of 11
- conic optimization concept
- Dual cone definition
- quadratic programming definition
- second-order cone programming definition
- semidefinite programming definition
- Positive semidefinite matrix definition
- S-lemma statement
- sum-of-squares optimization definition
- geometric programming definition
- fractional programming definition
- semi-infinite programming definition
Complementarity problems 0 of 4
- complementarity theory concept
- linear complementarity problem problem
- Lemke's algorithm definition
- mathematical programming with equilibrium constraints definition
Algorithms of nonlinear programming 0 of 22
- nonlinear programming concept
- gradient descent definition
- Nesterov's accelerated gradient method statement
- subgradient method definition
- proximal gradient method definition
- mirror descent definition
- coordinate descent definition
- stochastic gradient descent definition
- Frank–Wolfe algorithm definition
- Newton's method in optimization definition
- quasi-Newton method definition
- BFGS method definition
- line search definition
- Wolfe conditions definition
- backtracking line search definition
- trust region method definition
- penalty method definition
- augmented Lagrangian method definition
- alternating direction method of multipliers definition
- sequential quadratic programming definition
- Nelder–Mead method definition
- cutting-plane methods for convex optimization definition
Global, multiobjective and uncertain optimization 0 of 11
- global optimization concept
- simulated annealing definition
- no free lunch theorem for optimization statement
- multi-objective optimization concept
- Pareto front definition
- vector optimization concept
- bilevel optimization definition
- robust optimization definition
- stochastic programming definition
- chance-constrained programming definition
- sample average approximation definition
Dynamic programming and Markov decision processes 1 of 10
- Bellman equation definition
- principle of optimality statement
- stochastic dynamic programming concept
- Markov decision process definition
- value iteration and policy iteration definition
- existence of optimal stationary policies statement
- partially observable Markov decision process definition
- multi-armed bandit problem
- Gittins index theorem statement
- Secretary problem problem
Inventory, scheduling and location 0 of 12
- inventory theory concept
- economic order quantity statement
- newsvendor model problem
- dynamic lot-size model problem
- optimal job scheduling concept
- job-shop scheduling problem
- flow-shop scheduling problem
- Johnson's rule statement
- list scheduling and Graham's bound statement
- Weber problem problem
- linear search problem problem
- Bayesian search theory concept
Queueing models 0 of 12
- Kendall's notation definition
- M/M/c queue example
- M/G/1 queue example
- Erlang B and C formulas statement
- Pollaczek–Khinchine formula statement
- Kingman's formula statement
- Lindley equation definition
- Burke's theorem statement
- Jackson network statement
- Gordon–Newell theorem statement
- BCMP network statement
- heavy traffic approximation statement