Linear Programming and Optimization¶
1 Intro to LP¶
1.1 Definitions¶
Linear programming asks to optimize a linear objective with constraints of inequalities and equalities. It captures the essence of a variety of practical problems. It can also serve as a different point of view to some combinatorial problems.
In general a LP is in the form of:
It's worth noting that all the constraints only involve closed constraints, i.e. no inequalities like:
To simplify it, we propose a canonical form:
It's not hard to transform a general LP into canonical one. The only tricky part is that the canonical part requires non-negative solution, which can be achieved by replacing a un-constrainted
The advantage of non-negativitiy is that we can guarantee the feasible area cannot contain a straight line, which is a useful property in the future analysis.
1.2 Different Types¶
We conclude LPs into three types:
- Finite Optimum
- Unbounded
- Infeasible
The definition is implied in the name.
An LP solver should return:
- A certificate of optimality together with the optimal value. In Simplex Method we will finally come up with a formula
where . - A certificate of unbound-ness, i.e. a half-line, basically a vector/direction
with a starting point , such that is feasible and are feasible for all , . Notice that in canonical form are all feasible is equivalent to say . - A certificate of infeasibility. This might seem a bit obscure: how could one give a proof or certificate for infeasibility? By making use of duality, we can show that it's enough to give a certificate of unbound-ness of the dual problem.
1.3 Example: Shortest Path¶
A classical example of LP is s-t shortest path problem. It can be modeled in this way:
It's not straightforward to understand why we are trying to maximize the objective while we are looking for a shortest path.
2 Polyhedra and Convex Geometry¶
LP is optimizing on a polyhedron so the study of polyhedra and convex geomotry enables us to have a geometrical view of the problem which is usually insightful and intuitional.
2.1 Definitions¶
Half-space & Hyperplane
A hyperplane is a set of the form
A half-space is a set of the form
A polyhedron is a finite intersection of half-spaces. Moreover, a bounded polyhedron is called a polytope.
Some more defs:
The dimension of a polyhedron
A supporting hyperplane for polyhedron
Important def:
Let
- A face is either P itself or intersection with a supporting hyperplane.
- A vertex is a 0-dimensional face.
- An edge is a 1-dimensional face.
- An facet is a
-dimensional face.
Some very important propositions:
Let
1.
2.
3.
Always try to prove it before proceeding since the proof involves some basic methods showed up frequently in other problems.
Important proposition:
Let
is a vertex of . is the unique solution to , where is the subsystem tight on . is an extreme point.
From 1 to 3:
Since
From 3 to 2:
Assume
Then consider
Since
In summary,
From 2 to 1:
We immediately have