67
Online and Offline List Batching Wolfgang Bein Department of Computer Science University of Nevada, Las Vegas Today min: 26 C max 42 C Universit ¨ at L ¨ ubeck June 16, 2015 ( Today min: 4.9C max 14.9 C, previous talk November 14, 2014: min 7.2 C max 11.6 C) supported by NSF grant CCR-0312093 Wolfgang Bein Online and Offline List Batching

Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Online and Offline List Batching

Wolfgang Bein

Department of Computer ScienceUniversity of Nevada, Las Vegas

Today min: 26 C max 42 C

Universitat Lubeck June 16, 2015

( Today min: 4.9C max 14.9 C, previous talk November 14, 2014: min 7.2 C max 11.6 C)

supported by NSF grant CCR-0312093

Wolfgang Bein Online and Offline List Batching

Page 2: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching

n jobs are given to be processed in batchesJob 1 Job 2 Job 3 Job 4 Job 5

all jobs in a batch finish at the same time

there is a setup time to get a batch started

Job 4Job 3Job 1

55

131313

Job5Job 2

the object is to minimize the average completion time

Wolfgang Bein Online and Offline List Batching

Page 3: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching, continued...

Jobs with processing requirements p1, p2, . . .pn are given

and have to processed in that order.

Wolfgang Bein Online and Offline List Batching

Page 4: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching, continued...

Jobs with processing requirements p1, p2, . . .pn are given

and have to processed in that order.

There is one machine.

Wolfgang Bein Online and Offline List Batching

Page 5: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching, continued...

Jobs with processing requirements p1, p2, . . .pn are given

and have to processed in that order.

There is one machine.

Jobs are given to the machine in batches. Every batch

has a setup time of 1.

Wolfgang Bein Online and Offline List Batching

Page 6: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching, continued...

Jobs with processing requirements p1, p2, . . .pn are given

and have to processed in that order.

There is one machine.

Jobs are given to the machine in batches. Every batch

has a setup time of 1.

The completion time Ci of job i is the completion time

of its batch.

Wolfgang Bein Online and Offline List Batching

Page 7: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List Batching, continued...

Jobs with processing requirements p1, p2, . . .pn are given

and have to processed in that order.

There is one machine.

Jobs are given to the machine in batches. Every batch

has a setup time of 1.

The completion time Ci of job i is the completion time

of its batch.

The object is to batch the jobs in such a way that∑

Ci is minimized.

Wolfgang Bein Online and Offline List Batching

Page 8: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Our Example

Job 1 Job 2 Job 3 Job 4 Job 5

4 146 1414

52

Job 3 Job 4 Job 5Job 1 Job 2

10 1414

55

48

Job 1 Job 2 Job 3 Job 4 Job 5

5 1313513

49

Job 2 Job 5Job 3Job 1 Job 4

4 6 11 14 16

51

Job 1 Job 2 Job 3 Job 4 Job 5

12

60

Wolfgang Bein Online and Offline List Batching

Page 9: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Sor far List s-Batching, but here is also List p-Batching

Job 1

Job 2

Job 3

Job 4

Job 5

Job 6

Job 7

Job 1 Job 2 Job 3 Job 5

Job 1

Job 2

Job 3

Job 4

Job 5

Job 6

Job 7

2

2

2

2

8

8

8

32

Job 7

Job 6

Job 4

6

6

6

6

6

6

6

42

Wolfgang Bein Online and Offline List Batching

Page 10: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

History

Large body of work on offline batching, i.e.

[Coffman, Yannakakis, Magazine, Santos, 1990]

[Albers, Brucker, 1993]

[Brucker, Gladky, Hoogeveen, Kovalyov, Pots, Tautenhahn, Velde,

1998]

Wolfgang Bein Online and Offline List Batching

Page 11: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

List s-Batching, Offline

The offline list s-batching problem can be reduced to a path

problem1[AB92]:

Job 1 Job 3 Job 4

Job 1 Job 3 Job 4Job2 Job 5

Job 2 Job 5

cij

cij = (n − i)(s + Pj − Pi) with Pi =∑i

ℓ=0 pℓ

1List p-Batching has a similar reduction

Wolfgang Bein Online and Offline List Batching

Page 12: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

A Simple Dynamic Program

ijc

n1 lk

c12+E[1]

c13+E[1]

c14+E[1]

c23+E[2]

c24+E[2]c34+E[3]

E[1]=0

E [ℓ] = the shortest path from 1 to ℓ

E [ℓ] = min1≤k<ℓ{E [k ] + ckℓ}O(n2)

Wolfgang Bein Online and Offline List Batching

Page 13: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

A Simple Dynamic Program

ijc

n1 lk

c12+E[1]

c13+E[1]

c14+E[1]

