29
Multiple Machines Model Multiple Available resources – people – time slots – queues – networks of computers Now concerned with both allocation to a machine and ordering on that machine.

Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Multiple Machines

• Model Multiple Available resources

– people

– time slots

– queues

– networks of computers

• Now concerned with both allocation to a machine and ordering on thatmachine.

Page 2: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

P ||Cmax

NP-complete from partition.

Examplej pj

1 102 83 64 45 26 1

• What is the makespan on 2 machines?

• 3 machines ?

• 4 machines ?

Page 3: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Approxmiation Algorithms

• Cannot come up with an optimal solution in polynomial time

• Will look at relative error : Cmax(our algorithm)/Cmax(OPT )

• Challenges:

– Our algorithm’s performance is di↵erent on di↵erent instances

– We can’t compute Cmax(OPT )

Page 4: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Approxmiation Algorithms

• Cannot come up with an optimal solution in polynomial time

• Will look at relative error : Cmax(our algorithm)/Cmax(OPT )

• Challenges:

– Our algorithm’s performance is di↵erent on di↵erent instances

– We can’t compute Cmax(OPT )

Solution:

• We will use a worst case measure on performance

• We will use a lower bound on Cmax(OPT )

Page 5: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Approximation Algorithms

An algorithm A is a ⇢ approximation algorithm for a problem, if for allinputs

Cmax(A)

Cmax(OPT ) ⇢

.In addition, A must run in polynomial time.

We can’t compute Cmax(OPT ) .

Recipe:

• Instead, we compute a lower bound LB(OPT ) , such that

– LB(OPT ) is easy to compute

– LB(OPT ) Cmax(OPT ) .

• We then show that Cmax(A) ⇢LB(OPT ) .

Combining the previous two steps, we have:

Cmax(A) ⇢LB(OPT ) ⇢Cmax(OPT )

which can be rewritten asCmax(A)

Cmax(OPT ) ⇢

Page 6: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

.

Notes:

• Must come up with a good lower bound

• Can replace Cmax with any objective.

Page 7: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Lower Bounds for P ||Cmax

• Average load

• Longest job

Page 8: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Lower Bounds for P ||Cmax

• Average load – dP pj/me

• Longest job – pmax = maxj{pj}

Page 9: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

List Scheduling Algorithm

A Greedy Algorithm

1. Make a list of the jobs (in any order)

2. When a machine becomes available, schedule the next job on the list.

Page 10: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

List Scheduling Algorithm

A Greedy Algorithm

1. Make a list of the jobs (in any order)

2. When a machine becomes available, schedule the next job on the list.

Page 11: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

List Scheduling Algorithm

A Greedy Algorithm

1. Make a list of the jobs (in any order)

2. When a machine becomes available, schedule the next job on the list.

Analysis

• Let t be the last time at which all machines are busy.

• t Pj pj/m

• Cmax t + pmax Pj pj/m + pmax .

Put this together with our lower bound:

Cmax t + pmax X

j

pj/m + pmax 2LB 2OPT

Page 12: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Improved Algorithm

• Schedule length is average load plus last job.

• When last job is small, the schedule is shorter.

• Force last job to be small – LPT (Longest Processing Time).

LPT is a 4/3-approximation for P ||Cmax.

Proof Outline

• If last job is small ( 1/3OPT ) then 4/3-approximation

• Otherwise, there are at most 2 jobs per machine and LPT is optimal.

Even better algorithms are possible: . A polynomial-time approximationscheme (PTAS) is an algorithm that, given fixed ✏ > 0 , returns at (1 + ✏)-approximation in polynomial time. The running time can have a baddependence on ✏, such as n

O(1/✏) .

P ||Cmax has a PTAS.

Page 13: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Precedence Constraints

• P1|prec|Cmax is known as project scheduling.

• P |prec|Cmax has a 2-approximation.

What are good lower bounds for P |prec|Cmax ?

Page 14: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Precedence Constraints

• P1|prec|Cmax is known as project scheduling.

• P |prec|Cmax has a 2-approximation.

What are good lower bounds for P |prec|Cmax ?

• Average load

• pmax

• any path in the precedence graph

• the critical path is the longest path in the precedence graph.

EEE'*→o*⇒

Page 15: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Unit Processing Times

P |pj = 1, prec|Cmax is NP-hard.

Heuristics

• Critical Path (CP) rule

– The job at the head of the longest string of jobs in the constraintgraph has the highest priority

– P |pj = 1, tree|Cmax is solved by CP.

• Largest Number of Successors First (LNS)

– The job with the largest total number of successors in the constraintgraph has highest priority.

– For in-trees and chains, LNS is identical to CP

– LNS is also optimal for P |pj = 1, outtree|Cmax

• Generalization to arbitrary processing times is possible

Fixed Number of Processors

• P2|pj = 1, prec|Cmax is solvable in polynomial time

• P3|pj = 1, prec|Cmax is a big open question.

⇒0%8-30058

outta'D

o→o→o→0entree

Page 16: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Fox

*¥E¥¥*⇒⇒⇒ll,

2. machines

t¥EI'B' E¥=5 Cmaa )CPI 8

i¥¥¥¥##÷

Page 17: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Goodideas- work on jobs on criticala.Bathers#s ofsuccessors#us

