1 / 25

Graph Balancing

Graph Balancing. Scheduling on Unrelated Machines. M1. M3. M2. J1. J2. J3. J4. J5. Scheduling on Unrelated Machines. M1. M3. M2. J1. J1. J2. J2. J3. J3. J4. J4. J5. J5. Scheduling on Unrelated Machines. M1. J2. J3. M2. J4. J5. M3. J1. Makespan.

ora
Download Presentation

Graph Balancing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Graph Balancing

  2. Scheduling on Unrelated Machines M1 M3 M2 J1 J2 J3 J4 J5

  3. Scheduling on Unrelated Machines M1 M3 M2 J1 J1 J2 J2 J3 J3 J4 J4 J5 J5

  4. Scheduling on Unrelated Machines M1 J2 J3 M2 J4 J5 M3 J1 Makespan

  5. Restricted Assignment M1 M2 M3 J1 J2 J3 J4 J5

  6. Graph Balancing • Special case of Restricted Assignment • Each job can be scheduled on at most 2 machines • Machines vertices • Jobs  edges • Assign dedicated loads to vertices • Problem is to orient the edges

  7. Graph Balancing 6 2 2 2 6 5 1 2 4 5 3 2 5 5 1 1 2

  8. Graph Balancing Summary • Given: weighted multigraph (V, E, p, q) • V : Vertices  Machines • E : Edges  Jobs • eE, pe = processing time of job e • vV, qv = dedicated load on vertex v • Output: Orientation of edges :E V such that (e)  e • Loadv = qv + e:v = (e) pe • Objective: Minimize maximum load

  9. Optimization  Decision Problem • -relaxed decision procedure • Is there any orientation with maximum load at most d ? • Answer: • “NO” • Orientation with maximum load at most d. • Binary search for d and scale everything appropriately

  10. 2-approximation LP • Find values xev 0, for each e and ve, such that • For each e  E, u,ve: xeu + xev = 1 • For each v  V: qv + e:vexevpe  1

  11. 2-Relaxed Decision Procedure • Solve LP in polynomial time. • If not feasible, return “NO” • If feasible, round solution using rotation and tree assignment • After rounding, the maximum load is at most 2 • For rounding, decompose the graph as • Cycles • Trees

  12. Rotation .125 1/4 .5 .15 .5 1/4 .6 .3 1/2 .1 .7 .4 .5 .4 .25 1/3 1/2 .5 .6 .6 .2 .4 1/2 .3

  13. Rotation 1/4 .1 .9 1/4 1 .1 1/2 .9 0 .3 .7 1/3 1/2 .7 .3 .4 .6 1/2

  14. Rotation • Increases the number of integral solutions. • Breaks the fractional cycles. • Unchanged after rotation • (xeu + xev) for all edges e • (e:v e xevpe) for all vertices v • Maximum load after rotation is  1. • After all fractional cycles are broken, only fractional trees remain

  15. Tree Assignment  1  1  1  1  1  1  1  1  1  1  1  1  1

  16. Tree Assignment  2  1  2  1  1  2  1  1  1  2  2  1  2

  17. Integrality Gap v` 1 1 1 1 1 1 1 1

  18. Big edges ) 1/2 1/2 1/2 1/2 1/2 1/2 1/2

  19. Big trees constraint 1/2 >1/2 >1/2 >1/2 1/2 1/2 1

  20. 1.75-approximation • Find values xev 0, for each e and ve, such that • For each e  E, u,v e: xeu + xev = 1 • For each v  V: qv + e:v e xevpe  1 • For each T  GB(graph induced on big edges) 1

  21. Algorithm 1/2 >1/2 .1 >1/2 .9 1 .1 v >1/2 1/2 .9 0 1/2 .3 v .7 .7 .3 .4 .6

  22. Invariants • At any stage of iteration: • . • If is incident to any edge in . • If is incident to any big edge in . • Big tree constraint is not violated.

  23. Algorithm Case 1: e is a big edge (pe >= 0.5) Increase in load = pe – xevpe= xeupe<= 0.75 Case 2: e is not a big edge (pe < 0.5) Increase in load = pe – xevpe< pe < 0.5 Since xeupe > 0.75, e is definitely a big edge For any vertex u’ in the tree T, the path joining u’ to v is also a subtree of GB By the tree constraint, xevpe + xe’u’pe’ >= pe + pe’ -1 pe’ – xe’u’pe’ <= 1 – (pe - xevpe) Increase in load <= 0.25

  24. Integrality gap .25 .25 .25 .25 v` 1 1 1 1 .25 .25 .25 .25 .25 .25 v` 1 1 1 1 .25 .25 .25 .25 1 .25 .25 1 .25 .25 v` 1 1 .25 .25

  25. Thanks!

More Related