Module 4 of 6 · Lesson 1 of 6
Active Constraints
Which constraints hold with equality at a point, and why their rank is what makes a corner.
What you will be able to do
Given a feasible region described by inequality, equality and nonnegativity constraints together with a feasible point, the learner can determine which constraints are active there, count the independent ones among them, and state what that count implies about the point's position in the region.
Orientation
Standing anywhere in a feasible region, some restrictions are pressing against you and the rest have room to spare. Which is which is a property of where you are standing, not of the program.
This is a small idea that a great deal rests on. The account of a corner as a point that is 'pinned down' is really a statement about how many independent constraints are active there. Degeneracy is an excess of active constraints at one point. Adjacency is two corners whose active sets differ by one. None of those can be stated precisely until activity is a thing you can compute rather than see.
Up to now the word has been used informally. A constraint is 'tight', or 'binding'. This unit makes it a definition with a test attached.
This unit assumes you can evaluate a linear constraint at a point and distinguish a half-space from its bounding hyperplane.
Intuition
Active constraints and the directions they block
At a feasible point, some constraints hold with equality and the rest have slack. Which do is a property of the point.
In the interior of the region every constraint has slack, so a small step in any direction stays feasible and the active set is empty.
On a flat face one constraint holds with equality. Steps that would increase
At a vertex of a two-variable region, two active constraints have independent normals. No direction keeps both equalities and stays feasible, but feasible directions still exist: moving along an incident edge relaxes one of the two active constraints while keeping the other tight.
So a vertex is not a point from which nothing can move. It is a point at which the active normals span
This is why rank, not count, does the classifying. Let
The active set converts this into arithmetic that works in any dimension. Evaluate each constraint at the point, collect those holding with equality, and compute the rank of their normals.
A constraint inactive at one point is not removable. It may be active elsewhere in the region, and deleting it changes the feasible set.
Figure
Active sets at an interior point, a face point, and a vertex
One region,
At
Being a vertex does not mean being stuck. From
The active set is a property of the point, not of the program. The rank of the active normals is what counts: it is the number of independent equalities the point satisfies, and
Definition
The active set at a point
Let the feasible region be given by
At a feasible point
A constraint holding strictly, with
Three consequences follow at once.
Equality constraints are active everywhere. Every
Nonnegativity restrictions are constraints. A component sitting at zero is active exactly as a resource limit reached exactly is active. In standard form, where the structural rows are all equalities, the nonnegativity restrictions are the only constraints whose activity varies from point to point.
What makes a point a vertex.
Procedure
Taking the active set at a point
Confirm the point is feasible first. Evaluate every constraint. If any is violated, stop: the active set is not defined at an infeasible point, and asking which constraints are tight there confuses violation with equality.
Evaluate each inequality constraint and record equality or slack. For each
Include every equality constraint. Each
Include the nonnegativity restrictions. For each component, active exactly when
Collect the normals of the active constraints. For a row constraint the normal is
Take the rank of that collection, not its size. Reduce the collected normals and count the pivots. This is the number of independent equalities the active constraints impose at the point.
Read off the point's position. The directions that keep every active constraint tight are those orthogonal to all the active normals, and they form a subspace of dimension
Note what this does and does not say. It counts directions preserving the active set, not directions you may travel: from a vertex you can still move along an incident edge or into the region by releasing an active constraint. Rank
Example
The active set at four points of one region
Take the region
with
The point
The point
The point
The point
The same four constraints throughout. What varies is which are active, and that is what distinguishes the four positions.
Worked example
Taking an active set in four variables
Problem. For the standard-form system
determine the active set at
Goal. The active set, its rank, and the classification.
Relevant principle. In standard form the structural rows are active everywhere; the nonnegativity restrictions are what vary.
Step 1: confirm feasibility.
Step 2: the structural rows. Both are equality constraints, so both are active, as they are at every feasible point of this system. They contribute their normals
Step 3: the nonnegativity restrictions.
Step 4: collect and take the rank. Four normals in
Reducing: using
Step 5: classify. Rank
Check against the basis reading. The positive components are
What did the work. Counting the active nonnegativity restrictions. In standard form, with
Non-example
What is not an active constraint
Not active: a constraint that is merely close. At
Not active: a violated constraint. At
Not a reason to count it: an equality constraint distinguishing points. In standard form both structural rows are active at every feasible point. Citing them to explain why this point is a vertex rather than that one explains nothing, since they are equally active at both.
Not enough for a vertex: three active constraints in two variables. If two of the three normals are parallel, say
Not removable: an inactive constraint. Dropping
Contrast
Inactive here does not mean unnecessary
The word 'inactive' suggests a constraint that is not doing anything, and the suggestion is wrong in a way that has consequences.
The tempting move. Solving a program, you observe that the constraint
Why it fails. Activity is a property of a point. Take the region
The general statement. A constraint's job is to exclude points, and a constraint inactive at
The confusion this actually causes. In the simplex method a learner who has conflated the two expects the algorithm to discard slack constraints as it goes. It does not. Every constraint remains in the system for every iteration; what changes is which are active at the current basic feasible solution, and a constraint slack at this corner may be exactly the one that limits the step at the next.
Exercise
1. For the region
2. At a point where three constraints are active in two variables, what must be true of the normals for the point to be a vertex? Give a case where three are active and the point is still not a vertex.
3. In the standard-form system
4. A colleague says: 'The third constraint has slack at our current solution, so I removed it from the model and re-solved.' What could go wrong, and what would have justified the removal?
5. Explain why, in standard form, the structural equality constraints never help to distinguish a vertex from an interior point.
What to carry forward
A constraint is active at a feasible point when it holds with equality there. The active set collects all of them, and it includes equality constraints, active everywhere, and nonnegativity restrictions, active wherever a component is zero.
Activity belongs to the point, not to the constraint. The same inequality is active at some feasible points and inactive at others, so 'this constraint is binding' is incomplete without saying where.
What classifies a point is the rank of the active normals, not their number. Rank
An inactive constraint is not removable. Removal is licensed by redundancy, which is a global property of the constraint against the whole system, and the two are routinely confused.
This vocabulary is what the next three ideas are stated in. A degenerate corner has more active constraints than it needs; two corners are adjacent when their active sets differ by one; and the simplex method's step is one constraint released and another acquired.