learning-based scheduling of flexible ... - Semantic Scholar

2 downloads 0 Views 52KB Size Report
REASONING. PAOLO PRIORE*, DAVID DE LA FUENTE, RAÚL PINO, JAVIER PUENTE. Escuela Técnica Superior de Ingenieros Industriales, Universidad de ...
LEARNING-BASED SCHEDULING OF FLEXIBLE MANUFACTURING SYSTEMS USING CASE-BASED REASONING

PAOLO PRIORE*, DAVID DE LA FUENTE, RAÚL PINO, JAVIER PUENTE

Escuela Técnica Superior de Ingenieros Industriales, Universidad de Oviedo, Campus de Viesques, 33203, Gijón, Spain Phone: 985182107 Fax: 985182010 e-mail: [email protected] *: corresponding author abbreviate title: Learning-based scheduling of FMS using CBR

LEARNING-BASED SCHEDULING OF FLEXIBLE MANUFACTURING SYSTEMS USING CASE-BASED REASONING

P. PRIORE, D. DE LA FUENTE, R. PINO and J. PUENTE School of Industrial Engineering, University of Oviedo

A common method of dynamically scheduling jobs in Flexible Manufacturing Systems (FMSs) is to employ dis patching rules. However, the problem associated with this method is that the performance of the rules depends on the state of the system, but there is no rule that is superior to all the others for all the possible states the system might be in. It would therefore be highly desirable to employ the most suitable rule for each particular situation. To achieve this, this paper presents a scheduling approach that uses Case-Based Reasoning (CBR), which analyses the system’s previous performance, and acquires ‘scheduling knowledge’ which determines the most suitable dispatching rule at each particular moment in time. Simulation results indicate that the proposed approach produces significant performance improvements over existing dispatching rules.

INTRODUCTION Scheduling is part of the control process of manufacturing systems, and is required when a set of common resources needs to be shared in order to manufacture a number of products over the same time period. The aim of scheduling is to efficiently assign machines and other resources to jobs, or operations within jobs, and to determine when each of the jobs should be carried out. One of the most commonly applied solutions to the scheduling problem is to use dispatching rules. Many researchers (see for example, Stecke and Solberg, 1981; Egbelu and Tanchoco, 1984; Denzler and Boe, 1987; Choi and Malstrom, 1988; Henneke and Choi, 1990; Montazeri and Van Wassenhove, 1990; Tang et al., 1993) have attempted to evaluate the performance of dispatching rules in FMSs; the

1

conclusion to be drawn from such studies is that rule performance depends on the criteria that are selected, and the system’s configuration and conditions (utilisation level of the system, relative loading, due date tightness, and so on). It would consequently be interesting to be able to change dispatching rules at the right moment. There are basically two approaches to do this, and we will briefly discuss them below. In the first approach the dispatching rule is determined for each time period by simulating the predetermined set of dispatching rules and selecting the one with the best performance (see for example, Wu and Wysk, 1989; Ishii and Talavage, 1991; Kim and Kim, 1994; Jeong and Kim, 1998). In the second approach, a set of predetermined system simulations (training examples or earlier problems that have been solved) is obtained and, using a machine learning algorithm (Michalski et al., 1983), the best rule for each possible system state is determined (see for example, Nakasuka and Yoshida, 1992; Shaw et al., 1992; Kim et al., 1998; Min et al., 1998). Aytug et al. (1994) and Priore et al. (2001) provide a review in which some machine learning technique is applied to solving scheduling problems. Machine learning, part of the field of artificial intelligence, solves problems by using knowledge acquired while solving earlier problems in the past similar in nature to the problem at hand. The main algorithm types in the field of machine learning are neural networks, inductive learning and CBR. Despite the fine results the latter algorithm has achieved in other fields it has been applied to, and its simplicity, it has hardly been applied to designing scheduling systems that dynamically modify dispatching rules. The aim of this paper is therefore to design a scheduling approach that uses CBR. The rest of this paper is organised as follows. The nearest neighbour algorithm is first described, as it is one of the most frequently used CBR algorithms. An approach for scheduling jobs using CBR is then presented. The experimental study follows, and the proposed approach is compared with the alternative of using a combination of dispatching rules constantly. A summary of the results obtained concludes the paper.

