scheduling with resource management in manufacturing systems

14
European Journal of Operational Research 76 (1994) 1-14 1 North-Holland Invited Review Scheduling with resource management in manufacturing systems Jacek Bta~ewicz Instytut Informatyki, Politechnika Poznafiska, Poznan, Poland Gerd Finke Laboratoire ARTEMIS, Universite Joseph Fourier, Grenoble, France Received December 1993 Abstract: Modern manufacturing technology has made it possible to concentrate the total production process on very few NC-machines. In the metal cutting industry, mechanical parts are often produced on a single machine, as a sequence of machining operations requiring different tools. In this way, time consuming set-ups and transfers are avoided. However, the required resources, like tools, fixtures and pallets, have greatly increased in varieties and numbers. This increase imposes difficult control and management problems. A new problem area seems to emerge with this development; namely the need for techniques to solve simultaneously two linked scheduling problems: the part-machine scheduling problem and the resource alloction and sequencing problem. It is the objective of this paper to expose the problems arising in connection with these two-level nested scheduling problems and describe some concrete models and solution procedures. 1. Introduction Scheduling under resource constraints is an extension of the classical scheduling theory in which the tasks require for their processing further resources in addition to the processors or machines. This theory is already well established [3]. One of the most important and complex application areas for scheduling theory has originated in connection with flexible manufacturing systems (FMS). In this context, the tasks correspond to the parts to be manufactured and the processors are the NC-machines. Additional resources comprise tools, fixtures, pallets, and automated guided vehicles (AGV) or any other form of material handling system. There is a tendency in FMS technology to design more and more versatile machines. The production process of a part is carried out on few NC-machines which reduces the number of transfers and set-ups. For mechanical parts, where the metal cutting from a workpiece is the dominating form of manufactur- 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(94)00017-7

Upload: jacek-blazewicz

Post on 21-Jun-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Scheduling with resource management in manufacturing systems

European Journal of Operational Research 76 (1994) 1-14 1 North-Holland

Invited Review

Scheduling with resource management in manufacturing systems

Jacek Bta~ewicz Instytut Informatyki, Politechnika Poznafiska, Poznan, Poland

Gerd Finke Laboratoire ARTEMIS, Universite Joseph Fourier, Grenoble, France

Received December 1993

Abstract: Modern manufacturing technology has made it possible to concentrate the total production process on very few NC-machines. In the metal cutting industry, mechanical parts are often produced on a single machine, as a sequence of machining operations requiring different tools. In this way, time consuming set-ups and transfers are avoided. However, the required resources, like tools, fixtures and pallets, have greatly increased in varieties and numbers. This increase imposes difficult control and management problems. A new problem area seems to emerge with this development; namely the need for techniques to solve simultaneously two linked scheduling problems: the part-machine scheduling problem and the resource alloction and sequencing problem. It is the objective of this paper to expose the problems arising in connection with these two-level nested scheduling problems and describe some concrete models and solution procedures.

1. Introduction

Scheduling under resource constraints is an extension of the classical scheduling theory in which the tasks require for their processing further resources in addition to the processors or machines. This theory is already well established [3].

One of the most important and complex application areas for scheduling theory has originated in connection with flexible manufacturing systems (FMS). In this context, the tasks correspond to the parts to be manufactured and the processors are the NC-machines. Additional resources comprise tools, fixtures, pallets, and automated guided vehicles (AGV) or any other form of material handling system.

There is a tendency in FMS technology to design more and more versatile machines. The production process of a part is carried out on few NC-machines which reduces the number of transfers and set-ups. For mechanical parts, where the metal cutting from a workpiece is the dominating form of manufactur-

0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(94)00017-7

Page 2: Scheduling with resource management in manufacturing systems

2 J. Btaiewicz, G. Finke / Scheduling with resource management in manufacturing systems

ing, the production is often done on a single machine. In such a case, the system may be described by the scheduling theory of parallel processors. However, this simplification of the task-processor scheduling theory goes along with a significant increase of the additional resources. One may have several thousand metal-cutting tools and a capacity in excess of hundred tools for the tool magazines of the NC-machines. Other resources, like pallets, fixtures and AGVs, also increase in numbers and categories.

Following these observations, it appears that resource constrained scheduling theory provides an appropriate framework for FMS scheduling. These resources have to be granted in time to a task for its processing. Because of large numbers and varieties, the additional resources are of dominating impor- tance. There are problems of resource allocation, competition and sequencing. A careful management of these resources greatly influences the system performance and scheduling strategies.

The purpose of this article is to study resource constrained scheduling where the supplementary resources require a specific management. We restrict our attention to the FMS environment and present models and solution approaches under this view point.

Following [21,14,11], the issues for a successful FMS implementation may be grouped into four main levels:

1.1. Design (or strategic planning)

The issues involved are quantitative or organizational and concern the selection of parts to be produced and the choice of machines, tools, buffers, machine layout and type of transportation system.

1.2. Process planning (or tactical planning)

This problem consists of organizing the production so that the master production plan is satisfied. The objective is to obtain an efficient use of the system resources (such as machines, pallets, fixtures and tools).

