2D Linear Programming Explorer

Build the region. Drag the objective. See the optimum.

Edit the problem statement, coefficient table, objective equation, or graph. Every view stays in sync as you explore the feasible region and find the best point or edge.

Setup

Constraints and objective

Problem inputs

Edit either view. Valid changes update the other view and the graph automatically.

Use Max or Min, one constraint per line, optional nonnegativity such as A,B >= 0, and fractions such as 1/2.

Objective function

Edit the objective coefficients or its line form. Drag the amber midpoint to move it in parallel, or an endpoint to change its slope.

Slope-intercept form

Edit m or b. A vertical objective is shown as x = c.

y = -0.75x + 2

Constraints

Add lines and half-planes to define the feasible set.

Visualization

Feasible region and objective line

Fit the feasible region, lock the view, or pan and zoom. Move the colored lines directly on the plot.

Axis ranges

With equal units on, one x-unit and one y-unit have the same screen length. The shorter entered range expands to match. Turn this off to use both ranges exactly.

Enter applies. Escape restores the current bounds.

Constraint colors match the cards on the left. The solid amber arrow points in the direction that improves the objective. Drag the graph background to pan the window, use your mouse wheel to scale it, or lock the graph view to prevent either. You can still move or rotate the lines directly while the view is locked.

Live readout

The app updates these summaries as the model changes.

Feasible region Checking

Waiting for constraints.

Objective line Waiting

Enter a nonzero objective to draw the line.

Optimization result Not solved

Drag the line or snap it to the optimum.