In mathematics and computer science, an optimization problem is the problem of finding the best solution from all feasible solutions. Optimization problems can be divided into two categories depending on whether the variables are continuous or discrete. An optimization problem with discrete variables is known as a combinatorial optimization problem. In a combinatorial optimization problem, we are looking for an object such as an integer, permutation or graph from a finite (or possibly countable infinite) set. Problems with continuous variables include constrained problems and multimodal problems.
The standard form of a (continuous) optimization problem is
where
By convention, the standard form defines a minimization problem. A maximization problem can be treated by negating the objective function.
Formally, a combinatorial optimization problem is a quadruple , where