CASE-BASED REASONING The nearest neighbour algorithm is one of the most popular of CBR algorithms (Aha, 1992). The formulation of this algorithm, called NN, or k-NN in the more sophisticated version is extremely simple.

2

The starting point is a metric d amongst examples and a set of training examples, E. Based on this pair (E,d), when a new case x occurs, its solution or class, which is unknown, is determined as follows: Class (x) = class (nn) where: d(x,nn) = Minimum {d(x,e): e∈E} nn: nearest neighbour In other words, the case’s class is the same as the nearest example’s or neighbour’s class. This initial scheme can be made more sophisticated by including a integer value, k (k ≥ 1), which calculates the k nearest neighbours in E for x. The class of x is then determined as a function of the class of the majority of the k neighbours.

SCHEDULING USING CASE-BASED REASONING The approach proposed in this paper may be divided into three basic steps, shown in Figure 1. The steps are the following: 1.

Using the training and test example generator to create a set of training and test examples employing different values for the control attributes. Appropriate attributes that identify the state of the manufacturing system must be defined in order to do this. As not all of them can be considered, the most important ones should obviously be chosen. Attributes that are chosen are called control attributes; the values of the attributes that are used are those that occur most frequently in the manufacturing system being studied. The class or solution of each example is obtained from the dispatching rule (or a combination of them if more than one decision has to be made) that generates the best performance from the manufacturing system. To be able to do this, a simulation model of the system under study must be made, and the performance of the system with the different dispatching rules that are intended for use must be tested for each set of values of the control attributes (training or test example).

2.

Determining the most appropriate dispatching rule (or a combination of them if more than a single decision is to be taken) using CBR, depending on the values of control attributes at each particular moment.

3

3.

Comparing the performance of the manufacturing system using CBR and the best dispatching rule, or combination of dispatching rules. If the latter method leads to better system performance, step one should be returned to.

[Insert figure 1 about here]

EXPERIMENTAL STUDY The proposed FMS The selected FMS consists of a loading station, an unloading station, four machining centres and a material handling system. Figure 2 shows a diagram of the system. Two types of decision are contemplated in this system. The first of them is the selection by the machine of parts assigned to it. The dispatching rules used to do this in this configuration are: SPT (Shortest Processing Time); EDD (Earliest Due Date); MDD (Modified Job Due Date), and SRPT (Shortest Remaining Processing Time). These rules were selected because of their fine performance in several earlier studies (see for example, Shaw et al., 1992; Kim et al., 1998; Min et al., 1998). These rules order the different jobs that are competing for the use of a particular machine as a result of different priority schemes. A priority index is assigned to each job and the one with the lowest index will be selected first. The calculation of the priority index for each rule is carried out as follows: SPT

p ij

EDD

di

MDD

max {t+Pij , d i }

SRPT

Pij

where d i is the due date of job i; p ij is the processing time of operation j of job i; Pij is the remaining processing time for job i at the beginning of operation j, and t is the moment when the scheduling decision is taken. Due date of job i (d i ) is calculated, following Baker (1984), by the following expression: d i = t i + pi ∗ F where F is the flow allowance factor which measures due date tightness; ti is the moment when job i arrives at the system, and p i is the total processing time of job i.

4

[Insert figure 2 about here]

The second type of decision involves the selection of the machines by the parts, given that an operation can be carried out on different machines. The dispatching rules used in this configuration are (O’Keefe and Kasirajan, 1992; Kim et al., 1998; Min et al., 1998): 1.

SPT (Shortest Processing Time), which selects the machine that will carry out the operation in the shortest time.

2.

NINQ (Shortest Queue), which selects the machine with the fewest number of jobs in the buffer.