, oeeszsdr z i

⑧→⑧→②→⑦9 8 I

①→⑦E¥ ,

→⑦ ,↳⑤ ,

④ ¥¥⑧ I 1

,

Page 18: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

P3lprec.BA/CmaxGrayetJohnsenNP-conphklNss4978÷:÷÷÷:*"s ED

:

2020 I wrestled problem

Page 19: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Preemptions: P |pmtn|Cmax

• McNaughton’s wrap-around rule is optimal.

Examplej pj

A 7B 10C 1D 4E 9

m⇒

LB ELI 31gPmaxe 10

Max ( Pma. , EMI ) is a lover bad

simple atg . fo this problem.

Page 20: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Preemptions: P |pmtn|Cmax

• McNaughton’s wrap-around rule is optimal.

Examplej pj

A 7B 10C 1D 4E 9

mis lB=max(31,107=33

ii.ez"

.I'stime'swanna't

,"

#

Page 21: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Preemptions: P |pmtn|Cmax

• McNaughton’s wrap-around rule is optimal.

Examplej pj

A 7B 10C 1D 4E 9

CorrectnessFbs here to fit

•Valid sdeddl : no job

.

I signified.ms attime allowed z s±m . m= sq.

↳Pma×

Page 22: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

LP for P |pmtn|Cmax

Variables: xij is the time that job j runs on machine i . Cmax is alsoa variable.

Constraints

• Each job runs for pj units of time

• Each machine runs for at most Cmax time.

• Cmax is more than any processing time.

minCmax (1)

s.t. (2)Pmi=1 xij = pj j = 1 . . . n (3)

Pnj=1 xij Cmax i = 1 . . .m (4)

Pmi=1 xij Cmax j = 1 . . . n (5)

(6)

Note that LP only assigns pieces of jobs to machines. Need to also assignjobs to times.

amount of•

Xi, > O Vij

corresp . → XaA=7 X2B=f} Xa 233

extaomplf,

↳ 53--315 Keep XzpzylBX3E=9

Page 23: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Machines with speeds – Q|pmtn|Cmax

• Machines M1, . . . ,Mm with speeds v1, . . . , vm .

• Assume wlog that v1 � v2 � vm

• Assume wlog that p1 � p2 � pn

• If a job runs for one unit of time on machine Mi , it uses up vi unitsof processing.

• If job j runs on machine Mi , then it takes pj/vi time units tocomplete.

Examplej pj

A 20B 16C 2D 1

What are the lower bounds

3. machines Job A can4=4 run

Vez 2 units of tire on M,

✓3=1 20-4127=12t f units of the en Mz

Page 24: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Lower bounds for Q|pmtn|Cmax

• What is the analog of pmax ?

• What is the analog of average load ?

• Are there others ?

RN,( blsestjdb

'

Ep;9m%fa§

ii. ctahehraesgan.sunaefspeeds)P¥Eu=5I

¥.÷f÷÷÷÷ .←as itOPT -

it

Page 25: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Lower bounds for Q|pmtn|Cmax

• What is the analog of pmax ? – p1/v1

• What is the analog of average load ? –Ppj/

Pvi

• Are there others ? – Yes

General Lower Bound

Cmax � max

0

B@p1

v1,p1 + p2

v1 + v2, . . . ,

Pm�1j=1 pj

Pm�1i=1 vi

,

Pnj=1 pj

Pmi=1 vi

1

CA

Buy:*, 97.79¥ , nY¥BPy ,Piti-Btpntps.

It's/

Page 26: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Lower Bound

Cmax � max

0

B@p1

v1,p1 + p2

v1 + v2, . . . ,

Pm�1j=1 pj

Pm�1i=1 vi

,

Pnj=1 pj

Pmi=1 vi

1

CA

What is the lower bound for our example?

Can we achieve this lower bound?

f- (20176,42, i )v-- CU , 2 , t )cnn.sn hottie ,wu"¥I*I)mad5%9

Page 27: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

LRPT-FM

Longest Remaining Processing Time on Fastest Machines

Example 1j pj

A 20B 16C 2D 1

v = (4, 2, 1)

Example 2j pj

A 20B 16C 12D 1

Notes:

• LRPT-FM is optimal in continuous time

• LRPT-FM is near otimal in discrete time, for small time steps.

-CI D WH D)¥¥÷¥¥a¥¥t¥¥⇒h73 :3 Bag Cmaxzf

BIGA 2 3

after e. tire remade R- YErents) IR -2e

Page 28: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

LRPT-FM

Longest Remaining Processing Time on Fastest Machines

Example 1j pj

A 20B 16C 2D 1

v = (4, 2, 1)

Example 2j pj

A 20B 16C 12D 1

Notes:

• LRPT-FM is optimal in continuous time

• LRPT-FM is near otimal in discrete time, for small time steps.

a.. :# units , TEETH ))6, 41 =)

-:÷i÷¥¥¥¥¥¥¥¥¥

Page 29: Multiple Machines - Columbia Universitycs2035/courses/ieor4405.S20/Pcmax with... · 2020. 2. 27. · • Machines M 1,...,M m with speeds v 1,...,v m. • Assume wlog that v 1 v 2

Continuous tire

t.in#kage

switch infinitely oftenbetween the RB