CHAPTER 6 OPTIMIZATION OF LARGE SAMPLE SINGLE MACHINE JOB
Transcription
CHAPTER 6 OPTIMIZATION OF LARGE SAMPLE SINGLE MACHINE JOB
136 CHAPTER 6 OPTIMIZATION OF LARGE SAMPLE SINGLE MACHINE JOB SCHEDULING PROBLEM USING ROBUST HEURISTIC ALGORITHM A Robust Heuristic Algorithm is developed to solve the allocation of jobs in single machine against the common due date based on the difference between the early penalty and the late penalty. The problem is to find an optimal schedule so as to minimize the earliness and tardiness penalties from a given common due date d. The objective is to improve the shop floor performance through proper allocation of jobs in machines, taking due time into consideration. The disadvantage of RSA is that in problems with large job size, the decision according to the factor i i p is not enough i i since there may exist more jobs with the same ratio but with different penalties. So RHA is developed by taking the decision variable as pi and i i has solved problems up to job size 1000. The proposed RHA will run in parallel due to its divide and conquer nature. The proposed method was applied to 10, 20, 50, 100, 200, 500, 1000 jobs and the results were compared with benchmark results. The comparison shows that the algorithm is robust and simple. 137 6.1 PROBLEM FORMULATION A set of n independent jobs have to be scheduled in a single machine, which can handle only one job at a time. Assuming that there are no preemptions of jobs and the machine is available from time t 0 onwards. Let the jobs J i (i 1, 2,..., n) have processing time pi , earliness penalty i and tardiness penalty i of which i and i are non symmetric. Every job has a common due date d . The objective is to minimize F ( S) {(d p j )i } m i i 1 j 1 {( p j d )i } n i i m1 j 1 (6.1) Here S denotes the optimal nonpreemptive single machine schedule. The common due date d and the ratio between the early and late penalties are the decision variables as mentioned in Cheng and Gupta (1989), Parthasarati Dileepan (1993). Feldmann and Biskup (2003) studied the restricted earliness and tardiness problem in which d pi . n i 1 Hoogeveen et al (1991) discussed the earliness and tardiness penalties by considering the symmetric cases ( i i ) for all the jobs. Uttrayan Bagchi et al (1987) discussed the non symmetric cases where all i i T O(n log n) time to schedule the non symmetric case. But the proposed algorithm for the restricted problem with a common due date assumes that the early and late penalties are non symmetric and distinct. Dirk Biskup (2005) analyzed the 138 learning effects in scheduling on one machine, on parallel machines and on identical machines. Also he proposed a different approach to decrease the processing times for variety of corporate activities using the concept of learning. In 2008, Dirk Biskup discussed about learning-by-doing assumption and the role of learning effects in scheduling environment. Dirk Biskup et al (2001) created the benchmark for scheduling jobs on single machine by considering the common due date as the decision variable. Dirk Biskup and Herrmann (2008) introduced past-sequence-dependent setup times for scheduling problems with completion time goals and they also analyzed other problems with due dates. The sequence of jobs J i (i 1, 2,..., n) are partitioned into two subsets E ( J ) and L( J ) according to the ratio i . To minimize F ( S) , two sets i E ( J ) and L( J ) are fine tuned. The set E ( J ) has jobs with i 1 , which are i to be completed before the due date d in the optimal sequence. The set L( J ) has jobs with i 1 , which are to be completed after the due date d . i The jobs are scheduled according to the ratio i pi . If the i i sum of the processing times of E ( J ) is less than the common due date d then the starting time of the schedule may not be t=0. We also consider the sequence in which the sum of the processing times of E ( J ) is greater than the common due date d . 6.2 OPTIMALITY CONDITIONS Condition (i) 139 In a sequence, if J i E ( J ) pi d then there is a time gap (d ) ( where J E ( J ) pi ) before the due date d . Also J i L( J ) , if its pi (d ) then the starting time of the global optimal sequence is either i t min(0, d ) or min(0, k d ) which depends on i the processing time of a job in L( J ) with min i . pi and k is i i The schedule is optimal if m jobs of E ( J ) are completed before the common due date d and n m jobs of L( J ) are completed after the common due date d . Since d and each job of L( J ) has lesser processing time than (d ) , it is not beneficial if a job J k of L( J ) is completed before the due date d (in the set L( J ) , i 1 ) which will increase the penalty. Therefore the i job whose completion time coincides with common due date d belongs to either E( J ) or L( J ) which depends on i pi . So the idle time is i i introduced before the start of sequence. In a schedule, the idle time between jobs increases the penalty cost. Therefore the processing of jobs is considered consecutively without idle time reduces the penalty cost. If J i L( J ) i d , then the starting time of the schedule is t min(0, d ) and the completion time of the last job of E ( J ) in the optimal schedule coincides with the due date d and incurs nil penalty. And if J i L( J ) i d then the , starting time of the optimal schedule is t min(0, k d ) where k is the processing time of a job in L( J ) with min i and the job with processing time k moves to the set E ( J ) and the completion time of the last job of E ( J ) in the optimal schedule coincides with the due date d with nil penalty. Due date 140 Idle Early jobs Late jobs time min i Figure 6.1 Partition of set E ( J ) and L( J ) according to Condition (i) Condition (ii) If J i E ( J ) pi d and there exists some pi L( J ) such that pi (d ) then the starting time of optimal schedule is at t 0 and a job of L( J ) with min i will move to E ( J ) . Some of the jobs of the set L( J ) have the processing time pi (d ) where d . Let L '( J ) be the subset of L( J ) whose pi (d ) , assuming that there are no jobs with pi (d ) (which will be discussed in the next condition). In all the other cases except Condition 1, it is advantageous only if the starting time is t 0 . Since there is a time gap d , it is possible to process a job of L( J ) before the due date d . A job of L '( J ) with min i , moves to the set E ( J ) . E ( J ) is then scheduled according to the early order algorithm. Therefore, at most one job of L( J ) moves to E ( J ) . Remaining jobs of L( J ) will be scheduled according to late order algorithm. Due date Early Jobs Late Jobs min i and pi d Figure 6.2 Partition of set E ( J ) and L( J ) according to Condition (ii) Condition (iii) 141 If d and if at least one job of L( J ) is with pi (d ) then the starting time of the schedule is t 0 and the completion time of a job of E ( J ) or L( J ) coincides with the common due date d . In the set E ( J ) , if ( d ) and L '( J ) is the subset of L( J ) with pi (d ) , then choose a job in L '( J ) with min i and move it to E ( J ) and it is scheduled according to early order algorithm. Therefore m jobs will be completed before the due date d and the job of L '( J ) with min i or a job of E ( J ) is completed exactly at the due date d with nil penalty. The remaining jobs of L '( J ) is merged with L( J ) , which will be completed after the common due date d . Due date Early Jobs Late Jobs min i and pi (d ) Figure 6.3 Partition of set E ( J ) and L( J ) according to Condition (iii) Condition (iv) If the sum of the processing time of the jobs of E ( J ) is greater than the common due date d , i.e. J i E ( J ) pi d then it is obvious that the starting time of the sequence is t 0 and the jobs of E ( J ) becomes less than or equal to m 1 . Since d , some of the jobs of E ( J ) will be moved to L( J ) , the job of E ( J ) with max i is moved to L( J ) and becomes pi . The process 142 repeats until d . Also the last job which results in d , will not be moved to L( J ) , if i i 2 ( d ) for the corresponding job. The property is also applicable to the sequence, if L( J ) is empty, i.e. in the given sequence all the jobs are with penalty ratio i 1. i Condition (v) If the early penalty is equal to the late penalty then i becomes infinity, in such cases that job will have max i and the corresponding job will move to L( J ) . Due date Early Jobs max i Late Jobs Figure 6.4 Partition of set E ( J ) and L( J ) according to condition v Early and Late Set Scheduling The optimal schedule is V-Shaped. The jobs of E ( J ) that are completed on or before the common due date are sequenced in nonincreasing order of the ratio i pi . The jobs of L( J ) whose processing starts at or after the due date are sequenced in non-decreasing order of the ratio i pi . Also, there might be a job in process on the due date, which is started before the due date and completes after the due date called the straddling job. 143 6.3 EARLY ORDER ALGORITHM The starting time of the process of the schedule is either t 0 or t min(0, d ) according to the sum of the processing time of early set () as in condition (i) Jobs before due date have decreasing order of ratio between the processing time and early penalty. Eilon and Chowdhury(1977) arranged the jobs in descending order of its processing times if they are placed before the shortest job, but in ascending order of processing times if placed after it to reduce its waiting time. Here the set E ( J ) is initially arranged according to in ascending order, after which E ( J ) is scheduled according to the ratio of its early penalty and processing time i.e. i pi pi 1 i 1 6.4 i pi pi 1 i 1 , if then pi pi 1 . LATE ORDER ALGORITHM If a job of E ( J ) coincides with the due date then Late order jobs starts on the common due date. Suppose a straddling job occurs, the late jobs starts after the completion of straddling job. The straddling job belongs to the early set of jobs with late penalty. The set L( J ) is initially arranged according to i in descending order, then it is scheduled according to the ratio of its late penalty and processing time i.e. pi pi 1 . 6.5 i pi pi 1 i 1 , if i pi pi 1 i 1 then RESTRICTIVE FACTOR Dirk Biskup and Feldmann (2001) generated the 70 problem instances by using linear congruential random generator as given in chapter 144 2. The linear congruential generator is based on the recursion Xn1 (cXn e) mod m , where the constants m and e in the range 0 e m 231 1 . The constant c should end with r 21 , where r is a even number. And Xn is the nth pseudo-random number generated with initial Xo which can be chosen arbitrarily. The linear congruential random number generator considers only the last eight digits. After the modulus division, the value of random number Xn 1 consists of eight or fewer digits. In the benchmark instances, we assume the values of the processing time, early penalty and late penalty as integers. We take the processing times in the interval 1, 20 , early penalties in the interval 1,10 and late penalties in the interval 1,15 . Therefore, from Xn the integer y can be obtained in the interval 1, range by Xn 10, 000 * range the formula y 1 10, 000 where t denotes the biggest integer smaller than or equal to t . Repeated use of formula (6.2) leads to uniformly distributed integers in the interval 1, range . We assume the output of the problem generator taken the first integer as processing time, the second integer as the earliness penalty and the third integer as the tardiness penalty of first job, respectively. Similarly, the next three integers gives the corresponding values of second job, etc. 145 Also, for each problem instance we can have different common due date d using the formula d h pi , where h is called the restrictive n i 1 factor in the interval (0,1). 6.6 COMPARISON OF RHA WITH BENCHMARK RESULTS To demonstrate and to validate the proposed Robust Heuristic Algorithm, we take Job size n takes 10, 20, 50, 100, 200, 500 and 1000. For each job size, the problem instance k Two common due dates for each instance with restrictive factors h = 0.2 and 0.4. For 70 problem instances, each with two common due dates results in 140 benchmark problems. The RHA values are calculated (A 4.1 to A 4.2) using (6.1) and benchmark values are tabulated in Tables 6.1 to 6.7 respectively for n=10, 20, 50, 100, 200, 500 and 1000. The deviation column in the Table gives the difference between the benchmark value and RHA value. It is observed that the proposed algorithm for these 140 problems yields encouraging results when compared with the benchmark solution given by Dirk Biskup and Feldmann (2001). Table 6.1 RHA Penalty and Benchmark Penalty for 10 jobs 10 Jobs (n=10) h=0.2 h=0.2 h=0.4 Benchmark RHA Deviation Benchmark Value Value Value h=0.4 RHA Value Deviation 146 K=1 1936 1925 11 1025 1018 7 K=2 1042 1044 -2 615 642 -27 K=3 1586 1586 0 917 1076 -159 K=4 2139 2145 -6 1230 1264 -34 K=5 1187 1293 -106 630 637 -7 K=6 1521 1385 136 908 864 44 K=7 2170 2024 146 1374 1405 -31 K=8 1720 1600 120 1020 989 31 K=9 1574 1725 -151 876 879 -3 K=10 1869 1995 -126 1136 1150 -14 Table 6.2 RHA penalty and benchmark penalty for 20 jobs 20 Jobs h=0.2 h=0.2 h=0.4 h=0.4 Benchmark RHA Benchmark RHA (n=20) Value Value Value Value K=1 4431 4393 38 3066 3072 -6 K=2 8567 8673 -106 4897 4806 91 K=3 6331 6305 26 3883 3840 43 -K=4 9478 9229 249 5122 5195 -73 K=5 4340 4184 156 2571 2666 -95 K=6 6766 6479 287 3601 3446 155 K=7 11101 10277 824 6357 6245 112 K=8 4203 3765 438 2151 1963 188 K=9 3530 3273 257 2097 1945 152 K=10 5545 5480 65 3192 2801 391 Deviation Deviation Table 6.3 RHA Penalty and Benchmark Penalty for 50 Jobs 147 h=0.4 RHA Value Deviation 1337 h=0.4 Bench mark Value 24868 23785 1083 30668 2969 19279 17961 1318 37641 34878 2763 21353 20807 546 K=4 30166 27666 2500 17495 16754 741 K=5 32604 32910 -306 18441 18067 374 K=6 36920 34471 2449 21497 19747 1750 K=7 44277 42331 1946 23883 22315 1568 K=8 46065 43130 2935 25402 24565 837 K=9 36397 33601 2796 21929 19256 2673 K=10 35797 32306 3491 20248 19205 1043 50 Jobs (n=50) h=0.2 Benchmark Value h=0.2 RHA Value Deviation K=1 42363 41026 K=2 33637 K=3 Table 6.4 RHA Penalty and Benchmark Penalty for 100 Jobs h=0.2 100 jobs Benchmark (n=100) Value h=0.2 RRA Value h=0.4 Deviation Benchmark Value h=0.4 RHA Value Deviation K=1 156103 145605 10498 89588 86798 2790 K=2 132605 124815 7790 74854 73431 1423 K=3 137463 130809 6654 85363 79974 5389 K=4 137265 129717 7548 87730 79989 7741 K=5 136761 124095 12666 76424 71566 4858 K=6 151938 137752 14186 86724 76488 10236 K=7 141613 133831 7782 79854 76931 2923 K=8 168086 158678 9408 95361 93092 2269 K=9 125153 115880 9273 73605 68510 5095 K=10 124446 117715 6731 72399 70426 1973 148 Table 6.5 RHA Penalty and Benchmark Penalty for 200 Jobs h=0.2 200 Jobs Benchmark (n=200) Value h=0.2 RHA Value h=0.4 Deviation Benchmark Value h=0.4 RHA Value Deviation K=1 526666 498251 28415 301449 297303 4146 K=2 566643 541523 25120 335714 320572 15142 K=3 529919 488791 41128 308278 294831 13447 K=4 603739 585730 18009 360852 353048 7804 K=5 547953 514023 33930 322268 306255 16013 K=6 502276 476075 26201 292453 279034 13419 K=7 479651 453541 26110 279576 275322 4254 K=8 530896 492127 38769 288497 279621 8876 K=9 575353 527270 48083 331107 308897 22210 K=10 572866 537279 35587 332808 323522 9286 Table 6.6 RHA Penalty and Benchmark Penalty for 500 Jobs h=0.2 500 Jobs Benchmark (n=500) Value h=0.2 RHA Value Deviation h=0.4 Benchmark Value h=0.4 RHA Value Deviation K=1 3113088 2954876 158212 1839902 1794599 45303 K=2 3569058 3366181 202877 2064998 2002601 62397 K=3 3300744 3105456 195288 1909304 1881367 27937 K=4 3408867 3221293 187574 1930829 1892487 38342 K=5 3377547 3117825 259722 1881221 1811963 69258 K=6 3024082 2778345 245737 1658411 1599197 59214 K=7 3381166 3157129 224037 1971176 1896632 74544 K=8 3376678 3108647 268031 1924191 1825993 98198 K=9 3617807 3350008 267799 2065647 1971168 94479 K=10 3315019 3108163 206856 1928579 1829681 98898 149 Table 6.7 RHA penalty and benchmark penalty for 1000 jobs h=0.2 1000 jobs Benchmark (n=1000) Value h=0.2 RHA Value h=0.4 Deviation Benchmark Value h=0.4 RHA Value Deviation K=1 15190371 14062127 1128244 8570154 8118930 451224 K=2 13356727 12296136 1060591 7592940 7287618 305322 K=3 12919259 11970362 948897 7313736 7028477 285259 K=4 12705290 11800339 904951 7300217 7092352 207865 K=5 13276868 12460454 816414 7738367 7410582 327785 K=6 12236080 11490789 745291 7144491 6810040 334451 K=7 14160773 13126911 1033862 8426024 7745978 680046 K=8 13314723 12125514 1189209 7508507 7121660 386847 K=9 12433821 11614845 818976 7299271 6874131 425140 K=10 13395234 12272846 1122388 7617658 7160897 456761 The above results prove that the proposed algorithm gives better result than the benchmark for n 20 , because the 10 job problems are already optimal as given in benchmark solution. For h=0.2, out of 70 problems, 63 problems have better results than the benchmark values, which gives a success percentage of 90%. For h=0.4, 60 problems have better results than the benchmark values, which shows 85.7% success of RHA. Dirk Biskup and Martin Feldmann (2003) developed metaheuristics namely evolutionary strategies, simulated annealing and threshold accepting for solving single machine scheduling against restrictive common due date. Andreas et al (2006) presented a stochastic based differential evolution algorithm to solve a wide range of scheduling optimization problems. He, also presented the comparative experimental results of the algorithms over the flow shop scheduling problem, the total weighted tardiness problem and common due date scheduling problem. Philip and Zu- 150 Hsu (2008) proposed on-line heuristics and characterized the conditions under which these heuristics are asymptotically optimal. Celso M. Hino et al (2005) examined the single machine scheduling problem with a common due date and proposed hybrid strategies involving Tabu Search and Genetic Algorithm to improve the performance of these methods. The paper also presented the computational comparative results with benchmark problems with job size upto 1000. The results of the proposed Robust Heuristic Algorithm are compared with the results given by Celso and are tabulated. The percentage difference of the solution obtained with regard to the benchmark solution is computed using the formula and presented in Table 6.8. percentage Difference ( solution obtained benchmark solution) x100 benchmark solution 151 Table 6.8 Percentage differences between TS, GA, hybrid metaheuristics, RHA and benchmark solution. Number of Jobs n=10 n=20 n=50 n=100 n=200 n=500 n=1000 Restrictive factor h TS GA HTG HGT RHA h=0.2 0.25 0.12 0.12 0.12 -0.13 h=0.4 0.24 0.19 0.19 0.19 1.98 h=0.2 -3.84 -3.84 -3.84 -3.84 -3.09 h=0.4 -1.62 -1.62 -1.62 -1.62 -2.59 h=0.2 -5.7 -5.68 -5.7 -5.7 -6.09 h=0.4 -4.66 -4.6 -4.66 -4.66 -5.57 h=0.2 -6.19 -6.17 -6.19 -6.19 -6.56 h=0.4 -4.93 -4.91 -4.93 -4.93 -5.44 h=0.2 -5.76 -5.74 -5.76 -5.76 -5.91 h=0.4 -3.74 -3.75 -3.75 -3.75 -3.63 h=0.2 -6.14 -6.41 -6.41 -6.41 -6.62 h=0.4 -3.57 -3.58 -3.58 -3.58 -3.49 h=0.2 -6.73 -6.75 -6.74 -6.74 -7.35 h=0.4 -4.39 -4.4 -4.39 -4.39 -5.05 -4.06 -4.08 -4.09 -4.09 -4.25 Mean The percentage difference for each job size is the average percentage difference for the 10 problem instances of the corresponding size of the jobs. The average of all the percentage differences of all job sizes for the restrictive factor values h=0.2 and h=0.4, gives the mean percentage difference as in Table 6.8. The individual percentage differences shows that the 10 jobs problem instance has the least percentage difference, which shows that the most of the job instances are optimized (for h=0.4) in the benchmark solution itself. The proposed heuristic shows improvement with respect to the benchmark value for the most restricted cases with a reasonable deviation in the large size problems as shown in Figure 6.5. 152 Percentage Difference Comparison 2 0 -2 TS 1 2 3 4 5 6 7 8 9 10 11 -4 GA 12 13 14 HTG -6 HGT -8 RHA Figure 6.5 Percentage Differences of TS, GA, Hybrid Heuristics and RHA Seconds Execution Time Comparison 100 90 80 70 60 50 40 30 20 10 0 GA Hybrid RHA n=10 n=20 n=50 n=100 n=200 n=500 n=1000 No. of jobs Figure 6.6 Execution Time Comparison between GA, Hybrid, RHA Among the five algorithms, the percentage difference obtained from Robust Heuristic Algorithm achieved better mean value. Also the running time of Robust Heuristic Algorithm is O(2log n) where n is total number of jobs. Figure 6.6 illustrates the execution time of different 153 algorithms. RHA outperforms the other algorithms proposed by Celso M. Hino et al (2005). 6.7 RESULTS AND ANALYSIS The proposed heuristic exploits most of the properties of single machine scheduling problem around common due date. Partitioning of the jobs based on the penalties improves the performance of this approach by incorporating the most relevant characteristics of the problem. The RHA algorithm achieved results with a success percentage of 90% and 85.7% for restrictive factors h=0.2 and h=0.4 respectively, with an overall success of 87.85% than the benchmark values. Hybrid strategies takes mean processing time as 7.8 seconds, the Genetic Algorithm takes mean processing time of 21.5 seconds, whereas the RHA takes the mean processing time of 3.928571429. Even though the Genetic Algorithm is proved to be better, its computational time is more. For G A y is worst. The experimental results indicate that the RHA can yield good results with small computational effort. The Robust Heuristic Algorithm sorts the list in O(logn) time.