3.

WINQ (Work in Queue), which selects the machine whose input buffer contains the smallest total amount of work.

4.

LUS (Lowest Utilised Station), which selects the machine with the smallest total utilisation rate.

Generating training and test examples The examples needed for the learning stage are obtained by simulation using the WITNESS simulation programme (Witness, 1996). The following suppositions were made to do this: 1.

Jobs arrive at the system following a Poisson distribution.

2.

Processing times for each operation are sampled from an exponential distribution with a mean of one.

3.

The actual number of operations of a job is a random variable, equally distributed among the integers from one to four.

4.

The probability of assigning an operation to a machine depends on the parameters POi (percentage of operations assigned to machine i). These percentages fluctuate between 10% and 40%. It is also assumed that the first two machines support a greater workload.

5.

The number of alternative machines for an operation varies between one and four.

6.

The arrival rate varies in such a way that the overall use of the system fluctuates between 55% and 95%.

7.

The value of factor F ranges between one and ten.

5

The criteria used to measure system performance are mean tardiness and mean flow time in the system, as these are the ones that are most widely used in all manufacturing systems. Mean tardiness is defined as:

∑ Ti N Ti = max {0, Li} where N is the number of finished jobs and L is the difference between the date the job is finished, and the agreed due date (d i ). The control attributes used to describe the manufacturing system must first be defined in order to generate training and test examples. The attributes employed in this particular FMS are the following: 1.

F.

2.

NAMO: number of alternative machines for an operation.

3.

MU: mean utilisation of the manufacturing system.

4.

Ui : utilisation of machine i.

5.

WIP: mean number of parts in the system.

6.

RBM: ratio of the utilisation of the bottleneck machine to the mean utilisation of the manufacturing system.

7.

RSDU: ratio of the standard deviation of individual machine utilisations to mean utilisation.

The following expressions are used to calculate the latter two attributes: RBM =

10 ∗ max ( U 1 , U 2 , U 3 , U 4 ) MU 10 ∗

RSDU =

( U1 − MU ) 2 + ( U 2 − MU )2 + ( U 3 − MU ) 2 + ( U 4 − MU ) 2 3 MU

In all, 1100 different control attribute combinations were randomly generated, and 100 of these were used as test examples. For each combination of attributes, mean tardiness and mean flow time values resulting from the use of each of the dispatching rules in isolation were calculated. Sixteen simulations were actually needed to generate a example, as there are four rules for each of the decisions to be taken. Table 1 shows (as a percentage) the number of times that each of the combinations of the dispatching rules employed is selected for the criteria of mean tardiness and mean flow time. It can be seen that most of the combinations are selected, to a greater or lesser extent, in each of the scenarios that

6

are proposed. This demonstrates the need to modify the dispatching rules in real time as a function of the state the manufacturing system is in at each particular moment.

[Insert table 1 about here]

The application of case-based reasoning One of the most popular and widely used algorithms in CBR is the nearest neighbour algorithm. To calculate a new case’s class using this method, the distances between the case and the training examples have to be calculated and the shortest distance found. The new case’s class will be the same as the ‘nearest’ training example’s class. The following formulation is employed to calculate the distance (d(x,e)) between a new case (x) and a training example (e):

d ( x , e) =

n

∑ wi ∗ (a ix − a ie )2 i =1

where n is the number of attributes considered; a ix is the value of attribute i in case x; a ie is the value of attribute i in example e, and wi is the weight assigned to attribute i as a function of its importance. In accordance with the previous section in this particular case n equals ten. Another two more sophisticated versions of the nearest neighbour algorithm have also been applied in this study. In the first of the two, an integer value of k of three is employed, so that the three nearest neighbours are calculated for each x. The class of x is then determined as a function of the class of the majority of the three neighbours. In the second version, a value of k of five is used. The class of x is here determined as a function of the class of the majority of the five neighbours. In the event of a tie (for example if k is five there could be two STP+STP neighbours and two others with the MDD+SPT class), x’s class is determined as a function of the distances obtained. Obviously, neighbours with shortest distances are selected to determine x’s class. One of the major drawbacks associated with the nearest neighbour algorithm is that its ability to classify new cases depends on the weights wi that are chosen. Each one of these weights is assigned as a function of the importance of the corresponding attribute. However the value of each wi is not known a priori. To get around this problem, a genetic algorithm (Holland, 1975; Goldberg, 1989; Michalewicz, 1996) is designed which determines the optimum values of wi , so that classification error is kept to a

