IOE/MFG 543

18
1 IOE/MFG 543 IOE/MFG 543 Chapter 11: Chapter 11: Stochastic single machine Stochastic single machine models with release dates models with release dates

description

IOE/MFG 543. Chapter 11: Stochastic single machine models with release dates. Random release dates. Jobs (or orders) come in at different unknown times The release date of a job is unknown Random release dates are similar to customer arrivals to a queuing system - PowerPoint PPT Presentation

Transcript of IOE/MFG 543

Page 1: IOE/MFG 543

11

IOE/MFG 543IOE/MFG 543

Chapter 11: Chapter 11: Stochastic single machine Stochastic single machine models with release datesmodels with release dates

Page 2: IOE/MFG 543

22

Random release datesRandom release dates

Jobs (or orders) come in at different Jobs (or orders) come in at different unknown timesunknown times– The release date of a job is unknownThe release date of a job is unknown

Random release dates are similar to Random release dates are similar to customer arrivals to a queuing customer arrivals to a queuing systemsystem

Jobs have different prioritiesJobs have different priorities– Not necessarily optimal to have a FIFO Not necessarily optimal to have a FIFO

policypolicy– Priority queuesPriority queues

Page 3: IOE/MFG 543

33

Total weighted flow Total weighted flow timetime Since jobs are released at different Since jobs are released at different

times it makes sense to minimize times it makes sense to minimize the total weighted time a job the total weighted time a job spends in the system, or flow timespends in the system, or flow time

Flow timeFlow time– Let the release date of job j be RLet the release date of job j be Rjj

– The flow time is CThe flow time is Cjj-R-Rjj

Page 4: IOE/MFG 543

44

Minimizing expected Minimizing expected total weighted flow timetotal weighted flow time

The objective function is E(The objective function is E(wwjj(C(Cjj-R-Rjj)))) Taking the expected value inside Taking the expected value inside

the sum we get the sum we get E(E(wwjj(C(Cjj-R-Rjj))=))=

So minimizing E(So minimizing E(wwjj(C(Cjj-R-Rjj)))) is is equivalent to minimizing E(equivalent to minimizing E(wwjjCCjj))

Page 5: IOE/MFG 543

55

Section 11.1 Arbitrary releases Section 11.1 Arbitrary releases and arbitrary processing times and arbitrary processing times without preemptionswithout preemptions

The problems 1 | rThe problems 1 | rjj | | wwjjCCjj is NP- is NP-hardhard– It may be optimal to keep the It may be optimal to keep the

machine idle until a job is releasedmachine idle until a job is released Example 11.1.3Example 11.1.3job jjob j 11 22

ppjj 44 11

rrjj 00 11

wwjj 11 100100

Page 6: IOE/MFG 543

66

Section 11.1 Arbitrary releases Section 11.1 Arbitrary releases and arbitrary processing times and arbitrary processing times without preemptions (2)without preemptions (2)

WSPT for available jobs may not WSPT for available jobs may not be optimal even if we do not allow be optimal even if we do not allow unforced idlenessunforced idleness

Example 11.1.2Example 11.1.2

job jjob j 11 22 33

ppjj 11 44 11

rrjj 00 00 11

wwjj 11 55 100100

Page 7: IOE/MFG 543

77

Two job classesTwo job classes

Suppose there are only two types of jobsSuppose there are only two types of jobs– All jobs in the same class have the same All jobs in the same class have the same

distributiondistribution– The mean processing times of jobs in The mean processing times of jobs in

classes 1 and 2 are 1/classes 1 and 2 are 1/11 and 1/ and 1/22, , respectivelyrespectively

– The weight of jobs in classes 1 and 2 are wThe weight of jobs in classes 1 and 2 are w11 and wand w22, respectively, respectively

The release dates can have any The release dates can have any distributiondistribution

Page 8: IOE/MFG 543

88

Theorem 11.1.1Theorem 11.1.1

Assume thatAssume that– Unforced idleness is not allowedUnforced idleness is not allowed– There are only two job classesThere are only two job classes

Under the optimal nonpreemptive Under the optimal nonpreemptive dynamic policy, the decision dynamic policy, the decision maker follows the WSEPT rule maker follows the WSEPT rule whenever the machine is freedwhenever the machine is freed

Page 9: IOE/MFG 543

99

Section 11.2 Priority Section 11.2 Priority queues, work conservation queues, work conservation and Poisson releasesand Poisson releases Suppose jobs (an unknown number) Suppose jobs (an unknown number)

arrive randomly to the machinearrive randomly to the machine Each job requires a random amount Each job requires a random amount

of processing time Xof processing time Xjj on the machine on the machine If a job is being processed at time t If a job is being processed at time t

let xlet xrr(t) be the remaining processing (t) be the remaining processing timetime

Page 10: IOE/MFG 543

1010

Work in the systemWork in the system

