What is an optimisation problem?

In mathematics and computer science, an optimisation problem is typically a search problem in which the best solution is to locate among all feasible solutions. An optimisation problem can be categorised as continuous or discrete depending on the type of their variables. In a discrete optimisation problem, variables are discrete and countable. In contrast, continuous variables include infinitely uncountable values, for example, a variable over a non-empty range of real numbers. 

According to the number of objective functions, an optimisation problem is classified as single or multi-objective. A single-objective optimisation problem only involves one objective function to optimise. On the other hand, a multi-objective one considers two or more objectives simultaneously, which means the interaction between objectives has to be considered.