1,3. Production scheduling

This level is concerned with the construction of machine (and resource) schedules which optimize certain criteria.

1.4. Control and monitoring

At this level the issue is the real-time management and the control of the day-by-day production process.

This paper concerns scheduling with resource management. While scheduling problems are solved at level 3 of the hierarchy above, resource management addresses levels 2 and 3. Level 1 is not considered here, but we refer to the recent survey [20] which summarizes analytical models in the field of FMS design optimization. The emphasis is thereby on queueing network techniques.

In the classical scheduling theory two basic sets are given: the set 3" of n tasks (parts) {T1, T2,... , T n} and the set ,~ of m processors (machines) {P~, P2 . . . . , Pro} together with the underlying rules, parame- ters and performance criteria [3]. In resource constrained scheduling, the system is augmented by s types of supplementary resources R 1, R 2 . . . . . R s available in ml , m 2 . . . . , m s units. Each task Tj requires for its processing processor Pi and certain amounts of resources specified by its resource requirement vector ?(T) = [rl(T), r2(T ) . . . . . rs(T)], where rt(T j) denotes the number of units of resource R, necessary for the processing of Tj. In the case of job shop scheduling, each operation is characterized by a resource requirement vector [3].

Resources may be discrete or continuous, renewable, nonrenewable or doubly constrained. The raw

Page 3: Scheduling with resource management in manufacturing systems

J. Btaiewicz, G. Finke / Scheduling with resource management in manufacturing systems 3

material needed for a part is a nonrenewable resource. Fixtures, pallets, AGVs and tools are renewable. But, for instance, tools may wear out or break after a period of utilization. Therefore, one is faced with problems of maintenance, monitoring and replenishment of such resources.

There are further aspects and types of resources to be distinguished in production systems: (i) I /O-resources: These are the input (or delivery) resources and output (or pick-up) resources that

have to be available at the beginning or at termination of the processing of part Tj. This class contains for instance the AGVs which have to transport the raw material from the retrieval area to the machine assigned to this task. The vehicle may then be used for other tasks. After the processing, the workpiece has to be picked up by an AGV and transferred to another machine or to a storage area.

(ii) Processing resources: These resources have to be available during the production process. The most important member in this category are the tools which are loaded into the tool magazine of the NC-machine.

We shall concentrate on models and techniques in the following three directions. First we want to reduce the resource requirement altogether. This is achieved by taking advantage of flexible process plans. Then we consider the management of processing resources (tools), and finally the management of I / O resources (AGVs). Our main environment is the task-processor scheduling. The additional re- sources have to be at the right time, in the right number and at the right place. Management strategies will help to avoid bottlenecks due to these resources (due to congestion of the vehicles, due to the nonavailability of a tool). In the general case, the task-processor scheduling has to be integrated with the resource allocation and scheduling. Typical for the area of scheduling with resource management are therefore nested (two-level) scheduling models.

2. Alternate process plans

It is important in an FMS to keep a pool of good process plans for each part (task) in order to increase the system flexibility. Mechanical parts are obtained by using numerous cutting-tools to remove metal in form of chips from a workpiece. The complete production process may be described as the removal of a set of elementary volumes. Certain groups of elementary volumes can be cut by specific tools using appropriate fixtures. One may develop integer programs to minimize volume machining costs. The basic model is a set-covering problem to ensure the removal of all elementary volumes required for the finished product [10]. There are further technological constraints, in connection with tool utilization as well as precedences. Suboptimal solutions, i.e. good process plans, are obtained by any of the well-known heuristics for the set-covering problem (that allow to incorporate the additional technical constraints). In other areas, for instance in assembly systems, one is faced with a combinatorial explosion for the number of possible operative assembly sequences. In such cases, it might be advantageous to disassemble the final product and reduce the solution space by considering at each stage only the feasible and stable subassembly systems [15].

2.1. Resource minimization

The FMS production planning problem is usually decomposed into a number of subsets or batches. The batching problem specifies the part types and the part mix to be produced during the next production periods. At this level only aggregate measures are given.

For a given production horizon, it may be useful to select process plans that reduce the total resource requirement. We adopt and simplify the model of [12]. Let us use the following notations: 5 r = {1, 2 . . . . , n} is the index set for the parts to be manufactured; Sj is the index set of possible process plans for part Ti, S 1 U S 2 U • • • U S n = {1, 2 . . . . , p} K = {1, 2 , . . . , s} is the index set of the available resource types.

Page 4: Scheduling with resource management in manufacturing systems

4 J. Bta~.ewicz, G. Finke / Scheduling with resource management in manufacturing systems

Define the part-resource incidence matrix A = (aik) where

1 if production plan H i ~ { 1 . . . . . p} requires type R k , k ~ K ,

aik = 0 else,

and introduce the variables

if production plan Hi is selected,

else,

if resource type R k is needed for at least one of the selected production plans

else

We obtain the following integer programming formulation:

Min z = ~.~yk k = l

(2.1)

subject to E Xi = 1, j ~ ,~-, (2.2) i~S i

P

