Intelligent scheduling of automated machining systems

Intelligent scheduling of automated machining systems

Intelligent scheduling of automated machining systems ANDREW KUSIAK and JAEKYOUNG AHN Abstract: An automated machining system invovles concurrent use...

971KB Sizes 37 Downloads 80 Views

Intelligent scheduling of automated machining systems ANDREW KUSIAK and JAEKYOUNG AHN

Abstract: An automated machining system invovles concurrent use of manufacturing resources, alternative process plans and flexible routings. High investment in the installation of automated facilities requires an efficient scheduling system that is able to allocate the resources specified for operations over a scheduling horizon. The primary emphasis of this paper is to generate schedules that accurately reflect details of the automated environment and the objectives stated for the system. In this paper, a rule for dispatching operations, named the Most Dissimilar Resources (MDR) dispatching rule, is introduced. A scheduling algorithm for automated machining is presented. Using the previous simulation research for this topic, a rule-based scheduling system is constructed. An architecture for an intelligent scheduling system is proposed, and the system has a high potential to provide efficient schedules based on the task-specific knowledge for the dynamic scheduling environment. Keywords: computer-integrated manufacturing, scheduling, automated machining systems, MDR dispatching rule.

• • • • •

Enhanced performance. Better resource utilization. Shorter lead time. Reduced work in process. Flexibility.

With the development of automation technology, its supporting systems - planning, scheduling and control have gained importance. Production planning involves establishing production levels for a known length of time. It determines production parameters, such as product mix, production levels, resource availability and due dates. With the specified production parameters, the goal of scheduling is to make efficient use of resources to complete tasks in a timely manner 3. There have been extensive studies on scheduling manufacturing systems. These studies can be divided into three basic approaches: • Operations Research (OR) approach. • Artificial Intelligence (AI)-based approach. • Combination of OR and AI-based approaches.

utomated machining systems may involve sophisticated information systems to control automated equipment. The equipment typically includes 1

The literature on scheduling manufacturing systems using operations research techniques is rather extensive. Panwalkar and Iskander 4 divided these studies into the following two categories:

• • • • •

• Theoretical research dealing with optimization procedures. • Experimental research dealing with dispatching rules.

A

Automated machine tools to process parts. Automated assembly machines. Industrial robots. Automated material handling and storage systems. Computer hardware for planning, data collection, and decision making to support manufacturing activities.

The benefits offered by automated manufacturing systems are as follows2: • Fast response to market demands. • Better product quality. • Reduced cost. Intelligent Systems Laboratory, Department of Industrial Engineering, The Universityof Iowa, Iowa City, IA 52242, USA

The theoretical research has focused on the devleopment of mathematical models and optimal or suboptimal algorithms (see, for example, Baker 5, French 6 and Bellman et al.7). The theoretical results have not been widely used in industry due to high computational complexity of the scheduling problem. However, the theoretical approach has its own merits, mainly in capturing the problem structure. It allows an analyst to construct a model according to the characteristics of the scheduling environment. The experimental research has been primarily concerned with dispatching rules and heuristics that

0951-5240/92/010003-12 (~) 1992 Butterworth-Heinemann Ltd Vol 5 No 1 February 1992

3

Intelligent scheduling of automated machining systems