7

minimum. A scheme of this system, where one can see that the genetic algorithm employs the nearest neighbour method to calculate the classification error for given wi values, is shown in Figure 3. This error is the ‘fitness’ for a given set of wi weights. A set of 100 validation examples taken from the training set serves to determine the classification error. After a certain number of generations the genetic algorithm will identify the optimum values of wi . The steps of the proposed genetic algorithm are next described: 1.

Generation of a population of N individuals.

2.

Selection of the best individual.

3.

Calculation of a distribution of accumulated probability as a function of the ‘fitness’ of each individual in the population.

4.

Selection of N individuals generating N random numbers between zero and one, using the probability distribution that has just been calculated.

5.

Simple crossover of the individuals selected in step four with a predetermined crossover probability (CP). The parents are eliminated.

6.

Mutation with a predetermined mutation probability (MP).

7.

Selection of the best individual. If this has a ‘fitness’ that is inferior to that of the best individual from the previous generation, it is retained and the worst individual of the present generation is eliminated.

8.

Return to step three if the number of generations is less than the maximum number of generations (NGmax).

[Insert figure 3 about here]

One of the steps that precedes the application of the proposed algorithm to the different sets of training examples is that of standardising the attributes so that their maximum and minimum values are one and zero respectively. Each of the N individuals of the population is formed by a vector of the type that follows: ( w 1 , w 2 , w 3 ........., w 9 , w 10 ) where wi is the weight of attribute i. These weights have values of between zero and one, just like the attributes. The codification used in the genetic algorithm proposed uses integer numbers.

8

The most appropriate values of population size (N), crossover probability (CP), mutation probability (MP), and maximum number of generations (NGmax) were also studied. Values obtained are: N = 50, CP = 0.7, MP = 0.025 and NGmax = 100. Table 2 shows test error (classification error for examples that have not previously been dealt with) when the nearest neighbour algorithm (k-NN) is applied with wi weights equal to one for all the attributes for the criterion of mean tardiness. Table 2 also indicates test error when the nearest neighbour algorithm is used together with the genetic algorithm (k-NN+GA) to determine optimum wi weights. In general, we observe that as the number of training examples increases, test example error drops considerably. Error is also reduced if a k value higher than one is applied. However, as the number of training examples increases, so also does the time required for the genetic algorithm to determine the optimum weights of wi to use. In contrast, we observe that time hardly varies when the value of k is modified. It can be seen from the results in Table 2 that after 600 training examples test error fluctuates between 11% and 12% (k = 5). By way of example, optimum wi weights obtained with 1000 training examples and a k value of five are as follows: wF opt = 0.97

wNAMO opt = 0.12 wMU opt = 0.35

wU1 opt = 0.87

wU2 opt = 0.77

wU3 opt = 0.08

wU4 opt = 0.10

wRBM opt = 0.17

wRSDU opt = 0.13

wWIP opt = 0.67

[Insert table 2 about here]

Table 3 shows the results obtained during the test stage for the criterion of mean flow time. It is observed that, in general, test error decreases considerably as the number of training examples used increases. Errors for this latter criterion are lower due to there being five dispatching rule combinations that are really used. In contrast, twelve combinations are used for the criterion of mean tardiness (see table 1). To give an example of the above, optimum wi weights obtained with 1000 training examples and a k value of one are the following: wF opt = 0.08

wNAMO opt = 0.21 wMU opt = 0.19

wU1 opt = 0.95

