12
Pergamon 0957-4174(95)00034-8 Expert Systems With Applications, Vol. 10, No. 1, pp. 63-74, 1996 Copyright © 1996 Elsevier Science Ltd Printed in Great Britain. All fights reserved 0957-4174/96 $15.00+0.00 A Knowledge-Based System for Scheduling Setup Changes: An Implementation and Validation RAHUL DE' Department of Business, Public Administration, and Economics, Bowie State University, Bowie, MD 20715, U.S.A. Abstract--The design, implementation, and validation of a knowledge-based system that schedules resources on the shop-floor is described. The system specifically schedules machine setup changes and is based on heuristics obtained from an expert scheduler. It is a reactive scheduling system and operates in real-time to provide support to the scheduler. The approach for the implementation is procedural, as opposed to declarative. A detailed example of scheduling for setup changes is provided that elucidates the logic of the program. The system is currently implemented at a manufacturing facility and is being used daily by a scheduler. Two methods of validation of the system are discussed, wherein the first method is to compare the schedules produced by the system with a historical record of setup changes executed on the shop-floor, and in the second method the schedules are judged by the scheduler. The results of the validation show the system to be successful. 1. INTRODUCTION THIS PAPER discusses the design and implementation of a system that schedules resources on a shop-floor. The design is based on scheduling heuristics obtained from an expert scheduler. The implementation of the heuristics or rules relies on a procedural approach, rather than the declarative representation of a rule-based shell, and is outlined in the paper. The system is validated with historical data. The system is a reactive scheduling system that operates in real-time to provide support to the shop-floor scheduler. The system reacts to conditions on the shop- floor and using the demand schedule as a guide prepares a set of schedules. These schedules specifically refer to machine setup changes. The system uses a generative or constructive approach by incrementally extending the schedule (Zweben & Fox, 1994). The system is customized for a particular manufactur- ing environment and it exploits this situation to provide meaningful and timely solutions to the scheduler. Scheduling problems are notorious for being exception- ally hard and there are few working implementations of generalized scheduling and planning systems in real-life manufacturing domains. Most systems that have suc- ceeded in real-life implementations have relied on exploiting some characteristics of the domain. Scheduling and planning for shop-floor resources have occupied a special significance in research related to expert system applications (Lee, Fox & Watkins, 1993). Scheduling and planning for the manufacturing shop-floor are a special class of problems that are both very hard and very important, and that require computer support. The problems range from scheduling all the resources on the shop-floor to focussing on the key or bottleneck resources. The approaches to scheduling vary from constraint propagation methods to rule-based and object-oriented approaches. A brief review of the diverse research reported in the literature follows in the next section. The main contribution of this research thus lies in presenting a set of heuristics for scheduling machine setup changes for a particular domain, where the heuristics are implemented in a system and tested, and the system proves to be successful. It can be argued that there are many manufacturing domains that are similar to, but not identical with, the situation considered in this paper. Particularly, for the problem of scheduling machine setup changes where machines are assigned to various product groups (see Figure 1), parallels can be found in many manufacturing sites. Thus this research has important implications for designing scheduling and planning systems. This scheduling system is validated with historical data obtained from the shop-floor. Objective criteria are developed for testing the system and the validation is rigorously conducted. 2. BRIEF REVIEW OF AI/EXPERT SYSTEMS FOR SCHEDULING There are a vast number of systems that have been reported in the literature that are used for scheduling and 63

A knowledge-based system for scheduling setup changes: An implementation and validation

Embed Size (px)

Citation preview

Page 1: A knowledge-based system for scheduling setup changes: An implementation and validation

Pergamon

0957-4174(95)00034-8

Expert Systems With Applications, Vol. 10, No. 1, pp. 63-74, 1996 Copyright © 1996 Elsevier Science Ltd

Printed in Great Britain. All fights reserved 0957-4174/96 $15.00+0.00

A Knowledge-Based System for Scheduling Setup Changes: An Implementation and Validation

RAHUL DE'

Department of Business, Public Administration, and Economics, Bowie State University, Bowie, MD 20715, U.S.A.

Abstract--The design, implementation, and validation of a knowledge-based system that schedules resources on the shop-floor is described. The system specifically schedules machine setup changes and is based on heuristics obtained from an expert scheduler. It is a reactive scheduling system and operates in real-time to provide support to the scheduler. The approach for the implementation is procedural, as opposed to declarative. A detailed example of scheduling for setup changes is provided that elucidates the logic of the program. The system is currently implemented at a manufacturing facility and is being used daily by a scheduler. Two methods of validation of the system are discussed, wherein the first method is to compare the schedules produced by the system with a historical record of setup changes executed on the shop-floor, and in the second method the schedules are judged by the scheduler. The results of the validation show the system to be successful.

1. INTRODUCTION

THIS PAPER discusses the design and implementation of a system that schedules resources on a shop-floor. The design is based on scheduling heuristics obtained from an expert scheduler. The implementation of the heuristics or rules relies on a procedural approach, rather than the declarative representation of a rule-based shell, and is outlined in the paper. The system is validated with historical data.

The system is a reactive scheduling system that operates in real-time to provide support to the shop-floor scheduler. The system reacts to conditions on the shop- floor and using the demand schedule as a guide prepares a set of schedules. These schedules specifically refer to machine setup changes. The system uses a generative or constructive approach by incrementally extending the schedule (Zweben & Fox, 1994).

The system is customized for a particular manufactur- ing environment and it exploits this situation to provide meaningful and timely solutions to the scheduler. Scheduling problems are notorious for being exception- ally hard and there are few working implementations of generalized scheduling and planning systems in real-life manufacturing domains. Most systems that have suc- ceeded in real-life implementations have relied on exploiting some characteristics of the domain.

Scheduling and planning for shop-floor resources have occupied a special significance in research related to expert system applications (Lee, Fox & Watkins, 1993). Scheduling and planning for the manufacturing shop-floor are a special class of problems that are both

very hard and very important, and that require computer support. The problems range from scheduling all the resources on the shop-floor to focussing on the key or bottleneck resources. The approaches to scheduling vary from constraint propagation methods to rule-based and object-oriented approaches. A brief review of the diverse research reported in the literature follows in the next section.

