In mathematics, a constraint is a condition that a solution to an optimization problem is required by the problem itself to satisfy. There are two types of constraints: equality constraints and inequality constraints. The set of candidate solutions that satisfy all constraints is called the feasible set.
The following is a simple optimization problem:
where denotes the vector (x1, x2).
In this example, the first line defines the function to be minimized (called the objective 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 define the feasible set of candidate solutions.
Without the constraints, the solution would be where has the lowest value. But this solution does not satisfy the constraints. The solution of the constrained optimization problem stated above is , which is the point with the smallest value of that satisfies the two constraints.
- If an inequality constraint holds with equality at the optimal point, the constraint is said to be binding, 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 non-binding, as the point could be varied in the direction of the constraint, although it would not be optimal to do so. 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.
See also 
- Constraint satisfaction problem
- Karush–Kuhn–Tucker conditions
- Lagrange multipliers
- Level set
- Linear programming
- Nonlinear programming