Scheduling with alternative operations - Robotics and Automation ...

4 downloads 53638 Views 693KB Size Report
IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993. 291 ... performs best among the dispatching rules tested. The quality of ...
291

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

Short Papers Scheduling with Alternative Operations Jaekyoung Ahn, Weihua He, and Andrew Kusiak

Abstract-Considerable investment in the installation of M automated manufacturing system requires scheduling approaches that highly utilize its resources. The incorporation of alternative operations into a scheduling system increases the utilization rate of resources and reduces the makespan of manufacturingproducts. In the paper, a heuristic algorithm is developed for a scheduling problem with and without alternative operations. The effect of alternative operations on the performance of schedules generated are studied with five dispatching d e s . The testing effort involves 240 scheduling problems obtained for randomly generated data. The computational results show that the most dissimilar resources(MDR) dispatching rule for the case with alternative operations performsbest among the dispatching rules tested. The quality of schedules (makespan, utilization rate of resources) generated with any dispatching d e improves when alternative operations are used.

INTRODUCTION Automated manufacturing systems may require a considerable capital investment. The key to success in implementation of automated manufacturing systems is effective utilization of manufacturing resources through application of efficient scheduling algorithms. Kusiak [ 101 presented a knowledge-based system for scheduling in automated manufacturing. Kusiak and Ahn [ l 11 proposed the most dissimilar resources ( M D R ) dispatching rule that has been designed for scheduling operations in an automated manufacturing environment. The latter paper shows that the MDR dispatching rule provides schedules of better quality and consistency than a number of the existing dispatching rules. In areas other than automated manufacturing, extensive research has been done for the scheduling problem with multiple resources [I], [41-[7], [13], [141. A process plan in an automated manufacturing system specifies the requirement for manufacturing resources such as machines, tools, auxiliary devices (e.g., fixtures, pallets, and feeders) as well as operations to be performed. Many of the scheduling models for automated manufacturing systems are based on the assumption that for each part, one process plan is available [12]. A manufacturing system with alternative process plans (also alternative operations) appears to have a potential for increasing the throughput rate by diminishing the effect of the shortage of manufacturing resources. The literature on scheduling manufacturing systems with alternative operations is scarce. Iwata et al. [8] proposed two dispatching rules, earliest finishing time (EFT) and earliest finishing time with alternative operations (EFTA). They used a network model to solve the scheduling problem. Wilhelm and Shin [21] examined the influence of alternative operations on the performance of flexible manufacturing systems. The authors applied a linear programming model to prescribe production plans and adaptive control to implement the plans over time. Srihari and Greene [20] discussed process planning strategies I.

Manuscript received August 22, 1990; revised July 7, 1992. This work was supported in part by Grant No. DDM-9215259 from the National Research Foundation and in part by research contracts from Rockwell Intemational and in part by John Deere and Company. The authors are with the Intelligent Systems Laboratory, Department of Industrial Engineering, The University of Iowa, Iowa City, IA 52242. IEEE Log Number 9207370.

that allow to avoid bottlenecks, reduce in-process inventory, balance machine utilization, and reduce flowtime. Chang et al. [3] developed a bottleneck-based beam search method for scheduling of jobs with alternative operations in a flexible manufacturing system. They focused on bottleneck operations in the critical path. Sherali etal. [19] presented a model for selecting a set of operations and scheduling operations on machines as to minimize the makespan. Kim [9] analyzed characteristics of the job shop scheduling problem with multiple identical jobs and alternative operations. The computational results obtained were differed from those for the classical job shop problem in which order sizes and alternative operations were not explicitly considered. Nasr and Elsayed [ 151 considered the problem of minimizing the mean flow time in a machining system with alternative routings. They developed a decomposition method for solving the mixed integer formulation of the problem, and suggested an algorithm based on the SFT dispatching rule. The characteristics of the existing models for scheduling with alternative operations and the model presented later in this paper are shown in Table I. Note that in Table I, models with a single and multiple resources are considered. By single resource is meant that the quantity of this resource is 1. In this paper, the effect of alternative operations on scheduling performance measures in an automated manufacturing system is examined. Salient features of the manufacturing environment, i.e., general precedence constraints, concurrent use of multiple resources, and the existence of the alternative operations are considered. Formulation of the scheduling problem is described in Section II. In Section 111, the MDR dispatching rule is reviewed, and a scheduling model for automated manufacturing systems is presented. In Section IV, computational experience is discussed. Conclusions are drawn in Section V.

II.

SCHEDULING PROBLEM IN

AUT~MATED

MANUFACTUFUNC SYSTEMS Scheduling in automated manufacturing involves allocation of a set of operations to various resources in a certain time horizon. The scheduling model for automated manufacturing systems should accommodate simultaneous use of resources and the availability of alternative operations. The following assumptions are made in this paper: 1) Resources are continuously available. 2) Once processing begins on a part, it continues until its completion without interruption. 3) Processing time for each operation is known in advance. To present the scheduling model, the following notation is introduced: i part index, i = 1,.. . ,n k operation index, k = 1,. . ,m n number of parts m number of operations k , alternative q of operation k 9;k number of alternatives of operation k of part i Oi set of operations of part i Rk set of resources required by operation k , Pi set of pairs of operations [k, I] of part i, where k precedes I

1042-296X/93$03.00 0 1993 IEEE

I IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

298

CHARACTERISTTCS OF Model [8] [21]

Single

Aik tik, fik

T M

Makespan

Linear

Flowtime, Machine utilization

Linear Linear General

Makespan Mean flowtime Makespan, Resource utilization

set of ordered pairs of operations [ k ,I ] of part i, where k and I can be performed in any order set of alternatives of operation k of part i processing time of the operation k , of part i completion time of operation k of part i makespan arbitrary large number

Zik,

=

{

hl'ERNATIW

OPERATIONS

Characteristic Performance Criterion

Resource 'Qpe of Precedence Constraints Linear Single

[3] Single [15] Single New Model Multiple

Qi

TABLE I MODELSWITH

THE SCHEDULING

1, if altemative operation q of operation k, belonging to part i is selected 0, otherwise

Methodology Earliest finishing time with altemative operations network analysis Alternative operations planned and directed dynamically, linear programming Bottleneck-basedbeam search Decomposition, Linear programming Earliest finish time with basic and alternative operations, the MDR dispatching rule

In.

SCHEDULING ALGORITHM

Scheduling an automated manufacturing system involves concurrent use of manufacturing resources and altemative operations. Kusiak and Ahn [ l l ] developed a dispatching rule (the MDR rule) that attempts to maximize the utilization of resources in a resourceconstrained manufacturing system. In this section, the MDR dispatching rule and a scheduling algorithm are described.

A. The 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 concem because of the following. Note that the notation O;, Pi,Q i , and A i k is used to distinguish 1) Considerable capital investment is needed to install the system. operations of different parts. 2) Production is lost when manufacturing resources are idle. The objective of the scheduling model is to minimize the makespan. 3) Scheduling with the minimum makespan and minimum tardiness criteria tends implicitly to maximize resource utilization Min T (1) over the scheduling horizon [ 171. S.t. f i l - t i I q M ( 1 - Z i f q ) 2 f i k [ k , l ] E P i , q E AifVZ (2) For further use in this paper, a schedulable operation is defined. fcl - t i l , M(1 - Z i l q ) 2 f i k - M t f k An operation O k is schedulable at time t , if [ k , l ]E Qi, q E A i r V a' ( 3 ) 1) No other operation that belongs to the same part is being fif - t i f q M(1 - & l a ) 2 f j k - M X f k - M(1 - z j k q ' ) processed at time t 2) All operations preceding operation Ok have been completed 1E k E Oj, RIq n R k , , # 4, q E All, q' E A i k before time t V ordered pairs ( i , j ) , i # j (4) 3) All resources required to perforq operation Ok are available at XkI XI k = 1 time t. V k, 1 such that [ k , I ] € Q i , q E A;( V i, or The MDR dispatching rule is of heuristic nature and it attempts to select the largest set of schedulable operations that satisfies the 1 € Oi, k E Oj, n R k q , # 4,q E A,I, q' E A j k following conditions: V ordered pairs ( i , j ) , i # j (5) 1) Each operation belongs to a distinct part, i.e., more than one fik 5 T for all i , k (6) operation in a part cannot be processed at the same time. q E A;kfor d l a', k fck - t i k q f M(1 - t i k q ) 2 0 (7) 2) All the operations in the set can be processed at the same time, i.e., there is no resource conflict. Zikq = 1 for d l a', k (8) The idea of the MDR dispatching rule can be explained with an PEA,k X k l = 0,1 v k,l? (9) operation-resource graph. For n parts, the operation-resource graph Zikq = 0 , 1 v i,k,q (10) becomes an n-partite graph and is not necessarily complete. In the operation-resource graph, each edge indicates the nodes (operations) Constraint (2) ensures that the operations of each part are processed that can be processed simultaneously, i.e., the nodes that do not share according to the precedences required. Constraint (3) implies that any the same resources. Note that the MDR dispatching rule attempts to two operations of each part cannot be processed at the same time. select the largest set of nodes such that each node in the set belongs Constraint (4) implies that a resource can be used by only one opera- to a distinct part and there is no resource conflict between the nodes tion at a time. Constraint (5) imposes a precedence relation between in the set. A clique of a simple graph, G, is defined as a subgraph G[S] such a pair of operations. Constraint (6) implies that the completion time of each operation is not greater than the makespan. Constraint (7) that G[S] is complete [2]. Thus, a clique in the operation-resource states that the completion time of an operation is not smaller than its graph satisfies the conditions under which the MDR dispatching processing time. Constraint (8) ensures that for each operation only rule selects a set of schedulable operations from the operationone alternative is selected. Constraints (9) and (10) impose integrality. resource incidence matrix, and the maximum clique in the graph

