+ All Categories

Download - Graph Balancing

Transcript
Page 1: Graph Balancing

GRAPH BALANCING

Page 2: Graph Balancing

Scheduling on Unrelated Machines

J1

J2

J3

J4

J5

M1 M2 M3

Page 3: Graph Balancing

M1 M2 M3

J3

J4

J1

J2

J5

J1

J2

J3

J4

J5

Scheduling on Unrelated Machines

Page 4: Graph Balancing

Scheduling on Unrelated Machines

M1

M2

M3 J1

J2 J3

J4

J5

Makespan

Page 5: Graph Balancing

Restricted AssignmentM1 M2 M3

J1

J2

J3

J4

J5

Page 6: Graph Balancing

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

Page 7: Graph Balancing

Graph Balancing

2 2

4

35

2

1

6

5 6

5 5

2

1

2

2

1

Page 8: Graph Balancing

Graph Balancing Summary

Given: weighted multigraph (V, E, p, q) V : Vertices Machines E : Edges Jobs eE, pe = processing time of job e vV, 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

Page 9: Graph Balancing

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

Page 10: Graph Balancing

2-approximation LP

Find values xev 0, for each e and ve, such that For each e E, u,ve:

xeu + xev = 1

For each v V:qv + e:ve xev pe 1

Page 11: Graph Balancing

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

Page 12: Graph Balancing

Rotation

1/2

1/41/4

1/31/2

1/2

.3

.5

.4

.5 .4

.7

.5.6

.6

.6 .4

.5

.125

.1

.2

.3

.25

.15

Page 13: Graph Balancing

Rotation

1/2

1/41/4

1/31/2

1/2

.1

.1

0

.3 .7

.9

.91

.3

.4 .6

.7

Page 14: Graph Balancing

Rotation

Increases the number of integral solutions.

Breaks the fractional cycles. Unchanged after rotation

(xeu + xev) for all edges e

(e:v e xev pe) for all vertices v

Maximum load after rotation is 1. After all fractional cycles are broken,

only fractional trees remain

Page 15: Graph Balancing

1

1

1

1

1

1 1

1

1

1

1

1

1

Tree Assignment

Page 16: Graph Balancing

2

1

2

2

2

2

2 1

1

1

1

1

1

Tree Assignment

Page 17: Graph Balancing

1 1

1 1 1 1 1 1

v`

Integrality Gap

Page 18: Graph Balancing

Big edges )

1/2

1/2

1/2

1/21/2

1/2

1/2

Page 19: Graph Balancing

1

1/2

>1/2

>1/2

1/2

1/2

>1/2

Big trees constraint

Page 20: Graph Balancing

1.75-approximation

Find values xev 0, for each e and ve, such that For each e E, u,v e:

xeu + xev = 1

For each v V:qv + e:v e xev pe 1

For each T GB (graph induced on big edges)

1

Page 21: Graph Balancing

v

v

1/2

>1/2

>1/2

1/2

1/2

>1/2

.1

.1

0

.3

.7

.9

.9 1

.3

.4

.6

.7

Algorithm

Page 22: Graph Balancing

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.

Page 23: Graph Balancing

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 edgeFor 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’ -1pe’ – xe’u’pe’ <= 1 – (pe - xevpe)Increase in load <= 0.25

Page 24: Graph Balancing

Integrality gap

.25

.25

.25

.25

.25

.25 .25

1.5−ϵ

.25

v`

.5−ϵ1 1

.25

.25

.25

.25

.25

1

.5−ϵ.25

v`

.5−ϵ1

1

.25

.25

.25

.25

.25

1

.25

v`

.5−ϵ1 1.5−ϵ

1

1

1

Page 25: Graph Balancing

Thanks!


Top Related