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.
Two notable branches of discrete optimization are:
- combinatorial optimization, which refers to problems on graphs, matroids and other discrete structures
- integer programming
These branches are closely intertwined however since many combinatorial optimization problems can be modeled as integer programs (e.g. shortest path) and conversely, integer programs can often be given a combinatorial interpretation.
- Lee, Jon (2004), A First Course in Combinatorial Optimization, Cambridge Texts in Applied Mathematics 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 5, Elsevier, pp. 427–453.