E aikXi <- nYk, k ~ K , (2.3) i~ l

x i ~ {0, 1}, Yk ~ {0, 1}. (2.4)

Constraint (2.2) ensures that exactly one process plan is selected for each part. The quantity (~,iaikX i) indicates therefore the number of times resource type R k is needed in the set of selected plans. If this sum is zero, one has to set Yk = 0 in constraint (2.3) since EYk is to be minimized. A positive sum implies Yk = 1 and the number of resource types is counted correctly in (2.1).

The following simple heuristic turns out to provide very good suboptimal solutions: - Generate a random permutation [1], [2] . . . . . [n] of the set of parts {1, 2 . . . . , n}. - Select the process plans in the order SEa 1, St21 . . . . ,Stn I as follows:

(1) //[11 is the plan in S[q that requires the smallest number of resource types. (2) Htz I ~ St21 such that the least number of resources are added to the ones of Htl 1. Define the

combined set of resources R t2) = Res (H 1 ) tO Res (H 2 ) required for the selected plans. [] [] E (2) (3) Ht3 J St3] adding the fewest additional resources to R , etc.

Numerical experience shows that even for large scale problems the best detected solution in a large number of reruns (i.e. using different permutations) is usually found at an early stage (less than 10 runs).

22. Flexible job shops

In [14] a model is described where, during one production period, different production plans for the same part are used parallely. The plans are given as alternative routings, i.e. machine sequences. The goal is to find the best routing mix for a given batch. The following parameters and notations are used: i - part type index (i = 1, 2 . . . . . n); j - routing index ( j = 1, 2 . . . . . p); k - mactiine index; N,. - number of part type i to be produced during C; tij k - time to perform the operations on part i assigned to machine k in case route j is selected.

The decision variables, to be found, are: nij - numbers of part type i produced according to route j; C - production makespan.

Page 5: Scheduling with resource management in manufacturing systems

J. Bta~.ewicz, G. Finke / Scheduling with resource management in manufacturing systems 5

The following formulation is proposed:

min C

subject to p

~,, nij > N i V i , /=1

~_, ti~knij < C V k , i = l j = l

C > 0 nij>O integers Vi, j.

Rounding the linear programming relaxation and adjusting accordingly C will yield near optimal integer solutions. However, the total execution time on each machine k is only computed in aggregate form. C may be a rather weak lower bound if one actually wants to schedule the jobs on the machines.

3. Management of processing resources

For a given production horizon, we are confronted with the part-machine scheduling problem. Any solution of this Part-Schedule may be visualized by its Gantt chart. As a task (part) Tj needs certain processing resources, described by its requirement vector ~(Tj), we have to supply and reserve these resources for this task, i.e. they have to be available at the appropriate machine during the processing of Tj.. Hence the Part-Schedule induces a resource-machine schedule, Res-Schedule. In its simplest form, we have to allocate the processing resources to the various machines. Therefore the unique constraint is not to exceed the given number m k of resource type R k at any time t of the Part-Schedule.

Let ~-(t) be the set of tasks assigned to the machines at time t. Then the schedule is feasible (with respect to the processing resources) if and only if

~?~ rk(Ti) <_m k (3.1) ~eJ( t )

for all t and all processing resources R k. The classical scheduling theory under resource constraints [3] deals with this form of scheduling

problems. The results are of limited use in manufacturing systems since one is faced with large numbers of different resource types. Processing resources comprise mainly tools, but also fixtures that are necessary to hold the part if a certain tool is used.

We shall concentrate on the tools as processing resources. Usually, one has a two-level tooling system consisting of the main tooling reservoir (tool crib) and the tool magazine on each of the NC-machines. Tool movement is done by an automatic handling system. Very complicated scheduling problems arise if tools share the part transport vehicles (AGV).

Let us assume that the tool handling system is dedicated to the tool transport. Of course, every tool required for the processing at a machine has to be in the corresponding tool magazine. The tool magazine of machine ~i has a limited capacity c i. In well dimensioned production systems, the tool requirement for a part Tj assigned to P,. will satisfy

Erk(T~) <- cl. k

Here it is assumed that each tool occupies a single slot in the tool magazine. In general, several slots may be required by certain tools which reduces further the tool capacity. The tool magazine has to be rotated to bring the next tool into exchange position with the current tool in operation. Very often this exchange step does not cause a time delay, apart from the small time span that is needed to adjust the spindle to

Page 6: Scheduling with resource management in manufacturing systems

6 J. Bta~ewicz, G. Finke / Scheduling with resource management in manufacturing systems

the new tool size. However, if the actual machining time is small, the search time for the tool and the rotation time may become significant.

The transportation times between the crib and the tool magazines are not negligible. The main issue of tool management is to regulate the tool flow during the production process. The tool flow problem, Tool-Schedule, is directly related to Part-Schedule. At each time event, i.e. start of a new task, the machine has to be set up properly if tools are missin~ for its processing. Tool insertion imposes idle and waiting times in Part-Schedule.

