Parametric programming is a type of mathematical optimization, where the optimization problem is solved as a function of one or multiple parameters. Developed in parallel to sensitivity analysis, its earliest mention can be found in a thesis from 1952. Since then, there have been considerable developments for the cases of multiple parameters, presence of integer variables as well as nonlinearities. In particular the connection between parametric programming and model predictive control established in 2000 has contributed to an increased interest in the topic.
In general, the following optimization problem is considered
J ∗ ( θ ) = min x ∈ R n f ( x , θ ) g ( x , θ ) ≤ 0 , θ ∈ Θ ⊂ R m where x is the optimization variable, θ are the parameters, f ( x , θ ) is the objective function and g ( x , θ ) denote the constraints. Note that the space Θ is generally referred to as parameter space.
Depending on the nature of f ( x , θ ) and g ( x , θ ) and whether the optimization problem features integer variables, parametric programming problems are classified into different sub-classes:
If more than one parameter is present, i.e. m > 1 , then it is often referred to as multiparametric programming problemIf integer variables are present, then the problem is referred to as (multi)parametric mixed-integer programming problemIf constraints are affine, then additional classifications depending to nature of the objective function in (multi)parametric (mixed-integer) linear, quadratic and nonlinear programming problems is performed. Note that this generally assumes the constraints to be affine.