IOE/MFG 543 Chapter 11: Stochastic single machine models with release dates 1 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 2 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 3 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) 4 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 job j pj rj wj 1 4 0 1 2 1 1 100 5 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 job j pj rj wj 1 1 0 1 2 4 0 5 3 1 1 100 6 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 7 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 8 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 9 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 10 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 11 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 12 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? 13 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) 14 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 15 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)=… 16 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 PollaczekKhintchine (or simply P-K) formula 17 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) 18