Interesting technical details can be found in [23]. A case is mentioned where 16% of the scheduled production time is missed because tools are not available. Cost factors are also significant: 25% of the initial investment of an FMS may be due to tools and fixtures. Scheduling with tool management is meant to be the simultaneous solving of the problems Part-Schedule and Tool-Schedule. The few remarks above show already that there cannot be any uniform approach to all FMS situations. We shall in the following describe some particular models and solution methods to such scheduling problems.

3.1. Integer programming models

A variety of linear and nonlinear integer programming models that deal with tooling constraints have been proposed in the literature. These models are, above all, allocation problems:

(i) Allocation of sufficient processing time to each machine during each production period so that the total production requirement is satisfied. This regulates the workload assigned to each machine and gives the batch size of each part to be produced in different production periods.

(ii) Allocation of the appropriate tools to the tool magazines. Tools of each category are available in limited numbers and the tool magazines have a limited capacity. Usually all required tools are loaded at the beginning of each production period and remain resident throughout the period.

In general job-shop systems, where the parts require a sequence of machines, the time allocation (i) is quite insufficient to solve the Part-Schedule problem. Such difficulties arise in early formulations, e.g. [21]

As mentioned earlier all required metal cutting operations from a workpiece are quite often done on a single machine. The tool management in such situations is modeled in [24]. Rounding fractional solutions to obtain integer numbers of parts to be produced during the periods will yield good suboptimal solutions.

The actual tool management in [24] is achieved through the objective functions. For instance, it is proposed to minimize the number of production periods. This criterion is important if the set up of the machines with new tools is time consuming (but independent of the number of tools that have to be exchanged). A further proposal is to minimize the total number of tool switches between the different production periods.

3.2. Job shop scheduling with tooling constraints

One disadvantage of the models in Section 3.1 is the rigid tool allocation for each period. The result is a large tool inventory and a particular tool may be idle for long time intervals.

We turn now to more dynamic models. Let the Part-Schedule problem be a general job-shop scheduling problem. This problem is of course, even without tooling constraints, notoriously hard. Each time instant where the tool magazine of a machine is modified, is called a switching instant. The tool management problem consists of finding the optimal schedule for the tool switching instants in a given production schedule or Part Schedule.

These problems have been analyzed in [25] and [9]. It is assumed that the switching instant lasts a +/3r time units, where a and /3 are constant and r is the number of tools that are replaced. The objective is to minimize the makespan.

As an illustration, we reproduce the example in Figure 3.1 from [9].

Page 7: Scheduling with resource management in manufacturing systems

J. Bta2ewicz, G. F i n k e / Scheduling with resource management in manufacturing systems 7

Process plans

~ . . ~ A I(1,1,x) (2,1,x) (3,1,x)

B 1(2,1,x) (1,2,,) (3,1,x)

[7 c [(3,zx) C2,1,y) 0,2,x)

triple: (machine number, processing time, tool requirement) capacity of each tool magazine: 1 cen£tantg:e :2 and 8=0

t-.,,,,,,,H., = s wit c h i n g instant

machine 1 •

machine 2 ~ machine 31 I

I I I I I '1 0 1 2 3 4 5

• I I

I I I I I I I I 6 0 1 2 3 4 5 6 7 8 9

optimal job shop schedule (without tooling)

same solution with insertion of switching instants (non optimal)

