Holonic Planning and Scheduling for a Robotic Assembly ... - CiteSeerX

2 downloads 0 Views 187KB Size Report
and the Lagrangian relaxation technique. It turns out that Lagrangian relaxation provides a theoretical foundation for the cooperation of scheduling activities.
Holonic Planning and Scheduling for a Robotic Assembly Testbed  Ling Gouy Tetsuo Hasegawaz Peter B. Luhy Shinsuke Tamuraz John M. Oblakyy

Abstract A Holonic Manufacturing System (HMS) is a manufacturing system where key elements, such as machines, products, parts, etc., have autonomous and cooperative properties. These elements are called \holons," a word coined by combining \holos" (the whole) and \on" (a particle) following Koestler. In an HMS, each holon's activities are determined through cooperation with other holons, as opposed to being determined by a centralized mechanism. An HMS could therefore enjoy high agility, which is an important characteristic for future manufacturing systems. Effective cooperation of holons for overall system performance, however, is mostly an open issue. In this paper, the holonic concept is applied to a simple robotic assembly testbed, and cooperation mechanisms among holons for planning and scheduling are established, respectively, based on an adaptive consistency algorithm and the Lagrangian relaxation technique. It turns out that Lagrangian relaxation provides a theoretical foundation for the cooperation of scheduling activities among holons. The system has been implemented in an object-oriented framework, and evaluated based on the computation times for generating assembly plans and schedules and the quality of schedules under different circumstances. Preliminary testing showed that the system can generate assembly plans and high quality schedules, and respond to dynamic changes.  This work was supported in part by the National Science Foundation under Grants DDM-9119074 and DDM-9311994, United Technologies Research Center, and the Advanced Technology Center for Precision Manufacturing, the University of Connecticut. The authors would like to thank Mr. Yong Li for his valuable suggestions and e ort. yDepartment of Electrical and Systems Engineering, University of Connecticut, Storrs, CT 06269-3156, USA. zSystems and Software Engineering Laboratory, Research and Development Center, Toshiba Corporation, 60 Yanagi-cho, Saiwaiku, Kawasaki 210, Japan. yyUnited Technologies Research Center, 411 Silver Lane, East Hartford, CT 06108, USA.

1 Introduction Conventional manufacturing systems are e ective for low variety and high volume production. It is very dicult for them to produce products satisfying widely diverging and rapidly changing demands. Re-con guration of these systems in case of malfunctioning or for the incorporation of new product/technology also requires extensive e orts. These diculties come in a large degree from their system architectures, which are modeled along hierarchical lines with centralized command-obey relationships (Dilts et al., 1991). The hierarchical/centralized structures tend to be rigid and xed, and behaviors of individual system elements are prescribed in a top-down manner. Many of these elements' capabilities are explicitly or implicitly restricted. In addition, the knowledge and information of many elements are needed to support centralized mechanisms. Changes such as the introduction of new machines or new products, etc., may require extensive modi cations. Highly exible systems are required to overcome the diculties faced by conventional systems. A Holonic Manufacturing System (HMS) is a manufacturing system where key elements, such as machines, products, parts, etc., have autonomous and cooperative properties. These elements are called \holons." The word \holon," coined by Koestler (1967), comes from the Greek holos = whole, with the sux on which, as in proton or neutron, suggesting a particle or part. A holon in a hierarchy (holarchy) is characterized by its autonomy and cooperation (capability for integration). The HMS concept has been investigated by the HMS consortium (Seidel, et al., 1994), one of the six test cases of the Intelligent Manufacturing System (IMS) feasibility study program. The objective was to explore the bene ts of holonic organization, e.g., ecient use of available resources, adaptability and

exibility in the face of changes, etc. Holonic architectures are modeled by using wholepart relationships. Contrary to conventional manufacturing systems, an HMS is managed in a dis-

