Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS

Similar presentations


Presentation on theme: "ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS"— Presentation transcript:

1 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
Instructor: Dr. Gautam Das March 10, 2009 Class notes by Alexandra Stefan

2 Topics covered Linear Programming (LP) Integer Programming (IP)
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

3 Linear programming Example: Find real values x,y, s.t. Constraints:
Goal: (G) 4x + y is maximized Solution for this problem: (x,y) = (5, 0)

4 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

5 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’.

6 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

7 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)

8 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

9 Simplex Start from a corner STOPPING condition
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.

10 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


Download ppt "ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS"

Similar presentations


Ads by Google