Discrete optimization is one category of optimization as the concept is used in the fields of computer science and mathematics. As opposed to concrete or continuous optimization, discrete optimization uses only whole integers rather than decimals to perform the maximization of functions, which is the purpose of all optimization. It is possible to further divide discrete optimization into integer programming and combinatorial optimization.
Continuous optimization refers to the maximization of a function with continuous, real numbers ranging from set integers to all of those value points that lie between them. What this means is that the numerical values being used represent any value that can appear both in the real physical world and in the abstract world of mathematics. Negative numbers are possible, as well as fractions and decimals that run on indefinitely. This form of optimization is the most complex, and it also takes the most accurate approach to mathematical functions.
The other branch of optimization is discrete optimization. Overall, the driving purpose remains the same — to maximize the outputs of mathematical functions as they apply to computers, engineering, or other fields. Unlike its counterpart continuous optimization, this type of optimization deals only with discrete numerical values. These are concrete integers, such as the number 2 or 647. Whereas the other branch runs along the number line, this discrete branch lacks smooth transitions from one integer to another — the fractions that lie between them do not count.
As with the field of optimization itself, discrete optimization can be divided into two categories: integer programming and combinatorial optimization. In the computer sciences, integer programming limits variables in a program to integers alone; that is, fractions and negatives are prohibited from entering the program. Combinatorial optimization is used in the computer sciences as well as the field of mathematics, and it is quite complex. It involves the integration of optimization operations and solutions into different types of graphs. Owing to the finite and concrete nature of discrete numerical values, the graphs are never smooth, but rather emphasize the differences on vertical and horizontal axes that appear between two values.
Whether or not continuous or discrete optimization is used depends entirely upon the field and the goals of a particular project. Aside from mathematics and computer applications, different branches of optimization might be used in engineering, economics, or mechanical sciences. According to the project at hand, it may be that neither discrete nor continuous optimization is used — they are only two in a host of other categories of optimization.