In **discrete optimization**, some or all of the variables in a model are required to belong to a *discrete set*; this is in contrast to continuous optimization in which the variables are allowed to take on any value within a range of values. Here, we consider two branches of discrete optimization. In **integer programming**, the discrete set is a subset of integers. In **combinatorial optimization**, the discrete set is a set of objects, or combinatorial structures, such as assignments, combinations, routes, schedules, or sequences.

Go back to the Optimization Tree