wU2 opt = 0.91

wU3 opt = 0.13

wU4 opt = 0.11

wRBM opt = 0.77

wRSDU opt = 0.91

wWIP opt = 0.61

[Insert table 3 about here]

9

The application of C4.5 Table 4 shows the results obtained when the C4.5 inductive learning algorithm (Quinlan, 1993) is applied to the same test and training examples. This algorithm, which is widely used in the field of machine learning, has been applied to several manufacturing systems for scheduling (see for example, Shaw et al., 1992; Kim et al., 1998). This algorithm generates a decision tree and a set of rules, which are applied to determinate the dispatching rule to be used at each particular moment. Different values of the m and c (pruning factor) parameters have been used to try to minimize errors. It can be seen that CBR errors are smaller than C4.5 counterparts. A sample of the set of rules that were obtained with 750 training examples for the mean tardiness criterion is provided next as an illustration: Rule 1: IF F > 7 AND WIP 7 AND NAMO 2.9 AND U2 9 AND NAMO 74.1 THEN MDD+NINQ [74.0%] Rule 49: IF F > 2 AND F 1 AND WIP > 5.9 AND U2 > 74.1 THEN MDD+NINQ [69.6%] Default rule: MDD+NINQ

[Insert table 4 about here]

When a new case occurs for classification (the state of the manufacturing system at a given moment), each of the 49 rules is tested in the established order. The conclusion of the first heuristic rule

10

that fits the case provides the combination of dispatching rules to be applied. The default class or rule is MDD+NINQ and this will be the rule used when none of the 49 heuristic rules is chosen. The number next to the conclusion of each rule is the probability the rule has of correctly classifying a previously unseen case.

Learning-based scheduling The next step in this study is to implement the nearest neighbour algorithm in the FMS simulation model so as to be able to select the most appropriate combination of dispatching rules according to the FMS’s state in real time. Similarly, the heuristic rules obtained using the C4.5 inductive learning algorithm are also implemented in the simulation model. Another important issue that must be studied is the choice of the monitoring period, as the frequency that is used to test the control attributes to decide whether the dispatching rules change or not, determines the performance of the manufacturing system. In order to choose this monitoring period, multiples of the average total processing time for a job are taken (see for example, Wu and Wysk, 1989; Kim and Kim, 1994; Jeong and Kim, 1998). In this case, 2.5, 5, 10 and 20 time units are used as monitoring periods. Moreover, two different scenarios are proposed for the manufacturing system. In the first of them, changes are generated in the FMS at given time periods, as a function of a random variable, equally distributed among the integers from 50 to 500 time units. In the second scenario, this random variable fluctuates between 2.5 and 250 time units. Therefore, in this latter scenario the FMS will undergo a greater number of changes. Furthermore, in view of the results obtained in the previous section, 1000 training examples will be used in both machine learning algorithms for both criteria. A final point to bear in mind is that five independent replicas are made over 100000 time units. Table 5 shows a summary of the results obtained. Mean tardiness and mean flow time values in the table correspond to the average of the five replicas. In order to increase readability, the values shown in the table are relative to the lowest mean tardiness and mean flow time obtained (these are assigned a value of one). The monitoring period chosen was 2.5 time units. Table 5 indicates that the best alternative is to employ a knowledge-based strategy. It also shows that the nearest neighbour algorithm with the optimum weights (k-NN+GA) generates lower mean tardiness values than C4.5. The combinations MDD+NINQ and MDD+WINQ stand out amongst the strategies that use a fixed combination of

11

dispatching rules. However, mean tardiness values are higher than the alternative that uses CBR by between 12.44% and 13.99%. Moreover, the nearest neighbour algorithm and C4.5 obtain similar results, according to the criterion of mean flow time. This is explained by the fact that test errors in both these algorithms are very similar. Furthermore, it can be seen that the combinations SPT+NINQ and SPT+WINQ generate the least mean flow time from amongst the strategies that apply a fixed combination of rules. However, mean flow time values are greater than the C4.5 alternative by between 4.31% and 4.84%. Finally, the scheduling system based on the nearest neighbour algorithm is compared with the remaining strategies by using ANOVA. The conclusion is that this scheduling system is superior to the remaining strategies with a significance level of less than 0.05. The only exception occurs between the nearest neighbour and C4.5 algorithms according to the mean flow time criterion.