tributed manner by system elements or holons. Individual holons de ne their activities based on their local knowledge, and decide their behaviors by negotiation with other holons. An HMS therefore could enjoy high agility, which is an important characteristic for future manufacturing systems. How to de ne holons and how to implement the holonic architecture could be case dependent. Furthermore, e ective cooperation and negotiation of holons for overall system performance is mostly an open issue. As part of the one-year feasibility study, holonic planning and scheduling of robotic assembly systems have been investigated. These systems generally consist of robotic assembly stations linked by a transport system. Planning here refers to selecting appropriate parts and assembly plans for the required products, and scheduling is to perform operation-to-resource assignments over a speci ed period of time. E ective planning and scheduling are essential for quick response to changing demands, low inventory and ontime delivery. Part of our research has been reported in Hasegawa et al. (1994), where a holonic planning and scheduling architecture has been presented. Basic holons and their coordination and negotiation mechanisms were also discussed. In this paper, implementation of the holonic architecture for a simple robotic assembly testbed is presented. The testbed in Section 2 was designed to possess essential features of robotic assembly systems so that major issues could be addressed and appropriate techniques could be developed. Sections 3 and 4 present the \constraint satisfaction" planning method and Lagrangian relaxation scheduling method, respectively. The implementation in an object-oriented framework is described in Section 5, and it provides a foundation for further development of planning and scheduling methods for more general cases. Preliminary testing in Section 6 showed that the system possesses abilities to generate assembly plans and high quality schedules, and to respond to dynamic changes. The Lagrangian relaxation technique, characterized by decomposition and coordination, can be naturally mapped onto the holonic architecture. It thus provides a theoretical foundation for the cooperation among holons. It is believed that the technique can also be used for other aspects of HMS to achieve e ective cooperation for overall system performance.

2 Testbed Description A typical robotic assembly system may consist of multiple robotic assembly stations, free-ranging AGVs for material handling, and multiple products each with alternative assembly plans. The system is characterized by its intrinsic exibility (e.g., robot versatility, product assembling exibility in terms of part selections and assembly plans, etc.), short processing times, and its ability to accommodate changing product demands. Planning and scheduling of such a system are therefore very complicated. For the purpose of our one-year feasibility study, a simple robotic assembly simulation testbed has been devised, and the key elements are: - There are three di erent robotic assembly stations performing two-part assembly operations. Operations which assemble more than two parts at the same time are not considered. The time required for each operation by a speci ed assembly station is given. - A single AGV is used for material handling, and only one part can be transported at a time. The empty and loaded traveling times between a pair of assembly stations are speci ed. - Products are composed of several simple parts such as bricks. - Three kinds of assembly operations, paste, bolt & nut and screw, are considered. - Component parts have been manufactured (no process planning for individual parts). Note that the concept of operation for planning and the concept of operation for scheduling in this paper are di erent. An \operation" in the planning context refers to an abstract function of assembly stations (a functionality without concerning about how to physically carry it out); while an opration in the scheduling context refers to a physical operation needed to be performed on particular parts by a speci ed machine. In addition, a machine type is a category of machines (e.g., robotic assembly stations or AGVs) having the same functionalities and performance. As in Hasegawa et al. (1994), the major elements are modeled as holons, including product, part, and machine holons for physical elements, and machine type, operation (for planning) and coordinator holons for conceptual elements.

3 Planning Methodology Planning in this paper refers to selecting appropriate parts and assembly plans for products. This problem is complicated because of the large solution space.

Various methods have been presented, and the planning method employed in this study is based on the contract net protocol and the adaptive consistency algorithm (Smith, 1980; Dechter & Pearl, 1988). The contract net protocol is used to support the cooperation of holons through \task announcement," \bid," and \contract" phases. Individual holons such as parts, operations, and machine types may serve as candidate elements for the required product. Only elements satisfying all constraints, however, can be used. The adaptive consistency algorithm is employed to solve this constraint satisfaction problem.

3.1 Problem Description Beyond the features described in Section 2, the following speci cations are de ned or assumed.

Product Speci cation

- The shape decomposition of a product is given, where the product is described as a set of shapes, and each shape corresponds to a part. - The contact relationship between a pair of parts is given, and the \contact positions" delineate their positions to be assembled. - Parts are said to be \obstructive" for a pair of contact positions if the parts cannot be assembled until the operation on that pair of contact positions is completed.