c23+E[2]

c24+E[2]c34+E[3]

E[2]

E[1]=0

E [ℓ] = the shortest path from 1 to ℓ

E [ℓ] = min1≤k<ℓ{E [k ] + ckℓ}O(n2)

Wolfgang Bein Online and Offline List Batching

Page 14: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

A Simple Dynamic Program

ijc

n1 lk

c12+E[1]

c13+E[1]

c14+E[1]

c23+E[2]

c24+E[2]c34+E[3]

E[2]

E[3]

E[1]=0

E [ℓ] = the shortest path from 1 to ℓ

E [ℓ] = min1≤k<ℓ{E [k ] + ckℓ}O(n2)

Wolfgang Bein Online and Offline List Batching

Page 15: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

A Simple Dynamic Program

ijc

n1 lk

c12+E[1]

c13+E[1]

c14+E[1]

c23+E[2]

c24+E[2]c34+E[3]

E[2]

E[3]

E[4]

E[1]=0

E [ℓ] = the shortest path from 1 to ℓ

E [ℓ] = min1≤k<ℓ{E [k ] + ckℓ}O(n2)

Wolfgang Bein Online and Offline List Batching

Page 16: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

How to do this in O(n log n)

Monge Property

i1

i2

2j1j

ci1j1 + ci2j2 ≤ ci2j1 + ci1j2

<=

>

Totally Monotone

min

minmin

min

min

min

min

min

min

min

min

min

min

min

min

Wolfgang Bein Online and Offline List Batching

Page 17: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Various Inferences

Entire colums can be eliminated in O(log n) time:

���������������������������������������������������������������

���������������������������������������������������������������

����������������������������������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������������������������������

negative

positive

a bmon. increasingdifference is

>>>>

<

<<

<<

<

���������������������������������

���������������������������������

������������������������������������������

������������������������������������������

a cb< >

��������������������������������

��������������������������������

���������������������������������

���������������������������������

Wolfgang Bein Online and Offline List Batching

Page 18: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

Wolfgang Bein Online and Offline List Batching

Page 19: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

Wolfgang Bein Online and Offline List Batching

Page 20: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

x

Wolfgang Bein Online and Offline List Batching

Page 21: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

x

Wolfgang Bein Online and Offline List Batching

Page 22: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

x

Wolfgang Bein Online and Offline List Batching

Page 23: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

Wolfgang Bein Online and Offline List Batching

Page 24: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The Online Protocol of the Dynamic Program

[LS91]

Protocol:

Once the minimum of the

i th row

is known,

the

(i + 1)st

column is available .

Wolfgang Bein Online and Offline List Batching

Page 25: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm is O(n log n)

The Hire/Fire/Retire Algorithm can be implemented in O(n log n)

Potential (for number of hire/fire/retire operations):

number of rows + number of columns.

Retire eliminates a column, fire eliminates a column, not-retire

eliminates a row, not-fire happens once per row.

O(n) Algorithms:

[LARSH 91]

[Albers, Brucker 93]

Wolfgang Bein Online and Offline List Batching

Page 26: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Online List Batching

Jobs J1, J2, . . . arrive one by one over a list.

Wolfgang Bein Online and Offline List Batching

Page 27: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Online List Batching

Jobs J1, J2, . . . arrive one by one over a list.

Job Ji must be scheduled before a new job is seen, and even

before knowing whether current is the last job.

Wolfgang Bein Online and Offline List Batching

Page 28: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Online List Batching

Jobs J1, J2, . . . arrive one by one over a list.

Job Ji must be scheduled before a new job is seen, and even

before knowing whether current is the last job.

For job Ji an online Algorithm must decide whether to

“batch”: to make Ji the first job of a new bach

“not to batch”: to add Ji to the current batch.

Wolfgang Bein Online and Offline List Batching

Page 29: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Competitiveness

A measure of the performance that compares the decision made

online with the optimal offline solution for the same problem.

For any sequence of jobs ρ = {J1, J2, . . .}costA(ρ): cost of the schedule produced by A for ρ

costopt(ρ) is the minimum cost of any schedule for ρ

We say that A is C-competitive if for each sequence ρ we have

costA(ρ) ≤ C · costopt(ρ)

Wolfgang Bein Online and Offline List Batching

Page 30: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 31: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P

0.2

0.2

0

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 32: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.6

0.60.2

0.2

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 33: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.6

0.60.2

0.2 0.6

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 34: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.8

0.2 0.6 0.2

0.60.2

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 35: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.8

0.6 0.20.2

0.2 0.6 0.2

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 36: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P

0.2 0.6 0.2 0.3

0.20.60.2

1.1

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 37: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0

0.60.2 0.2 0.3

0.30.20.60.2

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 38: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.1

0.2 0.6 0.2 0.3 0.1

