180 likes | 188 Views
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
E N D
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 • Jobs have different priorities • Not necessarily optimal to have a FIFO policy • Priority queues
Total weighted flow time • Since jobs are released at different times it makes sense to minimize the total weighted time a job spends in the system, or flow time • Flow time • Let the release date of job j be Rj • The flow time is Cj-Rj
Minimizing expected total weighted flow time • The objective function is E(Swj(Cj-Rj)) • Taking the expected value inside the sum we get E(Swj(Cj-Rj))=... • So minimizing E(Swj(Cj-Rj))is equivalent to minimizing E(SwjCj)
Section 11.1 Arbitrary releases and arbitrary processing times without preemptions • The problems 1 | rj | SwjCj is NP-hard • It may be optimal to keep the machine idle until a job is released • Example 11.1.3
Section 11.1 Arbitrary releases and arbitrary processing times without preemptions (2) • WSPT for available jobs may not be optimal even if we do not allow unforced idleness • Example 11.1.2
Two job classes • Suppose there are only two types of jobs • All jobs in the same class have the same distribution • The mean processing times of jobs in classes 1 and 2 are 1/l1 and 1/l2, respectively • The weight of jobs in classes 1 and 2 are w1 and w2, respectively • The release dates can have any distribution
Theorem 11.1.1 • Assume that • Unforced idleness is not allowed • There are only two job classes • Under the optimal nonpreemptive dynamic policy, the decision maker follows the WSEPT rule whenever the machine is freed
Section 11.2 Priority queues, work conservation and Poisson releases • Suppose jobs (an unknown number) arrive randomly to the machine • Each job requires a random amount of processing time Xj on the machine • If a job is being processed at time t let xr(t) be the remaining processing time
Work in the system • At any time t there may be a number of jobs waiting to be processed on the machine (excluding the one in process) • Let V(t) be the total processing time of those jobs plus xr(t) • V(t) is referred to as the amount of work in the system
Work in the system (2) • Any time a job j arrives V(t) jumps by Xj • Between jumps V(t) decreases at rate 1 as long as the machine is processing jobs • We can use the stochastic process V(t) to analyze the system
Poisson releases and single job class • To simplify the discussion we assume that the time between release dates are exponentially distributed at rate n • We also assume that there is only a single job class • The processing time of job j is X where X is a random variable with distribution F
Poisson releases and PASTA • PASTA=Poisson Arrivals See Time Averages • This is a very useful property that Poisson releases have • Example 11.2.1 • Poisson releases at rate 1 per 10 minutes • Processing times equal 4 minutes • What is the time average number of jobs being processed? • What is the probability that a job can immediately start processing when released? • What if the time between releases is deterministic and equal to 10 minutes?
Computing the expected amount of work in the system • Let E(V)=limt∞E(V(t)) be the expected amount of work in the system when the system is in steady state • Suppose the jobs pay $1 per unit processing time left for each time unit they spend in the system • How much money does the system earn per unit time? • The average amount of money the system earns per unit time is E(V)=n E(amount paid by a job)
Computing the amount paid by a job • Let Wq be the time a job spends in the queue • Then Ws=Wq+X is the total time spent in the system • The job pays at a constant rate X while it is in the queue and the total payout while in service is X2/2 • Amount paid by a job = XWq+X2/2
Computing the expected amount paid by a job • If the dispatching rule is independent of X then Wq and X are independent and E(amount paid by a job)=…
Computing the expected wait in queue • By the PASTA and if a FCFS rule is used E(Wq)= … • This gives the equation E(Wq)=nE(X)E(Wq)+nE(X2)/2 or E(Wq)=nE(X2)/[2(1-nE(X))] • This is known as the Pollaczek-Khintchine (or simply P-K) formula
Computing the expected length of a busy period • Let B be the length of a busy period • Let I be the length of an idle period • Then B+I is a cycle • The (long run) proportion of time the machine is busy is E(B)/(E(B)+E(I))=l/n • It is clear that for Poisson releases E(I)=1/n • Then E(B)=1/(l-n)