• Tidak ada hasil yang ditemukan

Single-machine scheduling application

Dalam dokumen This page intentionally left blank (Halaman 129-134)

Algorithm 6.1 Incremental genetic algorithm

6.3. Single-machine scheduling application

6.3.1. Minimizing the number of late jobs on a single machine

A set of jobs must be sequenced on a single machine which does not allow preemption. Each job is not delivered or available until its release date. The processing time, due date, as well as weight depending on the priority of each job, is assumed to be known. A job is considered late if its execution time overruns its due date. Otherwise, it is considered on time or early.

NOTE 6.1.– Late jobs can be randomly placed after all of the early jobs without changing the objective value. In practice, one could even avoid sequencing them.

128 Flexibility and Robustness in Scheduling

The objective of the problem is to find a schedule which minimizes the weighted number of late jobs. Table 6.1 summarizes the notations used here.

Description Notation Comments

Number of jobs n

Release date rj

Processing time pj

Due date dj

Weight wj

Beginning time of processing tj rj≤ tj

End time of processing Cj Cj= tj+ pj

Late status Uj Uj= 1 iff Cj> djand0 otherwise Table 6.1. Notations of a single-machine scheduling problem

In the standard classification, the problem is noted1|rj|

Uj. This problem is N P-hard in the strong sense [LEN 77]. In the deterministic case, a certain number of algorithms are able to efficiently solve this problem [DAU 95, BAP 99, DAU 03, SEV 03].

In this chapter, a genetic algorithm is used to solve the problem, first in the static case, then in the stochastic case. In this genetic algorithm, the solution is encoded as a permutation ofn jobs. An initial population is randomly generated and the stopping condition is set to a finite number of iterations without an improvement of the best solution. The selection of individuals is carried out with Reeves’ ranking method [REE 95] which consists of giving a greater probability of best individuals being selected. The crossover operator is a one-point crossover operator X1 [POR 96]

and the mutation operator is the general pairwise interchangeGP I which consists of exchanging two randomly selected jobs from the permutation. The mutation probability is set toPm = 0.25. The evaluation is made by taking the jobs in the order of the permutation and by sequencing them straight away without changing the partial order. If a job cannot be placed early, by adhering to note6.1, it can be pushed to the end of the schedule and its associated weight can be added to the final value of the objective function. Insertion and removal are carried out according to the instructions of section 6.2.2. In [SEV 03], several variations are studied with, notably, the addition of a local search which allows the best solutions to be found.

Even if all the parameters of our problem can be rendered stochastic, only the particular case in which the availability dates are deterministic will be modeled in this chapter.

Metaheuristics for Robust Planning and Scheduling 129

6.3.2. Uncertainty of deliveries

A just-in-time production environment can be modeled like a scheduling problem in which the production order is represented as a series of jobs sequenced on a single machine. The solution to such a just-in-time problem consists of finding the sequence which minimizes the weighted number of late jobs. Other objectives can also be used, such as total weighted tardiness.

6.3.2.1. Considered problem

In just-in-time assembly, a large number of basic tasks can be regrouped into a reduced number of jobs. This number n varies between 20 and 80 each day. The horizon (a day) is divided into 80 five-minute periods. Earlier observations have shown that for a significant number of jobs, the availability dates promised by the suppliers for some parts or raw material are rarely respected causing a gap in the processing of associated jobs. The percentage of effected jobs is about 20% each day and the gap can go up to 20 units of time, about 1 hour and 40 minutes at the worst. Table 6.2 sums up the parameters of the problem generator used for this experiment. For each problem size (n), 20 instances are generated. The availability dates are generated according to a Gamma distribution giving a greater probability of appearing at the beginning of the horizon and the due dates are also generated according to a Gamma law but starting from the end of the horizon, giving a greater probability of appearing at the end of it.

Parameters Values

Problem size (20,40,60,80,100)

HorizonT 80

Availability daterj Γ(0.2, 4) Due datedj T − Γ(0.2, 4) Processing timepj U(1, dj− rj)

Weightwj U(1, 10)

Table 6.2. Rules of the instance generator

6.3.2.2. Robust evaluation function

The robust evaluation function evaluates each generated solution a fixed number (m) of times on the instance of the problem, the data of which has been modified.

For each evaluation, a number of jobs are randomly selected and the availability dates of these jobs are increased byδ (defined in Table 6.3). The m evaluations are accumulated and the average is computed to determine the robust evaluation value.

The robust evaluation parameters are summarized in Table 6.3. 20% of the jobs are delivered late and the lateness follows a uniform law between 0 and 20 units of time.

130 Flexibility and Robustness in Scheduling

Parameters Values

Percentage of jobs delivered late 20%

Observed latenessδ U(0, 20) Number of evaluations (m) for fr 100

Table 6.3. Robust evaluation parameters

The number of evaluationsm must be high enough to avoid keeping any solution that is not robust. Moreover, a computed average in this case would have little meaning on a reduced number of evaluations. Value m = 100 from experience gives the adequate results, maintaining at the same time a reasonable total execution time.

6.3.3. Results

The results of the method can be evaluated by comparing the sequence given by the standard genetic algorithm (guided by the ordinary evaluation function,f ) and the sequence given by the robust genetic algorithm (guided by the robust evaluation functionfr). The first method will be called SGA and the second RGA. The SGA results are noted first. Then, for the final sequence (corresponding to the best SGA result), we disrupt the data and measure the objective function value as well as the deviation between the two values.