At any time t there may be a At any time t there may be a number of jobs waiting to be number of jobs waiting to be processed on the machine processed on the machine (excluding the one in process)(excluding the one in process)

Let V(t) be the total processing Let V(t) be the total processing time of those jobs plus xtime of those jobs plus xrr(t)(t)

V(t) is referred to as the amount V(t) is referred to as the amount of work in the systemof work in the system

Page 11: IOE/MFG 543

1111

Work in the system (2)Work in the system (2)

Any time a job j arrives V(t) jumps Any time a job j arrives V(t) jumps by Xby Xjj

Between jumps V(t) decreases at Between jumps V(t) decreases at rate 1 as long as the machine is rate 1 as long as the machine is processing jobsprocessing jobs

We can use the stochastic We can use the stochastic process V(t) to analyze the process V(t) to analyze the systemsystem

Page 12: IOE/MFG 543

1212

Poisson releases and Poisson releases and single job classsingle job class To simplify the discussion we To simplify the discussion we

assume that the time assume that the time betweenbetween release dates are exponentially release dates are exponentially distributed at rate distributed at rate

We also assume that there is only a We also assume that there is only a single job classsingle job class– The processing time of job j is X where The processing time of job j is X where

X is a random variable with distribution X is a random variable with distribution FF

Page 13: IOE/MFG 543

1313

Poisson releases and Poisson releases and PASTAPASTA PASTA=Poisson Arrivals See Time PASTA=Poisson Arrivals See Time

AveragesAverages This is a very useful property that Poisson This is a very useful property that Poisson

releases havereleases have Example 11.2.1Example 11.2.1

– Poisson releases at rate 1 per 10 minutesPoisson releases at rate 1 per 10 minutes– Processing times equal 4 minutesProcessing times equal 4 minutes– What is the time average number of jobs What is the time average number of jobs

being processed?being processed?– What is the probability that a job can What is the probability that a job can

immediately start processing when released?immediately start processing when released?– What if the time between releases is What if the time between releases is

deterministic and equal to 10 minutes? deterministic and equal to 10 minutes?

Page 14: IOE/MFG 543

1414

Computing the expected Computing the expected amount of work in the amount of work in the systemsystem Let E(V)=limLet E(V)=limtt∞∞E(V(t)) be the expected E(V(t)) be the expected

amount of work in the system when amount of work in the system when the system is in steady statethe system is in steady state

Suppose the jobs pay $1 per unit Suppose the jobs pay $1 per unit processing time left for each time unit processing time left for each time unit they spend in the systemthey spend in the system– How much money does the system earn How much money does the system earn

per unit time?per unit time? The average amount of money the The average amount of money the

system earns per unit time issystem earns per unit time isE(V)=E(V)=E(amount paid by a job) E(amount paid by a job)

Page 15: IOE/MFG 543

1515

Computing the amount Computing the amount paid by a jobpaid by a job Let WLet Wqq be the time a job spends in be the time a job spends in

the queuethe queue Then WThen Wss=W=Wqq+X is the total time +X is the total time

spent in the systemspent in the system The job pays at a constant rate X The job pays at a constant rate X

while it is in the queue and the while it is in the queue and the total payout while in service is Xtotal payout while in service is X22/2/2

Amount paid by a job = XWAmount paid by a job = XWqq+X+X22/2/2

Page 16: IOE/MFG 543

1616

Computing the Computing the expectedexpected amount paid amount paid by a jobby a job If the dispatching rule is If the dispatching rule is

independent of X then Windependent of X then Wqq and X and X are independent andare independent and

E(amount paid by a job)=…E(amount paid by a job)=…

Page 17: IOE/MFG 543

1717

Computing the Computing the expected wait in expected wait in queue queue By the PASTA and if a FCFS rule is usedBy the PASTA and if a FCFS rule is used

E(WE(Wqq)= …)= … This gives the equationThis gives the equation

E(WE(Wqq)=)=E(X)E(WE(X)E(Wqq)+)+E(XE(X22)/2)/2oror

E(WE(Wqq)=)=E(XE(X22)/[2(1-)/[2(1-E(X))]E(X))] This is known as the Pollaczek-This is known as the Pollaczek-

Khintchine (or simply P-K) formulaKhintchine (or simply P-K) formula

Page 18: IOE/MFG 543

1818

Computing the Computing the expected length of a expected length of a busy periodbusy period Let B be the length of a busy periodLet B be the length of a busy period Let I be the length of an idle periodLet I be the length of an idle period Then B+I is a cycleThen B+I is a cycle The (long run) proportion of time the The (long run) proportion of time the

machine is busy is machine is busy is E(B)/(E(B)+E(I))=E(B)/(E(B)+E(I))=//

It is clear that for Poisson releasesIt is clear that for Poisson releasesE(I)=1/E(I)=1/

ThenThenE(B)=1/(E(B)=1/(--))