The main contribution of this research thus lies in presenting a set of heuristics for scheduling machine setup changes for a particular domain, where the heuristics are implemented in a system and tested, and the system proves to be successful. It can be argued that there are many manufacturing domains that are similar to, but not identical with, the situation considered in this paper. Particularly, for the problem of scheduling machine setup changes where machines are assigned to various product groups (see Figure 1), parallels can be found in many manufacturing sites. Thus this research has important implications for designing scheduling and planning systems.

This scheduling system is validated with historical data obtained from the shop-floor. Objective criteria are developed for testing the system and the validation is rigorously conducted.

2. BRIEF REVIEW OF AI/EXPERT SYSTEMS FOR SCHEDULING

There are a vast number of systems that have been reported in the literature that are used for scheduling and

63

Page 2: A knowledge-based system for scheduling setup changes: An implementation and validation

64 R. De'

planning in manufacturing domains and employ tech- niques that are borrowed from the broad discipline of Artificial Intelligence (AI) (that includes Expert Systems and Knowledge-Based Systems). We focus on a number of papers that review such systems and then highlight some papers that report on differing approaches.

An early review (Godwin, 1978) discussed the use of computers in scheduling and planning. There is no mention of any explicit AI implementations and the focus is more on systems that were used as decision support systems. Another survey by Steffen (Steffen, 1986) found that although a very large number of systems had been designed and reported (Steffen reviews 122 such systems), with implemented prototypes, few were actually being used in the industry. This paper reports on systems that had been principally developed in the early 1980s. Another paper, appearing a year later, (Kanet & Adelsberger, 1987) supports this conclusion, and further emphasizes the relative infancy of AI research in manufacturing systems. Various other reviews of research systems developed for real world problems emphasize the different approaches that are based on problem solving methods, or knowledge representation schemes, or application domains, or programming shells or languages, concluded that most systems were still at the prototype stage (Miller, 1985; Rao & Lingaraj, 1988; Kusiak &Chen, 1988; Gupta & Chin, 1989).

Review papers have classified the research along various dimensions, such as representation techniques or application domains, etc. (Rao & Lingaraj, 1988; Kusiak & Chen, 1988). Various representation techniques have been used, that include rule-based systems, constraint- based analysis, fuzzy logic, hierarchical decomposition, petri-nets, state-space search, heuristic search, and dis- tributed processing. The areas in which these techniques have been used include job-shop and shop-floor schedul- ing, scheduling flexible manufacturing systems, logistics planning, project management, capacity planning, layout planning, aggregate planning, and forecasting.

A recent paper by Byrd (1993) presents an interesting observation. Byrd surveyed 74 private organizations and found that "ESs are slowly but surely moving into private organizations" (Byrd, 1993).

A paper by (Szelke & Kerr, 1994) comprehensively reviews the field of reactive scheduling and its applica- tions. Szelke and Kerr note that conventional approaches (Operations Research techniques) have been generally unsuccessful in shop-floor applications because of sim- plifying assumptions, lack of flexibility, prohibitive computing times, and utilization of only a fragment of scheduling knowledge that exists in the domain. They further note that AI and knowledge-based approaches "represent an important step towards the required expressiveness, flexibility and responsiveness in han- dling realistic scheduling problems."

In Intelligent Scheduling (Zweben & Fox, 1994), the

editors report on several AI-based scheduling systems that have succeeded in diverse domains such as space applications, semiconductor manufacturing, heavy manu- facturing and defense logistics. The scheduling approaches are categorized under two broad headings: constructive methods and repair methods. In the former, schedules and plans are constructed by incrementally extending partial schedules or plans. In the latter approach, the system iteratively modifies completed schedules to remove conflicts or further optimize the solution. Both approaches have resulted in relatively successful prototypes and implementations of systems.

It would be interesting to review a few systems that have been developed over the years to highlight the various approaches that have been used and the different applications to which the systems have been targeted.

An early work by Tonge (Tonge, 1960) described a heuristic program for assembly line balancing. The approach was to group adjacent tasks into compound tasks, solving the simpler problems thus created by assigning tasks to work stations at the least complex level and breaking up the compound tasks only when necessary. In another effort, to schedule jobs in a manufacturing setting (Bullers, Nof & Whinston, 1980) explore the representational issues in using predicate logic to address the complexity of the shop-floor.

A lot of research effort followed from the pioneering work done by Fox and Smith (Fox, 1983; Fox & Smith, 1984; Smith, Fox & Ow, 1986) resulting in the ISIS and OPIS family of systems. The basis of the ISIS system is the ability to represent the manufacturing planning problem as a system of constraints that have to be searched to arrive at the plans [following the constructive method of plan construction (Zweben & Fox, 1994)]. The constraints in turn represent production factors such as due date requirements, cost restrictions, production levels, etc. Later work on the OPIS system (Ow & Smith, 1987a, b; Ow, Smith & Thiriez, 1987) deals with opportunistic problem solving and re-planning, where the idea is to constantly monitor the scheduling environ- ment such that events that can be used in the scheduling process are discerned.

Scheduling for flexible manufacturing systems (FMS) is an area that has received considerable attention. The PATRIARCH system (Morton & Smunt, 1986) uses a hierarchical planning approach to plan monitor for a shop-floor. It uses a four-tier system consisting of a strategic planning level, a capacity planning level, a scheduling level, and a dispatching level. At the scheduling level well-structured problems are solved using OR techniques, and at the last level the human user decides on the final dispatches. Another system (Sub- ramanyam & Askin, 1986) uses a knowledge-based approach for FMS scheduling. It is a prototype real-time, on-line system for selecting a part for processing, and routing of parts in an FMS that uses the current state of the FMS as a basis for decision-making. A system for

Page 3: A knowledge-based system for scheduling setup changes: An implementation and validation

A Knowledge-Based System for Scheduling Setup Changes 65

Produc t s

A

Q u e u e s

0 0 0 0

0 0 0

0

O0

M a c h i n e G r o u p s

1

Backst ream B Processes

2

c I,

D )

- . . . . . . . - - - - 3

L ',

FIGURE 1. Machine groups and product queues.

FMS scheduling was developed by Bruno, Elia and Laface (1986), and this combined two cooperating modules: the scheduler, which uses a rule-based repre- sentation, and the load evaluation module for performance analysis.

A paper by Kerr and Ebsary (1988) documents an effort to implement an expert system for production scheduling that was unsuccessful. The main reasons cited for the failure to implement the system were the inability to test the system in a real-time environment and the unavailability of objective criteria for judging the performance of the system (Kerr & Ebsary, 1988).

