130 likes | 268 Views
Project Selection. Bin Li 10/29/2008. Contents. Background Problem Formulation Algorithm Design. Background. The telecommunication company is assessing the pros and cons of a project to offer some new type high-speed access service to residential customers.
E N D
Project Selection Bin Li 10/29/2008
Contents • Background • Problem Formulation • Algorithm Design
Background • The telecommunication company is assessing the pros and cons of a project to offer some new type high-speed access service to residential customers. • The revenue from the high-speed access service might not be enough to updating the routers; however, once the company has updated the routers, they’ll earn more money. • These projects often interact each other. The question is: which projects should be pursued, and which should be passed up?
Problem Formulation(1) • Problem • n projects 1,2,…,n • Dependencies between projects • Project i depends on project j implies project i cannot be done unless project j is done. • Each project i has a cost/profit pi • pi>0 implies project i generates pi profit • pi<0 implies project i requires a cost pi
Problem Formulation (2) • Constrains: For a set A of projects • A is a valid solution if A is dependency closed, that is for every , all projects that project i depends on are also in A. • Our goal • Find valid A to maximize profit(A)
Algorithm Design • Max-flow Min-cut theorem • If f is a flow in a flow network G=(V,E) with source s and sink t, then the following conditions are equivalent: • f is a maximum flow in G • The residual network Gf contains no augmenting paths. • |f|=c (S, T) for some cut (S, T) of G.
Algorithm Design(2) • Build a flow network • Projects represented as nodes in a graph • If project i depends on project j, then (i, j) is an edge • Add source s and sink t • For each project i with pi>0, add edge (s, i) with capacity pi • For each project i with pi<0, add edge (i, t) with capacity –pi • For each dependency edge (i, j), we put capacity ∞ • We can see that the capacity of the cut({s},PU{t}) is , so the maximum-flow value in this flow network is at most C.
Algorithm Design(3) • Example • There are four project{1,2,3,4},where p1>0,p2>0,p3<0,p4<0 • project 1 is dependent on project 4 • Project 2 is dependent on project 3
Algorithm Design(4) • Lemma 1 • Suppose (A’, B’) is a an s-t cut of finite capacity (no ∞) edges. Then projects in A=A’-{s} are a valid solution. • Proof • If A=A’-{s} is not a valid solution then there is a project and a project such that i depends on j. • Since (i, j) capacity is ∞, implies the cut(A’,B’) capacity is ∞, contradicting assumption.
Algorithm Design(5) • Lemma 2 • The capacity of the cut (A’,B’), where A’=AU{s} and A is a valid solution, is • Proof • Edge in the flow network: • The edges Leaving the source: • The edges Entering the sink: • Other edges: contribute Zero
Algorithm Design(7) • We have shown that if (A’,B’) is an s-t cut in G with finite capacity then • A=A’-{s} is a valid set of projects • Therefore a minimum s-t cut(A*,B*) gives a maximum set of projects A*-{s} since C is fixed.
Thank you for your attention! Questions?