[Insert table 5 about here]

5. CONCLUSIONS This study puts forward a new approach for scheduling using CBR. A genetic algorithm to calculate optimum wi weights that the nearest neighbour algorithm requires has also been designed. One of the drawbacks to using this approach is the need to do a large number of simulations to generate test and training examples. However, they need only be done once. The performance of the FMS that uses the scheduling system based on the nearest neighbour algorithm is compared with the other strategies. It is shown that the system proposed obtains lower mean tardiness and mean flow time values in the FMS. The only exception occurs between the scheduling systems based on the nearest neighbour and on C4.5 algorithms, when measured against the mean flow time. This is explained by the fact that test errors in both these algorithms are very similar. Future research might include consideration of more decision types in the proposed FMS. A module might also be designed to determine new control attributes that are a combination of those that were initially proposed. Thus, test error, mean tardiness and mean flow time values obtained with the knowledge-based scheduling systems could all be reduced.

12

REFERENCES Aha, D.W. 1992. Tolerating noisy, irrelevant and novel attributes in instance-based learning algorithms. International Journal of Man-Machine Studies 36(1):267-287. Aytug, H., S. Bhattacharyya, G.J. Koehler, and J.L. Snowdon. 1994. A review of machine learning in scheduling. IEEE Transactions on Engineering Management 41(2):165-171. Baker, K.R. 1984. Sequencing rules and due-date assignments in a job shop. Management Science 30(9):1093-1103. Choi, R.H., and E.M. Malstrom. 1988. Evaluation of traditional work scheduling rules in a flexible manufacturing system with a physical simulator. Journal of Manufacturing Systems 7(1):33-45. Denzler, D.R., and W.J. Boe. 1987. Experimental investigation of flexible manufacturing system scheduling rules. International Journal of Production Research 25(7):979-994. Egbelu, P.J., and J.M.A. Tanchoco. 1984. Characterization of automated guided vehicle dispatching rules. International Journal of Production Research 22(3):359-374. Goldberg, D.E. 1989. Genetic algorithms in search, optimization, and machine learning. Reading, MA: Addison Wesley. Henneke, M.J., and R.H. Choi. 1990. Evaluation of FMS parameters on overall system performance. Computer Industrial Engineering 18(1):105-110. Holland, J. 1975. Adaptation in natural and artificial systems. Detroit, MI: University of Michigan Press. Ishii, N., and J. Talavage. 1991. A transient-based real-time scheduling algorithm in FMS. International Journal of Production Research 29(12):2501-2520. Jeong, K.-C., and Y.-D. Kim. 1998. A real-time scheduling mechanism for a flexible manufacturing system: using simulation and dispatching rules. International Journal of Production Research 36(9):26092626. Kim, C.-O., H.-S. Min, and Y. Yih. 1998. Integration of inductive learning and neural networks for multiobjective FMS scheduling. International Journal of Production Research 36(9):2497-2509. Kim, M.H., and Y.-D. Kim. 1994. Simulation-based real-time scheduling in a flexible manufacturing system. Journal of Manufacturing Systems 13(2):85-93.

13