The Logistics Management System (LMS) was devel- oped at IBM's semiconductor manufacturing facility near Burlington, Vermont, for dispatch scheduling, monitoring and controlling manufacturing flow (Fordyce & Sullivan, 1994). LMS coordinates the actions and decisions of several logically isolated participants in a serially dependent series of activities. Support is pro- vided in two "flavors": a passive mode in which the system awaits requests from the user; and a proactive mode in which it monitors the transaction stream and actively uses its knowledge bases and models to issue alerts and recommend actions.

A number of other systems have been developed and implemented specifically for the task of semiconductor manufacturing scheduling. These deploy various approaches including decomposition of the scheduling problem into subproblems (Kempf, 1994), use of fuzzy logic to represent uncertainty in cycle times (Fargher & Smith, 1994), and agent-based distributed planning and monitoring (Hadavi, 1994).

Several systems have been reported that support a human user for scheduling in the domain of steel and glass manufacturing. The methods include cooperative scheduling (Numao, 1994), fuzzy representation of constraints for repair-based search (Dora & Slany, 1994), and a dispatch method that allows human intervention (Prietula, Hsu, Ow and Thompson, 1994).

The vast amount of research in the field of expert systems/AI systems for scheduling underscores the importance of the problem. Shop-floor scheduling efficiency ultimately affects the profitability and the competitive strengths of any manufacturing business. Much effort has been directed at this problem and the research points to the diversity of approaches that have been brought to bear on it.

3. OVERVIEW OF PROBLEM AND DESIGN

The planning and scheduling problem being considered here deals with the issue of reassigning machines, already assigned to various product groups, by executing setup changes at required times. Figure 1 shows the schematic of a general machine assignment situation on a shop-floor. Four machine groups are shown, where all the machines in one group have the same setup. Each machine group is processing jobs belonging to one product, thus, the configuration shows four products (A, B, C, and D) being processed currently. It is important to note that these machines are at the same stage of the manufacturing process, implying that the time required to process each job in the different product lines is the same. Also, the machines can be switched between

Page 4: A knowledge-based system for scheduling setup changes: An implementation and validation

66 R. De"

different product groups by changing their setups. The queues in front of the machine groups indicate the number of jobs awaiting processing. The circles indicate the jobs.

The problem of determining machine setup changes arises in situations where there aren't enough jobs available to keep all the machines running, for a given time period, in a particular machine group. A machine from this group can thus be moved to some other group if there is a need. One example of this is group 3 which is processing product C. If, simultaneously, there is another group in which a machine is short, owing to a larger queue of jobs waiting to be processed, as in machine group 1, then a setup change can be executed to move a machine from group 3 to group 1. On the other hand, if the load on group 1 is temporary, not likely to last for any significant length of time, and the lull in the traffic of material arriving at group 3 is also temporary, then it would not be judicious to execute the setup change. The problem is limited by certain assumptions: • The number of machines available to this stage of

processing is finite and limited. In the situation depicted in Figure 1, there are a total of 15 machines. If the total number of machines is K, then the total number of machine groups that can be formed is ~< K. Also, the total number of products that can be processed at this stage is ~< K.

• The setup changes are expensive. Each setup change requires at least 30% of the time required to process one job. The assumption ensures that setup changes are not arbitrarily executed and have to be planned for in advance. The cost of the setup change is determined by the cost of the dies that have to be moved and the productivity loss due to down time of the machine. Also, if the machines have to be qualified for production, there will be a cost for running sample jobs and testing them. (Qualification is the process of testing the new dies on the machine after a setup change. Typically, this involves running sample jobs through the dies, testing the processed jobs for quality, and making requisite adjustments to the dies.)

• The demand for the products is known and fixed. The "pull" created on the products by downstream proc- esses is determined by the demand.

• The scheduling requirements of backstream processes are not considered. This assumption insulates this stage of processing from scheduling and planning decisions made for backstream processes. For this problem, determination of machine setup

changes is based principally on projections of queues. The queues are projected forward for the machine (and product) groups based on processing and consumption pattems. The objective is to identify if the expected loads in front of the machines are going to be within a certain prespecified range. In case the loads are not within this range, machine setups are changed to bring them to this value. Thus, the strategy followed is to maintain a

consistent load in front of the machines to reduce idle time as much as possible. Every setup change scheduled is based on the expected loads and variations in these expectations.

Figure 2 shows an overview of how the projections are used for the setup change decisions. To begin, the current status of the floor that shows the size of the queues in front of the machine groups, as well as the status of all the jobs in the earlier stages, is considered. The queues are then projected for n periods into the future. This implies that for n periods the net size of the queue is forecasted. Once the queue sizes are available, they are compared to the desired range of values for the queue. From this it is decided whether a setup change is required, in order to provide an additional machine to a line or remove a machine from one, and the period at which this should be done. For example, if it is noticed that line A is consistently heavy for more than two (or any fixed number of) periods, say periods t, t + 1, t + 2, and line C is consistently light, a decision about moving a machine over from C to A can be made, for the beginning of the heavy load for A, at period t.

The projections are then recast from time t + 1 with the change in the status of the product lines included in the forecast. This forms the second set of projections. Again, the decisions about heavy or light queues are made and setup changes are scheduled, provided some are required. The process of projecting queues, making decisions about machine setup changes, executing the changes, and re-projecting continues until the queue sizes are all within the ranges specified, and no more machine changes are required, for the n time periods for which the projections are done. The schedules for the machine setup changes are now the setup changes that were made to average out the queues.

The queue projections are made by adding to the queue the number of jobs that are expected to arrive in the next period and subtracting from it those that will be consumed by the machines. To estimate the jobs that can arrive at the queue, all the possible jobs in a given product line which are in previous stages are considered and probability estimates are used to compute whether they will arrive at the queue. The probabilities are based on observed behavior on the shop-floor. The estimates of consumption are based on average performance of the machines, Sizes of the queues are thus projected for the different product lines. New jobs that are introduced on the shop-floor in the current time period are also stepped through in a similar manner.

4. DETAILED DESIGN

