In
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, a constraint is a condition of an
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
problem that the solution must satisfy. There are several types of constraints—primarily
equality constraints,
inequality constraints, and
integer constraints. The set of
candidate solutions that satisfy all constraints is called the
feasible set.
Example
The following is a simple optimization problem:
:
subject to
:
and
:
where
denotes the vector (''x''
1, ''x''
2).
In this example, the first line defines the function to be minimized (called the
objective function
In mathematical optimization and decision theory, a loss function or cost function (sometimes also called an error function) is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cost ...
, loss function, or cost function). The second and third lines define two constraints, the first of which is an inequality constraint and the second of which is an equality constraint. These two constraints are
hard constraints, meaning that it is required that they be satisfied; they define the feasible set of candidate solutions.
Without the constraints, the solution would be (0,0), where
has the lowest value. But this solution does not satisfy the constraints. The solution of the
constrained optimization
In mathematical optimization, constrained optimization (in some contexts called constraint optimization) is the process of optimizing an objective function with respect to some variables in the presence of constraints on those variables. The obj ...
problem stated above is
, which is the point with the smallest value of
that satisfies the two constraints.
Terminology
* If an inequality constraint holds with ''equality'' at the optimal point, the constraint is said to be , as the point ''cannot'' be varied in the direction of the constraint even though doing so would improve the value of the objective function.
* If an inequality constraint holds as a ''strict inequality'' at the optimal point (that is, does not hold with equality), the constraint is said to be , as the point ''could'' be varied in the direction of the constraint, although it would not be optimal to do so. Under certain conditions, as for example in convex optimization, if a constraint is non-binding, the optimization problem would have the same solution even in the absence of that constraint.
* If a constraint is not satisfied at a given point, the point is said to be
infeasible.
Hard and soft constraints
If the problem mandates that the constraints be satisfied, as in the above discussion, the constraints are sometimes referred to as ''hard constraints''. However, in some problems, called
flexible constraint satisfaction problems, it is preferred but not required that certain constraints be satisfied; such non-mandatory constraints are known as ''
soft constraints''. Soft constraints arise in, for example,
preference-based planning. In a
MAX-CSP problem, a number of constraints are allowed to be violated, and the quality of a solution is measured by the number of satisfied constraints.
Global constraints
Global constraints are constraints representing a specific relation on a number of variables, taken altogether. Some of them, such as th
alldifferent
constraint, can be rewritten as a conjunction of atomic constraints in a simpler language: the
alldifferent
constraint holds on ''n'' variables
, and is satisfied if the variables take values which are pairwise different. It is semantically equivalent to the conjunction of inequalities
. Other global constraints extend the expressivity of the constraint framework. In this case, they usually capture a typical structure of combinatorial problems. For instance, the
regular
constraint expresses that a sequence of variables is accepted by a
deterministic finite automaton.
Global constraints are used
to simplify the modeling of
constraint satisfaction problems, to extend the expressivity of constraint languages, and also to improve the
constraint resolution: indeed, by considering the variables altogether, infeasible situations can be seen earlier in the solving process. Many of the global constraints are referenced into a
online catalog.
See also
*
Constraint algebra
*
Karush–Kuhn–Tucker conditions
*
Lagrange multipliers
*
Level set
*
Linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
*
Nonlinear programming
*
Restriction
*
Satisfiability modulo theories
References
Further reading
*
External links
Nonlinear programming FAQMathematical Programming Glossary{{Webarchive, url=https://web.archive.org/web/20100328165516/http://glossary.computing.society.informs.org/ , date=2010-03-28
Mathematical optimization
Constraint programming
ca:Restricció
es:Restricción (matemáticas)