Part Speci cation

- Only certain operations (out of pasting, screwing, etc.) are applicable to a pair of contact positions, as designated by the contact positions' \function features."

Operation Speci cation

- For a pair of parts to be assembled by a particular operation, the contact positions should have speci c function features. This is the \application conditions" for using the operation to assemble the two parts.

Machine Type Speci cation

- A machine of a speci c type can only perform certain operations, which are the set of \eligible operations" for the machine type. The planning problem has to satisfy the following four sets of constraints:

 Contact Constraints: The function features at a pair of contact positions must be compatible

and satisfy the selected operation's application conditions.  Precedence Constraints: Some components have to be assembled before others so as to avoid the violations of obstructive conditions.  Machine Capability Constraints: An operation must be performed by a machine having it as one of the eligible operations.  Other Constraints: There could be other constraints in certain assembly systems, e.g., consecutive operations may have to be performed by a speci c pair of machine types.

3.2 Planning Method The planning process for a product is divided into two phases each with two steps. At the rst step, candidate elements are generated by using a contract net protocol. At the second step, a set of elements satisfying relevant constraints is found by solving a constraint satisfaction problem (CSP). These methods are distributive in nature, and have been mapped onto individual holons to realize the holonic concept. The speci c steps of the planning process is described as follows.

PHASE 1:

Determining parts and assembly operations 1. An operation and a pair of parts satisfying the associated application conditions are called a partoperation-part triplet if the resulting subassembly can be used to construct the required product. All possible triplets are generated through the cooperation among part and operation holons, and are regarded as \partial consistent combinations" for the product. 2. By satisfying contact constraints among partoperation-part triplets, the scope of partial consistent combinations is enlarged, and nally the product, or a globally consistent combination is obtained. This process is performed through the negotiation among product, part, and operation holons to solve a CSP problem. PHASE 2: Determining an assembly sequence and machine types 1. By searching through possible partial consistent combinations of the product structure obtained from Phase I while satisfying precedence constraints, an assembly sequence is generated. In

this process, candidate machine types needed for individual operations are also identi ed by satisfying machine capability constraints. The product, part, machine type, and operation holons cooperate in this process. Although each product may have several assembly sequences, for simplicity, only one assembly sequence is generated. 2. A set of machine types satisfying all \other constraints" is generated in this step. To simplify the problem, these constraints are not considered in the current implementation. The planning mechanisms are mapped onto the holonic architecture. Individual holons embody autonomous properties, and can cooperate with others to perform planning activities. The assembly plan generated in the planning stage is stored in the product holon. Based on this information, the scheduling process will be initiated.

4 Scheduling Methodology Most scheduling problems belong to the class of NP-hard combinatorial problems (Blazewicz et al., 1988). Di erent heuristic-based approaches and arti cial intelligence techniques have been presented to schedule machines and AGVs of exible manufacturing/assembly systems (e.g., Shaw & Whinston, 1989; Sabuncuoglu & Hommertsheim, 1992). While many heuristics and arti cial intelligence approaches are ef cient, it is generally dicult to evaluate their performance which often depends on the speci c circumstances under consideration. There are several mathematical programming formulations, e.g., Donath et al. (1989). These optimization problems, however, are often solved by using heuristics because of problem complexity. In addition, the scheduling of machines is mostly treated independently from the dispatching of AGVs. However, since AGVs and machines interact with each other, both can in uence system performance. Integrated consideration of machines and AGVs is necessary to improve overall system performance, especially when AGV traveling times and assembly operation times are comparable as in the case of robotic assembly systems. Recent advances in optimization-based scheduling o er a new approach for the near-optimal scheduling of several types of manufacturing systems, including identical machines and job shops (Luh & Hoitomt, 1993). The same approach is extended in this study to deal with the scheduling of the testbed. One of the

diculties here is the involvement of the AGV. In addition, on-line rescheduling is needed to accommodate dynamic changes, such as the arrivals of new orders, and the breakdowns of assembly stations, etc. In this section, the problem formulation and solution methodology for the testbed at each \snapshot" (based on the status of the testbed at a speci c time instant) are presented. The scheduling system then runs in a \moving window" fashion, and scheduling is performed either periodically or after the occurrence of major changes as mentioned above.

