Discrete optimization is a branch of optimization in applied mathematics and computer science.
As opposed to continuous optimization, some or all of the variables used in a discrete mathematical program are restricted to be discrete variables—that is, to assume only a discrete set of values, such as the integers.
Three notable branches of discrete optimization are:
- combinatorial optimization, which refers to problems on graphs, matroids and other discrete structures
- integer programming
- constraint programming
These branches are all closely intertwined however since many combinatorial optimization problems can be modeled as integer programs (e.g. shortest path) or constraint programs, any constraint program can be formulated as an integer program and vice versa, and constraint and integer programs can often be given a combinatorial interpretation.
- ^ Lee, Jon (2004), A First Course in Combinatorial Optimization, Cambridge Texts in Applied Mathematics, vol. 36, Cambridge University Press, p. 1, ISBN 9780521010122.
- ^ Hammer, P. L.; Johnson, E. L.; Korte, B. H. (2000), "Conclusive remarks", Discrete Optimization II, Annals of Discrete Mathematics, vol. 5, Elsevier, pp. 427–453.