• Nem Talált Eredményt

The analysis of the GA's eciency on FJSP benchmark problems and the improvement ofbenchmark problems and the improvement of

Termination condition

3.6 The analysis of the GA's eciency on FJSP benchmark problems and the improvement ofbenchmark problems and the improvement of

the algorithm

Although the genetic algorithm was developed to solve the presented scheduling problem (see subsection 3.1) that is even more than a "simple" FJSP problem, the design and the implementation of the GA makes it possible to be applied on a wider class of problems. This problem class origins from the presented problem; however,

Figure 3.13. The results, obtained by SA through40000iterations for the determin-istic scheduling problem.

(1) the number of the resource types and the resources can be arbitrary, (2) the number of the production process types and the number of the processes can be arbitrary, and (3) the structure of a process can be an arbitrary directed acyclic graph (thus, with an arbitrary number of and-subgraphs). This design made the GA possible to solve the benchmark FJSP problems that can be found in the scien-tic literature. The eciency of the algorithm was analyzed on some of them.

The benchmark FJSP problems for the analysis were chosen from Brandimarte [3], Hurink et al. [1], and Barnes and Chambers [4]. In these problems, the number of jobs is between 7 and 20 (mostly 10, 15, or 20), the number of operations per job is between 3 and 15, and the number of machines varies from 4 to 15. The average number of the machines that can perform an operation is 1 in case of the benchmark problems of Barnes and Chambers, 1.15 in case of the edata, and 2 in case of the rdata test problems of Hurink et al., and varies between 2and3.5in the test problems of Brandimarte. All of the benchmark FJSP problems' jobs have a simple sequential structure: they contain neither and-subgraphs nor or-subgraphs.

It has to be highlighted that the GA was developed to solve more general prob-lems. The dierences were summarized in subsection 2.2, where the basic scheduling problem was introduced, which is extended in this chapter. The considered prob-lem contains setup time, applies multi-purpose machines, deals with transportation operations, requires the execution of the same process model several times (because of mass production), but there are also dierent process models; moreover, it in-cludes and-subgraphs where the operations of the parallel branches can be executed in parallel, in contrary to the benchmark FJSP problems. That is why it can not be expected that the developed GA outperforms the algorithms that were developed especially to solve FJSP problems.

Table 3.6. The makespans obtained on the mk01 problem by the GA.

Results of the GA*

optimum minimum maximum average

40 48 60 55.7

*from10runs

First, the GA's eciency was tested on the benchmark problemmk01of Brandi-marte [3]; the obtained results are presented in Table 3.6. The experiences showed that the decrease of the population size to50does not inuence the solution's qual-ity signicantly; however, the increase of the generation number is useful for this problem. 1200 was chosen as the number of generations. Minimum136 generations were needed to obtain the best solution of one run, and the maximum number of generations - when the best result of execution was reached - was 1145 during the 10 runs. The average number of the generations when the best solution of the run is reached was604.1. These numbers give a reason for choosing1200 as the number of generations. The GA was also tested on themk02 test input of Brandimarte [3].

Its results are presented in Table 3.7.

Since the results obtained by the GA were far from the optimum, the GA was improved. The steps of the improvement attempt are detailed in Appendix M and

Table 3.7. The makespans obtained on the mk02 problem by the GA.

Results of the GA*

optimum minimum maximum average

26 47 73 55.75

*from8runs

Table 3.8. Summary of the attempts for the improvement of the GA.

Step Description Accepted

1. Creation of the initial population by a heuristic yes

that works from job to job

2. Modication of the heuristic that creates the initial population yes to schedule from operation to operation in a greedy way

3. Modication of the crossover to apply scheduling from operation yes to operation instead of from job to job

4. Modication of the tness function and yes

introduction of controlled selection

5. Modication of the mutation by inserting each rescheduled operation no into the earliest feasible position

6. Application of heuristic also for crossover no

7. Complete review of the mutation genetic operator yes

are summarized in Table 3.8. Most of them improved the solution; however, some of them proved to be inecient. The useful improvements are built into the nal GA (this decision is highlighted in the last column of Table 3.8).

3.6.1 The nal GA and its test on some FJSP benchmarks

The GA found the best results when (1) the initial population was lled by good-quality instances that were generated by the developed heuristic that schedules from operation to operation, (2) the scheduling in the crossover also happens from oper-ation to operoper-ation, (3) the tness calculoper-ation involves the loads and the completion times of the machines (next to the makespan of the schedule), (4) selects both par-ents to recombine from the elites, and (5) applies the new mutation - that reschedules all the operations that are subsequent to a randomly chosen operation of a resource whose completion time is equal to the makespan in the directed graph of the schedule (the randomly chosen operation is also rescheduled, changing the allocated machine only of this operation) - for the best20 instances of the population (mutating each of them 20 times and accepting the best result as the mutated instance). In each execution, the population's size was 50, and the initial population was lled by the best50 of the 1000 instances generated by the heuristic.

This improved GA was executed on several test instances of the scientic literature, the results are summarized in Appendix O. As it was stated, it was not expected that the developed GA outperforms the algorithms (see, e.g., [51, 88, 89] or [142]) that were developed especially to solve FJSP problems and found the optimum in

Table 3.9. Comparison of the results obtained by the initial and the nal variants of the GA on themk01and themk02 problems.

problem optimum result obtained by the initial GA result obtained by the nal GA

mk01 40 48 41

mk02 26 47 30

most of the cases. Although, the developed GA approximated the optimum well in the case of several instances. The GA's improvement is demonstrated on the mk01 and themk02 test inputs of Brandimarte [3] in Table 3.9.

3.7 The contribution of this chapter

The contribution of this chapter can be summarized in three points: (1) it proposes a genetic algorithm for solving a scheduling problem, (2) it sets the parameters of the GA for the case of a concrete problem, and (3) it determines the eciency of the algorithm on some well-known FJSP test problems.

It was experienced that the developed GA only approximates the optimum of the benchmark problems (contrary to the algorithms that were created to solve FJSP problems); however, it can handle a much wider problem class than the classic FJSP problems.

3.7.1 The problem class that can be solved by the developed GA

The problem class that can be handled by the presented GA is much wider than that of the heuristic algorithm of Chapter 2 since this algorithm works without the simplications of the previous chapter. This GA can approximate the solution of any scheduling problem that has the following properties:

• there is a predened arbitrary set of operations,

• there is a predened arbitrary set of resources; each resource is able to perform operations of an arbitrary subset of operation types,

• it is allowed that some resources are transportation devices with a capacity of 1, that require time to return to their initial position after nishing an operation, to start a new operation (like, e.g., robotic arms),

• there is a predened arbitrary set of processes, each of them can be described by an acyclic directed graph (allowing forks and joins) where each node is an operation,

• any process should be performed a certain number of times (mass production is assumed),

• the operation time depends on both the operation and the applied resource,

• operations are uninterruptable,

• for any operation, there is a non-empty subset of the resources that contains machines that can perform the operation,

• for each operation, exactly one resource is assigned,

• setup time can be applied,

• operation times, setup times, transportation, and the number of the required products (the number of the execution for any process) can be arbitrary,

• the goal is the minimization of the makespan.

This problem class covers any scheduling problem that can be described by the formal notations of Appendix B.

Chapter 4

Fault-tolerant extension of Vehicle