4.1 Problem Formulation Following Czerwinski & Luh (1994), the scheduling problem of the testbed at each \snapshot" is formulated as an integer programming problem. Before presenting the formulation, the following variables are de ned. (p; i; j ) Assmbly or AGV Operation j of subassembly i in product p bpij Beginning time of operation (p; i; j ) cpij Completion time of operation (p; i; j ) tpij Processing time for operation (p; i; j ) with (cpij ? bpij + 1) = tpij pijkh Integer variable equal to one if operation (p; i; j ) is active on machine type h at time k and otherwise zero pij Earliness weight for operation (p; i; j ) !pij Tardiness weight for operation (p; i; j ) The objective of scheduling is to ensure on-time product delivery and low work-in-process inventory. This is represented by operation tardiness and earliness penalties as in Czerwinski & Luh (1994). 2 + pij E 2 ; J = !pij Tpij pij

(1)

where the tardiness for operation (p; i; j ); Tpij , is de ned as the amount the completion time passes its expected completion time, and the earliness of operation (p; i; j ); Epij , is de ned as the amount the beginning time leads the desired beginning time. The objective function is to be minimized by selecting the beginning times for operations subject to operation precedence, machine capacity, and AGV sequencing constraints as described below. The operation precedence constraints require the beginning time of operation (p; i; l) to be greater than

or equal to the completion time of its precedence operation (p; i; j ): cpij + 1  bpil :

(2)

The capacity constraints require the total number of operations active on machine type h at time k to be less or equal to the number of type h machines available at time k, Mkh . Since each machine type has only one machine in the testbed, Mkh = 1 if the machine of type h is available at time k, otherwise, Mkh = 0.

X pij

pijkh

 Mkh :

(3)

The AGV sequencing constraints require the beginning time of AGV operation (p0 ; i;0 j 0 ) to be greater than or equal to the completion time of its previous AGV operation (p; i; j ) plus an \empty traveling time," spij;p i j , which is required for the AGV to travel from its unloading location of operation (p; i; j ) to the loading location of operation (p0 ; i;0 j 0 ): 0 0 0

cpij + spij;p i j + 1  bp i j : 0 0 0

0 0 0

(4)

4.2 Scheduling Method The AGV sequencing constraints complicate the scheduling problem because the AGV empty traveling time between two consecutive operations depends on the sequence itself. To simplify the problem, each AGV operation time is assumed to be the sum of an average empty traveling time and the loaded traveling time. In this way, the AGV sequencing constraints degenerate to AGV capacity constraint. Following Czerwinski & Luh (1994), the capacity and precedence constraints are relaxed by using Lagrange multipliers or capacity \prices," kh , and precedence \prices," pijl , respectively. These prices represent degrees of competitiveness, e.g., a high capacity price for a machine type at a particular time period signi es that many operations want to use this machine type at that time period. The relaxed problem is then decomposed into the scheduling of individual operations: 2 + pij E 2 min Lpij ; with Lpij = min[!pij Tpij pij b b pij

+

X cpij

k=bpij

pij

kh +

X

l2Ipij

pijl bpij

?

X l:j2Ipij

pilj bpij ]: (5)

Let Lpij denote the minimized Lpij , then the dual problem is formed by maximizing the Lagrangian with

respect to the prices: max D; with D = ;0

XL pij

 pij

+

X

pijl tpij

l2Ipij

?

X kh

kh Mkh :

(6) Solving an operation-level subproblem involves searching among all eligible beginning times for the smallest cost, striving for a balance among capacity prices, proper positioning within the precedence structure, and tardiness and earliness penalties. Once all the subproblems have been solved, the degrees of constraint violation, i.e., capacity and precedence subgradient, are evaluated. The component of capacity subgradient for machine type h at time k is given by: g =

X pij

pijkh

? Mkh :

(7)

The component of precedence subgradient relating two consecutive operations (p; i; j ) and (p; i; l) is given by: g = bpij + tpij ? bpil :

