Corner Point Calculator
Enter the coefficients of your objective function and up to four linear constraints to find every corner point (vertex) of the feasible region. The calculator evaluates P at each corner point, identifies the optimal solution, and shows each step of the algebra so you can verify the work.
What is a corner point in linear programming?
A corner point (also called a vertex or extreme point) is a point in the feasible region that sits at the intersection of two or more constraint boundary lines. In a two-variable linear program you graph each constraint as a line and shade the side that satisfies the inequality. The feasible region is the polygon where all shaded areas overlap. The corners of that polygon are the corner points, and the Corner Point Theorem states that the maximum or minimum of any linear objective function always occurs at one of these vertices. That means you never need to test interior points: just find every vertex and plug each into the objective function to find the best one.
How the corner point method works (step by step)
Step 1: Write the objective function P = px*x + py*y and identify whether you want the maximum or minimum. Step 2: List all constraints, including non-negativity bounds x >= 0 and y >= 0 if they apply. Step 3: Treat each constraint as an equation (replace the inequality with =) and solve every pair of equations simultaneously using substitution or elimination. Each intersection is a candidate corner point. Step 4: Check each candidate against every constraint to see which ones actually lie in the feasible region. Discard any that violate a constraint. Step 5: Evaluate P at each feasible corner point. The corner with the largest (or smallest) P is the optimal solution. This calculator automates steps 3 through 5 and shows you the full evaluation table.
The algebra behind solving corner points
Finding the intersection of two lines a1*x + b1*y = c1 and a2*x + b2*y = c2 requires solving the 2x2 system. The solution uses Cramers rule: x = (c1*b2 - c2*b1) / (a1*b2 - a2*b1) and y = (a1*c2 - a2*c1) / (a1*b2 - a2*b1), where the denominator D = a1*b2 - a2*b1 is the determinant of the coefficient matrix. If D = 0 the two lines are parallel (or identical) and share no unique intersection. With n constraints there are at most C(n, 2) = n*(n-1)/2 candidate intersections, so a problem with 4 constraints has at most 6 candidates to check, and even including non-negativity bounds (which add the axes as additional constraint lines) the total remains manageable.
Worked example: maximize P = 5x + 4y
Maximize P = 5x + 4y subject to: x + y <= 6; 2x + y <= 8; x + 2y <= 7; x >= 0; y >= 0. The boundary lines give candidate intersections: solving x + y = 6 with 2x + y = 8 gives x = 2, y = 4; solving x + y = 6 with x + 2y = 7 gives x = 5, y = 1; solving 2x + y = 8 with x = 0 gives (0, 8), but check: 0 + 8 = 8 > 7 so (0, 8) fails constraint 3. After filtering, feasible vertices are (0, 0), (4, 0), (2, 4), (5, 1), (0, 3.5). Evaluating P: 0, 20, 26, 29, 14. Maximum is P = 29 at (5, 1). These are the default values pre-loaded into the calculator above.
When does the corner point method not work?
The method requires a bounded feasible region to guarantee a finite optimal solution. An unbounded region (for example, maximizing P with only >= constraints and no upper bound) may have no finite maximum even though it has corner points. The method also applies only to linear programs: if the objective function or any constraint is nonlinear, the optimum may not occur at a vertex. For three or more decision variables, the corner point method generalizes to the simplex algorithm, which navigates between adjacent vertices of a high-dimensional polytope. This calculator is designed for two-variable problems, which are the standard case in introductory algebra and operations research courses.
Corner Point Theorem - key facts
| Concept | Definition |
|---|---|
| Feasible region | The set of all (x, y) satisfying every constraint simultaneously. |
| Corner point (vertex) | A point at the intersection of two or more constraint boundary lines that also lies in the feasible region. |
| Objective function | The linear expression P = px·x + py·y whose maximum or minimum value is sought. |
| Corner Point Theorem | If a bounded feasible region exists, the optimal value of any linear objective function occurs at one or more corner points. |
| Optimal solution | The corner point (x*, y*) that gives the best P value; if two adjacent vertices tie, the entire edge between them is optimal. |
| Infeasible problem | No point satisfies all constraints simultaneously; the feasible region is empty. |
| Unbounded problem | The feasible region extends infinitely in the direction that improves P; no finite optimum exists. |
The mathematical foundation behind the corner point method for linear programming.
Frequently asked questions
What is the corner point theorem?
The corner point theorem (also called the extreme point theorem) states that if a bounded feasible region exists, the maximum and minimum values of any linear objective function over that region are achieved at one or more corner points. This is why you only need to evaluate the objective function at the vertices of the feasible region polygon, rather than testing every point inside it.
How do I find the corner points of a feasible region?
Convert each inequality constraint to an equation (replace <= or >= with =). Then solve every pair of those equations simultaneously to find all intersection points. Check each intersection point against all original constraints: if it satisfies every one, it is a feasible corner point. Repeat for every pair of constraint equations, including the non-negativity bounds x = 0 and y = 0 if they apply.
What if the feasible region is unbounded?
An unbounded feasible region extends infinitely in at least one direction. In that case, a minimum may still exist (at a corner point) but the maximum may be infinite. Conversely, if you are minimizing and the region is unbounded in the direction of decreasing P, the minimum may be unbounded below. This calculator finds all feasible corner points and evaluates P at each, but if the region is genuinely unbounded the optimal corner point found here gives a local bound, not necessarily a global one.
Can two corner points both be optimal?
Yes. If two adjacent vertices give the same value of P, then the entire line segment connecting them is also optimal. This happens when the objective function is parallel to one of the constraint boundaries, i.e., the slope of P = constant equals the slope of a binding constraint. In that case, any point on that edge is equally optimal.
What is the difference between the corner point method and the simplex method?
The corner point method checks every vertex of the feasible region by hand or algebraically, which is practical for two-variable problems with a handful of constraints. The simplex method is an algorithmic version that moves efficiently between adjacent vertices (improving the objective function at each step) without listing every vertex. The simplex method scales to thousands of variables and constraints, making it the standard algorithm for large linear programs. For two-variable classroom problems, the corner point method and the first iteration of the simplex method give the same answer.
How many corner points can a feasible region have?
With n constraints (including non-negativity bounds), the number of candidate intersection points is C(n, 2) = n*(n-1)/2. However, only a subset of those will lie inside the feasible region (i.e., satisfy all constraints). For a two-variable problem with 4 structural constraints plus x >= 0 and y >= 0, there are at most C(6, 2) = 15 candidate intersections, typically narrowing to 4-7 actual corner points.
Why must corner points have non-negative coordinates in most problems?
In most real-world linear programs, the decision variables represent quantities that cannot be negative: hours of labor, units of product, grams of an ingredient. The constraints x >= 0 and y >= 0 restrict the feasible region to the first quadrant. Without them, the feasible region could extend into negative coordinate territory, producing nonsensical solutions such as "produce -3 units". If your problem allows negative values (for instance, a financial hedge with a short position), you can toggle off the non-negativity option.