Parametric equations
The -th linear constraint
cuts out a half-plane. The intersection of constraints is the feasible region:
If the intersection is bounded and nonempty, is a convex polygon (possibly degenerate: a segment or a single point). If it is unbounded, it is a convex polygonal region that extends in some directions. The boundary is made of segments, rays, or lines where a constraint holds with equality.
Interaction
- Constraint 1 / Constraint 2 / Constraint 3: choose which adjustable constraint to edit. Dragging a constraint line in the figure also selects it
- Normal angle θ: turn the normal of the selected constraint and watch the half-plane it keeps turn with it. When passes , the kept side flips
- Offset c: move the constraint along its normal. The area of the feasible region changes continuously, but the directions of the edges do not
- Feasible region / Half-plane mask: switch between two views, the intersection alone or the half that each constraint cuts away. The darker the overlapping masks, the more constraints exclude that spot
- Bounded / Unbounded / Infeasible: jump to a preset for each of the three states of the feasible region. When is empty or unbounded, the area reading in the sidebar says why
- A constraint that does not help form the boundary is drawn dashed and marked redundant. Push its offset away and back, and the corner points of the feasible region do not move at all
What to notice
- Each constraint cuts away half of the plane. The feasible region is the intersection of everything kept, so it is always convex.
- Some constraints play no part in forming the boundary. Whether they are there or not, the shape of is the same.
- Multiplying the coefficients by a positive number does not change the half-plane. The direction of the inequality decides which side is kept.
Comments
Comment with a GitHub account.