0.30.20.60.2

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 39: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 0.1

0.2 0.6 0.2 0.3 0.1

0.30.20.60.2 0.1

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 40: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P 1.2

0.2 0.6 0.2 0.3 0.1 1.1

0.2 0.30.60.2 0.1

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 41: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

P

0.2 0.6 0.2

1.10.10.30.20.60.2

0

0.1 1.10.3

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 42: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Algorithm PSEUDOBATCH(B)

processing > 1 processing > 1

0.2 0.6 0.2 0.3 0.2 1.1

Pseudobatch(1)

PSEUDOBATCH(B) maintains a variable P which will be the sum of the

processing times of a set of recent jobs.

When J1 is received, P is set to 0. After receiving each subsequent Ji ,

PSEUDOBATCH(B) first adds pi to P.

If P > B, PSEUDOBATCH(B) batches and also sets P to zero.

Wolfgang Bein Online and Offline List Batching

Page 43: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Wolfgang Bein Online and Offline List Batching

Page 44: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Proof.

Let Si =∑i

j=1 pj .

Wolfgang Bein Online and Offline List Batching

Page 45: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Proof.

Let Si =∑i

j=1 pj .

Optimal Completion Times: C∗i ≥ 1 + Si

Wolfgang Bein Online and Offline List Batching

Page 46: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Proof.

Let Si =∑i

j=1 pj .

Optimal Completion Times: C∗i ≥ 1 + Si

For PSEUDOBATCH(1): Ci ≤ #batches + Si + 1

Wolfgang Bein Online and Offline List Batching

Page 47: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Proof.

Let Si =∑i

j=1 pj .

Optimal Completion Times: C∗i ≥ 1 + Si

For PSEUDOBATCH(1): Ci ≤ #batches + Si + 1

#batches ≤ 1 + Si

Wolfgang Bein Online and Offline List Batching

Page 48: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is 2-competitive

Theorem ([BELN 04])

The competitiveness of algorithm PSEUDOBATCH(1) is not larger than 2

Proof.

Let Si =∑i

j=1 pj .

Optimal Completion Times: C∗i ≥ 1 + Si

For PSEUDOBATCH(1): Ci ≤ #batches + Si + 1

#batches ≤ 1 + Si

Thus Ci ≤ 2 + 2Si , which implies the result.

Wolfgang Bein Online and Offline List Batching

Page 49: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

PSEUDOBATCH(1) is Optimal

Theorem ([BELN 04])

The competitiveness of any deterministic online algorithm for the list

s-batch problem is at least 2.

Construct an adversary such that any deterministic algorithm will

perform “poorly”.

Aversary uses Null Jobs.

Null Jobs are jobs with “arbitrarily” small processing times.

Wolfgang Bein Online and Offline List Batching

Page 50: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Lower Bound Adversary

NullJobs

NullJobs

1

UnitJob

ε

NullJobs

ε ε

NullJobs

n

1

UnitJob

ε

NullJobs

ε ε

1

UnitJob

ε

NullJobs

ε ε

n2

nm

Wolfgang Bein Online and Offline List Batching

Page 51: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Proof Sketch

Proof.

Let m be a large integer; the sequence ends

a: the first time A does not batch,

b: or at m.

Wolfgang Bein Online and Offline List Batching

Page 52: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Proof Sketch

Proof.

Let m be a large integer; the sequence ends

a: the first time A does not batch,

b: or at m.

in case a we have costA = nk (k + k) + low order

1 2 k

Wolfgang Bein Online and Offline List Batching

Page 53: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Proof Sketch

Proof.

Let m be a large integer; the sequence ends

a: the first time A does not batch,

b: or at m.

in case a we have costA = nk (k + k) + low order

1 2 k

opt places all but the last job into one batch,

costA = nk (k) + low order

1 2 k

Wolfgang Bein Online and Offline List Batching

Page 54: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Proof Sketch

Proof.

Let m be a large integer; the sequence ends

a: the first time A does not batch,

b: or at m.

in case a we have costA = nk (k + k) + low order

1 2 k

opt places all but the last job into one batch,

costA = nk (k) + low order

1 2 k

case b similar...

Wolfgang Bein Online and Offline List Batching

Page 55: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Small jobs are needed...

The next result shows that the exact competitiveness of 2 relies on

the fact that the jobs may be arbitrarily small.

In fact, if there is a positive lower bound on the size of the jobs, it

is possible to construct an algorithm with competitiveness less

than two.

Theorem ([BELN 04])

If the processing time of every job is at least p, then

A =PSEUDOBATCH(√

p + 1) is C-competitive, where

C = min

(

1+√

p+1√p+1

,p+1

p

)

.

Wolfgang Bein Online and Offline List Batching

Page 56: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

