Upload
graciela-chelton
View
219
Download
1
Embed Size (px)
Citation preview
GRAPH BALANCING
Scheduling on Unrelated Machines
J1
J2
J3
J4
J5
M1 M2 M3
M1 M2 M3
J3
J4
J1
J2
J5
J1
J2
J3
J4
J5
Scheduling on Unrelated Machines
Scheduling on Unrelated Machines
M1
M2
M3 J1
J2 J3
J4
J5
Makespan
Restricted AssignmentM1 M2 M3
J1
J2
J3
J4
J5
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
Graph Balancing
2 2
4
35
2
1
6
5 6
5 5
2
1
2
2
1
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
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
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
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
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
Rotation
1/2
1/41/4
1/31/2
1/2
.1
.1
0
.3 .7
.9
.91
.3
.4 .6
.7
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
1
1
1
1
1
1 1
1
1
1
1
1
1
Tree Assignment
2
1
2
2
2
2
2 1
1
1
1
1
1
Tree Assignment
1 1
1 1 1 1 1 1
v`
Integrality Gap
Big edges )
1/2
1/2
1/2
1/21/2
1/2
1/2
1
1/2
>1/2
>1/2
1/2
1/2
>1/2
Big trees constraint
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
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
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.
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
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
Thanks!