IOE/MFG 543
-
Upload
floramaria-catalina -
Category
Documents
-
view
23 -
download
0
description
Transcript of 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
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
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
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))
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
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
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
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
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
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
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
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
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?
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)
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
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)=…
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
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/(--))