machine 1 [ ] ~ [ I m • I machine 2 ~

rnachine 31 I I I I I I I I I I l I I I I I I I I I 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5

optimal job shop schedule same solution without tooling with tooling (non optimal)

Fig. 3.1. Three machine three task job shop problem with tooling.

There are interesting and unexpected combinatorial phenomena that occur and are described in [9]. As demonstrated in Figure 3.1, the optimal solution with tooling seems to be nontrivial, even if the optimal job shop schedule is known. As pointed out in [9], the following problem has unknown complexity: Suppose the order of the operations on each machine is given. Where should one place optimally the switching instants? In Figure 3.1, the switching instants are predetermined by the sequence since the capacity of the tool magazines is one. For capacities > 1 it is neither the best to place the switching instants as early as possible nor to place them as late as possible.

The number of switching instants is variable (see the two feasible solutions in Figure 3.1). If the sequence of operations and the number of switching instants on each machine are given, the complexity of the problem remains still unknown.

The only solution approach to these problems are tabu search techniques, proposed in [25] and enhanced in [9].

3.3. Pure resource scheduling

Let us consider the very restricted case of a single NC machine. For a given collection of parts to be produced on this machine, we want to determine the optimal sequence in the presence of tooling constraints. The only cost or processing time delay is caused by a modification of the tool magazine. Each

Page 8: Scheduling with resource management in manufacturing systems

8 J. Bta2ewicz, G. Finke / Scheduling with resource management in manufacturing systems

modification or switching instant lasts again a +/3r time units. The performance criterion is to minimize the total delay, Ev~r (a + ~r~), where F denotes the index set for the switching instants that are required to produce the given collection of parts. We would like to concentrate on the case a = 0. This means, we want to minimize the total number of tool switches.

Although this seems to be a very hypothetical situation, such a system has in fact been observed [13]. In this system the tools are very heavy and are exchanged one by one. The tool magazine is relatively small and each part requires (approximately) the full capacity. In this case, each pair of tasks Tj, T k defines a transition cost (the number of tool exchanges). Consequently, the problem of minimizing the total number of tool switches is equivalent to the traveling salesman problem (including a common initial and terminal task that corresponds to the complete loading and removal of all tools from the magazine).

The tool switching problem has been introduced in [22]. It is shown in [7] that this problem is already NP-hard if the capacity of the magazine is two. In general, the tools necessary for a part will fill only partially the tool magazine. In our case we may assume that the magazine is completely loaded at all times. Then we obtain an additional management problem: What tools should be used to fill the unused positions in the tool magazine?

As pointed out earlier, we have a two-level tooling system (the crib and the magazine). There is a very interesting analogy to the so called paging problem in computer systems [8]. This problem arises in two-level memory systems: a fast memory with a limited capacity and a slow memory. Pages are requested one at a time and they have to be in the fast memory in order to be used. If a page is in the slow memory, a page fault occurs, i.e. this page has to be exchanged with a page in the fast memory. The objective is to minimize the number of page faults.

A comparison of these two problems, tooling and paging, shows that the tool switching problem is slightly more general. Instead of a sequence of single requests, we have a bulk request of tools since a new part may require several new tools.

For a fixed sequence of page requests, the optimal strategy has been discovered by Belady [2]: Exchange a requested page that is in the slow memory with that page in the fast memory for which the next request is farthest in the future.

For a given sequence of parts to be produced with the corresponding bulk requests of tools, the optimal strategy has been formulated in [22] as the rule KTNS: Keep the Tools in the magazine that are Needed Soonest. An example from [22] is displayed in Figure 3.2.

part

tools

tool

pan

1 2 3 4 5 6 7 8 9 1 0

1 1 1 1 1 1

1 1 1 1 1

1 1 1 1 1 1 1 1 1 1

1 1 1 1 I

Production sequence in natural order capacity of tool magazine:4 Optimal tool loading (with 14 tool switches)

1 2 3 4 5 6 7 B 9 10 1 1---2 2 2 2----1----3 3----1 4----3----6 6 6----3----5 5 ~----2 8 8 8 8 8 8----9---8 8---4 ~----~----7 7 7 7 ? 7 7 ?

Fig. 3.2. Op t ima l too l management .

Page 9: Scheduling with resource management in manufacturing systems

z Bta2ewicz, G. Finke / Scheduling with resource management in manufacturing systems 9

Of course these two principles are identical (and so are their proofs of optimality). This analogy has been made in [17] and [18].

In general, one has to find the best task sequence with the fewest number of tool switches. Only suboptimal solution methods are possible. The heuristics in [22,7,17] are based on methods derived from TSP procedures. Inspired by the analogy to the paging problem, we have modified the partitioning algorithm from [8] which is in a sense the best (i.e. strongly competitive) randomized algorithm. Numerical experience shows that the resulting heuristic for the tool switching problem is superior to the TSP based methods [18].

So far, we have considered switching instants of the form a +/3r with no set-up times (a = 0). Also the other extreme case: /3 = 0 and a arbitrary is discussed in [22]. This case leads to a difficult partitioning problem. The best numerical results are given in [16], based on a set-covering formulation and a column generation approach. No methods have been reported for the one-machine problem with general switching instants (i.e. a and 13 arbitrary).

4. Management of input-output resources

In this Section we will describe management strategies of input -output resources, taking into account automated guided vehicles and robot arms. As we have indicated, these resource management strategies are nested with the general scheduling approaches, where tasks (parts) are to be processed on processors (machines) in the shortest possible time and transportation delays are to be included. As we already discussed in Section 3, an assignment of parts to machines - Part-Schedule, will induce an input -output resource schedule - Res-Schedule, where input -output resources, for the examples that we would like to describe, stand for automated guided vehicles (AGVs) or robot arms. In fact, these resources could include any material handling system dedicated to the transport of parts and raw material.

4.1. Scheduling vehicles in F M S

In general vehicles should deliver pieces of raw material (or semifinished parts) to machines and then pick them up after machining operations are done. Thus, each Part-Schedule induces a vehicle routing problem with time windows, in other words a corresponding AGF-Schedule . As we have already discussed, modern flexible manufacturing systems tend to be very versatile such that a parallel, identical machine system can be used to model them. One of the examples of such a system has been given in [4], where an FMS producing parts for helicopters has been analyzed. Description of the system is given in Figure 4.1. Pieces of raw material, from which the parts are machined, are stored in the automated

r--n m ]

/"NB f'XB /"N~ / "X 8

Fig. 4.1. An example FMS systems.

77 V7

Page 10: Scheduling with resource management in manufacturing systems

10 J. Bta2ewicz, G. Finke / Scheduling with resource management in manufacturing systems