(8)

Based on the subgradient information and the dual cost D, the prices are updated by using the subgradient method according to: n+1 n kh = kh + n gn ; n+1 = n + n gn ;

(9)

(10) where the step size is obtained as in Czerwinski & Luh (1994), and the superscripts refer to the iteration number. The above derivation and solution process presents a decomposition and coordination framework for solving the scheduling problem. This framework can be naturally mapped onto the holonic concept, and the scheduling mechanisms are embedded in individual holons to support their activities as explained below. Based on the assembly plans generated in the planning stage, individual product holons communicate with relevant machine type holons to coordinate their operation beginning times, and evaluate the degrees of precedence constraint violation. Individual machine type holons obtain operation requirements from product holons, decide the beginning times for these operations by solving operation-level subproblems, and evaluate the degrees of capacity constraint violation. The coordinator collects the subgradient and subproblem costs from machine type and product holons, and generates the coordination information, i.e., the step size , by using the subgradient method. This information is used to guide the adjustment of capacity and pijl

pijl



precedence prices to iteratively improve the schedule quality. The iterative process is generally stopped when the algorithm is converged, or after a xed number of iterations have been executed. However, since the operation times under consideration are in the order of minute or even second, and on-line rescheduling is often needed, the iterative process is terminated after a xed period of time. Although subproblem beginning times may not constitute a feasible schedule, a simple heuristic can be used to modify these beginning times to obtain a feasible schedule. At this step, actual AGV empty traveling times are used. An important by-product of the method is that the dual cost is a lower bound to the optimal scheduling cost. The quality of the feasible schedules at the stopping point can therefore be quantitatively evaluated. As mentioned before, this scheduling method runs in a \moving window" fashion to respond to dynamic changes. Since the prices may not change dramatically in consecutive scheduling processes, the prices of an existing schedule can be used to initialize the rescheduling process to cut down computation time and improve scheduling performance (Luh & Hoitomt, 1993).

5 Holonic Implementation The planning and scheduling system is implemented by using an object-oriented approach, and holons are implemented as objects. Individual objects consist of encapsulated information and functions. These functions support the processing of information, and the cooperation with other objects. These objects are realized on a distributed object oriented operating system called Intellectual Distributed Processing System (IDPS) (Tamura et al., 1987). Objects can be located on di erent computers connected by a local area network, and can execute their functions concurrently. Message exchange among objects is realized using a broadcast communication mechanism supported by the IDPS. The basic object classes, including product, part, machine, machine type, operation, and coordinator classes, are described in the following. Machine Type: The machine type objects correspond to machine types, such as assembly station tpyes, and AGV types, etc. The major information contained in the objects includes eligible operations and machine availability (how many machines are available at each time period). The functions include

\bidding" and \contracting" the machine type for operations in the planning stage, and solving operationlevel scheduling subproblems (5). In addition, the capacity subgradient is evaluated as in (7), and the capacity prices are updated according to (9). Since each machine type has only one machine in the testbed, the machine and machine type object classes are implemented as one machine type object class. Operation: An operation object corresponds to an abstract operation in the planning stage. The information includes its application conditions. The functions of an operation object compare its application conditions with the function features of parts to perform the \bid" and \contract" processes. Product: The product objects correspond to the products to be manufactured. The information contained includes product requirement speci cations such the nished shape, due date, priority, etc. The planning functions coordinate the behaviors of part and operation objects to select required parts and a feasible assembly plan. The scheduling functions P support the collection of all subproblem costs, ij Lpij , the evaluation of precedence subgradient as in (8), and the updating of precedence prices according to (10). Part: The part objects correspond to component parts in the planning stage. The shape, assembly function features and other properties of individual parts are represented in the class. The functions in part objects compare part speci cations with those of products to perform the \bid" and \contract" processes. Coordinator: This object is used to coordinate scheduling activities. The information needed from other objects includes the dual cost, capacity subgradient, and precedence subgradient. The functions in the object generate coordination information, i.e., the step size, to guide machine type and product objects in updating their prices to iteratively generate high quality schedules. The above implementation realizes the holonic concept in the sense individual objects declare their capabilities, bid for the product requirements, and cooperate with each other to perform planning and scheduling activities.

