Models can be classified into different groups using various criteria:

Qualitative versus quantitative: When taking a decision or solving a problem, many trust one’s gut, taking into account intuition and experiences. We all build consciously or unconsciously a model to capture the situation at hand. More often than not, the model may have the form of a feeling and a decision is taken spontaneously. On the other hand, collect all kinds of relevant data, formulate the conditions in a clear way, define the goals formally may lead to superior decision. All depends on the situation and the problem. Surely, many problems must be quantified to achieve a “good” result. For example, to planify a round-trip to deliver goods to various clients, intuition will in general be a bad advisor in finding the shortest trip. This paper only treats quantitative models.

Continuous versus discrete (integer or Boolean): Fractional values may be unacceptable. “Buy 3.5 aeroplanes” does not make sense in most context, but “on average 3.5 persons die every second due to drug consumption” may be adequate. However, there is another huge and important class of models that use discrete (Boolean) values: models to represent problems that must answer yes/no questions, for example, “should we build a factory or not?”. The significance of this class is shown in another paper (see [8]). Discrete – also called combinatorial – problems are in general much more difficult to solve. On the other hand, problems dealing with physical quantities and their rates of change can be modeled as differential equations. Most of them can only be solved by discretizing them.

Zero- versus One- versus Multi-objective: We may looking for all, for an arbitrary or for a particular solution. For zero-objective problems, we are interested only in an arbitrary solution, it may be unique or not. For example, in model example3a any solution would be fine (it is unique in this case). In many situations, we are interested in the “best” solution, with regards to one or many objectives. These problems are called optimization problems. We may minimize cost, resources, redundancy, etc. or we may maximize revenue, utility, turnover, customer satisfaction, robustness, etc. Normally, we are looking for one objective. In same cases, however, several – maybe conflicting – objectives have to be considered. These problems are called multi-objective optimization problems. Such problems can be handled by various methods, for example, with goal programming (see below).

Unconstraint versus constrained: Within the class of optimization problems there are
unconstraint or constraint problems. Unconstraint problems only contain an objective function
and no constraint, example: find the minimum of a parable : min f(x) = x^{2}. Constraint
problems consist of an objective and one or several constraints.

Deterministic versus stochastic: If the data in a resultant model is not known with certainty, we have stochastic models. In many situation, the data are uncertain or unknown, for example, future demand on a market are not known or uncertain, but even data from the past are often not known or only a small sample is known. Statistical methods to estimate them are then needed. Mostly, however, we pretend that data are deterministic in order to avoid complicated models. In many cases, this may be realistic, but the modeler should be aware of that fact. There is a broad theory of stochastic models, but in this paper only deterministic once are treated.

Static versus dynamical: In many situation we are looking for an (optimal) state: finding an optimal production plan, a tournament schedule of a sport league, the shortest round trip, etc. Normally, optimization models result from these problems. These models are static. When change has to be modeled, like motion over time in physics, evolution in animal population in biology, fluctuation in monetary quantities in economy, or development of a virus in a pandemic, dynamical models are commonly use, such as discrete dynamical systems or a system of differential equations.

Linear versus non-linear: Linear models only contain linear terms with regards to the variables. Completely different methods are used to solve linear and non-linear problems. Linear, continuous problems are solved mainly by the simplex method, a modification of this method solves also certain problems containing quadratic terms (QP, QPC, etc.) – if they are convex. Linear, discrete (combinatorial) problems use branch-and-bound, cutting plane or other reduction algorithms. Non-linear problems are in general much more difficult to solve, and a large number of algorithms have been developed. The distinction between linear and non-linear models may be arbitrary. We also may partition the models into convex and concave, or into “easy” and “difficult” to solve. “Easy” could be defined as problems in P (polynomial-solvable), the “difficult” once are NP-complete, or beyond. In any case, the purpose of these partitions is to classify the models into groups of different algorithmic methods. The reason is more practical then theoretical: A modeling system – that allows to formulate a wide range of mathematical models, must be able to be linked to a large number of solutions algorithms – so called solvers – in order to solve it. The modeling system should be able to recognizes into which group(s) a model falls to select the solver automatically.

In this paper, a general overview of various mathematical (optimization) model types is presented. A general specification and formulation is given first in a mathematical notation then in the modeling language LPL (see [10]).

A mathematical model has the following general form:

If the first line is missing, we have a zero-objective model, if the second line is missing, we have
an unconstraint model. The f and g_{i} are functions defined in R^{n}. X is a subset of R^{n} (or N^{n}),
and x is a vector of n components x_{1},…,x_{n}. The above problem has to be solved for the values
of the variables x_{1},…,x_{n} that satisfy the restrictions g_{i} while minimizing the function f. The
function f is called the objective function, g_{i} are the constraints. A vector x ∈X that satisfies
all constraints g_{i}(x) ≤ 0 is called feasible solution. The collection of all such points is the
feasible region. The problem then of the mathematical model above is to find a x^{o} such
that f(x) ≥ f(x^{o}) for each feasible point x. Such a point x^{o} is called an optimal
solution.

A small example is the following model (see [7], page 3):

The objective function and the 3 constraints are:

Figure 1 illustrates the model geometrically in the two-dimensional real Euclidean space.