Instance CPU Nr. Fitness Avg. Avg. Inc.

name (sec) Iter. f f Pop 1000r (%)

ODD80_1 0.87 16775 400 405.05 430.17 7.54 ODD80_2 1.24 31903 349 353.90 373.00 6.88 ODD80_3 0.64 15606 348 354.19 371.25 6.68 ODD80_4 0.64 14505 411 417.14 431.00 4.87 ODD80_5 1.29 25518 307 312.76 337.28 9.86 ODD80_6 0.52 13217 329 332.62 340.99 3.64 ODD80_7 0.96 20278 331 336.86 361.88 9.33 ODD80_8 0.70 12646 354 357.67 368.84 4.19 ODD80_9 0.99 18863 317 321.43 343.06 8.22 ODD80_10 0.69 14645 344 347.67 366.58 6.56 ODD80_11 0.73 17557 394 398.19 417.80 6.04 ODD80_12 0.75 15224 363 374.52 385.68 6.25 ODD80_13 0.55 10500 317 322.81 338.57 6.81 ODD80_14 0.54 10104 364 368.86 389.80 7.09 ODD80_15 0.65 11040 369 373.86 385.32 4.42 ODD80_16 0.52 10418 370 375.90 384.52 3.92 ODD80_17 0.52 10982 325 331.48 342.11 5.26 ODD80_18 0.84 13599 307 312.81 324.60 5.73 ODD80_19 0.76 15434 357 363.43 376.29 5.40 ODD80_20 0.63 14365 365 372.33 391.88 7.36

Table 6.4. SGA results for the instances of 80 jobs

Metaheuristics for Robust Planning and Scheduling 131

In Table 6.4, the instances of 80 jobs are analyzed. For each of the 20 instances, the SGA is run under the previously defined conditions. The CPU time and the number of iterations are measured. The fitnessf – the value of the best solution function at the end of SGA – is given as well as the average fitness of the individuals of the population (column “Avg.f Pop”). Column “Avg. 1000r” gives, for the sequence at the end of the SGA run, the average evaluation of 1000 solutions, the data of which have been disrupted. For instance ODD80_1 for example, the best solution found has an objective function value of 400, whereas in disrupted mode the average value is noted at 430.17. This corresponds to an increase in relation to the expected solution of 7.54% (column “Inc.”).

Instance CPU Nr. Fitness Avg. Avg. Inc.

name (sec) Iter. f fr Pop 1000r (%)

ODD80_1 158.33 22058 406 406.36 411.76 417.60 2.86

ODD80_2 72.52 9956 357 358.91 361.90 366.73 2.72

ODD80_3 108.76 15687 369 363.37 365.62 374.23 1.42 ODD80_4 152.49 20818 429 422.61 424.57 426.65 -0.55 ODD80_5 224.35 29705 310 314.94 317.48 328.88 6.09 ODD80_6 100.98 15109 327 328.24 335.24 335.49 2.60 ODD80_7 147.44 20249 342 345.39 344.33 358.54 4.83 ODD80_8 96.03 11853 358 360.67 363.67 365.09 1.98 ODD80_9 120.26 14271 325 327.12 330.67 337.71 3.91 ODD80_10 126.65 16910 353 355.95 359.57 358.47 1.55 ODD80_11 119.67 15989 403 408.82 414.05 419.97 4.21 ODD80_12 94.76 13801 369 371.24 375.29 377.26 2.24 ODD80_13 62.12 8559 341 333.90 337.33 340.49 -0.15 ODD80_14 85.73 12212 381 378.84 379.76 383.52 0.66 ODD80_15 146.25 16869 373 377.04 382.81 378.48 1.47 ODD80_16 106.09 14472 377 370.44 377.38 380.52 0.93 ODD80_17 144.83 19637 329 329.30 332.00 333.23 1.28 ODD80_18 120.86 15289 313 316.72 315.86 321.17 2.61 ODD80_19 158.79 21159 364 363.40 363.81 368.20 1.16 ODD80_20 151.64 23057 370 371.78 376.43 377.56 2.04

Table 6.5. RGA results for the instances of 80 jobs

In Table 6.5, the same 80 jobs are analyzed after running the RGA. For the first instance, the best solution found had an objective value of 406 and in disrupted mode the average of 1000 modified instances is 417.60 which corresponds to an increase of 2.86%. Likewise, using the RGA sequence gives a certain advantage because in disrupted mode the average value is 417.60 compared to 430.17 for the SGA.

However, this improvement comes at the cost of an increase in computing time. For the first instance, we go from less than one second for the SGA to more than 150 seconds.

132 Flexibility and Robustness in Scheduling

Number Difference CPU time (s)

of jobs SGA (%) RGA (%) SGA RGA

20 11.95 3.84 0.03 1.73

40 8.47 2.89 0.13 10.27

60 7.35 3.08 0.36 45.81

80 6.30 2.19 0.75 124.93

100 5.32 2.01 1.53 215.69

Table 6.6. Difference between the solution in the disrupted environment and in the non-disrupted environment

Table 6.6 shows the results for all of the instances. The use of the RGA gives less of a difference in disrupted mode and allows the construction of a sequence which will increase the objective function value by only a small amount. Our results confirm that taking the uncertain nature of a problem into account within the solving method is always beneficial, although an increase in computing time has to be taken into account.

Dalam dokumen This page intentionally left blank (Halaman 129-134)