storage area AS (1). Whenever it is necessary, an appropriate piece of material is taken from the storage and loaded onto the pallet and vehicle at the stand (2). This operation is performed automatically by computer controlled robots. Then, the piece is transported by an AGV (7) to the appropriate machine (6) where it is automatically unloaded at (8). Every machine in the system is capable of processing any part. This versatility is achieved by a large number of tools and fixtures that may be used by the machines. Tools, required for the various machining operations of a given piece of material, are loaded into the tool-magazine (4). Tool-magazines are loaded automatically by robots (5) with suitable tools which are taken from a large-storage area (3) (containing up to 2000 tools). The delivered piece of raw material is mounted onto the appropriate fixture and processed by the tools which are changed according to an automatic tool switching plan. After completion, the finished part exchanges its position with a new workpiece waiting for its processing. It is then automatically transported by an AGV to the inspection section (9). Parts which passed the inspection are transported and unloaded at the storage area for finished products (10). The above system reflects a common tendency in modern flexible manufacturing systems where the main production process can be accomplished by just one machine type (or at most two if one includes the inspection) [10]. Thus, as the result one gets a system consisting of identical parallel machines. Hence, the problem is reduced in fact to that of simultaneous scheduling and routing of parts among parallel machines. (Inspection stage can be postponed in that analysis, since it is performed separately on the first-come-first-served basis). The model used to describe the processing of parts (tasks) is essentially the same as discussed in Section 1. However, one should take into account the transportation of parts to appropriate machines which require different delivery times. Hence, one may assume that AGV's V1, V 2 , . . . , V k are to deliver the raw material from the storage area to specified machines and the time associated with the delivery is equal to zi, i = 1, 2 , . . . , m, (k _< m). The delivery time includes loading time at the magazine and unloading time at the required machine, sum of those being equal to a. During each trip exactly one piece of raw material is delivered because of the dimensions of parts to be machined. After delivery of a piece of raw material, the vehicle takes a pallet with a processed part if one exists (maybe from another machine), delivers it to the inspection stage and returns to the storage area (1). The round trip takes A units of time, including two loading and two unloading times. It is obvious that a very efficient usage of vehicles, in the sense of the throughput rate for pieces delivered, is achieved when the vehicles are operating at a cyclic mode with the cycle time equal to A. In order to avoid congestions of vehicles it has been assumed that starting moments of successive vehicles at the storage area are delayed by a time units.

The problem is now to construct a Part-Schedule and an AGV-Schedule such that the whole task set is processed in a minimum time. It is easy to see that the general problem stated above is NP-hard, as it is already NP-hard for nonpreemptive scheduling on two machines (cf. [6]). However, the problem is not strongly NP-hard. A pseudopolynomial algorithm based on dynamic programming can be constructed. We briefly describe the method.

Assume that tasks are ordered in a non-increasing order of their processing times, i.e. pl - - > P 2 > " " "

>---Pn- 1 >" Pn" The following dynamic programming algorithm solves the problem optimally [4]. Define

x j ( t 1, t 2 , . . . , t m ) =

' t r u e ,

f a l s e ,

if tasks T 1, T 2 . . . . , Tj can be scheduled on machines P1, P2 . . . . .

Pm in such a way that P1 is occupied in time interval [0, ti],

i = 1, 2 . . . . . m (excluding possible idle time following from vehicle

scheduling), and the AGV-Schedule is feasible,

otherwise,

where