Michalewicz, Z. 1996. Genetic algorithms + data structures = evolution programs. Berlin: Springer Verlag. Michalski, R.S., J.G. Carbonell, and T.M. Mitchell. 1983. Machine learning. An artificial intelligence approach. Palo Alto, CA: Tioga Press. Min, H.-S., Y. Yih, and C.-O. Kim. 1998. A competitive neural network approach to multi-objective FMS scheduling. International Journal of Production Research 36(7):1749-1765. Montazeri, M., and L.N.V. Wassenhove. 1990. Analysis of scheduling rules for an FMS. International Journal of Production Research 28(4):785-802. Nakasuka, S., and T. Yoshida. 1992. Dynamic scheduling system utilizing machine learning as a knowledge acquisition tool. International Journal of Production Research 30(2):411-431. O’Keefe, R.M., and T. Kasirajan. 1992. Interaction between dispatching and next station selection rules in a dedicated flexible manufacturing system. International Journal of Production Research 30(8):17531772. Priore, P., D. de la Fuente, A. Gómez, and J. Puente. 2001. A review of machine learning in dynamic scheduling of flexible manufacturing systems. Artificial Intelligence for Engineering Design, Analysis and Manufacturing (Forthcoming). Quinlan, J.R. 1993. C4.5: Programs for machine learning. San Mateo, CA: Morgan Kaufmann. Shaw, M.J., S. Park, and N. Raman. 1992. Intelligent scheduling with machine learning capabilities: the induction of scheduling knowledge. IIE Transactions 24(2):156-168. Stecke, K.E., and J. Solberg. 1981. Loading and control policies for a flexible manufacturing system. International Journal of Production Research 19(5): 481-490. Tang, L.-L., Y. Yih, and C.-Y. Liu. 1993. A study on decision rules of a scheduling model in an FMS. Computers in Industry 22:1-13. Witness. 1996. User Manual, Release 8.0. AT&T ISTEL Limited. Wu, S.-Y.D., and R.A. Wysk. 1989. An application of discrete-event simulation to on-line control and scheduling in flexible manufacturing. International Journal of Production Research 27(9): 1603-1623.

14

Combination of the dispatching rules employed SPT+SPT SPT+NINQ SPT+WINQ SPT+LUS EDD+SPT EDD+NINQ EDD+WINQ EDD+LUS MDD+SPT MDD+NINQ MDD+WINQ MDD+LUS SRPT+SPT SRPT+NINQ SRPT+WINQ SRPT+LUS

Mean Tardiness

Mean Flow Time

23.27% 4.64% 6.09% 0.36% 1.09% 8.73% 4.73% 9.09% 25.64% 11.27% 3.82% 1.27% 0% 0% 0% 0%

50% 22.45% 25% 0% 0% 0% 0% 0% 0% 0% 0.64% 0% 0% 0% 1.91% 0%

TABLE 1. A comparison of combinations of the dispatching rules in the examples generated

15

Number of Test error Test error Test error Test error training (k-NN) (k-NN) (k-NN) (k-NN+GA) examples (k=1) (k=3) (k=5) (k=1) 150 23% 24% 28% 17% 200 24% 23% 26% 17% 250 23% 24% 23% 17% 300 19% 21% 24% 16% 350 17% 19% 20% 14% 400 17% 19% 19% 14% 450 17% 18% 19% 14% 500 18% 18% 21% 15% 550 17% 16% 18% 14% 600 18% 16% 16% 15% 650 20% 17% 16% 16% 700 20% 16% 16% 15% 750 20% 16% 16% 17% 800 22% 17% 16% 18% 850 23% 17% 16% 17% 900 23% 17% 16% 16% 950 22% 17% 16% 17% 1000 20% 17% 16% 16%

Test error Test error (k-NN+GA) (k-NN+GA) (k=3) (k=5) 19% 22% 18% 18% 18% 18% 15% 16% 15% 17% 14% 13% 14% 13% 16% 16% 14% 13% 13% 12% 13% 12% 13% 12% 13% 11% 14% 12% 14% 12% 12% 11% 12% 12% 11% 11%

TABLE 2. Test error using the nearest neighbour algorithm for the criterion of mean tardiness

16

