grouping techniques for scheduling problemscgi.csc.liv.ac.uk/~ctag/seminars/tim-harnack.pdf · tim...

Post on 10-Oct-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Grouping Techniques For Scheduling Problems

Tim Hartnack

Theory of ParallelismInstitute of Computer Science

Christian-Albrechts-University of Kiel

October 11, 2007

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 1 of 26

Introduction Overview

Overview

1 IntroductionOverview

2 Unrelated parallel machines with costsBasic ideasRounding and profiling jobsGrouping jobsDynamic programming

3 Outlook and discussion

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 2 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Problem

0 < ε < 1 fixed

m≥ 2 fixedGiven:

n independent jobsm unrelated parallel machines

jobs without interruption

each machine: one job at a moment

job Jj on machine i requires pij ≥ 0

and incurs cij ≥ 0 costs, i = 1, · · · ,m, j = 1, · · · ,n

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 3 of 26

Unrelated parallel machines with costs

Objective function of unrelated parallel machines with costs

Objective function

T + µ

n

∑j=1

n

∑i=1

xijcij (1)

with xij =

{1, if job Jj runs on machine i0, else

T makespan, and µ ≥ 0

By multiplying each cost value by µ we may assume, w.l.o.g. that µ = 1

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 4 of 26

Unrelated parallel machines with costs

Objective function of unrelated parallel machines with costs

Objective function

T + µ

n

∑j=1

n

∑i=1

xijcij (1)

with xij =

{1, if job Jj runs on machine i0, else

T makespan, and µ ≥ 0

By multiplying each cost value by µ we may assume, w.l.o.g. that µ = 1

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 4 of 26

Unrelated parallel machines with costs

Objective function of unrelated parallel machines with costs

Objective function

T + µ

n

∑j=1

n

∑i=1

xijcij (1)

with xij =

{1, if job Jj runs on machine i0, else

T makespan, and µ ≥ 0

By multiplying each cost value by µ we may assume, w.l.o.g. that µ = 1

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 4 of 26

Unrelated parallel machines with costs

Objective function of unrelated parallel machines with costs

Objective function

T + µ

n

∑j=1

n

∑i=1

xijcij (1)

with xij =

{1, if job Jj runs on machine i0, else

T makespan, and µ ≥ 0

By multiplying each cost value by µ we may assume, w.l.o.g. that µ = 1

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 4 of 26

Unrelated parallel machines with costs

Notation and scaling factors

Definition (scaling factor)

Define for each job Jj ∈J

1 dj = mini=1,··· ,m (pij + cij)2 D = ∑

nj=1 dj

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 5 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

LemmaFor the objective function, the following inequality holds: D≤ OPT ≤ m

Proof.

D =n

∑j=1

dj ≤m

∑i=1

n

∑j=1

x∗ijcij +m

∑i=1

n

∑j=1

x∗ijpij

≤ C∗+T∗ ≤ m(C∗+T∗) = m ·OPT

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 6 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

Let mj indicate a machine such that dj = pmj,j + cmj,j

Assign each job Jj to machine mj

The objective function is bounded by

∑j∈J

cmj,j + ∑j∈J

pmj,j = D

OPT ∈[D

m ,D]

By dividing all times and costs by Dm we get:

1≤ OPT ≤ m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 7 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

Let mj indicate a machine such that dj = pmj,j + cmj,j

Assign each job Jj to machine mj

The objective function is bounded by

∑j∈J

cmj,j + ∑j∈J

pmj,j = D

OPT ∈[D

m ,D]

By dividing all times and costs by Dm we get:

1≤ OPT ≤ m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 7 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

Let mj indicate a machine such that dj = pmj,j + cmj,j

Assign each job Jj to machine mj

The objective function is bounded by

∑j∈J

cmj,j + ∑j∈J

pmj,j = D

OPT ∈[D

m ,D]

By dividing all times and costs by Dm we get:

1≤ OPT ≤ m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 7 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

Let mj indicate a machine such that dj = pmj,j + cmj,j

Assign each job Jj to machine mj

The objective function is bounded by

∑j∈J

cmj,j + ∑j∈J

pmj,j = D

OPT ∈[D

m ,D]

By dividing all times and costs by Dm we get:

1≤ OPT ≤ m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 7 of 26

Unrelated parallel machines with costs

Upper and lower bound of the objective function

Let mj indicate a machine such that dj = pmj,j + cmj,j

Assign each job Jj to machine mj

The objective function is bounded by

∑j∈J

cmj,j + ∑j∈J

pmj,j = D

OPT ∈[D

m ,D]

By dividing all times and costs by Dm we get:

1≤ OPT ≤ m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 7 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Basic ideas

Overview of the algorithm

1 Rounding and profiling of jobs creates profilesconstant number of profiles

2 Grouping of jobsconstant number of jobs

3 Schedule constant number of jobs with dynamic programming

Observation (Transformation)

We say that a transformation produces 1+O(ε) loss at the objective function

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 8 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Sets of machines

For every Jj define:

fast machines pij ≤ ε

m dj

cheap machines cij ≤ ε

m dj

slow machines pij ≥ mε

dj

expensive machines cij ≥ djε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 9 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Sets of machines

For every Jj define:

fast machines pij ≤ ε

m dj

cheap machines cij ≤ ε

m dj

slow machines pij ≥ mε

dj

expensive machines cij ≥ djε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 9 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Sets of machines

For every Jj define:

fast machines pij ≤ ε

m dj

cheap machines cij ≤ ε

m dj

slow machines pij ≥ mε

dj

expensive machines cij ≥ djε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 9 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Sets of machines

For every Jj define:

fast machines pij ≤ ε

m dj

cheap machines cij ≤ ε

m dj

slow machines pij ≥ mε

dj

expensive machines cij ≥ djε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 9 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Rounding Jobs

fast machine i of Jj : pij = 0

cheap machine i of Jj : cij = 0

slow machine i of Jj : pij = +∞

expensive machine i ∈ of Jj : cij = +∞

other machine i of Jj round pij, cij to the nearest lower value of ε

m dj (1+ ε)h,for some h ∈ N

ObservationFor each job Jj ∈J there is always a machine wich is neither expensive norslow

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 10 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding

LemmaRounding produces 1+4ε loss

Proof.Start by considering rounding to zero the times and costs of jobs on fastand cheap machines, respectively

Let A be an optimal schedule of thisThe objective function value of A≤ OPT

we just reduced times and costs

F and C denote sets of jobs, which are processed on fast and cheapmachines according to AReplace times and costs of the transformed instance by the originals

∑Jj∈F

ε

mdj + ∑

Jj∈C

ε

mdj ≤ 2

n

∑j=1

ε

mdj = 2ε

Dm

= 2ε

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 11 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Results of rounding II

Proof.Show: there exists an approximate schedule where jobs are scheduledneither on slow nor on expensive machines

pij,cij := +∞

Let A be an optimal schedule, T∗ Makespan C∗ total costsS and E sets,

containing jobs, running on slow and expensive machines

Assign Jj ∈ S∪E mj

This may increase the objective funtion value by at most

∑Jj∈S∪E

dj ≤ε

m ∑Jj∈S

pA(j),j + ε ∑Jj∈E

cA(j),j ≤ εT∗+ εC∗

since pA(j),j ≥ mε

dj for Jj ∈ S and cA(j),j ≥djε

for Jj ∈ E

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 12 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Summary & Outlook

up to nowAll jobs rounded

nextCreate profiles of jobs

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 13 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Summary & Outlook

up to nowAll jobs rounded

nextCreate profiles of jobs

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 13 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Summary & Outlook

up to nowAll jobs rounded

nextCreate profiles of jobs

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 13 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Summary & Outlook

up to nowAll jobs rounded

nextCreate profiles of jobs

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 13 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Profiles for jobs

Definition (Execution profile)The execution profile of a job Jj is a m-tuple⟨

Π1,j, · · · ,Πm,j⟩,

so that pij = ε

m dj (1+ ε)Πi,j

Definition (Cost profile)The cost profile of a job Jj is a m-tuple⟨

Γ1,j, · · · ,Γm,j⟩,

so that cij = ε

m dj (1+ ε)Γi,j

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 14 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Profiles for jobs

Definition (Execution profile)The execution profile of a job Jj is a m-tuple⟨

Π1,j, · · · ,Πm,j⟩,

so that pij = ε

m dj (1+ ε)Πi,j

Definition (Cost profile)The cost profile of a job Jj is a m-tuple⟨

Γ1,j, · · · ,Γm,j⟩,

so that cij = ε

m dj (1+ ε)Γi,j

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 14 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Special cases in the profile

For pij = +∞ put Πi,j := +∞

For pij = 0 put Πi,j :=−∞

For cij = +∞ put Γi,j := +∞

For cij = 0 put Γi,j :=−∞

ObservationTwo jobs have the same profile, if they have the same execution profile as wellas the same cost profile

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 15 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Special cases in the profile

For pij = +∞ put Πi,j := +∞

For pij = 0 put Πi,j :=−∞

For cij = +∞ put Γi,j := +∞

For cij = 0 put Γi,j :=−∞

ObservationTwo jobs have the same profile, if they have the same execution profile as wellas the same cost profile

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 15 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Special cases in the profile

For pij = +∞ put Πi,j := +∞

For pij = 0 put Πi,j :=−∞

For cij = +∞ put Γi,j := +∞

For cij = 0 put Γi,j :=−∞

ObservationTwo jobs have the same profile, if they have the same execution profile as wellas the same cost profile

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 15 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Special cases in the profile

For pij = +∞ put Πi,j := +∞

For pij = 0 put Πi,j :=−∞

For cij = +∞ put Γi,j := +∞

For cij = 0 put Γi,j :=−∞

ObservationTwo jobs have the same profile, if they have the same execution profile as wellas the same cost profile

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 15 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Special cases in the profile

For pij = +∞ put Πi,j := +∞

For pij = 0 put Πi,j :=−∞

For cij = +∞ put Γi,j := +∞

For cij = 0 put Γi,j :=−∞

ObservationTwo jobs have the same profile, if they have the same execution profile as wellas the same cost profile

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 15 of 26

Unrelated parallel machines with costs Rounding and profiling jobs

Number of profiles

LemmaThe number of different profiles is at most

l :=(

3+2log1+ε

)2m

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 16 of 26

Unrelated parallel machines with costs Grouping jobs

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles is constant

next: Group jobs =⇒ Number of jobs constant

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 17 of 26

Unrelated parallel machines with costs Grouping jobs

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles is constant

next: Group jobs =⇒ Number of jobs constant

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 17 of 26

Unrelated parallel machines with costs Grouping jobs

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles is constant

next: Group jobs =⇒ Number of jobs constant

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 17 of 26

Unrelated parallel machines with costs Grouping jobs

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles is constant

next: Group jobs =⇒ Number of jobs constant

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 17 of 26

Unrelated parallel machines with costs Grouping jobs

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles is constant

next: Group jobs =⇒ Number of jobs constant

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 17 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Grouping Jobs

1 Make a partition of the jobs

L = {Jj : dj >ε

m}

andS = {Jj : dj ≤

ε

m}

2 L set of big jobs3 S set of small jobs4 Partition S in Si, i = 1, · · · , l based on the profile

Ja,Jb ∈ Si with da,db ≤εm2

Create Jcfrom Ja and Jb

Continue this step until there is only one job Jj ∈ Si with dj ≤εm2 left

5 use the above grouping on all Si of S

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 18 of 26

Unrelated parallel machines with costs Grouping jobs

Results of grouping

LemmaWith a loss of 1+ ε the number of jobs can be reduced tok := min{n,

(log m

ε

)O(m)}

Proof.After the grouping there are at most l jobs, one from each subset Si, withdj ≤

ε

m2

Therefore the number of jobs is bounded to:

2Dε

m+ l≤ 2m2

ε

m+ l =

(log

)O(m)

Proof of loss will be omitted

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 19 of 26

Unrelated parallel machines with costs Grouping jobs

Results of grouping

LemmaWith a loss of 1+ ε the number of jobs can be reduced tok := min{n,

(log m

ε

)O(m)}

Proof.After the grouping there are at most l jobs, one from each subset Si, withdj ≤

ε

m2

Therefore the number of jobs is bounded to:

2Dε

m+ l≤ 2m2

ε

m+ l =

(log

)O(m)

Proof of loss will be omitted

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 19 of 26

Unrelated parallel machines with costs Grouping jobs

Results of grouping

LemmaWith a loss of 1+ ε the number of jobs can be reduced tok := min{n,

(log m

ε

)O(m)}

Proof.After the grouping there are at most l jobs, one from each subset Si, withdj ≤

ε

m2

Therefore the number of jobs is bounded to:

2Dε

m+ l≤ 2m2

ε

m+ l =

(log

)O(m)

Proof of loss will be omitted

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 19 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Summary & Outlook

up to nowAll jobs roundedEvery job has a profileNumber of profiles constantGrouping =⇒ Number of jobs constant

next: Create a schedule with dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 20 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Dynamic Programming

1 J1, · · · ,Jk jobs of the transformed instance2 A schedule configuration s = (t1, · · · , tm,c) is a (m+1)-tuple

ti completion time of machine ic total cost

3 Vj a set of these tuples (f.a. j = 1, · · · ,n)for every i = 1, · · · ,m there is a tuple v ∈ Vj whose entries are 0

Exception: the ith component, which is pij,the (m+1)th component, which is cij

4 T (j,s) denote the truth value of: There is a schedule for J1, · · · ,Jj, forwhich s is the corresponding configuration

Calculate all T (j,s):

T (1,v) =

{true, if v ∈ Vj

false, if v /∈ Vj

T (j,s) =∨

v∈Vj;v≤s T (j−1,s− v) for j = 2, · · · ,k

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 21 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Summary

up to nowAll jobs roundedEvery job has a profileNumber of profile constantGrouping =⇒ number of jobs constantSchedule per dynamic programming

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 22 of 26

Unrelated parallel machines with costs Dynamic programming

Unrelated Parallel Machines with Costs

LemmaFor the problem Unrelated Parallel Machines with Costs there is a FPTAS

that runs in O(n)+(log m

ε

)O(m2).Without proof

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 23 of 26

Outlook and discussion

Outlook and Discussion

Implementing the algorithm in Java (quite slow)

For which other problem would this algorithm match ?

Could the running time be better ?

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 24 of 26

Outlook and discussion

Outlook and Discussion

Implementing the algorithm in Java (quite slow)

For which other problem would this algorithm match ?

Could the running time be better ?

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 24 of 26

Outlook and discussion

Outlook and Discussion

Implementing the algorithm in Java (quite slow)

For which other problem would this algorithm match ?

Could the running time be better ?

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 24 of 26

Outlook and discussion

Literature

Aleksei V. Fishkin, Klaus Jansen, Monaldo Mastrolilli. GroupingTechniques for Scheduling Problems: Simpler and Faster.

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 25 of 26

Outlook and discussion

END

Thanks for your attention

October 11, 2007 Tim Hartnack Grouping Techniques For Scheduling Problems 26 of 26

top related