This section outlines the algorithm that was used to implement the queue projection and machine setup change decisions described above, This implementation was done for a real-life manufacturing setting and is described in detail elsewhere (De', 1993). The computa-

Page 5: A knowledge-based system for scheduling setup changes: An implementation and validation

A Knowledge-Based System for Scheduling Setup Changes 67

tions for the design are based on specific heuristics obtained from an expert scheduler. These are high- lighted.

4.1. Data Structures

At the core of the algorithm is a projection/simulation mechanism that simulates the conditions on the basis of which the decisions are made. The data structures are the basic formalism that the algorithm manipulates to perform the projections/simulations. A brief description

of the structures is provided here. The assumption being made here is that the data structures can be implemented in any suitable language. 1. The data structure that forms the basis of many

decisions is called "TIME-STATUS." This structure provides the summary status of machine groups. Each record in the structure is indexed by a time stamp, referred to as the TIME-INDEX. Each TIME-INDEX record is further associated with one or more machine-group records (this is a hierarchical organi- zation of records), within which are four fields. (See

CURRENT STATUS OF PRODUCTS ATt

PROJECTIONS FOR MACHINE SETUP CHANGES DECISIONS

PROJECTED STATUS AT t+l

PROJECTED STATUS AT t+2

I I I / I / I / I /

"~ ,... I /

" t " ( Mill Change~'~ ~ Reqdatt+l~

UPDATED STATUS WITH M/C CHANGEI AT t+l

PROJECTED STATUS AT t+2

/

UPDATED STATUS WITH M/C CHANGE

I AT'÷3 I

PROJECTED STATUS AT t+4

/ /

PROJECTED STATUS AT t÷3

/ /

/ /

/

I PROJECTED STATUS AT t+4

/ / / PROJECTED / STATUS AT / / t+3 / / / /

\ / / \ / /

( Mill Chang.~ Reqd at t+3)

PROJECTED STATUS AT t¢5

t+6

PROJECTED ~ q STATUS AT t+4

/

I FIRST SET OF PROJECTIONS

PROJECTED STATUS AT

I PROJECTED [ STATUS AT t+5

/

/

/ SECOND SET / OF PROJECTIONS

/ /

S I PROJECTED

STATUS AT t+7

THIRD SET OF PROJECTIONS

FIGURE 2. Status projections for setup-change decision.

Page 6: A knowledge-based system for scheduling setup changes: An implementation and validation

68 R. De'

TABLE 1 An Example of the TIME-STATUS Data

Structure

TIME-INDEX: 1

MACHINE-GROUP: X

NO-OF-MACHINES: 3 NO-OF-JOBS-IN-QUEUE: 3 LOAD: Average DECISION:

Table 1). The value in the MACHINE-GROUP record

would be the name of the machine group or the name of the product. The value in the NO-OF-MACHINES field would have the number of machines in that machine group. The NO-OF-JOBS-IN-QUEUE field holds the value for the number of jobs waiting to be processed in the queue for that machine group. The field LOAD is an estimation of the load on the machines and is computed by considering the con- sumption rate of the machines and the queue size (this is explained later). The possible values for this field are - - Heavy, Light, Average, or No-Machine. DECISION refers to the decision about the setup changes. Possible values for this are - - Add-Machine or Rem-Machine, where the former stands for a decision to add a machine to a particular machine group and the latter indicates the decision to remove one.

2. Another date structure is required to represent the status of jobs in backstream processes. This is referred to as the SNAPSHOT, and provides a snapshot picture, albeit an abstracted one, of the entire shop-floor. Once the projections or simulations are moved forward in time these backstream jobs then move into the queues of the machine groups and then onto the machines themselves (see Table 2).

3. A third data structure, called INPUT-JOBS is used to carry information about the demand on the system. This data structure tracks the product jobs that have to be input into the production system over the different time-indices for which the projections are being done. The values for this data structure are determined by

backcalculating the input from the demand informa- tion, given the length of the production lead time. For example, if 8 jobs of product A are wanted at time period t, and it is known that the average lead time for product A is 4 time periods, then 8 jobs of product A raw material will be input into the production system at time ( t -4) .

4.2. Algorithm

Given the above basic data structures the algorithm for performing the projections can now be explained. The basic steps of the algorithm are explained below with the help of an example of a real-life manufacturing site. Details about this site are provided later.

1. Information is read into the SNAPSHOT data structure (see Table 2), and the demand information into the INPUT-JOBS data structure. The values for the TIME-STATUS data structure are computed, beginning with a TIME-INDEX of 0 (designating the initial state).

Example: The SNAPSHOT shown in Table 2 is an abstraction of the actual status of the shop-floor. The table shows the status of the floor at the given time-index. The numbers designate the number of jobs of the different products at the different stages of processing. The first three stages constitute the "backstream" processes depicted in Figure 1. The last two columns show the number of jobs in the fourth-stage queue and on the machines in this stage (as there is only one lot on any machine at any time, this number also indicates the number of machines).

2. The SNAPSHOT data structure is replicated and filled in for the number of periods for which the projections are being done (let this number be N). The specific mechanism used for moving jobs in the backstream processes is based on historical averages obtained from the shop-floor. The averages, in our example, are in the form of probability figures, in a "transition matrix." (This is not to be confused with a Markov Table, as the lots here can progress across the stages only in the specified sequence - - first to second, second to third, and so on.)

The transition matrix is a lookup table (Table 3)

TABLE 2 An Example of the SNAPSHOT Data Structure

TIME-INDEX: 0

Product Stage 1 Stage2 Stage3 Stage4 Q Stage4 M

A 0 2 7 9 4 B 1 8 7 1 5 C 6 2 0 8 3

Legend: (2= Number of jobs in the queue: M= Number of jobs on machines.

Page 7: A knowledge-based system for scheduling setup changes: An implementation and validation

A Knowledge-Based System for Scheduling Setup Changes

TABLE 3 Transition Matrix for Lot Movements in One Period

Process Stages First Stage Second Stage Third Stage

First Stage 0.615 0.385 0 Second Stage 0 0.675 0.325 Third Stage 0 0 0.804

Final

0 0

0.196

69

where the percentage of jobs to be moved to the next cell is determined. A "transit ion" here is the movement of a certain percentage of material from one stage to another in one time period. For example, in any one day 38.5% of the jobs in the first stage move over to the second stage and 61.5% remain in the first stage i tself (see under the first two columns of the first row in Table 3).

This matrix is derived from actual data of lot movements on the shop-floor of the manufacturing site. The information was compi led by tracking the movement of individual jobs on a daily basis, for 30 days. The matrix represents average case behavior, regardless of special products and priorities.

The net size of the queue for the different time periods is computed by subtracting from the current size of the queue the number of jobs that will be consumed and adding the number of jobs that will arrive. For the SNAPSHOT shown in Table 2 the computations for the net size of the queue are depicted in Table 4.

3. The value for the L O A D parameter is computed. This is based on a formula, which is as follows: The value of L is computed where,

2.5M + 5Q L -

3M

M = Number of machines. Q = Number of jobs in the queue.

If M = 0, then the load is set to No-machine. If Q = 0, then the load is set to Light.

If L ~< 1, then the load is set to Light. If 1 < L ~< 2, then the load is set to Average. If L > 2, then the load is set to Heavy.

.

The coefficients of M and Q in the formula for L are derived from the times required to process jobs on the machines. These numbers will depend on actual conditions at any site.

The value of L indicates the load on the system, which is a sum of the average amount of t ime that a lot, currently loaded on a machine, will take to complete, and the amount of t ime each lot in the queue will take to complete. This sum is then divided by the total number of machines available, working three shifts a day. The computed value of L is in days. This formula is based on a heuristic obtained from the expert scheduler. The processing rate of the machines is an average value that the scheduler uses also. ~ The loads computed for the example in Table 4 are shown in Table 5. The DECISION field of the TIME-STATUS data structure is filled in. This decision is based on the values of L O A D for several consecutive time periods. The logic used to determine the decisions is as follows: (a) Check if the load remains heavy for any product

for l consecutive periods. If so, mark the decision, for the product, as Add-machine.

(b) Check if the load remains light for any product for l consecutive periods. If so, mark the decision as Rem-machine.

t The classification of the queues can also be done by considering resource prices (Morton, Lawrence, Rajagopalan and Kekre, 1988). This is computed by using weights of different products, the length of the queues, and the utilization factor of the machines. In this case a higher price would imply a heavier load on the line. The classification of queues on the basis of the amount of work is similar to this approach as both rely on heuristic methods. The approach of Morton, Lawrence, Rajagopalan and Kekre is not being employed as it would provide the same effect, albeit in more detail, as the approach being used here.

TABLE 4 Projections and Queues for Fourth Stage Machines

Products L Q(t) L Q(t+ 1) L Q(t+2) L Q(t+3) L Q(t+4) L Q(t+5)

A 4 9 4 9 - 2 + 0 = 7 4 7 - 2 + 3 = 8 4 8 - 2 + 4 = 1 0 4 10-2+1 =9 4 9 -2+1 =8 B 5 1 5 1 - 3 + 2 = 0 5 0 - 3 + 3 = 0 5 0 - 3 + 2 = 0 5 0 - 3 + 2 = 0 5 0 - 3 + 2 = 0 C 3 8 3 8 - 2 + 0 = 6 3 6 - 2 + 0 = 4 3 4 - 2 + 0 = 2 3 2 -2+1 =1 3 1 - 2 + 1 = 0

Legend: L = Number of machines assigned to each product in the fourth stage; Q(t) = Number of jobs in a queue at time t.

Page 8: A knowledge-based system for scheduling setup changes: An implementation and validation

70 R. De'

TABLE 5 Loads for Fourth Stage Machines

Products Q(t) Q(t+ 1) O(t+ 2) Q(t+ 3) Q(t+ 4) Q(t+ 5)

A Heavy Heavy Heavy Heavy Heavy Heavy B Average Light Light Light Light Light C Heavy Heavy Heavy Average Average Light

Legend: L = Number of machines assigned to each product in the fourth stage; Q(t) = Number of jobs in a queue at time t.

(c) Check, for each product, for the current period only, if there is no machine assigned to it, that is, M = 0, and there are jobs in the queue, that is, Q is non-zero, then mark the decision as No- machine.

From Table 5 it is evident that the A product line has a heavy load throughout and the C product line remains heavy for two days and then becomes average. B is light all through the five days. If we let l = 2 then a machine can be changed over from the B product line to the A product line (see Table 6).

The value of l is the number of periods of "lookahead" that the scheduler is interested in. This value can be assumed for this algorithm, or it can be estimated empirically (De', 1993). Empirical esti- mation implies that the relationship of the 1 parameter with shop-floor characteristics such as number of products, number of jobs, size of queues etc., is established and a "best" value for I is sought, based upon computational experiments. In these experiments the values of the shop-floor character- istics are varied and their impact on the quality of the schedules produced is studied (with given values of I).

5. Once the TIME-STATUS structures are filled in for all the TIME-INDEXs till N, then the algorithm backtracks to TIME-INDEX 0, and looks for the first TIME-INDEX which has an Add-Machine value in the DECISION slot. (The algorithm terminates with a message if no such value is found.)

6. The index at which a product is found with an Add- Machine decision, henceforth referred to as an add-group, is termed as the jth index. At index j the algorithm searches for any products that may have a Rem-Machine decision (tern-groups). The number of add-groups and rem-groups are compared to see if they are equal in number at the jth index.

7. If the number of add-groups and rem-groups are the same then the machines from the rem-groups can be moved over to the add-groups. Here only one machine is moved from one group to another.

If, on the other hand, the number of rem-groups is greater than the number of add-groups, then the algorithm has to decide which of the products to remove machines from. This is done by prioritizing the rem-groups according to the total number of jobs each product has on the shop-floor at that time period. The lower the total number of jobs, the higher the priority for the product.

In a situation where the number of add-groups exceeds the number of rem-groups, that is, there aren't enough machines to move to the add-groups, then the algorithm simply moves the machines from the available rem-groups.

8. From the priority list of rem-groups, machines are removed and added to add-groups. The machine exchanges are marked.

Using the updated information new SNAPSHOT structures are created. These are used for projecting the status again from index j to N.

In the example, a scheduled action is now created to change over a machine from product line A. This will be executed at time period t + 1. The action is "executed" for the new projections and the new configuration of machines is shown in Table 7. (One machine is removed from the B line and added to the A line.)

9. The algorithm backtracks to the jth index. At this index, the scheduled setup changes have been made and the algorithm uses the new SNAPSHOT struc- tures from j to N to reassess the loads on the product groups and seek further setup changes.

10. It is assumed here that the total number of machines on the shop-floor that can be assigned to the final

TABLE 6 TIME-STATUS for Products A and B

TIME-INDEX: 1

MACHINE-GROUP: A B NO-OF-MACHINES: 4 5 NO-OF-JOBS-IN-QUEUE: 7 0 LOAD: Heavy Light DECISION: Add-Machine Rem-Machine

Page 9: A knowledge-based system for scheduling setup changes: An implementation and validation

A Knowledge-Based System for Scheduling Setup Changes

TABLE 7 New Projections for Fourth Stage Machines

71

Products L Q(t) L Q(t+ 1) L Q(t+ 2) L Q(t+ 3) L Q(t+ 4) L Q(t+5)

A 4 9 5 9 - 2 + 0 = 7 5 7 - 3 + 3 = 7 5 7 - 3 + 4 = 8 5 8-3+1 =6 5 6-3+1 =4 B 5 1 4 1 -2+2=1 4 1-2+3=-2 4 2 - 2 + 2 = 2 4 2 - 2 + 2 = 2 4 2 - 2 + 2 = 0 C 3 8 3 8 - 2 + 0 = 6 3 6 - 2 + 0 = 4 3 4 - 2 + 0 = 2 3 2-2+1 =1 3 1 - 2 + 1 = 0 A Heavy Heavy Heavy Heavy Heavy Heavy B Average Average Average Average Average Average C Heavy Heavy Heavy Average Average Light

Legend: L = Number of machines assigned to each product in the fourth stage; Q(t) = Number of jobs in a queue at time t. Lower half of table shows classification of the queue size.

stage is fixed and known (K). If the number of final machines is less than K then a machine is added to one of the add-groups. If the requirement for add- groups is satisfied, then the algorithm proceeds to mark the exchanges and create new structures and restart backtracking as was explained above. If the requirements for add-groups is not satisfied then more machines are added until the figure is up to K machines. At this point whatever add-groups do not have machines assigned to them have to remain unsatisfied. This is a situation where the queue loads are so heavy that not enough machines can be provided to satisfy them.

5. P E R F O R M A N C E AND VALIDATION OF SYSTEM

Based on the above algorithm a system was implemented and tested in a real-life manufacturing setting. The system is called the PLANOPTICON and the manu- facturing site is the Westinghouse Nuclear Fuels Division Specialty Metals Plant in Blairsville, Pennsylvania. The plant manufactures zirconium alloy fuel tubes that are used in the nuclear fuel industry for assembling nuclear reactors. The input raw material are zirconium alloy tubes that are processed through various stages and operations. The principal operation in this plant is that of drawing large diameter tubes down to specified smaller diameters. At the last stage of processing the tubes are drawn down to their required final diameters. Since there are always a number of products on the shop-floor, a group of machines are assigned to each. Depending on the loads building up in each group the scheduler has to decide what machine setup changes have to be done and when.

Specific heuristics for scheduling were obtained from the scheduler over an extended period of knowledge elicitation. A team of researchers, including the author, spent several months working on the shop-floor with the scheduler. Details about the facility were learned as well as the skills and techniques required for scheduling the shop-floor.

The inputs to the PLANOPTICON system are similar to those described in Section 4. These include the status

snapshot of the shop-floor and the demand information in the form of jobs that have to be input. The output from the system is a schedule for setup changes, specifying the groups from which machines have to be removed and the groups to which they have to be added and in what time period. An example of the output from the system is shown in Table 8.

5.1. Validation with Historical Record

The standard by which the performance of the system is measured is a historical record. The schedule of machine setup changes is compared with the historical record of actual machine setup changes that were executed in the shop-floor.

The metric used for comparing the schedules created by PLANOPTICON with the historical record of what was actually done, in terms of the machine setup changes, is that of counting the matches for machine setup changes executed within a particular time frame. For a given input snapshot PLANOPTICON creates schedules for exchanges or additions of machines to various product lines in specific time periods. For the same snapshot, i.e. the same date, the historical record is consulted, and if the machine exchanges or additions are similar, then these are considered matches.

The historical record that is used for the analysis is a set of pickup sheets (documents that maintain the status of the operations) collected from the Westinghouse facility. The machine setup changes that were actually executed and recorded on the pickup sheets, were done so as a result of the scheduling activities of the scheduler. An important distinction to note here is that the comparison is not between what the scheduler had actually scheduled, but between what was actually done and what the system has produced.

TABLE 8 Output from PLANOPTICON

Move From To At Index

2 Machines Product B Product C 1 1 Machine Product D Product E 3 i ! i :.

Page 10: A knowledge-based system for scheduling setup changes: An implementation and validation

72 R. De'

The matches are recorded as "hits" or "errors" and are counted as follows: If PLANOPTICON schedules an addition or removal of a machine to or from a product line in periods 0, 1, or 2, and a machine was actually added to the particular product line in either of the dates corresponding to periods 0, 1, or 2, then this is counted as a hit. If there was no actual execution corresponding to this schedule then this is counted as an error of "Type m.,,2

If an actual execution of a machine changeover took place in periods 0, 1, or 2, and a corresponding addition or removal was not scheduled by PLANOPTICON in any of the three periods, then this is counted as a error of "Type B."

A tally of hits and errors for 34 snapshots out of the total data set are used for the analysis. These snapshots are selected randomly to examine some simple statistics (there are several years worth of data available, 34 were selected as a sample). 1. The percentage of snapshot dates where at least one

hit is recorded is 85%. 2. The net hits (hits minus errors), for Type A errors, is

positive for 76% of the snapshots. 3. The net hits for Type B errors is nonnegative for

47.1% of the snapshots at the l = 4 (i.e. a lookahead level of 4 time periods) level. (The net hits are the highest for this lookahead level.)

4. For the 34 snapshots considered there were actually 266 machine setup changes executed. The total number of hits for these 34 snapshots is 110, which represents 41.3% of the total count.

5. There are 35 Type A errors and 153 Type B errors. The analysis shows that the system is far more likely

to make Type B errors than Type A errors. In other words, it is far more likely to make errors of omission, by not scheduling setup changes when they should have been done, than make errors of commission, where it wrongfully schedules a setup change. A net hit level of 76% for Type A errors is thus a very good result for the system's performance.

changes required for the shop-floor. Based on his comments we have some preliminary results that validate the performance of the system in a real-time, reactive scheduling situation.

The metric that the scheduler used to comment on the system's output was to qualify the schedules for the various lookahead levels as "Best," "Correct," or some comments such as "too early" or "too late" (for a particular lookahead level). The "Best" schedules are the ones that are reasonable and acceptable for the situation at hand. These judgements are qualitative and based on the scheduler's assessment of the overall situation on the shop-floor and the system's response to this. The scheduler selected the "Best" category for those look- ahead levels that appeared to provide the best schedules for the given situation. He used the "Correct" label to characterize those lookahead levels that seemed most suitable for the situation. The schedules with this label are less suitable than the ones with "Best." For a given day he either marked one lookahead level as "Best" or as "Correct," thus designating the hierarchy.

In some cases he used neither of these labels and indicated that the schedules produced by the system are inadequate. In this situation he would indicate the particular problem with the setup change scheduled as "too early" or "too late." These schedules are clearly wrong and unacceptable to him.

The validation of the system is thus based on what the scheduler is scheduling for the current situation as opposed to a historical record. Whether the scheduler actually used the suggestion of the system and made the setup changes can only be determined from the historical record (for which more data is needed). 1. Setup change schedules are available for 50 working

days (i.e. for 50 snapshots) and the scheduler marked "Best" for 28 of these cases. Thus, for 56% of the cases the system's schedules are reasonable and acceptable.

2. For 16 days the scheduler marked the schedules as "Correct," which is 32% of the cases.

5.2. Data from Current Implementation

The PLANOPTICON system is currently implemented and functioning at the Westinghouse facility in Blairs- ville. It is used on a daily basis by the scheduler, who prints out a schedule that corresponds to the snapshot and demand information entered in as data to the system. The system is implemented in Lisp and is running on a DOS- 486 machine running GoldWorks (a Lisp package).

The scheduler verified the schedules produced by the system against what his own ideas were about setup

2 These errors are not being classified as Type I errors in the statistical sense. Type I and Type II errors are used for classifying errors in hypothesis testing. At this moment no precise hypothesis is being tested.

6. CONCLUSIONS

This paper presented the design and one implementation of a system for scheduling setup changes on a shop-floor. The system is based on heuristics obtained from a scheduler working in a real-world domain. The heuristics are implemented in an algorithmic design that essentially relies on a deterministic simulation of the shop-floor to estimate the movement of material and uses the scenarios thus generated to make decisions about machine setup changes at furture points of time.

Scheduling setup changes is a classic problem in scheduling literature (Baker, 1974), similar to batch or lot-sizing problems, and extensive research in Artificial Intelligence/Expert Systems also has been devoted to

Page 11: A knowledge-based system for scheduling setup changes: An implementation and validation

A Knowledge-Based System for Scheduling Setup Changes 73

finding solutions to this. What becomes evident from a survey of the literature is that despite numerous approaches and methods employed to address this problem, there are few real-world implementations.

The implementation discussed in the paper is used to schedule setup changes on the shop-floor at a Westing- house Plant manufacturing (nuclear fuel) tubes. The system is currently implemented and is being used by the scheduler on a daily basis to support his decisions regarding machine setup changes. The system takes as input data about the shop-floor and the demand and produces a schedule that recommends machine setup changes for a given period of time. Both the input and the output of the system respond to the current situation, acting in a reactive, real-time mode. The system does not use any preprepared or preconceived schedules that are modified to suit the current situation, nor does it prepare an extensive set of plans and schedules from which the setup changes can be deduced. It directly addresses the problem of setup changes and scopes the solution offered to this situation alone.

The system is validated by two means, first by a historical record of the machine setup changes actually executed on the shop-floor (and comparing these with those scheduled by the system for the same input information), and second by having the scheduler assess the schedules produced by the system on a day to day basis. In the first case the comparison is between schedules produced by the system against actual execu- tions and in the second case the comparison is between the schedules and the scheduler's ideas of what the setup changes should be. In both cases the performance of the system proves to be excellent: 76% of net hits (for Type A errors) in the first case; and 88% (the sum of "Best" and "Correct" schedules) of the scheduled changes considered to be acceptable by the scheduler in the second case.

It must be pointed out that the scheduler is being somewhat "lenient" in assessing the system in the second method of validation. There are a number of factors that are external to the considerations of queue loads and demand that go into scheduling machine setup changes that the system does not consider. These include considerations such as maintenance downtime, delays in loading input material, delays in testing the material after setup changes, end-of-month inventory balancing, and unexpected fluctuations in demand. The scheduler did overlook some of the misses by the system, knowing that the system would have no way of knowing about the situation and accounting for it. In spite of this, the scheduler agrees (by personal communication) that the performance of the system is impressive.

In conclusion we can say that the system is "success- ful" and is validated by showing that it does what it is meant to do. It implements certain scheduling heuristics that can be used for a large number of problems that arise from situations in which setup changes of machines have

to be scheduled in advance. It is important to note that the setup changes are expensive and thus the need to schedule them is greater than if they were not expensive. In situations where the setup changes would require very little downtime of the machine, the heuristics obtained from this research and the results would not be applicable or useful. But, the number of problems for which setup changes are expensive is large and diverse and thus the contributions of this research are note- worthy.

7. LIMITATIONS AND FUTURE WORK

A limitation of this system is its lack of flexibility for expansion, which is an important criteria for assessing scheduling systems (Liebowitz & Lightfoot, 1993). In a situation where engineers at the manufacturing facility are constantly striving to reduce their production cycle time, improve their process quality, and design new products for expanding markets, this system would be unable to cope with any shifts in the existing structure of manufacturing. Some changes can be introduced by modifying the SNAPSHOT and TIME-STATUS data structures (Tables 1 and 2), but this would require major modifications in the code.

Future work on this system addresses this limitation. There exists an elaborate theory of machine learning and software adaptation (Genesereth & Ketchpel, 1994; Russel & Norvig, 1995), used for designing intelligent, autonomous software agents, that is useful in this context. The architecture of the system will be extended to enable it to adapt to the new situations presented by changes in the manufacturing environment, by modify- ing its own structure, with some guidance from the user. The system should be able to extend/modify its data structures, and to a limited extent, its algorithm for making decisions. This will introduce a very high degree of flexibility for the system to remain useful in dynamic environments.

Acknowledgement--This research has been funded, in part, by a grant from the University Research Council, Western Illinois University.

REFERENCES

Baker, K. R. (1974). Introduction to Sequencing and Scheduling. John Wiley & Sons.

Bruno, B., Elia, A., & Laface, P. (1986). A role-based system to schedule production. IEEE Computer, 19(7), 32-40.

Bullers, W., Nof, S. & Whinston, A. (1980). Artificial intelligence in manufacturing planning control. AIIE Transactions, 12(4), 351-363.

Byrd, T. A. (1993). Expert systems in production and operations management: Results of a survey. Interfaces, 23(2), 118-129.

De', R. (1993). Empirical Estimation of Operational Planning Horizons: A Study in a Manufacturing Domain. PhD thesis, University of Pittsburgh.

Dora, J. & Slany, W. (1994). A flow shop with compatibility constraints in a steel plant. In Zweben, M. and Fox, M. S. (Eds), Intelligent

Page 12: A knowledge-based system for scheduling setup changes: An implementation and validation

74 R. De'

Scheduling, Chapter 22, pp. 629-654. California: Morgan Kauf- mann Publishers.

Fargher, H. E & Smith, R. A. (1994). Planning in a flexible semiconductor manufacturing environment. In Zweben, M. and Fox, M. S. (Eds), Intelligent Scheduling, Chapter 19, pp. 545-580. California: Morgan Kaufmann Publishers.

Fordyce, K. & Sullivan, G. (1994). Logistics management system (lms): Intergrating decision technologies for dispatch scheduling in semiconductor manufacturing. In Zweben, M. and Fox, M. S. (Eds) Intelligent Scheduling, Chapter 17, pp. 473-516. California: Mor- gan Kaufmann Publishers.

Fox, M. & Smith, S. E (1984). ISIS - - a knowledge-based system for factory scheduling. Expert Systems, 1(1): 25-49,

Fox, M. S. (1983). Constraint-Directed Search: A Case Study of Job Shop Scheduling. PhD thesis, Carnegie-Mellon University.

Genesereth, M. R. & Ketchpol, S. P. (1994). Software agents. Communications of the ACM, 37(4), 48-53.

Godin, V. (1978). Interactive scheduling: Historical survey and state of the art. AIIE Transactions, 10(3), 331-337.

Gupta, Y. & Chin, D. (1989). Expert systems and their applications in production and operations management. Computers and Opera- tions Research, 16(6): 567-582.

Hadavi, K. C. (1994). Reds: A real time production planning scheduling system from conception to practice. In Zweben, M. and Fox, M. S. (Eds) Intelligent Scheduling, Chapter 20, pp. 581-604. California: Morgan Kaufmann Publishers.

Kanet, J. & Adelsberger, H. (1987). Expert systems in production scheduling. European Journal of Operational Research, 29, 51-59.

Kempf, K. G. (1994). Intelligently scheduling semiconductor wafer fabrication. In Zweben, M. and Fox, M. S. (Eds) Intelligent Scheduling, Chapter 18, pp. 517-544. California: Morgan Kauf- mann Publishers.

Kerr, R. & Ebsary, R. (1988). Implementation of an export system for production scheduling. European Journal of Operational Research, 33(1): 17-29.

Kusiak, A. & Chen, M. (1988). Expert systems for planning and scheduling manufacturing systems. European Journal of Opera- tions Research, 34, 113-130.

Lee, J. K., Fox, M. S. & Watkins, P. R. (1993). Guest editor's note. Expert Systems with Applications: An International Journal, 6(3), pp. 217-218.

Liebowitz, J. & Lightfoot, P. (1993). Scheduling approaches in expert systems: A study of their applicability. Expert Systems with Applications: An International Journal, 6(3), 231-235.

Miller R. K. (1985). AI applications for manufacturing. Technical publications, SEAl, Madison, GA.

Morton, T., Lawrence, R., Rajagopalan, S., & Kekre, S. (1988). Sched- star: A priced-based shop scheduling module. Journal of Manufacturing and Operations Management, 1, 13 l - 181.

Morton, T. E. and Smunt, T. L. (1986). A planning and scheduling system for flexible manufacturing. In Kusiak, A. (Ed.) Flexible Manufacturing Systems: Methods and Studies, pp. 151-164. Hol- land: Elsevier Science Publishers B.V.

Numao, M. (1994). Development of a cooperative scheduling system for the steel-making process. In Zweben, M. and Fox, M. S. (Eds) Intelligent Scheduling, Chapter 21, pp. 607-628. California: Mor- gan Kaufmann Publishers.

Ow, E & Smith, S. E (1987a). Viewing scheduling as an opportunistic problem-solving process. In Annals of OR: Approaches to Intelli- gent Decision Support. Switzerland: Baltzer Scientific Publishing Company.

Ow, E S. & Smith, S. E (1987b). Two design principles for knowledge- based systems. Decisions Sciences, 18(3), 430--447.

Ow, E, Smith, S. E & Thiriez, A. (1987). Reactive plan revision. In Proceedings of the Seventh National Conference on Artificial Intelligence, pp. 77-82, California: Morgan Kaufmann.

Prietula, M., Hsu, W.-L., Ow, E S. & Thompson, G. L. (1994). Macmeri: Mixed-initiative scheduling with coincident problem spaces. In Zweben, M. and Fox, M. S. (Eds) Intelligent Scheduling, Chapter 23, pp. 6550-682. California: Morgan Kaufmann Pub- lishers.

Rao, H. R. & Lingaraj, B. (1988). Expert systems in production and operations management: Classification and prospects. Interfaces, 18(6), 80-91.

Russell, S. and Norvig, E (1995). Artificial Intelligence: A Modern Approach. New Jersey: Prentice-Hall.

Smith, S., Fox, M. S. & Ow, E S. (1986). Constructing and maintaining detailed production plans: Investigations into the development of knowledge-based factory scheduling systems. A/Magazine, 7(3), 45-61.

Steffen, M. S. (1986). A survey of AI-based scheduling systems. In Proceedings of the Fall Industrial Engineering Conference, Boston, MA.

Subramanyam, S. & Askin, R. G. (1986). An expert systems approach to scheduling in flexible manufacturing systems. In Kusiak, A. (Ed.) Flexible Manufacturing Systems: Methods and Studies, pp. 243- 256. Amsterdam: Elsevier.

Szelke, E. & Kerr, R. M. (1994). Knowledge-based reactive schedul- ing. Production Planning & Control, 5(2), 124-145.

Tonge, E M. (1960). Summary of a heuristic line balancing procedure. Management Science, 7, 21-39.

Zweben, M. & Fox, M. S., (Ed) (1994). Intelligent Scheduling. California: Morgan Kaufmann Publishers.