This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CS 601/IITB Linear Programming Abhiram Ranade A linear programming problem in \canonical form" is de ned as follows. The input consists of an m ¢ n matrix A , m ¢ 1 vector b, and an n ¢ 1 vector c . The output is an n ¢ 1 vector x 0 that is feasible, i.e. such that Ax b , and optimal w.r.t. x , i.e. c T x is minimum among all feasible vectors, if there is any feasible vector. The operator used with vectors denotes componentwise relationships. The conditions x 0 can be included in A , but are usually not. The expression c T x is called the objective. Example: A = 2 1 1 1 ! , b = 4 3 ! , c = 4 3 ! , which might be written as min 4 x 1 + 3 x 2 such that 2 x 1 + x 2 4 x 1 + x 2 3 x 1 ; x 2 Since this is only in 2 dimensions, we can draw a picture. Draw feasible regions for each inequality. Think of c T x as the potential at point x . We want the feasible x of least potential. So we also draw equipotential lines. Since the potential decreases in a xed direction, it would seem that the minimum value of the objective would occur at a \corner farthest in the direction of decrease". Indeed it occurs at (1,2), and the value is 4 ¢ 1 + 3 ¢ 2 = 10. Another example is max ow, discussed later. Some general observations: 1. The feasible region is like a polyhedron, (possibly "open ended", as in this case). The region is convex, i.e. if you take two points inside the feasible region and join them by a straight line segment, then all points on the segment are feasible. The polyhedron could have fewer dimensions than n , e.g. if the second inequality was 2 x 1 + x 2 4, (multiply by 1 to get it in the form) then the feasible region would be just a line segment. 2. If the feasible region is non empty, then the optimum occurs at a \corner", in general. In n dimensions, corners are de ned by intersections of n hyperplanes 1 . The second observation gives a possible algorithm: enumerate all corners, evaluate the objective at those and pick the best. Problem: too many corners: m + n n , since we need to choose n hyperplanes to intersect out of the m in A and the n nonnegativity constraint on x . A better idea is to (somehow) start at some feasible corner, then move to a corner which is likely to be better by examining nearby corners (not necessarily explicitly) and keep going. Works well in practice, but could be exponential time in theory. This is the idea of the famous Simplex algorithm. Other approaches: divide and conquer (Khachiyan), interior point (Karmarkar) give polytime algorithms. 1 But note that not any set of n planes will do, e.g. suppose all of them go through a single line. 1 1 Duality There is an alternate, so called dual view of the linear programming problem given above....
View
Full
Document
This note was uploaded on 01/04/2010 for the course CSE CS601 taught by Professor Prof.ranade during the Summer '09 term at IIT Bombay.
 Summer '09
 PROF.RANADE
 Algorithms

Click to edit the document details