25
GRAPH BALANCING

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

Embed Size (px)

Citation preview

Page 1: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

GRAPH BALANCING

Page 2: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Scheduling on Unrelated Machines

J1

J2

J3

J4

J5

M1 M2 M3

Page 3: 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

Page 4: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Scheduling on Unrelated Machines

M1

M2

M3 J1

J2 J3

J4

J5

Makespan

Page 5: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Restricted AssignmentM1 M2 M3

J1

J2

J3

J4

J5

Page 6: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Graph Balancing

2 2

4

35

2

1

6

5 6

5 5

2

1

2

2

1

Page 8: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

1

1

1

1

1

1 1

1

1

1

1

1

1

Tree Assignment

Page 16: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

2

1

2

2

2

2

2 1

1

1

1

1

1

Tree Assignment

Page 17: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

1 1

1 1 1 1 1 1

v`

Integrality Gap

Page 18: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Big edges )

1/2

1/2

1/2

1/21/2

1/2

1/2

Page 19: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

1

1/2

>1/2

>1/2

1/2

1/2

>1/2

Big trees constraint

Page 20: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

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. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3

Thanks!