{

+

+

o;,

+

+

1, if operation k precedes operation I 0, otherwise.

299

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

corresponds to the largest set of schedulable operations from the incidence matrix. Therefore, selecting the largest set of schedulable operations is equivalent to the problem of finding the maximum clique in the operation-resource graph, G. In real time scheduling, it is important that the maximum clique problem (NP-complete) is solved almost instantaneously. A general integer programming code, such as LINDO, 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. A simple pairwise counting heuristic of computational time complexity O ( n 2 )is presented below. Before the algorithm will be presented, the following notation is introduced: a set of operations to be dispatched P c resource type index T resource index r t h resource of type c cr [mk,'] operation-resource incidence matrix, where

The distance index D ( k ) is calculated as

D(1) = l(operation 3 of part 2)

+ l(operation 6 ofpart 3) = 2, D ( 2 ) = l(operation 3, 4, and 5 of part 2), D ( 3 ) = l(operation 1 and 2 of part 1)

+ l(operation 6 of part 3) = 2, etc. The algorithm constructs a set of operations to be dispatched P, from a set of schedulable operations S. Dispatching Algorithm Step 0: Initialize the set of schedulable operations, S, and the set of

operations to be dispatched, P =

4.

Step 1: If S # 4, then go to Step 2, otherwise, STOP. Step 2: From the set of schedulable operations, S, construct an

operation-resource incidence matrix

[mk.'].

Step 3: From the operation-resource incidence matrix mkCP

=

{

1, if operation k requires resource cr, 0 , otherwise

Step 4: Step 5:

where

[dkl]

is the distance matrix, and where Step 6: Step 7:

dkl

= C d ( m k , r , mrc.) is the distance between operations

[ m k , ' ] , construct the distance matrix [ d k i ] . For each operation k E S, compute the distance index D ( k ) from the operation-resource incidence matrix [ m k c r ] . 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'.

CT

kandl

Step 8: Go to Step 1.

where D ( k ) is the distance index of operation k, is defined as the number of parts such that at least of one of their operations has value 0 in the kth column of the distance matrix. The notion of the resource type defined above refers to different types of machines, tools, and fixtures used in an automated manufacturing system. For example, in the case of four drilling machines and five milling machines, two types of resources are considered (c = 1,2). For the milling machine, the number of resources is four ( T = 1,. . . , 4 ) and for the drilling machine the number of resources is five (T = 1,. , 5 ) . The aforementioned defined distance matrix and distance index are illustrated in Example 1. Example I: Consider the operation-resource incidence matrix [mk c ' ] :

B. Solving the Model ( ( l t ( l 0 ) ) It is not difficult to conclude that the scheduling model described in Section II is NP-hard. In order to solve the scheduling model discussed, a heuristic algorithm which is of polynomial time complexity is developed. The algorithm assumes that resources are never kept idle while operations are waiting. Before the algorithm will be presented, the following notation and definitions are introduced: t current time T t k remaining processing time of operation k Sk status of operation k; 1, 2, 3, 4, 5,

+nf2Df4

tl t2 t3 t4 1 0 0 0 1 0

The distance matrix

[dkl]

0 0 0 1 0 1

=I

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

is computed from the matrix Operatian

ST,^

if operation k is schedulable if operation k is nonschedulable if operation k is being processed if operation k has been completed if operation k satifies the first two conditions in the definition, of schedulability

status of resource

["kc']: SPC*

=

T

of type c;

1, if resource cr is avaliable 0, otherwise

01 02 03 04 05 06

NcT set of operations to be performed on resource r of resource type c Sj set of operations with S k = j, j = 1,. , 5 C, temporal set of operations 1 .

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

300

TABLE II CHARACTERISTICS OF THE TEST PROBLEMS

Number of Resources

h$$!m

hg?zm TA:'

Fn:f Machines 3 3 3

1

Small

5

60

4

15

5

5

Medium

8

9

Large

10

3 3

250

12

20

15 15

20

20

20

8 8 8

8 8 15

20

20

5 15 15 15

8

10 10 10

10

20

10 10

20

10

20

10

10

10

10

30 30 60

20 20 40

10

8 60 60 60

5 5

10 10

+

Step 0. Initialization:

completion time f i k = Ttk t , k E S3 current time t = mink#{fsk}, k E S3 resource status srcp = 1, C" E Rk# remaining time Ttk = f i k - t , k E S3

current time t = 0 resource status, srcp = 1, for all T and c sets of operations and status of operations: a) Set S3 = S4 = 4 b) For each part, if operation k has no preceding operations, set S k = 1; otherwise, set S k = 2 c) Construct SI and Sz for operations in (ii)

Step 9. For operations in the set

9

Step I . If all the operations have been completed, STOP; otherwise

go to Step 2.

4, and if SI = 4 then go to Step 8; otherwise,

go to Step 3. Step 3. In the set SI, select an operation k* with a dispatching rule specified by the user ( part i* corresponding to operation k* is automatically selected ). Step 4. Set: the remaining processing time of operation k',

20

Tools

Step 8. Set:

Scheduling Algorithm

Step 2. Set S5 =

5

16

8

;y

Fixtures Pallets

Ttk*

=

tzk'

resource status srcr = 0 for cr E Rk*

sz,construct:

C1 = {IC I all the preceding operations of operation k have been completed } CZ = {klsr,? = 1, C" E Rk} c 3 = sz - c z

Update: set of schedulable operations SI = SI U {CI n CZ} set of nonschedulable operations SZ = SZ - {CI n CZ} set of processing operations ~3 = ~3 - {IC#} set of completed operations S4 = S4 { k # } set of partially schedulable operations S5 = S5 U {CI n

+

(73

1

{ k I T t k = 0, k E S3} = 4. Go to Step 11. Step 11. If S5 # 4, do Step 6. Go to Step 1.

step 10. Repeat Step 8 and 9 until

construct:

CI = { k l k # k', [ k , k*] E Q:, k E Si} Cz = { k l { k * , k } E N,. for all c and r , k E SI} Update: set of schedulable operations SI = SI - { k * } - {CI U Cz I set of nonschedulable operations SZ = SZ U CI U CZ set of processing operations 5'3 = S3 U {k* } set of partially schedulable operations S5 = S5 UCZ- CI

If SI

# 4, go to Step 3. and S5 # 4, then go to Step 6; otherwise, go

Step 5. If SI =

to Step 8. Step 6. If the sum of the waiting time and processing time for

operation k E S5 in the basic process plan is longer than the one in the altemative process plan, then SI = SI U { k } and replace the basic operation with the corresponding altemative operation. Set S5 = 4. Step 7. Go to step 3.

IV. COMPUTATIONAL EXPERIENCE In this section, each of the five dispatching rules incorporated in the scheduling algorithm is discussed. The computational time complexity of each dispatching rule is shown in the parenthesis. dispatching rule R1: the MDR dispatching rule (computational time complexity O ( n 2 ) ) . dispatching rule R2: selects an operation with the smallest number of remaining operations ( O ( n- 1)). dispatching rule R3: selects an operation belonging to a part with the minimum number of currently schedulable operations ( O ( n - 1)). dispatching rule R4: selects an operation with the shortest processing time ( O ( n - 1)). dispatching rule R5: selects an operation randomly. Characteristics of the problems considered for computation are shown in Table 11. For each problem, 10 instances were solved. Precedence relations in each instance were randomly generated. The processing times for operations in the basic process plans were generated according to

301

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

TABLE III THE MAKESPANAND MACHINE UTILIZATION RATE FOR PROBLEM NUMBER 12 WITH THREEALTERNATIVE OPERATIONS R1 R2 R3 R4 T U T D T a T U 161 0.45 166 0.43 162 0.44 166 0.43 178 0.43 173 0.44 175 0.44 171 0.45 171 0.41 170 0.42 171 0.41 179 0.40 159 0.44 1.57 0.44 160 0.44 158 0.45 164 0.44 175 0.41 168 0.43 170 0.43 171 0.42 171 0.42 168 0.42 168 0.43 166 0.43 181 0.39 179 0.40 180 0.40 8 161 0.43 163 0.42 162 0.43 167 0.42 9 158 0.44 164 0.43 164 0.43 166 0.44 10 167 0.42 168 0.41 166 0.42 167 0.42 T stands for makespan; U stands for average machine utilization rate. Problem Instance 1 2 3 4 5 6 7

the discrete uniform distribution with parameters [I, lo]. Given the basic processing time generated for each operation, processing times for each of the three alternative operations were calculated as 120%, 130%, and 150% of the basic processing time, respectively. Thus, the processing time of each operation in an alternative process plan is assumed to have greater value than that in the basic process plan. The latter results from the observation that the primary resources in the basic process plan may offer certain features which allow them to be more efficient [21]. To evaluate the quality of schedules, two performance measures were considered: makespan ( T )

T=max(C3), j = l , . . . , n 3

where C3 is completion time of operation j and TZ is the number of operations average machine utilization rate (ii) U=-

C L U E

m

where m is the number of machines

where t , is the processing time of operation T on machine i , and N ( i ) is the set of operations processed on machine i The two performance measures (makespan and machine utilization rate) were used to test the quality of the schedules obtained because of the following: 1) The computational efforts have focused on the static scheduling problem. Reduced makespan in the static scheduling problem corresponds to the increased output rate in the dynamic case. 2) Automated resources imply cost to a company whether they are used or remain idle. Increasing machine utilization may increase productivity. 3) Long makespan may result from delays due to bottleneck resources. In order to show the relationship between the makespan and average machine utilization rate, the problems in Table XI were solved. The results shown in Table 111 are representative of all other problems in Table 11. A. Performunce of the MDR Dispatching Rule

To evaluate the quality of the solutions generated by each of the five dispatching rules incorporated in the algorithm, the frequency

R5

T 168 178 172 156 167 173 172 163 163 166

U 0.42 0.43 0.41 0.45 0.43 0.41 0.41 0.43 0.43 0.42

TABLE IV SUMMARY OF THE FREQUENCYOF THE BEST SOLUTION Scheduling without Alternative Operations Rule No. R1 R2 R3 R4 R5

Scheduling with Alternative Operations

T

U

T

U

56 7 32 21 18

56 7 32 21 18

73 13 23 13 18

79 15 24 15 16

of the best solution (FR,) generated by rule Ri,i = l , . . .,5, was used. The frequency of the best solution generated by the algorithm is shown in Table IV.Note that the totals of the columns in Table 1V are not identical (values 134, 140) even though the number of the problems solved is the same (120 problems). The reason is that for a given problem, there is a possibility that the best solution is generated by more than one dispatching rule. The results in Table IV show that the MDR dispatching rule with and without alternative operations produces schedules of better quality than the other dispatching rules.

B. The Effect of Alternative Operations The effect of alternative operations on the quality of schedules is measured with the following. 11 Percentage imorovement of the makesDan

where TR, is the makespan of the schedule generated by dispatching rule Ri with alternative operations, TA, is the makespan of the schedule generated by dispatching rule Ri without alternative operations. 2) Percentage improvement of the average machine utilization

where UR, is the average machine utilization of the schedule generated by dispatching rule Ri with alternative operations, Uk, is the average machine utilization of the schedule generated by dispatching rule Ri without alternative operations. 3) Percentage change of CPU time

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9, NO. 3, JUNE 1993

302

TABLE V PERCENTAGECHANGESOF PERFORMANCE MEASURES Perfprmance Rule Measure No. R1 AT,, R2 R3 R4 R5

AtR%

14.4 11.7 10.2 15.7 19.3

12.8 17.1 18.8 17.9 13.0

18.0 18.5 16.3 16.3 18.0

22.6 18.9 22.7 20.7 19.5

21.5 15.4 13.0 15.0 21.2

12.5 12.2 11.1 12.9 9.7

17.6 18.0 18.7 17.3 16.8

19.3 18.4 17.9 18.7 17.9

22.2 20.7 17.9 20.9 20.0

22.7 19.6 5.8 36.4 29.6

45.4 54.9 48.0 48.6 52.6

15.4 31.5 24.7 30.8 30.7

1.6 5.4 3.9 4.5 8.0

8.5 12.8 9.1

23.2 31.9 23.5 30.9 32.2

5.9 15.7 13.1 13.5 17.1

2.6 0.4 -3.5 -4.3 -0.7

1.3 -3.0

3.5 -2.0 -7.2 -2.1 -5.2

9.5 0.3 9.3 3.5 1.8

15.0 16.2 11.9 14.8 14.7

3 11.3 7.1 6.9 11.1 14.2

R4 R5

23.0 26.3 20.2 25.2 22.3

26.2 18.8 28.6 21.3 23.0

R1 R2 R3 R4 R5

14.2 24.6 22.4 18.9 32.7

11.4 30.5 27.1 29.9 37.7

R1 R2 AUR,

13.0 9.2 7.6

Problem Number 6 7 16.3 15.1 11.8 11.2 4.5 9.1 10.0 11.9 10.2 8.9 15.0 11.5 12.5

2 16.0 11.9 17.4 12.0 15.6

R3

1

11.0

AVERAGE CPU TIME(s)

2 1.3 1.0 1.1

1.1 1.1

3 1.7 1.3 1.4 1.3 1.3

11.0

15.1

8 7.4 7.7 7.6 6.6 6.4

9 11.0 10.5 10.9 8.6 9.8

10

11

12.2 11.1 10.8 10.1 1.0

15.3 13.6 11.3 13.0 13.1

12 8.9 6.4 5.1 7.1 4.8

-1.1

-6.0 -2.4

TABLE VI 12 PROBLEMSWITH ALTERNATIVE OPERATIONS Problem Number 5 6 7 8 9 1 0 1 1 1 2 12.5 13.8 16.0 12.0 40.5 39.3 38.5 37.7 10.1 11.3 12.0 8.6 32.1 29.6 27.6 22.4 11.1 11.9 12.4 8.4 33.2 31.7 27.9 23.0 10.7 11.8 12.6 8.3 32.0 30.3 27.9 22.1 10.8 12.1 12.6 8.7 33.6 31.9 28.7 22.7

FOR

Rule

N o . 1 R1 1.2 R2 0.9 1.0 R3 1.0 R4 1.0 R5

5 11.32 10.9

4 7.7

4 1.3 1.0

0.9 1.0

0.9

where t R , is the CPU time of the schedule generated by dispatching rule Ri with alternative operations, tk is the CPU time of the schedule generated by dispatching rule Ri without alternative operations.) Table V summarizes the effect of alternative operations on the quality of the schedules generated with the algorithm. The makespan and the average machine utilization rate for the scheduling problem with alternative operations improve, while the CPU time increases. The scheduling algorithm was coded in Pascal and ran on a Prime 9955 computer. The CPU times of the scheduling problems with alternative operations are shown in Table VI. The results shown in Table VI are representative of all other problems.

V. CONCLUSION In the paper, an algorithm was developed for scheduling problems with and without alternative operations in automated manufacturing systems. The effects of alternative operations on the performance of schedules generated were studied. The computational studies showed that the MDR dispatching rule for the case with alternative operations performed best among the dispatching rules tested, and the quality of schedules (makespan, utilization of resources) improved when alternative operations were used. The testing effort involved a set of 240 scheduling problems obtained for randomly generated data. The results showed that the algorithm can be used in industry for solving scheduling problems with alternative operations. REFERENCES [l] J. Blazewicz, J. K. Lenstra, and A. H. G. Rinnooy Kan, “Scheduling subject to resource constraints: Classification and complexity,” Discrete Applied Mathematics, vol. 5, pp. 11-24, 1983.

[2] J. A. Bondy and U. S. R. Murty, Graph Theory with Applications. New York Ekervier, 1976. [3] Y.-L. Chang, H. Matsuo, and R. Sullivan, “A bottleneck-based beam search for job scheduling in a flexible manufacturing system,” Int. J. Production Res.,” vol. 27, no. 11, pp. 1949-1961, 1989. [4] E. W. Davis, “Project scheduling under resource constraints -Historical review and categorization of procedures,” AIIE Trans., vol. 5, no. 4, pp. 297-313 1973. [5] G. Dobson and Karmarkar, U.S. “Large-scale shop scheduling: formulations and decomposition,” Working Paper No. QM8631, Graduate School of Management, Univ. Rochester, NY, 1986. “Simultaneous resource scheduling to minimize weight flow [6] -, times,’’ Operations Res., vol. 37, no. 4, pp. 592-600, 1989. [7] R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan, “Optimization and approximation in deterministic sequencing and scheduling: A survey,” Ann. Discrete Mathematics, vol. 5, pp. 287-326, 1979. [8] K. Iwata, Y. Murotsu, and F. Oba, “Solution of large-scale scheduling problems for job shop type machining systems with alternative machine tools”, Ann. CIRP, vol. 29, no. 1, pp. 65-79, 1980. [9] Y.-D. Kim, “A comparison of dispatching rules for job shops with multiple identical jobs and alternative routeings”, Int. J. Production Res., vol. 28, no. 5, pp. 953-962, 1990. IO] A. Kusiak Intelligent Manufacturing Systems. Englewood Cliffs, NJ: Prentice Hall, 1990. 111 A. Kusiak and J. K. Ahn, “A resource-constrained job shop scheduling problem with general precedence constraints,” Working Paper No. 90-03, Dept. Ind. Eng., Univ. Iowa, Iowa City, IA, 1990. 121 A. Kusiak and G. Finke, “Selection of process plan in automated manufacturing systems”, IEEE J. Robotics Automat., vol. 4, no. 4, pp. 397402, 1988. [I31 E. L. Lloyd, “Concurrent task systems,” Operations Res., vol. 29, no. 1, pp. 189-201, 1981. [ 141 C. L. Monma, “Linear-time algorithm for scheduling on parallel processors,’’ Operations Res., vol. 30, no. 1, pp. 116-124, 1982. [15] N. Nasr and E. A. Elsayed, “Job shop scheduling with alternative machines,” Int. J. Production Res., vol. 28, no. 9, pp. 1595-1609, 1980. [16] A. A. B. Pritsker, L. J. Watters, and P. M. Wolfe, “Multiproject scheduling with limited resources: A zero-one programming approach,”

IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 9,

NO. 3, JUNE 1993

Management Science, vol. 16, no. 1, pp. 93-108, 1969. . F. A. Rodammer and K. D. White, Jr., “A Recent survey of production scheduling,” IEEE Trans. Sysf..,Man, Cybern., vol. 18, pp. 841-851, 1988. L. Schrage, Linear, Integer, and Quadratic Programming with UNDO. Palo Alto, CA: Scientific Press, 1984. H. D. Sherali, S. C. Sarin, and R. Desai, “Models and algorithms for job selection, routing, and scheduling in a flexible manufacturing system,” Working Paper, Dept. Ind. Eng., Operation Res., Virginia Polytechnic Inst. State Univ., Blacksburg, VA, 1989. K. Srihari and T. J. Greene, “Alternateroutings in CAPP implementation in a FMS,”Computers and Industrial Engineering, vol. 15, nos. 1-4, pp. 41-50, 1988. W. Wilhelm and H.-Y. Shin “Effectiveness of alternate operations in a flexible manufacturing system,” Inf. J. Production Res., vol. 23, no. 1, pp. 65-79, 1985,

303

by building, using, and maintaining models of world locations for recognition to support navigation. Through this recognition, MARVEL also determines the robot’s position and orientation within its current location. The system was tested extensively in an indoor, office-type environment. To recognize a location in the world, MARVEL first takes a series of stereo pair images from a single position in the current room and finds salient room features. Recognition is performed by comparing the resulting representation to models that were built by the system from similar data obtained previously. Recognition results are used to update the existing model to reflect the current state of the room and the importance of the features to the recognition. A full account of the research summarized here is available elsewhere [4].

II. WORLDFEATURES FROM STEREO VISION

MARVEL: A System That Recognizes World Locations with Stereo Vision David J. Braunegg Abstract-MARVEL is a system that supports autonomous navigation by building and maintaining its own models of world locations and using these models and stereo vision input to recognize its location h the world and its position and orientation within that location. The system emphasizes the use of simple, easily derivable features for recognition, whose aggregate identifies a location, instead of complex features that also require recognition. MARVEL is designed to be robust with respect to input errors and to respond to a gradually changing world by updating its world location models. In over lo00 recognition tests using real-world data, MARVEL yielded a false negative rate under 10% with zero false positives.

I. INTRODUCTION To navigate over a long lifetime, a mobile robot needs a memory of the world. To explore places of which it has no previous knowledge, a robot should be able to build its own world model. Due to the problem of cumulative error, exact metical models of the world cannot be used [l]. The most promising alternative is a topological map that contains world locations and information about how they are connected [2], [3]. To use such a map, a robot needs the ability to recognize the locations contained therein. The first part of the navigation support problem, then, is how to build models of world locations and use them for recognition. Because the world changes and the robot’s sensory input is imperfect, the second part of the problem is to maintain these models over time. The implemented system MARVEL (Model building And Recognition using Vision to Explore Locations) addresses these problems Manuscript received November 13, 1991; revised September 1, 1992. The views expressed in this paper are those of the author and do not reflect the policy or position of The MITRE Corporation. This work was supported in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-85-K4124 and under Army contract number DACA7G85-C-0010 and in part by the Office of Naval Research University Research Initiative Program under Office of Naval Research contract N00014-8f%K4685. The author was with Artificial Intelligence Laboratory of the Massachusetts Institute of Technology, Cambridge, MA, and is now with the Image Processing Research Laboratory, The MITRE Corporation, Bedford, MA 01730. IEEE Log Number 9208252.

We use the Ma-Poggio-Grimson stereo algorithm to obtain the locations of world features [5]-[8]. This algorithm is based on Laplacian-of-Gaussian zero-crossing points that are associated with intensity edges in the images. Because such features usually correspond to physical edges, they characterize the dismbution of objects in the visible world. We only use the long, near-vertical stereo features to model world locations for two reasons. First, we employ the heuristic that large objects (e.g., doorways, windows, bookcases) tend not to move and thus help to identify the specific areas in which they reside. Second, because our camera geometry uses horizontal epipolar lines, the localization of the stereo features deteriorates as the features become more horizontal. The long, near-vertical features are identified by first fitting straight lines to the 3-D edges using a method given by Pavlidis [9], then checking the lengths and slopes of the lines. Because the length constraint used was not severe, no attempt was made to aggregate short edges, which could occur due to occlusions, into longer edges. To get a full view of the room containing the robot, we rotate the robot through 360”, taking overlapping views of the room [lo]. The stereo features from these views is “pasted” together for a full representation of the room, the feature coordinates are converted into camera-centered world coordinates, and the ceiling and floor features are removed. The aggregate of these simple, easily derivable features are used to identify a location instead of relying on complex features that would themselves require recognition. 111. MODEUDATAREPRESENTATION For a recognition system, the world is defined by what is observable by the sensors that are being used. Other researchers have investigated the use of full 3-D stereo features for map building [ l l ] , [12]. However, we wish to recognize rooms rather than navigate through them. To build the room representation for recognition, we project the vertical room features from the stereo algorithm to the groundplane (see Fig. 1). We have found that this representation sufficiently characterizes the room for the purpose of recognition. One implicit advantage of this 2-D representation is that partially occluded edges can be matched easily to their corresponding model edges. We further abstract the data with an occupancy-grid representation of the room [13]. We impose a grid with 1-foot spacing on the floor of the room and mark each grid square containing an accepted stereo feature (see Fig. 2). The choice of the grid size depends on the stereo camera configuration, the sizes of rooms to be encountered, and the desired degree of localization. Although we use a sufficiently

1042-296)(/93$03.00 0 1993 IEEE