Number of Test error Test error Test error Test error training (k-NN) (k-NN) (k-NN) (k-NN+GA) examples (k=1) (k=3) (k=5) (k=1) 150 16% 18% 14% 8% 200 15% 18% 17% 7% 250 14% 16% 15% 6% 300 12% 14% 12% 5% 350 11% 10% 12% 5% 400 11% 9% 10% 5% 450 11% 9% 8% 5% 500 11% 9% 8% 5% 550 11% 8% 8% 5% 600 11% 8% 7% 5% 650 9% 8% 7% 3% 700 7% 8% 8% 2% 750 7% 8% 8% 2% 800 7% 7% 6% 2% 850 7% 7% 6% 2% 900 6% 7% 7% 1% 950 6% 7% 6% 1% 1000 5% 6% 7% 1%

Test error Test error (k-NN+GA) (k-NN+GA) (k=3) (k=5) 10% 9% 10% 10% 8% 9% 7% 7% 5% 6% 4% 4% 4% 4% 4% 4% 3% 4% 3% 3% 2% 2% 2% 3% 3% 3% 2% 3% 2% 3% 2% 3% 2% 2% 2% 3%

TABLE 3. Test error using the nearest neighbour algorithm for the criterion of mean flow time

17

Number of training examples 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000

Number of rules (MT)

Test error (MT)

Number of rules (MFT)

Test error (MFT)

17 10 21 23 24 30 28 16 18 39 37 34 49 41 47 49 37 49

24% 20% 19% 15% 16% 17% 19% 19% 20% 17% 17% 17% 16% 19% 19% 18% 16% 16%

8 9 8 11 11 13 16 20 17 18 21 21 20 20 20 22 20 21

11% 10% 11% 13% 9% 7% 4% 3% 3% 3% 2% 2% 2% 2% 2% 2% 1% 1%

TABLE 4. Test error using C4.5 for the criteria of mean tardiness (MT) and mean flow time (MFT)

18

Strategy used SPT+SPT SPT+NINQ SPT+WINQ SPT+LUS EDD+SPT EDD+NINQ EDD+WINQ EDD+LUS MDD+SPT MDD+NINQ MDD+WINQ MDD+LUS SRPT+SPT SRPT+NINQ SRPT+WINQ SRPT+LUS k-NN+GA C4.5

MT for first scenario 4.0814 1.2013 1.1947 2.4902 3.4962 1.5171 1.5118 2.8582 3.5080 1.1244 1.1318 2.3712 4.4757 1.3685 1.3721 2.8164 1.0000 1.0361

MT for second scenario 5.4122 1.2043 1.1837 2.5545 4.6524 1.6559 1.6640 3.2481 4.6931 1.1284 1.1399 2.4960 6.0563 1.3969 1.3885 2.9809 1.0000 1.0393

MFT for first scenario 2.1174 1.0431 1.0457 1.5173 2.2148 1.3330 1.3327 1.8724 2.3088 1.2328 1.2366 1.7807 2.2894 1.1366 1.1422 1.6776 1.0008 1.0000

MFT for second scenario 2.4147 1.0484 1.0460 1.5254 2.6221 1.3970 1.4009 2.0583 2.6868 1.2550 1.2601 1.8618 2.6666 1.1460 1.1469 1.7169 1.0012 1.0000

TABLE 5. Mean tardiness (MT) and mean flow time (MFT) for the proposed strategies

19

FIGURE 1. Scheduling using case-based reasoning FIGURE 2. Flexible manufacturing system configuration FIGURE 3. Method for calculating of optimum wi weights

20

Training and test example generator Criticism

Simulation model

Training and test examples CBR algorithm

System state

Selected rule

Manufacturing system

FIGURE 1. Scheduling using case-based reasoning Author’s name: PAOLO PRIORE

21

Loading station

Unloading station

Material handling system

Machining centre 1

Machining centre 2

Machining centre 3

Machining centre 4

FIGURE 2. Flexible manufacturing system configuration Author’s name: PAOLO PRIORE

22

Training example generator Training examples Validation error (fitness) Genetic algorithm

Nearest neighbour algorithm

wi

FIGURE 3. Method for calculating of optimum wi weights Author’s name: PAOLO PRIORE

23