← Back to context

Comment by LPisGood

10 hours ago

A linear program is a fundamental type of constrained optimization problem. It is made of two things: linear inequalities and a linear objective function.

The linear inequalities are referred to as the constraints and the set of points which simultaneously obey all inequalities is called the feasible region. The goal of the game is to find a point in the feasible region which minimizes the linear objective function. That means when you plug the coordinates of that point into the linear objective, you get the smallest value of any point in the feasible region.

A fun fact which is not so difficult to prove in 2 dimensions is that if a linear program has an optimal point (guaranteed when the constraints define a convex polytope), then the minimum objective value will be achieved at one of the vertices of the polytope.

This website lets you change the shape of the feasible region and the direction of the objective function (it is a linear function, so it’s behavior for optimization purposes is fully defined by that direction vector). It then gives you multiple famous algorithms for solving the linear program:

Simplex, for example starts at an exterior point and moves toward optimality. Dual simplex will start at a point with optimal objective and move towards feasibility, etc.

> A fun fact which is not so difficult to prove in 2 dimensions is that if a linear program has an optimal point (guaranteed when the constraints define a convex polytope), then the minimum objective value will be achieved at one of the vertices of the polytope.

That is, if you assume there is no dual degeneracy :) https://lpviz.net/?s=AsEABN_FCIDiCQC_ixGg4BQAAMCLEYCS9AEAZAA