6 Preliminary testing results Preliminary testing by using computer simulation has been performed. Several test cases were selected to evaluate the e ectiveness and exibility of the system. The planning algorithm was evaluated in the IDPS setting, where several workstations (e.g., SUN SPARC

M1 M2 M3 Storehouse

M1 (0,0) (3,2) (3,2) (3,2)

M2 (3,2) (0,0) (3,2) (3,2)

M3 Storehouse (3,2) (3,2) (3,2) (3,2) (0,0) (5,3) (5,3) (0,0)

Table I: Traveling times between pairs of assembly stations server 460, and 630, etc.) are connected by a local area network. The computation time for generating a feasible assembly plan for a product consisting of ten parts is shown in Fig. 1. It can be seen that with the increase of the number of workstations, the computation speedup for Phase 2 of the planning stage is obvious. However, only a small computation speedup for Phase 1 is observed. Better implementation of constraint satisfaction process to improve computational eciency is under development. As for dynamic changes, such as out of stock of relevant parts, introducing a new machine type, etc., the situation can be simulated by dynamically adding or removing corresponding objects. Further testing is underway. The scheduling method was evaluated by using three test cases performed on one SUN SPARC10 workstation. The distributed testing of the method in the IDPS setting is underway. In Table I1 , the traveling times between pairs of assembly stations are given. The assembly plans for 4 di erent products are shown in Table II, where the traveling time for each AGV operation is assumed to be the loaded traveling time plus an average empty traveling time. Table III2 gives product scheduling speci cations. For all test cases, 3 second computation time on the SUN SPARC10 workstation was used as the stopping criterion for schedule generation. To evaluate the quality of these schedules, the dual costs after 5000 iterations were used. Case I: Normal situation This case demonstrates the ability to obtain a high quality schedule eciently. The rst three products in Table II are to be scheduled from time slot 0. All machines are available throughout the planning time horizon, and all the prices are initialized to zero. The feasible schedule has a cost J = 42:11, and the duality gap is 1%. Case II: Introducing a high priority order The situation is the same as in Case I, except that a high priority order for product 4 is released at time slot 10 without prior notice. To adapt to this situa(loaded traveling time, empty traveling time) pij is for (p; i; j ) 6= (p; 1; 1)

1 2!

Prod. p Subass. i Op. j Mach: tpij 1 1 1 AGV 7 2 M3 15 2 1 AGV 5 2 M1 10 3 1 AGV 5 2 M2 10 2 1 1 AGV 5 2 M2 10 2 1 AGV 5 2 M1 10 3 1 AGV 5 2 M3 15 3 1 1 AGV 5 2 M2 20 3 AGV 5 4 1 1 AGV 5 2 M2 15 2 1 AGV 5 2 M3 5 3 1 AGV 5 2 M1 5

Ipij

(1,1,1) (1,1,2) (1,2,1) (1,1,2) (1,3,1) (2,1,1) (2,1,2) (2,2,1) (2,1,2) (2,3,1) (3,1,1) (3,1,2) (4,1,1) (4,1,2) (4,2,1) (4,1,2) (4,3,1)

Table II: Assembly plans for products Prod. DueDate !p11 1 35 1 2 35 1 3 30 1 4 40 10

!pij

pij

0.01 0.0001 0.01 0.0001 0.01 0.0001 0.1 0.001

OrderTime 0 0 0 10

Table III: Product Scheduling Speci cations tion, rescheduling is performed to update the schedule from time slot 10. The feasible schedule has a cost J = 800:51, and the duality gap is 38%. As expected, operations of the high priority product are scheduled as early as possible. In the current implementation, the prices are initialized to zero for rescheduling. Better solution is expected by using the prices of the previous scheduling process. Case III: Machine breakdown The situation is the same as in Case II, except that in the time interval from time slot 10 to 25, M2 breaks down. As in Case II, rescheduling based on the status at time slot 10 is performed. The feasible schedule has a cost J = 2612:21 and with a relative duality gap of 6%. From above test cases, it can be seen that the system can generate assembly plans and schedules eciently. In addition, the slow convergence of solution

