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  m1
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
Xn1  (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.