Scheduling: Open Shop Problems R. Chandrasekaran
0.0.1 O C max Non-preemptive: Thissectiondealswithopenshopproblems. Herewehaveasetofjobsanda set of machines. Each job requires processing by each machine(if some jobs do not require processing by a machine, then we set the appropriate time tozero). Letp j,i denote the duration job i requires on machine j;1 i n;1 j m. Inthissectionweconsiderm=,andwhennopreemptionis allowed. We wish to minimize the makespan. Let α=max[ n p 1,i ; i=1 n n p,i ; max {p 1,i+p,i }] i=1 j=1 Clearly, C max (S) α S. (Actually asimilarresultistrueforallm). Weshowequalityform=. Withoutlossofgenerality,letussupposethat ni=1 p 1,i n j=1 p,i ;p 1,1 +p,1 =max 1 i n {p 1,i +p,i }. Case(i): p 1,1 +p,1 min[ n i=1 p 1,i, n i=1 p,i ]= n i=1 p,i Thisimpliesthatp 1,1 i 1p,i. Considerthescheduleshowninthe figure below: p 1,1 p,1 Thisschedulehaslengthequaltomax[p 1,1 +p,1 ; n i=1 p 1,i ]=α. Case(ii): p 1,1 +p,1 <min[ n i=1 p 1,i, n i=1 p,i ]= n i=1 p,i Let = n i=1 p 1,i n i=1 p,i 0;p,1 = p,1 + ; p j,i = p j,i for i 1; j;p 1,1=p 1,1. n n p,i= i=1 i=1 p 1,i=α p 1,1+p,1= n max i=1 {p 1,i+p,i} Thus,ifweshowtheresultforthiscase,itfollowsforothercases. Note thatthevalueofαhasnotchanged. 1
Now we use the LAPT Largest Alternate Processing Time Rule for obtaining the schedule. (Actually this works for the previous case aswell;itwaseasiertoprovethisway). Whenever a machine is free, load the job which requires the largest processing time on the OTHER machine from among all jobs that still have not been processed by either machine(if they are available). Then process the remaining jobs in the same order that they were processed on the other machine. Let S j be the set of jobs which are processed first by machine j;1 j. Lett j betheinstantoftimewhenallofthejobsinthesets j finishonmachinej;1 j. Seefigurebelow: t 1 S 1 S i t 3 t If S = 1, then we have a case similar to (i). So, we suppose that this is not the case. At instant t 1, there can be no jobs that require processing on both machines(else, the algorithm would load such a job onmachine1,contradictingthedefinitionofthesets 1 ). Hencealljobs inthesets exceptpossiblythelastone,canbeprocessedonmachine 1att 1. Clearly,alljobsinS 1 canbeprocessedonmachineatt. Let t 3 bethelastinstantajobins getsloadedonmachine(t 3 <t 1 );and letthisjobbei. ToshowthatthelastjobinS canalsobeprocessed onmachine1withoutanidleperiod,weneedtoshowthat Recall p 1,k t t 1 p 1,k +p 1,i =α k S 1 p 1,k =α t 1
The rule LAPT selects jobs so that the processing time on the other machine is the largest. Since S >1,andall jobs ins otherthan i wereselectedbeforeibylapt,wehave Therefore, p 1,k p 1,i p 1,k α t 1 Since jobs not in S [which are in S 1 ] have larger processing time on machinethanthoseins,withthepossibleexceptionofjobi,because weareusinglaptrule, Hence α t t t 3 = p,k k S {i} t 1 + p 1,k α+t 1 α+t 3 t Hence,noneofthejobsinS haveidletimesonmachine1. Sincenone of the jobs in S 1 have idle times on machine, the schedule length equalsmax[ n i=1 p 1,i ; n i=1 p,i ]=α. Hencethescheduleisoptimal. Now we turn to preemptive schedules. 0.0. O C max Preemptive: Clearly C max max[max m j=1 ni=1 p j,i ;max n i=1 mj=1 p j,i ] = α. We show that this value can always be achieved. We demonstrate this by an example which clearly illustrates the proof of its optimality as well. 3
Example1 m=3;n=4: 15 30 15 15 40 5 15 40 5 15 45 0 15 5 30 30 60 15 15 15 15 5 5 15 5 5 45 0 5 30 15 45 15 15 15 10 5 15 10 5 30 0 10 15 15 30 5 15 15 5 5 10 5 0 10 10 15 5 0 4
5 5 5 5 5 5 10 10 5 5 10 5 5 5 5 5 5 5 Clearly, this schedule is optimal. Some improvements can be made as shown by the following example; Example m=6;n=6 But this can be reduced to the previous example with lower values for m and n by condensing jobs and machines as shown below: 5
5 10 15 30 10 5 40 10 5 10 15 10 5 5 Bycombiningmachines{1,},{3},{4,5,6}intothreesupermachinesand jobs{1,},[3,4},{5},{6}intofoursuperjobs,wegetthepreviousexample. (Note that there are better combinations possible; however, finding the best is an NP-hard problem.) The durations are the total of these respective jobs on these respective machines. Finally we unscramble the schedule as shown below: Forexamplethejobs{3,4}onmachines{4,5}haveatotalof40units ofprocessing. Thiscorrespondstosuperjobonsupermachine3. The40 units are arbitrarily broken down to suit the original jobs on the original machines with no overlapping. Nowwecanusethismodeltoalsosolvetheparallelmachinecase(both identical and unrelated) with non-overlapping preemption. We show the more general case of unrelated machines. Recall the LP: minz ni=1 t j,i x j,i z;1 j m mj=1 t j,i x j,i z;1 i n mj=1 x j,i =1;1 i n x j,i 0 Herethevariablesx j,i denotethefractionofthejobidoneonmachine j. Once we get the values of the variables in an optimal solution, we can calculatethedurationt j,i x j,i requiredforeachjoboneachmachine. Nowif weletp j,i =t j,i x j,i andfindan openshoppreemptive schedule, we getthe required answer to the original problem. 6