MIT 6.1220 — Lecture 11
Linear Programming (Part I)
Definition (Linear Programming). We seek to optimize a linear objective function subject to linear equality and linear inequality constraints. It will always look like:
Problem. (Claw Machine) You have two claw machines and . Putting into yields a return of , and putting into yields a return of . Also, you must put at least as much into as . You have .
Solution. (Claw Machine LP) We can write the above setup as a linear program like so:
We can determine a normal form for linear programs.
Finding the max of a linear program is the same as finding the min of . So we'll default max.
If is only allowed to be , then we can also implement constraints with and .
(Using slack variables, we can implement using just . But we'll use .)
We can also rewrite our constraints in linear algebra notation. (Here, we say iff for all indices .)
Definition. Given a set of constraints of a linear program ,
We say a feasible solution is some such that .
We say is the set of all such that .
Some constraints might be degenerate in that they can be removed without changing .
This can happen by weakening via .
This can happen by linear combination via .
We say the optimal value, possibly , is the supremum of over ; if it is finite, it is achieved by some optimal solution.
If the optimal value is finite, then the LP is bounded. Otherwise, the LP is unbounded.
If is bounded (topologically speaking), then LP must be bounded.
There is always a unique optimal value, possibly . (Pandora's box…)
There may not always be a unique optimal solution, though.
Exercise: Prove that if there are two optimal solutions, then there are infinitely many.
Some optimal solution always occurs at a corner point, obviously. There exist polynomial-time solving algorithms.
There's this idea of duality that's also pretty obvious. You want to minimize the RHS of a nonnegative linear combination of the constraints , constrained on the LHS of this linear combination being at least .