Discrete optimization

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 optimization problem are restricted to be discrete variables&mdash;that is, to assume only a discrete set of values, such as the integers.

Branches
Three notable branches of discrete optimization are: 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.
 * combinatorial optimization, which refers to problems on graphs, matroids and other discrete structures
 * integer programming
 * constraint programming