If jobs are at least p...

Wolfgang Bein Online and Offline List Batching

Page 57: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

The uniform case of pi = s = 1

Define D to be the online algorithm which batches after jobs: 2, 5, 9, 13, 18,

23, 29, 35, 41, 48, 54, 61, 68, 76, 84, 91, 100, 108, 117, 126, 135, 145, 156,

167, 179, 192, 206, 221, 238, 257, 278, 302, 329, 361, 397, 439, 488, 545,

612, 690, 781, 888, 1013, 1159, 1329, 1528, 1760, and 2000+40i for all

i ≥ 0.

Theorem ([BELN 04])

D is 619583 -competitive, and no online algorithm the list batching problem

restricted to unit job sizes has competitiveness smaller than 619583 .

Wolfgang Bein Online and Offline List Batching

Page 58: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Offline: A closed form for pi = s = 1

Theorem ([BELN 04])

optcost [n] = m(m+1)(m+2)(3m+5)24 + k(n + m − k + 1) + k(k+1)

2

for n = m(m+1)2

+ k

The optimal size of the first batch

=

m if k = 0

m or m + 1 if 0 < k < m + 1

m + 1 if k = m + 1

Wolfgang Bein Online and Offline List Batching

Page 59: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Online: The case pi = s = 1

Algorithm was found by computer

Minimum Competitiveness Layered Graph Problem

������

����

����

������

������

����

����

������

0

2

6

11

18

26

Opt

batchdo not batch

2627

1818

12 11 12

6

12

6

2

0

Decision Tree

27 27

competitive path

optimal paths

nodes in layer k: k jobs requested m= #batches b= #jobs in current batch

Schedules are combined into classes.

A class has schedules where there are m batches, the last batch contains b

jobs, and k jobs have been requested.

Wolfgang Bein Online and Offline List Batching

Page 60: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Weighted Batching

Problem

Given n jobs with

1 processing times p1, . . . pn

2 non-negative weights w1 . . .wn.

Find an order and list-batching that minimizes∑

wiCi .

Problem is NP-hard.

Wolfgang Bein Online and Offline List Batching

Page 61: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Weighted Batching

Priorities wipi

Sort jobs in order of “priorities” wipi

“Canonical Order”

Then list batch

If all weights wi are equal, then is this optimal.

If all proceesing times pi are equal, then is this optimal.

Done.

But what if not?

Wolfgang Bein Online and Offline List Batching

Page 62: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

2-Approximations

CANPSEUDOBATCH:

put the jobs in canonical order and then use PSEUDOBATCH

Theorem

CANPSEUDOBATCH has an approximation ratio of 2.

CANONICALBEST:

put the jobs in canonical order and then use MONGEOPT

Theorem

CANONICALBEST has an approximation ratio of 2.

Wolfgang Bein Online and Offline List Batching

Page 63: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

A lower bound for Priority Approximation

PRIORITY ALGORITHM:

Any algorithm that schedules jobs in canonical order.

Theorem

Approximation ratio of any priority algorithm ≥ 2+√

64 ≈ 1.1124

Proof: Two jobs (p1,w1), (p2,w2) with equal priorities:

(1,1 + ǫ), (1 +√

6,1 +√

6).

������������������������������������

������������������������������������

������������������������������������

������������������������������������

������������������������������������

������������������������������������

��������������������������������

��������������������������������

��������������������������������

��������������������������������

24.25

24.25

21.80

Wolfgang Bein Online and Offline List Batching

Page 64: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Competitiveness for p-Batching

THRESHOLD:

batches for the ℓth time whenever the processing

requirement of the next job ≥ (ℓ+ 1)2ℓ − 1, i.e. 3, 11,

31, 79, . . .

Wolfgang Bein Online and Offline List Batching

Page 65: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Competitiveness for p-Batching

Theorem ([BELN 04])

THRESHOLD is 4-competitive. No deterministic online algorithm for the

list p-batch problem can have competitiveness less than 4.

Proof.

Lower bound proof a bit subtle....

Wolfgang Bein Online and Offline List Batching

Page 66: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Open Problems: Weighted Batching

Problem

Given n jobs with

1 processing times p1, . . . pn

2 non-negative weights w1 . . .wn.

3 offline

Find an order and s-batching that minimizes∑

wiCi .

Problem is NP-hard.

Sort jobs in order of “priorities” wipi

then PSEUDOBATCH(1) is a

2-approximation.

PTAS ?

Wolfgang Bein Online and Offline List Batching

Page 67: Online and Offline List Batchingweb.cs.unlv.edu/bein/pubs/batchl02.pdf · 2018-09-13 · Online and Offline List Batching Wolfgang Bein Department of Computer Science University

Questions?

Wolfgang Bein Online and Offline List Batching