100 likes | 219 Views
This comprehensive lecture by Dr. Gautam Das covers essential concepts in advanced computational models, focusing on Linear Programming (LP) and Integer Programming (IP). The session outlines the formulation of LP with real variables, constraints, and optimization goals, alongside practical examples and geometric interpretations. Various methods to solve LP, including the Simplex method, Ellipsoidal method, and Interior point method, are discussed, highlighting their complexities and efficiencies. The lecture concludes with an exploration of NP-Complete characteristics of Integer Programming, including decision problem formulations.
E N D
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Instructor: Dr. Gautam Das March 10, 2009 Class notes by Alexandra Stefan
Topics covered • Linear Programming (LP) • Problem instance: • Set of n real variables • Set of restrictions in the form of linear inequalities • Goal/optimizing function • Integer Programming (IP) • Set of n integer variables • Set of restrictions in the form of linear inequalities • Goal/optimizing function
Linear programming • Example: • Find real values x,y, s.t. • Constraints: (1) x+y <= 5 (2) x + 2y <= 6 (3) x >= 0 (4) y >= 0.2 • Goal: (G) 4x + y is maximized • Solution for this problem: (x,y) = (5, 0)
Geometric interpretation of the linear problem y (3) = 0 G (solution plane) 5 4 (1) = 0 3 Feasible region 2 Solution point 1 (4) = 0 0.2 x 1 2 3 4 5 6 (2) = 0 (G) = 0 (G) = 4
Feasible region is convex • Convex region: given any two points from the region, the line segment between them is part of the region • Proof idea: the feasible region is the intersection of half-planes which are convex regions. • Each constraint generates at most one edge in the feasible region • Intuition on finding the solution: • as you move the goal line, G, to increase it’s value, the point that will maximize it is one of the ‘corners’.
Naive algorithm– special case (n =2) • Problem definition: • 2 variables and m constraints • Solution: • For all pairs of constraints ci,cj • Find the intersection point: pij (pij satisfies both ci and cj) • Check whether pij is part of the feasible region If yes, apply goal function. Keep track of which point gave maximum value for the goal function. • Complexity: O(m3) • O(m2) pairs (ci, cj). For each pair perform O(m) evaluations to see if the point pij satisfies all the m constraints
Naive algorithm – general case • General problem definition: • n variables and m constraints, • Solution • A corner is now defined by intersecting n hyper-planes (that is satisfying n constraints) • This gives a total of m choose n corners => complexity O(mn) (exponential in n)
Methods that solve LP • Simplex (by George B. Dantzig, 1947) • Finds optimum: (because feasible region is convex) • Runtime: average time is linear; worst case time is exponential (covers all feasible corners) • Ellipsoidal method (by Leonid Khachiyan, 1839) • Runtime: polynomial • Theoretical value; not useful in practice • Interior point method (by Narendra Karmarkar, 1984) • Runtime : polynomial • Practical value
Simplex • Start from a corner • Note that note all corners are part of the feasible region. The algorithm will find a feasible one. • Look at the neighboring corners • Intuition of how you find the neighboring corners: remove one constraint and add another • Move to the one that gives the highest value to the goal function • STOPPING condition • : none of the neighboring points gives a higher value than the current one.
Integer Programming (IP) • Integer Programming (IP) • Set of n integer variables • Set of restrictions in the form of linear inequalities • Goal/optimizing function • IP is NP-Complete • Decision problem: • Input: IP and a target value C • Output: is there a point in the region that evaluates the goal function to a value greater than C? • Easy to verify it is NP • NP-Complete • reduce Vertex Cover to IP