tm) = [ t rue , i f t i = O , i = l , 2 . . . . . m, Xo(tl, t2

' ~ false, otherwise.

Page 11: Scheduling with resource management in manufacturing systems

J. Bla2ewicz, G. Finke / Scheduling with resource management in manufacturing systems 11

Using these variables the recursive equation can be written in the following form

xj( t~ , t 2 . . . . . tin) = ~/ [ x j _ l ( t 1, t 2 . . . . . ti_ 1, t i - P j, t i + l , . . . , t m ) i = 1

A Z i j ( t 1, t 2 . . . . . t i_ 1 , t i, t i + l , . . . , tin) ] •

where

t r u e , i f

Z i j ( t l , t2 . . . . . t i , t i+l . . . . ,tin) = ] or

f a l s e ,

t i - -pj - - t i >_~ ( [ j / k ] - 1)A + [ j - ( [ j / k ] - 1)k - 1]a

j < m ,

otherwise,

is the condition of the AGV-Schedule feasibility. Values of x j( • • • ) are computed for t i = 0, 1 . . . . . C; i = 1, 2 , . . . , m, where C is an upper bound on the minimum Part-Schedule length Cma x. Finally, Cma x is determined as

• = min{max{tl , t2, . tm} X n ( t l , t 2 , . . , tm) = true}. C m a x " " , " •

It is not hard to check that the above algorithm solves the problem in O ( n C m) time. Thus, for fixed m, it is a pseudopolynomial-t ime algorithm, and can be used in practice, provided the number of machines m is rather small.

The above model can also be generalized to cover a two cycle case in which machines are located on both sides of the tool storage area [5]. In addition to the above scheduling problem the question arises of how to avoid collisions of vehicles travelling on two tracks with a common part between the inspection stage (9) and the magazine (1) (cf. Fig. 4.1). Assuming a routing strategy that keeps a regular cyclic flow of all vehicles at constant time distances on the two cycles, a collision free procedure with a minimum overhead has been developed in [5]. It consists of the following: - controlling the constant speed of vehicles; - releasing them from the stand (2) at times that are incongruent integers modulus the greatest common

divisor of the two cycle times - inserting idle load ing /un loading operations, if necessary, so that the cycle times are constant.

The two cycle case appears to be too difficult to allow for a construction of optimal Part- and AGV-Schedules in a reasonable amount of time. Instead, a simplified problem consisting of finding a feasible AGV-Schedule , provided a Part-Schedule was given, has been solved by a dynamic programming approach. It is worth mentioning that the above reasoning can be also extended to cover the k-cycle case [51.

4.2. Scheduling robot moves in a robotic cell

Another example of input-output resources are robots feeding machines in a cell. The cell consists of one or more production machines, the robot, and a material handling mechanism for delivering parts into and out of the cell. An example robotic cell with two machines P1 and P2 and one robot is shown in Figure 4.2. In this system, the machines perform drilling and boring operations. The robotic cell, which is used to produce a set of parts of the same or different types at specified production rates, is a flow-shop manufacturing system where each part has to be processed on machine P1 and then on machine P2. Parts are brought to input buffer I by an index conveyor. Transfer of parts from I to P1, P1 to P2 and P2 to O is carried out by the robot. The finished parts are removed from the output buffer O by a belt conveyor. Since the robot in such a cell performs repeated sequences of pickup, move, load, unload and drop operations the performance of the cell will depend on the sequence of the different robot activities as well as on the sequence of different parts to be produced in the cell. Thus, the problem of maximizing the cell's performance belongs to a new class of nested scheduling problems, where a Part-Schedule should be constructed together with a Robot-Schedule. In general, it is usual to first forecast the demand

Page 12: Scheduling with resource management in manufacturing systems

12 J. Bta~ewicz, G. Finke / Scheduling with resource management in manufacturing systems

';Me

I conveyor I I outgo,~g I

N, , , ' v

J incomin t B

Op~50A cross pin drill

11 n i

Fig. 4.2. A robotic cell with two machines and one robot.

for various part types, determine the product mix ratios, identify the minimum number of parts of each type that satisfy the required ratios, and then produce the minimal part set in a cyclic fashion, see [26]. In general, such problems turned out to be NP-hard. In the present paper we will show an approach presented in [19] to solve a simplified problem of constructing the sequence of robot moves that maximizes the long-run average production rate for one part type and two machines. We will set up the subject more precisely. - A simple part requires for its completion a time units on machine P1 and b time units on machine P2. - Each pickup, load, unload, and drop operation performed by the robot takes an • > 0 amount of time. - The input buffer, I, machines, P1 and P2 and the output buffer, O, are located on the arc of a circle

with the robot at the center of the circle. Adjacent location pairs are (I, P1), (P1, P2), and (P2, O). The robot travel time between any pair of adjacent locations is assumed to be t~. Travel between any two locations is accomplished by traversing a sequence of intermediate adjacent locations. Thus, e.g., the travel time between I and O is 33.

- There are no buffers at any of the machines. It may be proved that there are only two relevant policies for the two-machine problem in question.

1. The robot picks up a part at I, moves to P1, loads the part on P1, waits at P1 until the part has been processed, unloads the part from P1, moves to P2, loads the part on P2, waits a t / '2 until the part has been processed at P2, unloads the part from /'2, moves to O, drops the part at O, and moves back to I. The robot moves involved are shown in Figure 4.3.

P2 ~ PI

6 / 0 ( 0

0 3s >0 0 I

Fig. 4.3. Cyclic s e q u e n c e S 1.

Page 13: Scheduling with resource management in manufacturing systems

J. Bta~ewicz, G. Finke / Scheduling with resource management in manufacturing systems 13

P2 O( 0

Fig. 4.4. C~clic sequence S 2.

2. The robot picks up a par t (say T 1) at I , moves to P1, loads T~ on machine Pt, waits at Pt until T 1 has been processed, unloads T 1 f rom P1, moves to P2, loads T t on P2, moves to I, picks up another par t (say T 2) at I , moves to P1, loads T 2 on P1, moves to P2, if necessary waits at P2 until the par t T 1 has been processed, unloads TI, moves to O, drops T t at O, moves to P1, if necessary waits at Pt until the par t T 2 has been processed, unloads T2, moves to P2, loads T 2 on P2, moves to I (pick up a part, say 7"3). The robot moves that would form a cycle S 2 are indicated in Figure 4.4. A careful analysis carr ied out in [19] showed that S t is opt imal if and only if a + b _< 26, and S 2 is

opt imal if and only if a + b _> 26. In the limiting case a + b = 26, both policies per form equally well. It should be noted that the decision whe ther $1 or S 2 is opt imal does not depend on the pa rame te r e. The only relevant data for the opt imal choice are the processing times a and b and the traveling time 6. Moreover , the condi t ion showed above has a very simple intuitive explanation: if the processing times a and b are short compared to the travel t ime 6, then it is opt imal to choose S 1, i.e., to let the robot wait at every machine until the par t it has just fed is processed. If, on the o ther hand, processing times are long relative to the travel time, as is usually the case in practice, then it is be t ter to let the robot pe r fo rm some o ther tasks while a par t is being processed.

The above approach cannot be simply general ized to the case where more than two machines are involved or more than one par t type is produced. In these cases only subopt imal approaches exist [19].

References

[1] Baker, K.R., Introduction to Sequencing and Scheduling, J. Wiley, New York, 1974. [2] Belady, L.A., A study of replacement algorithms for virtual storage computers, IBM Systems Journal 5, 1966, pp. 78-101. [3] Bta~ewicz, J., Cellary, W., Slowinski, R., and Weglarz, J., Scheduling under Resource Constraints: Deterministic Models, Baltzer,

Basel, 1987. [4] B)a2ewicz, J., Eiselt, H., Finke, G.; Laporte, G., and Weglarz, J., "Scheduling tasks and vehicles in a flexible manufacturing

systems", International J. FMS 4 (1991) 5-16. [5] Dda~ewicz, J., Burkard, R.E., Finke, G., and Woeginger, G.J., "Vehicle scheduling in two cycle flexible manufacturing

systems", Math. and Computer Modelling (1994) to appear. [6] Coffman, E.G. Jr., Computer and Job~Shop Scheduling Theory, J. Wiley, New York, 1976. [7] Crama, Y., Kolen, A.W.J., Oerlemans, A.G., and Spieksma, F.C.R., "Minimizing the number of tool switches on a flexible

machine", International Journal of FMS 6 (1994) to appear. [8] Mc Geoch, L.A., and Sleator, D.D., "A strongly competitive randomized paging algorithm", Algorithmica 6 (1991) 816-825. [9] Hertz, A., and Widmer, M., "An improved tabu search approach for solving the job shop scheduling problem with tooling

constraints", EPFL-Lausanne, Report ORWP 1993. [10] Jaikumar, R., "Postindustrial manufacturing", Harvard Bus. Rev. December 1986. [11] Kusiak, A., Intelligent Manufacturing Systems, Prentice-Hall, Englewood Cliffs, New Jersey, 1990. [12] Kusiak, A., and Finke, G., "Selection of process plans in automated manufacturing systems", IEEE Journal of Robotics and

Automation 44 (1988) 397-402. [13] Kusiak, A., and Finke, G., "Modelling and solving the flexible forging module scheduling problem", Eng. Opt. 12 (1987) 1-12. [14] Van Looveren, A.J., Gelders, L.F., and van Wassenhove, L.N., "A review of FMS planning models", in: A. Kusiak (ed.),

Modelling and Design of Flexible Manufacturing Systems, Elsevier, Amsterdam 1986, 3-31.

Page 14: Scheduling with resource management in manufacturing systems

14 J. Bta~ewicz, G. Finke / Scheduling with resource management in manufacturing systems

[15] Mascle, C., "Approche m6thodologique de d6termination de gammes par le d6sassemblage", PhD. thesis, No. 894, EPFL, Switzerland, 1990.

[16] Oerlemans A.G., "Production planning for flexible manufacturing systems", Dissertation no. 92-08. University of Limburg, Maastricht, 1992.

[17] Privault, C., and Finke, G., "Tool management on NC-machines", Proc. Int. Conf. on Ind. Eng. and Production Management, Mons, Belgium, Vol. II, 1993, 667-676.

[18] Privault, C., and Finke, G., "Gestion on-line des changements d'outils dans un syst~me flexible", Proc. Congres biennal de I'AFCET, Vol. 1, Aide ~ la D6cision et Recherche Op6rationelle, Paris 1993, 175-184.

[19] Sethi, S.P., Srishkandarajah, C., Sorger, G., B/a~ewicz, J., and Kubiak, W., "Sequencing of parts and robot moves in a robotic cell", International J. FMS 4 (1992) 331-358.

[20] Solot, P., and Van Vliet, H., "Analytical Models For FMS Design Optimization: A Survey." Technical Report EPFL, Lausanne, Switzerland 1993.

[21] Stecke, K.E., "Formulation and solution of nonlinear integer production planning problems for flexible manufacturing systems", Management Science 29 (1983) 273-288.

[22] Tang, C.S., and Denardo, E.V., "Models arising from a flexible manufacturing machine; Part 1: Minimization of the number of tool switches, Part 2: Minimization of the number of switching instants", Operations Research 36 (1988) 767-784.

[23] Vaaramiani, D., Upton, M., and Barash, M.M., "Cutting tool management in computer-integrated manufacturing", Interna- tional J. FMS 3/4 (1992) 237-265.

[24] de Werra, D., and Widmer, M., "Loading problems with tool management in flexible manufacturing systems: a few integer programming models", International J. FMS 3 (1990) 71-82.

[25] Widmer, M., "Job shop scheduling with tooling constraints: a tabu search approach", Journal of Operational Research Soc. 42 1 (1991) 75-82.

[26] Wittrock, R.J., "Scheduling algorithms for Flexible Flow Lines", IBM J. of Research and Development 29/4 (1985) 401-412.