efficiently solve the scheduling problem. This approach has appealed to both researchers and practitioners. To date, over 100 dispatching rules have been developed. The research on the dispatching rules has been presented in a number of publications (e.g. Gere 8, Panwalkar and Iskander4, Blackstone et al. 9, Alexander 1°, Koulamas and Smith 1', Schultz 12 and Kusiak and Ahn 17. Cohen and Feigenbaum 14 categorized expert systems in manufacturing as hierarchical, non-hierachical, script-based (skeleton), opportunistic and constraintdirected expert systems. The most common characteristics in expert systems category are as follows15: • • • • •

on-line decision support; schedule operations dynamically; coordinate manufacturing resources; synchronize processes for different jobs; and monitor the execution of plans.

Several surveys of expert systems for manufacturing applications have been published in the literature 16-19. The operations research-based approach usually focuses on finding the 'best' schedule under the deterministic constraints, while a number of artificial intelligence approaches focus on finding of a 'feasible' schedule subject to probabilistic constraints. As pointed out by Phelps 2°, there are some similarities between the two approaches: • face similar problems; • use models for problem solving; • use heuristics when optimal methods are not suitable; • use mathematics; • use computers for their implementation; and • employ interdisciplinary analysts and designers. O'Keefe et al. 21 presented a view that expert systems and operations research methods are complementary instances of a broad range of decision making tools. Kanet and Adelsberger22 suggested that the expert scheduling systems of the future will have the reformulative ability (by expert system techniques) along with the best available algorithmic scheduling knowledge (by operations research techniques). Jaumard et al. 17 identified operations research tools which can be useful in intelligent problem solving. Perhaps the most promising architecture that is able to incorporate operations research and artificial intelligence techniques in scheduling manufacturing systems is the tandem architecture (see Figure 1), suggested by Kusiak 23. The tandem system has been designed so that a knowledge-based system interacts with algorithms. The algorithm deals mainly with quantitative and deterministic component of the scheduling problem, guaranteeing rigorous generation of schedules. At the same time, the knowledge-based system deals mainly with qualitative and probabilistic elements of the scheduling problem. Incorporation of the two approaches is possible through the communication channel. In the subsequent sections, a rule-based

4

KNOWLEDGE-BASED SYSTEM

Algorithm n 61

I

I - [~! Algorithm1

L_q

MANUFACTURING SYSTEM

I

Figure 1. Multi-model tandem architecture (thin arrows: data flow; thick arrows: solution flow)

scheduling system implemented in the tandem architecture is described. A tandem expert system architecture considered in this paper has the following characteristics24: • • • •

Capability of solving difficult problems. Flexibility for solving problems of various types. Modularized development and implementation. Sharing of intellectual resources with other control and management systems. • Increased role of communication between subsystems. In this paper, a multi-model tandem architecture embedded in an expert system shell, NEXPERT OBJECT, is used to develop an intelligent scheduling system suitable for an automated machining environment.

Scheduling framework Scheduling an automated machining system involves concurrent use of manufacturing resources, alternative process plans and flexible routings. Kusiak and Ahn 13 developed a dispatching rule (MDR rule) which has been designed to maximize the utilization of resources in a resource-constrained machining system. Ahn and Kusiak 25 analyzed the performance of a number of dispatching rules for various scheduling scenarios. The analysis was done under the assumption that the required data are complete and certain. Likewise, the objectives were assumed to be specified in advance. In many practical applications, however, scheduling under the assumption that data are complete is not practical due to unpredictable and changing manufacturing conditions. For the schedules to be flexible so that they could be updated and modified in response to the changes in the scheduling environment, algorithms should be integrated with a rule-based system.

Computer-Integrated Manufacturing Systems

A KUSIAK AND J AHN

Scheduling algorithm In this section, a dispatching rule and a scheduling algorithm z5 is briefly described.

MDR dispatching rule The Most Dissimilar Resources (MDR) dispatching rule has been developed for efficient scheduling of operations in an automated machining system where the maximization of the utilization rate of manufacturing resources is a major concern because: l. Considerable capital investment is needed to install the system. 2. Production is lost when manufacturing resources are idle. 3. Scheduling with the minimum makespan and minimimum tardiness criteria tends implicitly to maximize resource utilization over the scheduling horizon 26. For further use in this paper, a schedulable operation is defined. An operation oh is schedulable at time t, if25: 1. No other operation that belongs to the same part is being procesed at time t. 2. All operations preceding operation oh have been completed before time t. 3. All resources required by the process plan to perform operation ok are available at time t. 4. The part with operation k has been moved to a specified machine by the material handling system. The M D R dispatching rule selects the largest set of schedulable operations which satisfies the following conditions: 1. Each operation belongs to a distinct part, (i.e. more than one operation in a part cannot be processed at the same time). 2. All the operations in the set can be processed at the same time (i.e. there is no resource conflict). The MDR dispatching rule can be also represented with an operation-resource graph, G(V,E,~p), where V is a set of schedulable operations, E is a set of incidence relations among the schedulable operations, ap :ap(e) = VkV/if Z ~q = 1 m k q m j q = 0, and vh and vj do not belong to the same part. For n parts, the operation-resource graph becomes an n-partite graph and is not necessarily complete. In the operation-resource graph, each edge indicates the nodes (operations) that can be processed simultaneously, i.e. the nodes that do not share the same resources. Note that the M D R dispatching rule selects the largest set of nodes such that each node in the set belongs to a distinct part and there is no resource conflict between the nodes in the set. A clique of a simple graph G is defined as a subset S of V such that G[S] is complete. Thus, a clique in the operation-resource graph satisfies the conditions under which the MDR dispatching rule selects the schedul-

Vol 5 No 1 February 1992

able operations from the operation-resource incidence matrix, and the maximum clique in the graph corresponds to the largest set of schedulable operations from the incidence matrix. Therefore, selecting operations with the MDR priority rule is equivalent to the problem of finding the maximum clique in the operation-resource graph G. Since the MDR priority rule is to be used in real-time scheduling, it is important that the maximum clique problem is solved almost instantaneously. A general integer programming code, such as LINDO 28, is not likely to meet the latter requirement for the problem sizes encountered in industry. A more efficient way to solve the maximum clique problem is to use a specialized algorithm. To date, a number of exact and heuristic algorithms (e.g. Horowitz and Sahni 29, Papadimitriou and Steiglitz 3° and Balas and YU31) have been developed for solving the maximum clique problem. A simple pairwise counting heuristic of computational time complexity O(n 2) is presented below. Before the algorithm is presented, the following notation is introduced: P is a set of operations to be dispatched; and D(k) is the distance index of operation k, defined as the number of parts in which the number of O's in the k th column in the distance matrix is greater than 1. The algorithm constructs a set of operations to be dispatched P from a set of schedulable operations S.

Dispatching algorithm Step O. Initialize the set of schedulable operations S Step 1. Step 2. Step3. Step 4. Step 5. Step 6. Step 7.

Step 8.

and the set of operations to be dispatched P =~. If S =/: ~, then go to Step 2, otherwise, STOP. From the set of schedulable operations S, construct an operation-resource incidence matrix [mk~]. From the operation-resource incidence matrix [mkj], construct the distance matrix [d~j]. For each operation k E S, compute the distance index D(k) from the operationresource incidence matrix [mgj]. Find maximum D(k*). If a tie occurs, break it, arbitrary. Move operation k* to P. Update the set of schedulable operations: (a) Delete operation k* from S. (b) Delete from S operations which belong to the same part as the operation k*. (c) Delete from S the operations which share the same resources with the operation k* Go to Step 1.

The M D R dispatching rule is illustrated in Example 1.

5

Intelligent scheduling of automated machining systems

Example 1 Assume that the resource-operation matrix (1) is given: Resource

Machine mlm2msm4tl

Tool Fixture ~ ~ & ~ ~ ~ ~

O1

1 0 0 0 0 1 0 0 0 0 1 0

02

0 0 0 1 0 0 0 1 0 0 0 1

Part 1

O p e

[ 03

0 1 0 0 1 0 0 0 0 1 0 0

Part 2 04

1 0 0 0 0 0 1 0 0 1 0 0

[mkj] =

05

Part 3 06

0 0 1 0 0 1 0 0 1 0 0 0

Table 1. Non-due date related dispatching rules and priority indexes for operation k of part i Rule number

Rule name

Max/Min

Priority index

Rt

Most dissimilar resource

Max

D(k)

R2

Most subsequent work remaining

Max

r a t i

R3

O n

R5 R6 R7

Most operations remaining Shortest processing time Longest processing time

Max Min Max

R8

Least work remaining

Min

0 0 1 0 0 0 1 0 0 0 0 1

(1) For the matrix (1), the distance matrix (2) is computed in Step 3:

Z

tit

ltUik

R4

Most subsequent operations remaining Most work remaining

Iu,~l

Max Max

Z

tu

l e Vik

Iv, kl tik tik Z til Its Vi,

Operation O1 f

Part 1 ~ ol

[ 02 03

[dJ

02

03

M M 0 M M 0 0

0

04

05

06

1

1

0

0

0

1

M M M 0

=

Part 2 o4

1

0

M M M 1

05

1

0

M M M 1

Part 3 o6

0

1

0

1

1

O p e r a t i o n

Table 2. Due date related dispatching rules and priority indexes for operation k of part i

(2)

D(2)= 1

0(3) =2, D(5) = 1,

D(4) = 1 0(6) =2

T h e m a x i m u m value of the distance index D ( k ) is attained for o p e r a t i o n s 1, 3 and 6. In Step 5, o p e r a t i o n i is selected. T h e set of o p e r a t i o n s to be dispatched P is u p d a t e d , P = {1} in Step 6. In step 7, o p e r a t i o n s 1, 2, 4 and 5 are deleted, and then go to Step 1. A f t e r two m o r e iterations, the resulting set of o p e r a t i o n s to be dispatched P = { 1,3,6} is obtained. In a real-time scheduling e n v i r o n m e n t , schedules are usually d e t e r m i n e d by dispatching an o p e r a t i o n whenever a decision is required. F o r instance, the M D R rule dispatches an o p e r a t i o n which can be processed with as m a n y as possible other o p e r a t i o n s at the s a m e time while C O V E R T rule dispatches an o p e r a t i o n which has a potential of being late. In a sense, dispatching an o p e r a t i o n affects not only the schedulable o p e r a t i o n s that can be processed simultaneously at a specific time, but also the set of operations to be dispatched in the s u b s e q u e n t scheduling horizon. In this p a p e r , the M D R dispatching rule (myopic) is c o m b i n e d with promising l o o k - a h e a d dispatching rules. Since the M D R dispatching rule quite frequently provides a tie a m o n g operations, the m y o p i c information as well as looka h e a d information are c o m b i n e d .

6

Rule name

Max/Min

Priority index

R9

Minimum slack remaining

Min

sl~

Rio

Remaining allowance per operation

Min

di - t

RII

Slack per operation

Min

R12

Slack per remaining work

Min

M

In Step 4, the distance index D(k) is computed: 0(1) = 2 ,

Rule number

Iv,kl di - t - ti~

Ivi~l di - t - tik Z tit I t Vik

R13

COVERT 1

Max

R14

COVERT 2

Max

ck(2,2) tik Ck(3,2) tik

The dispatching rules considered in this paper are shown in Tables 1 and 2. In the two tables, the following notation is used:

t: tik: Gi:

current time processing time of o p e r a t i o n k in part i set of pairs of o p e r a t i o n s [k,l] of part i, where k precedes l Uik: set of o p e r a t i o n s succeeding o p e r a t i o n k in G i Vik: set of u n p r o c e s s e d o p e r a t i o n s of part i except of o p e r a t i o n k di: due date of part i slk : slack of o p e r a t i o n k, slk = d i - t ~t~ v,~ tit Ck(Pl,p2): penalty for delay of o p e r a t i o n k,

Computer-Integrated Manufacturing Systems

A KUSL~KANDJ AnN Step 2.

/fs& < 0

,

O,

if sl k >- E

tit

Is V~k Ck(~)l ,P2) =

2_/ Pl"p2til -- Slk Is Vik _ _ - - __

,

otherwise

Pl "P2til E l e Vik

If $1 = ~, go to Step 5; otherwise, go to Step 3. Step 3. Select an operation k ' q # in the set $1, based on a dispatching rule provided (part i* correspondong to operation k'q# is automatically selected). Step 4. Set: • Remaining processing time of operation k *, rtk. = tik*q#. • Resource status sre = 0 for c r E R k . ,

The combinations of the M D R rule with other dispatching rules are listed as Rm, i (MDR + Ri). Thus, the number of the dispatching rules available is 27 including the single and the combined ones (for details see Kusiak and Ahn13). The scheduling algorithm has been implemented so that static as well as dynamic part arrivals are handled. Before the algorithm is presented, the following notation and definitions are introduced:

Construct: • q = {qlq ~ Ai.k,\q#}. • C2 = {kqlkq 4: k ' q # , [k'q#, kq] ~ Qi*, kq

&}, • C3 = {kq[[k*q#, kq] E N c r f o r a l l c a n d r , kq E $1}. Update:

f~: completion time of operation k rtk: remaining processing time of operation k sk: status of operation k;

Sk =

1, if operation k is schedulable, 2, if operation k is nonschedulable, 3, if operation k is being processed, 4, if operation k has been completed, 5, if operation k satisfies the first two conditions in the definition of schedulability

• Set of schedulable operations $1 = $1 {k'q#} - {C 1 U 62 U 63}. • Set of nonschedulable operations $2 = $2 U C2 U C3. • Set of processing operations $3 = $3 U

{k'q#}. If S1 :/: (~, go to Step 3; otherwise, go to Step 5. Step 5.

sr~r: status of resource r of type c; sr~r =

1, if resource cr is available, 0, otherwise

Sj: Cj: Ajk: Qi:

set of operations with s~ = j, j = 1 . . . . , 5 temporal set of operations set of alternatives of operation k of part i set of ordered pairs of operations [k,/] of part i, where k and I can be performed in any order N~r: set of operatons to be performed by resource r of type c Rk: set of resources used by operation k

Set: • Completion time fk = rtk + t, k E $3. • Current time t = t + 1. • Remaining time rtk = rtk - 1. If rtk* = 0 in k E $3, then resource status Src, = 1 for c r ~ Rk.q,.

Step 6.

In set $2, construct: • q = {kq[all the preceding operations of operation kq have been completed}. • C 2 = {kqlsrc r = 1, Cr ~ Rkq }. • C3 = {kqlcurrent time - completion time of the immediate preceding operation of operation kq > x[immediately preceding operation of operation kq]}.

S c h e d u l i n g algorithm Update: Step O. Initalize the variables. • Set of schedulable operations $1 = $1 U • Set current time t = 0. • Set resource status src, = 1 for all r and c. • Operation status and sets of operations with the operation status are initialized as follows: (i) SetS1 = $ 2 = $ 3 = $ 4 = ( P . (ii) For each part, if operation k has no predecessor operations then Sk = 1; otherwise, Sk = 2. (iii) Construct $1 and $2 for operations in (ii). Step 1.

If all the operations have been completed, STOP; otherwise go to Step 2.

Vol 5 No 1 February 1992

{C1 n C2 n c3}. • Set of nonschedulable operations $2 = $2 - {Cl n q n c3}. • Set of processing operations $3 = $3 -

{k#}. • Set of completed operations & = $4 n

{k#}. Step 7.

Go to Step 1.

Rule-based scheduling system In the algorithm presented in the preceding section, once a dispatching rule is selected, all parts are

7

Intelligent scheduling of automated machining systems scheduled regardless of manufacturing conditions. In some cases, the schedules may be infeasible due to unpredictable and changing manufacturing conditions (e.g. blocking or machine breakdowns). Moreover, it is evident that the 'blind' selection of a dispatching rule might result in an inefficient schedule. In this paper, the manufacturing conditions are divided into the following categories: 1. Exogenous manufacturing conditions • scheduling objectives (e.g. maximization of resource utilization, minimization of the number of tardy parts, etc.); • system load levels; • resource constrainedness (the ratio of the number of constrained-resources to the number of unconstrained-resources); • due date assignment (e.g. constant, slack-based, total work-based, etc.); due date tightness. 2. Endogenous manufacturing conditions • changing shop status (e.g. inventory status, queuing status, bottleneck resource status, machine breakdown, etc.); • preference constraints (priority of temporal scheduling objectives). Based on the two categories of manufacturing conditions, appropriate dispatching rules and scheduling algorithms are selected (exogenous manufacturing condition), and/or modified (endogenous) by a rulebased scheduling system. The need to construct such a system arises from the fact that: 1. An automated manufacturing system requires a dynamic and accurate scheduling. 2. There is no evidence in the literature that there exists a dispatching rule that performs best under all manufacturing conditions. 3. The existing scheduling studies present the performance of dispatching rules only for narrow domains. 4. The computational results indicate that combining the MDR and other dispatching rules may depend on the manufacturing conditions. A rule-based system developed in this paper consists of four components: algorithm selector, rule selector, process reactor and rule base.

Algorithm selector Algorithm selector determines a scheduling algorithm to be used in solving a problem considered. It comprises of a set of production rules or, alternatively, a user may specify the name of the model desired. One of the main advantages of the tandem architecture is that it handles multiple models. In this paper, only one algorithm is introduced while there are many other scheduling algorithms available in the literature (for an example see Kusiak32).

8

Rule selector Rule selector provides a global dispatching rule for the scheduling algorithm, based on the exogenous manufacturing conditions. A global dispatching rule selected is fired whenever a dispatching decision is made (see Step 3 of the algorithm), unless there is a significant change in the machining shop status during the scheduling horizon. Once an inadmissible change is detected on the shop floor, the process reactor is activated to minimize the schedule disruption. The process reactor fires a temporary dispatching rule. If the equilibrium on the shop floor is restored, then the global rule begins dispatching operations. Process reactor Process reactor communicates on-line with the manufacturing facility in order to respond to the endogenous shop conditions. It modifies the process of the selection of dispatching rules in the 'warning' state, and imposes selection of operations in the 'urgent' state. A warning state is issued when the system is likely to generate infeasible schedules; for example, the number of waiting parts in front of a machine exceeds 75% of its capacity. In the warning state, the process reactor consults with the rule base, and it assigns a temporary dispatching rule that may help attaining a normal condition. The selected temporary dispatching rule is used by the rule selector. An urgent state is issued when the schedule obtained is infeasible, or it might become infeasible in the next scheduling time horizon due to, for example, blocking or preventive machine maintenance. If the above immediate situation calls for action extraneous to the dispatching rule, then the process reactor takes exception to the rule (see Step 4 and 6 of the algorithm). This is also possible through communication with the rule base. Rule base Rule base plays an important role in the entire scheduling processes. It is implemented using the NEXPERT shell. All the production rules in the rule base are divided into the following classes: Class 1. Selects an appropriate algorithm to solve the problem (model selector). Class 2. Selects an appropriate dispatching rule to solve the problem (rule selector). Class 3. Modifies the selected dispatching rule to solve the problem (process reactor). Class 4. Selects an appropriate operation to solve the problem (process reactor). Several sample production rules are presented next.

Class 1 Rule1_1. IF the machining system has more than three machines AND the number of operations in all the parts being scheduled exceeds 20

Computer-Integrated Manufacturing Systems

A KUSIAKAND J AHN

AND the scheduling problem considered has alternative process plans AND travelling times are imposed THEN solve it using the scheduling algorithm (presented in this paper)

Class 2 Rule2_l. IF the machining system has more than three mact,,es AND the number of operations in all the parts being scheduled exceed 20 AND the scheduling problem considered is static AND the scheduling objective is to minimize the makespan AND the resource constrainedness is high (RC > RC2) THEN use the MDR/MSWR dispatching rule. Rule2_2. IF the scheduling problem is dynamic AND the scheduling objective is to minimize the number of tardy parts AND the resource constrainedness is medium ( R C 1 < RC < RC2) AND due dates are assigned with MWR method AND the system is light-loaded THEN use the MDR/COVERT 1 dispatching rule. Rule2_3. IF the scheduling problem is dynamic AND parts are produced for safety stock AND the resource constrainedness is medium ( R C 1 < RC < RC2) AND the system is heavy-loaded THEN use the LWR dispatching rule.

Class 3 Rule3_l. IF the machining system has more than three machines AND the number of operations in all the parts being scheduled exceeds 20 AND the scheduling problem considered is static AND the Work-in-process, W > W0 AND the LWR dispatching rule is not used THEN replace the current dispatching rule with the LWR rule.

Expert system shell An intelligent system for scheduling automated machining facilities is being developed using an expert system shell NEXPERT 33. NEXPERT allows developers to embed portions of its inference engine in their own code, combining the advantages of knowledgebased systems and algorithms. NEXPERT offers four inferencing methods: backward chainging, forward chaining, semantic gates and context links. It also allows developers to edit rules and objects as well as build control structures, with the rules and object structures available at all times through a dynamic, graphic browsing mechanism (for details see Aiken and Sheng34). The intelligent scheduling system is implemented on an Apollo workstation.

Knowledge acquisition An intelligent system should have learning ability. A system that learns is able to improve its own problem solving ability. In this section, a discrete simulation assisted knowledge acquisition process is described. The simulation is used for knowledge acquisition due to the following35' 36: • No domain experts are available. • It is possible to build models that can predict the effects of input parameters on output measures. • Practical rules of thumb and experience are needed to use simulation as an effective tool. Computer simulation is a problem solving process of predicting the future state of a real system by studying an idealized computer model of the real system. Simulation experiments are usually performed to obtain predictive information that would be costly or impractical to obtain with real devices37. In our simulation, two normalized performance measures for parts and five measures for schedules (runs) are considered: • Normalized Average Waiting (AW) time

Aw=rmachineZA~Vj R

(1)

n" mavg

j=l where ?'machineis the number of machines, mavg is the average number of operations in a part, AWj = Z"i=I 1/n (Sum of processing time/Work in system time)i, and R is the number of runs. • Normalized Average Flow (AF) time R

Class 4 Rule4_l. IF the number of parts waiting in front of a bottleneck machine, Q,, > Q,,. THEN override the current dispatching rule AND find a feasible schedule. Rule4_2. IF a mchine is down THEN set the machine status to unavailable during that interval.

Vol 5 No 1 February 1992

AF- rmachin---~e~ A--~j n. mavg

(2)

j=l

where AFj = Z~l=i 1/n (Flowtime)i. • Normalized Average Makespan (AM) R

> ~ Tj n'mavg ~ R-j=l where Tj is the makespan in the jth run.

AM

=

rmachine

(3)

9

Intelligentschedulingof automatedmachiningsystems Illustrative example

• Normalized Average Percent Tardiness (PT) R

PT-

rmachine

E

PTj

n-mavg

. 1=I

g

(4)

where PTj is the percentage tardy parts in the jth run. • Normalized Average Maximum Tardiness (MT) R

MT_

rnaachin___.._~eE n. mavg

~Tj

(5)

j=l

where MTj is the maximum tardiness in the j t h • Normalized Average Tardiness (AT)

run.

The proposed intelligent scheduling system is illustrated with a numerical example. For simplicity, the scheduling problem is static with the objective of minimizing the makespan. The layout of a machining system is shown in Figure 2. Each of the two machining cells includes machine(s) which is (are) served by AGVs. AGVs also move parts between the machining cells and the input/output (I/O) buffer. Assume that the buffer capacity for each of the two machine cells is 3. Machine loading and unloading time for each operation are included in the processing time. The intracellular handling (travelling) times are

R

AT

~ n'mavg .

-

A Tj R

rmachin e

(6)

f:

1 =1

where A Ti is the average tardiness in the jth run. • Normalized Conditional Average Tardiness (CAT) R

CA T

-

rmachine

E

n'mavg

. /=1

CA Tj -~

J

(7)

I

I



I

I

where CA Tj is the conditional average tardiness in the jth run. Tables 3 and 4 illustrate partial knowledge obtained by simulation.

Machining cell 1

Machining cell 2

Figure 2. Machining cell layout

Table 3. Dispatching rules generating the best and the second best solutions in the static machining system for various performance measures

CRL

High

Medium

Low

Performance

Solutions

AW(3)

Best solution Second best solution

LWR MDR+LWR

LWR MDR+LWR

LWR MDR+LWR

AF(4)

Best solution Second best solution

MDR+SPT SPT

MDR+SPT SPT

SPT MDR+SPT

AM(5)

Best solution Second best solution

MDR+MSWR MSWR

MDR+MSOR MDR+MSWR

MSOR MDR+MSOR

PT(6)

Best solution Second best solution

MDR+COVERT2 MDR+COVERT1

MDR+MSR MSR

MSR MDR+MSR

MT(7)

Best solution Second best solution

MSR MDR+MSR

MSR MDR+MSR

MDR+MSR MSR

AT(8)

Best solution Second best solution

MDR+MSR MSR

MSR MDR+MSR

MDR+MSR MSR

CAT(9)

Best solution Second best solution

MDR+MSR MSR

MDR+MSR MSR

MSR MDR+MSR

10

Computer-Integrated Manufacturing Systems

A KUSIAK AND J AHN

Table 4. Dispatching rules generating the best and the second best solutions in the medium, CRL dynamic m a c h i n i n g systems for various performance measures (for details of simulation and output analysis see Kusiak and Ahn 13) Load

Light load

Normal load

Heavy load

Performance

Solutions

AW(3)

Best solution Second best solution

MDR+LWR LWR

LWR MDR+LWR

LWR MDR+LWR

PT(6)

Best solution Second best solution

MDR+COVERT1 MDR+COVERT2

COVERT1 MDR+COVERT2

MDR+COVERT2 MDR+COVERT1

MT(7)

Best solution Second best solution

MDR+COVERT1 COVERT1

COVERT1 MDR+COVERT1

MDR+COVERT1 COVERT1

AT(8)

Best solution Second best solution

MDR+COVERT1 COVERT1

COVERT1 MDR+COVERT1

MDR+COVERT1 COVERT1

CAT(9)

Best solution Second best solution

MDR+COVERT1 COVERT1

COVERT1 MDR+COVERT1

MDR+COVERT1 COVERT1

a s s u m e d to b e n e g l i g i b l e , a n d t h e e x t r a c e l l u l a r t r a v e l l i n g t i m e s a r e s h o w n in e q u a t i o n (10): I/O

MC-1

MC-2

0

1

1

1

[xw] = M C - 1

1

0

2

MC-2

1

2

0

J

I/O

c o r r e s p o n d i n g p r o c e s s i n g t i m e s a r e s h o w n in T a b l e 5. T h e p r e v e n t i v e m a i n t e n a n c e p e r i o d f o r m a c h i n e 3 in M C - 2 is s c h e d u l e d d u r i n g t i m e i n t e r v a l [20,24].

Table 5. Process plans for six p a r t s (10)

E i g h t e e n o p e r a t i o n s b e l o n g i n g to six p a r t s are to b e m a c h i n e d in t h e s y s t e m ( s e e F i g u r e 3). T h e r e s o u r c e s r e q u i r e d b y e a c h o p e r a t i o n a n d the

©Q Part 1

Part Operation Process Processing Machine Tool No. No. plan time

Fixture

1

t2 t3

fl f2

1

1

3

ml

2

4

m2

3 5 8

m3

t5

f3

m3

t6

f4

3

1 2 1

m2

tl

fl

4

1

6

m2

t3

fl

5

1 2

6 7

ml rnl

t2 t2

f2 f3

6

1 2

3 4

m3 m3

t4 t5

f4 f4

7

1 2

3 4

ml ml

t2 tl

f2 f~

8

1

4

m2

t2

fl

2

Part 2

9

1

4

ml

t3

f2

10

1

3

m3

t4

f3

11

1

3

m2

h

2

4

mx

t2

fl fl

1 2

4 5

mE rn3

t3

f~

t6

f4

15

1 2 1 2 1

4 5 3 5 3

m3 m3 mz m3 ml

t6 t4 t: t4 tl

f3 f4 fz f4 f2

16 17

1 1

5 4

m2 m~

h tz

f2 f2

18

1

8

m3

t6

f4

12 Part 3

Part 4

13 14

@ Part 5

Part 6

Figure 3. Six parts with eighteen operations

Vol 5 No l F e b r u a r y 1992

11

Intelligent scheduling of automated machining systems T h e intelligent scheduling system selects an appropriate algorithm first (in this case, the algorithm p r e s e n t e d in this paper). Since the level of resource constrainedness is 1:2:3.33, the rule selector r e c o m m e n d s M D R + M S W R dispatching rule as a global dispatching rule (see Rule2 1). H a v i n g selected the scheduling algorithm and dispatching rule, the scheduling algorithm system is activated. Scheduling of operations for machining begins at scheduling time 1 after all the parts have b e e n p r e p a r e d for m a n u f a c t u r i n g in the I/O buffer. A t scheduling time 1, the M D R + M S W R rule selects the set of operations to be dispatched P = { 1 , 16, 6}. A t scheduling time 4, operations 1 and 6 are completed, and operations 11(1) and 13 are selected by the global dispatching rule. In o r d e r to machine operations 11(1) and 13 at this time, parts 4 and 5 must be waiting in the c o r r e s p o n d i n g machining cell buffer, so that they can be loaded. T h e

Machine number 1

(2,1)

I

(2,1)

(2,2)

8

4

(1,2)

(4,4)

(2,2)

12

21

[

8

(6,3) (5,3)

(1,2)

25

(1,1)

~'-] 6

(3.2)

15

(3,1)

~'~ 1

(2,2)

14

(4,4)

16

(4,3)

3

28

(2,1)

(3,1)

[ 8 [i:.:.: :i: [ 24

28

33

(6,4)

32

Figure 4. Gantt chart of the final schedule. (i,]): (tool number, fixture number); []: alternative operation; l : machine downtime schedule g e n e r a t e d by the intelligent scheduling system is shown in Figure 4. Status of the machining cells during the entire

Table 6. Machining cell status

Machining cell Time

MC-1 Machines

MC-2

Buffer

Machine

A GVs

Buffer

t= 0 P1, P3, P6 t= 1 t= 4 t= 6

P1, P6 P1, P6 P6 P6, P4 P4 P4

t= 8 t = 11 t = 12 t = 14

P2, P6 P2, P6 P2, P6 P2 P2, P3 P3 P3

t = 15 t = 16 t = 19 t = 21 t = 24 t = 25

P2 P2 P1, P1, P1, P1 P1, P4 P3, P3 P3,

t = 28 t = 32 t = 33 t = 34

12

P2 P2 P2 P4

P3 P3

P1, P4 P1 P1, P6 P6 P2, P4, P6 P4 P4 P4 P3, P4, P2, P2, P2, P3, P1, P3 P3 P3 P2, P3 P1,

P4, P6 P4, P6 P3, P6 P3,

P6 P6* P6

P5 P5 P5 P5 P5 P5 P5 P4

P3, P4 P3

P4, P5 P4 P3, P4, P5

P4 P4 P4

P1

P6

P4 P5

P5 P5 P5

P4, P5 P3, P5 P3 P3 P3 P1, P3, P5 P5 P1, P5 P1

P1, P2, P3, P4, P5, P6 P2, P4, P5 P2, P4, P5 P2 P2 P2 P2

P1, P2 P3 P3 P3

P1 P1 P1 P1, P4 P1, P4 P1, P4 P4, P5 P4, P5, P5, P5, P6

P6 P6 P6 P6 P6

P5 P6 P5, P6* P6 P6 P6

P4 P2 P5 P1, P5

P3, P5 P6 P6

P4

I/0

P2 P2 P1, P2 P1, P2 P1, P2 P1, P2 P1, P2, P3, P5 P1, P2, P3, P5 P1, P2, P3, P5, P6 P1, P2, P3, P4, P5, P6

Computer-Integrated Manufacturing Systems

A KUSIAK AND J AHN

scheduling horizon is shown in Table 6. For example, at scheduling time 1, parts 1 and 6 are in the MC-1 buffer, part 3 is in the MC-2 buffer while all the other parts are in the I/O buffer. In this table, * represents 'urgent' status of a machining cell buffer, and the dark area shows the downtime of machine 3 due to preventive maintenance. At scheduling time 8 (when both machine cell buffers are full), urgent state is not issued since part 2 and part 6 have already been scheduled for the next operation in MC-1, and part 1 has been scheduled for MC-2. At scheduling time 14, the buffer of MC-1 is full, and there is no operation in the buffer which has been scheduled for machining. Thus, urgent state has been issued at this time. Even if operation 3 is schedulable (since all the required resources are available), it cannot be dispatched (see Rule4 1). Instead, operation 10 of part 4 is scheduled at time 16 in MC-2. At scheduling time 19, operation 18 is selected by the dispatching rule, however, machine 3 has already been scheduled for preventive maintenance. Thus, the operation waits until the maintenance period ends (see Rule 4 2 ) . At scheduling time 34, all the parts have been machined, and the scheduling system generates a schedule shown in Figure 4. Summary

In this paper, an intelligent system for scheduling automated machining was presented. By incorporating operations research and artificial intelligence techniques (tandem architecture), the proposed system has a high potential to provide efficient schedules reflecting details of the automated machining environment and accomplishing the objectives of the system. The current implementation of the system is being improved. More elaborate knowledge acquisition methods are being sought. Other scheduling algorithms can be easily incorporated into the exisitng system. Acknowledgement

The research presented in this paper has been partially supported by the grants received from the National Science Foundation and Rockwell International Corporation. References

1 Groover, M PAutomation, Production Systems, and Computer Integrated Manufacturing, Prentice Hall, Englewood Cliffs (1987) 2 Cowan, D A 'Is CIM achievable?', Proc. 3rd European Conf. Automated Manuf., Birmingham, UK (May 15-17 1985) pp 7-16 3 Newman, P A and Kempf, K G 'Opportunistic scheduling for robotic machine tending', Conf. Artif. Intell. Appl., Miami Beach, FL (December 11-13 1985) pp 168-173

Vol 5 No 1 February 1992

4 Panwalkar, S S and Iskander, W 'A survey of scheduling rules', Oper. Res. Vol 25 No 1 (1977) pp 45-61 5 Baker, K R Introduction to Sequencing and Scheduling, Wiley, New York (1974) 6 French, S Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop, Wiley, New York (1982) 7 Bellman, R E, Esogbue, A O and Nabeshima, I Mathematical Aspects of Scheduling and Applications, Pergamon, UK (1982) 8 Gere, W S Jr 'Heuristics in job shop scheduling', Manage. Sci. Vol 13 No 3 (1966) pp 167-190 9 Blackstone, J H Jr, Phillips, D T and Hogg, G L 'A state-of-the-art survey of dispatching rules for manufacturing job shop operations', Int J. Prod. Res. Vol 20 No 1 (1982) pp 27-45 10 Alexander, S M 'An expert system for the selection of scheduling rules in a job shop', Comput. Ind. Eng. Vol 12 No 3 (1987) pp 167-171 11 Koulamas, C P and Smith, M L 'Look-ahead scheduling for minimizing machine interference', Int. J. Prod. Res. Vol 26 No 9 (1988) pp 1523-1533 12 Schultz, C R 'An expediting heuristic for the shortest processing time dispatching rule', Int. J. Prod. Res. Vol 27 No 1 (1989) pp 51-61 13 Kusiak, A and Ahn, J 'A resource-constrained job shop scheduling problem with general precedence constraints', Working Paper #90-03, Department of Industrial Engineering, The University of Iowa (1990) 14 Cohen, P and Feigenbanm, E A The Handbook of Artificial Intelligence, William Kaufmann, Los Altos (1982) 15 Shaw, M J P and Whinston, A B 'Application of artificial intelligence to planning and scheduling in flexible manufacturing', in Kusiak, A (ed.), Flexible Manufacturing Systems: Methods and Studies, North-Holland, Amsterdam (1986) pp 223-242 16 Steffen, M 'A survey of artifical intelligence-based scheduling systems', Proc. Ind. Eng. Conf. Boston, MA (December 7-10 1986) pp 395-405 17 Jaumard, B, Ow, P S and Simeone, B 'A selected artificial intelligence bibliography for operations researchers', Annals Oper. Res. Vol 12 (1988) pp 1-50 18 Kusiak, A and Chen, M 'Expert systems for planning and scheduling manufacturing systems', Euro. J. Operat. Res. Vol 34 (1988) pp 113-130 19 Marucheck, A S 'Integrating expert systems and operations research: a review', Working Paper, Graduate School of Business Administration, University of North-Carolina (1989) 20 Phelps, R I 'Artifical intelligence - an overview of similarities with O.R.', J. Operat. Res. Soc. Vol 37 No 1 (1986) pp 13-20 21 O'Keefe, R M, Belton, V and Ball, T 'Experiences with using expert systems in O.R.', J Operat. Res. Soc., Vol 37 No 7 (1986) pp 657-668

13

Intelligent scheduling of automated machining systems 22 Kanet, J J and Adeisberger, H H 'Expert systems in production scheduling', Euro. J. Operat. Res. Vol 29 (1987) pp 51-59 23 Kusiak, A 'Artifical Intelligence and operations research in flexible manufacturing systems', Info. Process. & Oper. Res. Vol 25 No 1 (1987) pp 2-12 24 Kusiak, A and Villa, A 'Architectures of expert systems for scheduling flexible manufacturing', Proc. IEEE Conf. Robotics & Automat. Raleigh, NC (1987) pp 113-117 25 Ahn, J and Kusiak, A 'Scheduling with alternative process plans', Working Paper #90-18, Department of Industrial Engineering, The University of Iowa, (1990) 26 Roadammer, F A and White, K D Jr 'A recent survey of production scheduling', IEEE Trans. Syst., Man & Cybern. Vol 18 No 6 (1988) pp 841-851 27 Bondy, J A and Murty, U S R Graph Theory with Applications, Elsevier, New York (1976) 28 Schrage, L Linear, Integer, and Quadratic Programming with LINDO, Scientific Press, Palo Alto (1984) 29 Horowitz, E and Salmi, S Fundamentals of Computer Algorithms, Computer Science Press, Potomac (1978)

14

30 Papadimitriou, C H and Steiglitz Combinatorial Optimization: Algorithms and Complexity, Prentice-Hall, Englewood Cliffs (1982) 31 Balas, E and Yu, C S 'Finding a maximum clique in an arbitrary graph', SIAM J. Comput. Vol 15 No 4 (1986) pp 1054-1068 32 Kusiak, A Intelligent Manufacturing Systems, Prentice Hall, Englewood Cliffs (1990) 33 NEXPERT OBJECT, Neuron Data Inc., Palo Alto, CA (1987) 34 Aiken, M W and Sheng, O R L 'NEXPERT OBJECT', Expert Syst. Vol 7 No 1 (1990) pp 54-57 35 O'Keefe, R 'Simulation and expert systems taxonomy and some examples', Simulation, Vol 46 No 1 (1986) pp 10-16 36 Thesen, A and Lei, L 'An expert system for scheduling robots in a flexible electroplating system with dynamically changing workloads', Proc. 2nd

ORSA/TIMS Conf. Flexible Manuf. Syst.: Oper. Res. Models & Appt. in Stecke, K E and Suri, R (eds), Elsevier-Science, Amsterdam (1986) 37 Widman, L E and Loparo, K A 'Artificial intelligence, simulation, and modeling: a critical survey', in Widman, L E, Loparo, K A and Nielsen, N R (eds), Artifical Intelligence, Simulation, and Modeling, Wiley, New York (1989) pp 1-44

Computer-Integrated Manufacturing Systems