processes for Case II was observed. This can be explained by the characteristics of the dual problem and the subgradient method. The dual function can be shown to be concave and piecewise linear, and composed by many facets. The subgradient method can exhibit slow convergence because of zigzagging across intersections of facets. Better solutions are expected by using more advanced optimization method (Tomastik & Luh, 1993)

7 Conclusion In this paper, the cooperation mechanisms for planning and scheduling have been established for the testbed. Basic holons and these mechanisms have been implemented in the object-oriented operating system IDPS. Prelimilary testing showed that the system can generate assembly plans and high quality schedules eciently. Lagrangian relaxation has been naturally mapped onto the holonic architecture. It thus provides a theoretical foundation for cooperation among holons. It is believed that the Lagrangian relaxation technique can also be used for other aspects of HMS to achieve e ective cooperation of the holons for overall system performance. This research will serve as a foundation for further development. More practical systems are being considered, and new object classes, such as inventory position, and customer, etc., are being developed. Further integration between planning and scheduling will be investigated. In addition, issues related to reactive scheduling and on-line control will be explored.

References [1] Blazewicz, J., G. Finke, Haupt, R., and G. Schmidt, \New Trends in Machine Scheduling," European Journal of Operational Research, Vol. 36, 1988, pp. 303-316. [2] Czerwinski, C. S., and P. B. Luh, \Scheduling Products with Bills of Materials Using an Improved Lagrangian Relaxation Technique," IEEE Trans. Robotics and Automat., Vol. 10, No. 2, April 1994, pp. 99-111. [3] Dechter, R., and J. Pearl, \Network-Based Heuristics for Constraint-Satisfaction Problems," Arti cial Intelligence, Vol. 34, 1988, pp. 1-38. [4] Dilts, D. M., N. P. Boyd and H. H. Whorms, \The Evolution of Control Architectures for Automated

Manufacturing Systems," Journal of Manufacturing Systems, Vol. 10, No. 1, 1991, pp. 79-93. [5] Donath, M., R. J. Graves and D. A. Carlson, \Flexible Assembly Assembly Systems: the Scheduling Problem for Multiple Products," Journal of Manufacturing Systems, Vol. 8, No. 1, 1989, pp. 26-33. [6] Hasegawa, T., L. Gou, S. Tamura, P. B. Luh and J. M. Oblak, \Holonic Planning and Scheduling Architecture for Manufacturing," International Working Conference on Cooperating Knowledge Based Systems, Keele, U. K., June 1994. [7] Luh, P. B., and D. J. Hoitomt, \Scheduling of Manufacturing Systems using the Lagrangian Relaxation Technique," IEEE Trans. Automatic Control, Vol. 38, No. 6, July, 1993, pp. 1066-1080. [8] Sabuncuoglu, I., and D. L. Hommertsheim, \Dynamic Dispatching Algorithm for Scheduling Machines and Automated Guided Vehicles in a Flexible Manufacturing System," Int. J. Prod. Res., Vol. 30, No. 5, 1992, pp. 1059-1069. [9] Seidel, D., M. Hopf, J. M. Prado, E. GarciaHerreros, T. D. Strasser, J. H. Christensen, and J. M. Oblak, \HMS - Strategies, Vol. 0," The report of HMS consortium, 1994. [10] Smith, R. G., \The Contract Net Protocol: HighLevel Communication and Control in a Distributed Problem Solver," IEEE Trans. Computer, Vol. 29, No. 12, 1980, pp. 1104-1113. [11] Tamura, S., Y. Okataku and T. Seki, \Development of Intellectual Distributed Processing System," Preprints of IFAC 10th World Congress on Automatic Control, Vol. 4, Munich, Germany, July, 1987, pp. 37-42. [12] Tomastik, R. N., and P. B. Luh, \The Facet Ascending Algorithm for Integer Programming Problems," Proc. IEEE Conf. on Decision and Control, San Antonio, Texas, 1993, pp. 2880-2884.