IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
175
Coordination Mechanisms for Multi-Agent Manufacturing Systems: Applications to Integrated Manufacturing Scheduling Riyaz Sikora, Member, IEEE, and Michael J. Shaw
Abstract—The advent of information technology (IT) has made today’s manufacturing systems increasingly distributed. Typically such a system consists of a complex array of computer-based decision units, controllers, and databases. Rather than dealing with each component individually, it is necessary to have a new paradigm for management of manufacturing systems, so that all the components and their operations can be managed in an integrated fashion. The multi-agent framework presented in this paper is such a paradigm for achieving system integration. We specifically emphasize the coordination mechanisms needed for ensuring the orderly operations and concerted decision making among the components—i.e., agents—of the manufacturing systems. The application of the framework to a printed circuit board manufacturing system and the performance results are also described. Index Terms—Agent-based manufacturing, coordination technology, intelligent manufacturing, system integration.
I. INTRODUCTION
T
HE FACE OF the marketplace is fast changing because of intense competition on a global level. To stay competitive in such a rapidly changing environment, organizations have to manage the different components of their technology by integrating and coordinating them into a highly efficient, effective, and responsive system. This situation has led to an increased interest in the field of systems integration (Shaw et al. [23]) which deals with the coordination of the various functional and operational areas of the organization, especially in the manufacturing domain. In this paper we present an agent-based framework for the coordination and integration of manufacturing systems. It models each stage or process as an autonomous agent. Message passing among these autonomous agents forms the control structure. Each agent has an internal behavior model, a functional component consisting of procedures/heuristics/strategies, and a protocol for interacting with other agents. The protocols specify what action an agent will take based on its local state and the messages received from other agents. Thus, the concurrent execution Manuscript received November 22, 1994; revised October 13, 1996. Review of this manuscript was arranged by Department Editor D. Gerwin. R. Sikora is with the Department of Industrial and Manufacturing Systems Engineering, University of Michigan–Dearborn, Dearborn, MI 48128-1491 USA (e-mail:
[email protected]). M. J. Shaw is with the Beckman Institute for Advanced Science and Technology, University of Illinois, Urbana-Champaign, Urbana, IL 61801 USA (e-mail:
[email protected]). Publisher Item Identifier S 0018-9391(97)03309-6.
of the protocols by all the agents determines the coordination mechanism used by the agents and the resulting emergence of their behavior. Based on the above framework we have developed an object-oriented system that includes different mechanisms for the problem of coordinating and integrating the working of various processes and stages in a real world manufacturing shop floor. The system has shown promising results in reducing the total cycle time and inventory buildups. The development of the above agent-based framework can be of utmost importance to the management of technology in the manufacturing domain. For instance, the development of automation in manufacturing industry has historically followed the “islands of automation” approach where many machines or machine cells are independently equipped with local computing resources. The resulting factory floor is typified by interconnected and interdependent systems where both the information and control flows are highly complex. For a fully integrated shop floor it is extremely important that these interrelated system functions be mutually rationalized and completely coordinated via the application of a unified framework of system integration, such as the one being proposed in this paper. The rest of the paper is organized as follows. In Section II we present a brief summary of the work done related to the development of coordinated and integrated manufacturing; in Section III we present the conceptual agent-based framework that can be used to analyze or implement a multi-agent manufacturing system; in Section IV we present a real world example of a printed circuit boards manufacturing facility and show how the above developed framework can be applied; in Section V we present coordination mechanisms for different levels of the system within the framework developed in this paper; in Section VI we extensively evaluate our multiagent approach and the coordination mechanisms developed for each level of the system; in Section VII we present a discussion of the results; and finally in Section VIII we conclude. II. REVIEW
OF
RELATED RESEARCH
An integrated manufacturing system is one in which interrelated tasks and activities are effectively coordinated with each other. The increasing trend toward integrated manufacturing system began with the development of the MRP/MRP-II systems that tried to integrate the functions of forecasting,
0018–9391/97$10.00 1997 IEEE
176
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
order entry, aggregate planning, and materials requirements. The MRP-II systems look at the effect of the master schedule on the detailed plan rather than developing a plan that works within the bounds of capacity. These systems are limited in scope as they try to integrate functions only within the production management area. Also, MRP II systems only provide manufacturing control at the long-term level. In most cases the short-term and real-time shop floor control is done manually, often on an ad hoc basis, or by using other more dynamic scheduling or control packages. The increasing need for integrating cross-functional areas lead to the development of computer integrated manufacturing (CIM) in Harrington [9]. The underlying philosophy behind CIM was that system integration can be achieved by providing a computer-based system to link the different advanced flexible production systems (“islands of automation”). However, as pointed out by Duimering et al. [7] and many others (Mize [16], Wolfe and Settles [29], Conaway [6]), merely linking different systems does not lead to integration. For true integration, the actual activities performed by the different systems should be coordinated. Recently, a great deal of attention has been focused on new techniques and tools for improving the manufacturing activities. The most important of them being the just-in-time (JIT) manufacturing system, originally developed by Toyota and aimed at waste reduction and inventory control within the manufacturing system. There has been a fair amount of work done in developing distributed systems for manufacturing control. Maley [13] presents a system that uses a distributed negotiation procedure for managing physical parts’ operations and the information flow within manufacturing. There have been many applications of contract net for distributed manufacturing control (Shaw [22], Parunak [19]). Most of these assume the use of MRP II’s functionality and use the contract net for lower level control. Baker [3] presents a system that uses contract net to implement both MRP II and lower level control. Parunak et al. [20] describe a factory control system that uses the actor model as its software architecture and a negotiation-based fractal hierarchical control structure. Fractal hierarchy refers to the notion that the formalism used to model the factory is the same at every level of the hierarchy. The above-mentioned approaches of managing manufacturing systems utilize functional decomposition to specify the tasks to be completed by each component of the system. In contrast, the agent-based approach emphasizes the importance of information and control by utilizing the relationships and interdependencies between the agents as a fundamental part of the system. This point of view is shared by recent research in agent-based systems (Lee et al. [11]) and network organizations (Ching et al. [4]). Recently there has also been an increased interest in the use of agents for manufacturing scheduling problems (Sadeh [21], Li and Solberg [12], Sycara et al. [28], Le Pape et al. [10]). The special issue of the Communications of the ACM (1994) presents several examples of agent-based information systems. However, as pointed out by Malone and Crowston [14], there has not been a formal, rigorous, and explicit treatment of coordination and its different issues.
Fig. 1. Conceptual model of an agent.
The framework presented here is based on rigorous analytical treatment by Sikora [24] characterizing different control structures in a multi-agent system that lead to a useful taxonomy of interdependencies and coordination mechanisms. The main advantages of using the framework presented in this paper are: 1) it provides uniformity of a general framework for the total system by treating the heterogeneous components in a homogeneous fashion, 2) it recognizes modularity by allowing different modules to be individually developed and implemented, 3) it underscores the importance of the capability to reconfigure the system easily, and 4) it represents distributed control by modeling the “agents” as having local control along with the capability for interacting and coordinating their activities through message-passing. In the next section we present the conceptual agent-based framework. III. AGENT-BASED FRAMEWORK FOR MANUFACTURING SYSTEMS Agents are the basic entities in our framework. Agents can model either physical stages and processes of the system or decision modules. Each agent has its own well-defined goals and objectives. For example, the short interval scheduler (SIS) for a manufacturing flowline might consist of two agents modeling the decision processes concerned with lot-sizing and sequencing. Fig. 1 shows the conceptual model of an agent. The shaded blocks represent components that might not be present in all agents. Each agent is modeled as consisting of three important components. A knowledge base, a control unit, and a functional component. The knowledge base in turn consists of a list of acquaintances, which is a finite collection of agents that it directly knows about, and a knowledge base containing the domain knowledge and data. The control unit of the agent consists of protocols and in some cases a learning module. The functional component consists of computational procedures and in some cases a behavior model. Below we describe each component in detail. A. Knowledge/Data Each agent has a knowledge base that contains the essential data and knowledge required by the agent to perform its activities. For example, in case of a manufacturing line the data might include information about the manufacturing environment such as processing times and set up times. An agent might also have knowledge about the capabilities of
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
177
other agents. For example, it might know that Agent 2 has the capability of determining the best sequence that minimizes the makespan. Note that unlike the data component, which for the most part remains static, the knowledge component of the knowledge base might be continuously updated either by the agent itself or by the system designer. B. List of Acquaintances Each agent has an acquaintance list that contains the list of agents that it directly knows about. An agent can communicate only with those who are in its acquaintance list. The acquaintance list determines the interdependency and control structure among the agents. For example, the activities of the agents might be interdependent due to the constraint of ordering them in a certain order (temporal interdependency), the agents might be using a common resource (e.g., money, storage space, or an agent’s computation time) to perform their activities (resource interdependency), or the sub-goals of the agents resulting from task decomposition might be overlapping or interdependent (sub-goal interdependency).
Fig. 2. Multi-agent framework for system integration.
C. Functional Component Each agent has a functional component that contains the computational procedures that the agent might need. The computational procedures can be optimization techniques or heuristic/search techniques. For example, an agent responsible for doing the short interval scheduling of a manufacturing line might have heuristic procedures for doing lot-sizing and sequencing. In some cases the agents might also have a behavior model of the corresponding system component. For example, a scheduling agent for a manufacturing line might contain a simulation model of the line in order to test and evaluate different production schedules. D. Protocols Protocols provide the basic mechanism for the agents to communicate with each other. Protocols specify what kind of information sharing takes place between the agents and how the agents respond to messages they receive from other agents. Protocols can be specified in the form of if–then rules or in the form of a sequential algorithm that is executed by each agent. The protocols of all the agents together constitute the coordination mechanism being used by the system. The concurrent execution of the protocols of the agents, therefore, determines the emergence of behavior for the agents and the resulting system performance. E. Learning Module The learning module enables the agent to constantly update the knowledge component of its knowledge base based on the performance of its functional component and on the interaction with the other agents. For example, over time the agent might learn the best dispatching rule (a computational procedure) to use in a given scenario. Fig. 2 shows a general representation of the application of the agent-based framework. For example, the entities can be
Fig. 3. The two-stage manufacturing facility.
the different computer-based machines in a shop floor that have to be integrated. The physical links would correspond to the material handling system that interconnects the islands. The application of the agent-based framework for integrating the working of the islands of automation would then involve creating the agents corresponding to each island of automation and enabling them to interact and control the entities. Note that the agents do not necessarily have to correspond to physical entities (for e.g., Agent A in Fig. 2). They could be logical decision modules which also have to be integrated with the working of the physical entities. In such cases there would not be a behavior model in the functional component of the agent. Each agent can in turn be analyzed within the agentbased framework as consisting of subagents (for e.g., Agent 4 in Fig. 2). IV. A REAL WORLD APPLICATION DOMAIN: PRINTED CIRCUIT BOARD MANUFACTURING In this section we present a proof-of-concept system to demonstrate the implementation of the agent-based framework. Specifically, we look at the problem of system integration in a real world surface mount technology (SMT) plant for manufacturing printed circuit boards (PCB’s). The purpose is to ensure that the individual components and decision modules act to meet global system objectives in a distributed fashion. Fig. 3 shows the schematic of the whole manufacturing environment consisting of the two stages corresponding to the manufacturing and assembly operations. The manufacturing stage consists of SMT based assembly lines where the placement of the components on the PCB’s
178
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
takes place. The facility consists of four such assembly lines and thus has considerable flexibility. The four lines together constitute the manufacturing stage of the facility. The facility is designed to produce 18 different types of PCB’s. Each SMT line consists of screen printers for masking and attaching solder on the bare PCB’s, three types of automated component placement machines (Fuji, Zevatech, and automated robots), PROM programmers, manual assembly stations (for placement of components too large for the machines to handle), infrared ovens, and automated and manual test stations. The machines in the manufacturing stage are connected by conveyors which can hold at most two boards at a time. Thus, one of the important characteristics of the SMT lines to be considered when making scheduling decisions is the limited amount of buffer capacity available between the machines. Bar code readers are used to scan each board to determine board type. Bar code information is used to change programs for the chip placement machines, robots, ovens, and PROM programmer for each batch of PCB’s without human intervention. Also, the set of components in the chip placement machines have to be changed whenever a different kind of PCB’s have to be processed by the machines. The time required to change the set of components in a placement machine, before the PCB’s can be processed by that machine, is called the setup time. Since these changes in the machines are done manually and require considerable skill, the setup times are significant as compared to the processing times of the PCB’s on the machines. Normally, the different kinds of PCB’s require a small common set of components. Therefore, the time required to set a machine for processing a kind of PCB usually depends on the kind of the PCB that was processed previously on the machine. In other words, the setup times on the machines depend on the sequence in which the different kinds of PCB’s are processed. Thus, the other important characteristic of the SMT line to be considered while making the scheduling decisions is the sequence dependence of the setup times, which usually dictate the performance of the overall system. After leaving the SMT lines the boards go through a testing station. At this point the boards are ready to be processed by the assembly stage of the facility where the boards are assembled into the final products. It consists of four assembly lines that are operated manually. Fig. 4 shows the need for coordination among the different components of the manufacturing system described above at different levels of granularity. At the lowest level, the short interval scheduler that determines the production schedule for a flowline has to coordinate the functioning of the lot-sizing and sequencing modules. The need for coordination arises because the two modules have different and often conflicting objectives (lot-sizing module minimizes the holding and setup costs, whereas the sequencing module minimizes the total cycle time, or the makespan). At the next level, there is a need for coordination among the short interval schedulers for each of the four flow-lines so that the production of individual PCB’s that go into the same final product is synchronized. At the system level, there is a need for the different stages of manufacturing and assembly to coordinate their schedules in real-time so that any unexpected occurrences can be handled.
Fig. 4. Multi-agent manufacturing system framework.
In the next section we deal with the coordination issues at each of the three levels of the system in detail. V. COORDINATION IN THE MULTI-AGENT MANUFACTURING SYSTEMS A. The Decision Level: Coordination Mechanisms for Integrating Decision Modules In this section we show the integration of the different decision modules for the working of the short interval scheduler. The problem of finding a schedule for a flow line with sequence dependent setup times has been dealt with extensively in the production and operations research literature and has been shown to belong to a class of problems called NP-hard (Bahl and Ritzman [1]). Several approaches that treat the problem as an optimization problem have been suggested (Manne [15]; Smith-Daniels and Ritzman [27]), but they all suffer from the drawback that they do not scale up to the real-world problems. As a result several heuristic approaches that decompose the scheduling problem into two subproblems of lot-sizing and sequencing and treat them as independent subproblems have been proposed (Bahl et al. [2]; Elmaghraby [8]). In reality, however, these two subproblems, i.e., lot-sizing and sequencing, are not independent of each other. To reiterate, the single flow line scheduling problem is to find the weekly schedule of production that meets the daily demand, satisfies the capacity constraints, minimizes the costs and improves the productivity. The weekly schedule consists of the daily lot-sizes and the sequence in which the lots of different board types are produced on the same line. Thus, we have two main decision modules of lot-sizing and sequencing in our scheduler. For a more realistic solution we need an approach or a methodology that, while treating the two subproblems separately, has the additional capability for integrating the solution process of the two sub problems. The agent-based framework provides such an approach. It allows us to model the decision
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
modules for solving the two sub problems as different agents, while at the same time providing them with a means of interacting with each other and coordinating their actions while building their solutions incrementally. Below we analyze the system in terms of our conceptual framework for multi-agent systems presented earlier. B. Scheduling System as a Multi-Agent System The above short interval scheduler can be analyzed as consisting of two agents: agent : Lot-sizing module and agent : Sequencing module. There is a temporal interdependency among the activities of all the two agents. For example, agent (the sequencing module) cannot start its activities (i.e., finding the sequence) until agent (the lot sizing module) sends its partial result (lot sizes). There is also a subgoal interdependency as (the lot sizing module) needs to know the the agent current bottleneck machine and the makespan, which can be determined by the information provided by the agent (the sequencing module). Thus, each agent is dependent for its activities on the other resulting in a circular interdependency. Since the objectives of minimizing the costs (setup holding) and minimizing the makespan can sometimes be conflicting (for example, it is quite possible to decrease the total cost of a schedule while increasing its makespan), it is necessary for the agents to coordinate by exchanging their partial results and using a common “tradeoff function” that combines the different objectives into a global objective function. Since reducing the total makespan leads to increased productivity, the objectives of reducing costs and reducing makespan are combined into a single objective by using a savings rate, a ($/min), to convert the reduction in makespan into savings of cost. Below we describe the components of the agents in detail. C. Agent 1) Data: The data contained in the knowledge base of agent consists of the number of machines, the processing times for the boards, the daily demand for the boards, the unit holding costs for the boards, the daily capacity, and the rate of savings due to increase in the productivity. 2) Knowledge: The agent has the knowledge that agent has the capability for finding the best sequence and the corresponding makespan for producing a given set of lots. 3) Computational Procedure: The computational procedure consists of calculating the utility function for each product that gives the total decrease in costs per unit use of the resources. This utility function is the tradeoff function that combines the objectives of minimizing the costs and makespan into a single objective function. Specifically, the utility of producing an additional lot, of board on day that was originally needed on day is given by (1) (2)
179
where savings (in $ per time units) due to the increase in productivity; lot of board (in number of units), being considered for production; original makespan (in time units) of day ; makespan of day after the production of lot is moved from day to day ; decrease in the total makespan; unit holding cost (in $ per period) of product ; unit processing time of product on the bottleneck machine. needs to coordinate with the Note that the agent sequencing agent in order to find the and the current bottleneck machine. 4) Protocol: The protocol used by the agent consists of the following steps. 1) For each production period tentatively schedule a lot of each product, send the set of lots that have so far been scheduled for production for the current period to agent with a request to find the makespan and the current bottleneck machine. 2) Execute the computational procedure and calculate the utility of producing each product. 3) Choose a lot of the product with the maximum positive utility and schedule it for production. If none exists move onto the next period. 4) Repeat the above steps till all the products have been scheduled for production. D. Agent 1) Data: The data contained in the knowledge base of agent consists of the number of machines, the processing times for the boards on each machine, the sequence dependent setup times, and the intermediate buffer capacity between the machines. 2) Computational Procedure: The computational procedure consists of the Palmer’s heuristic (Palmer [17]) for finding the sequence. 3) Behavior Model: The behavior model consists of the simulation model of the manufacturing line that can determine the current bottleneck machine and the total makespan for any given schedule. 4) Protocol: The protocol used by the agent consists of the following steps. 1) Upon receiving the lotsizes from agent execute the computational procedure to find the initial sequence for production. Execute the behavior model to find the makespan for the current schedule. 2) For every pair of locations on the current sequence perform a pair-wise interchange of locations and execute the behavior model to find the new makespan. 3) Choose the pair-wise interchange that gives the maximum reduction in the makespan and treat the new sequence as the current sequence. 4) Repeat steps 2 and 3 until no further improvement can be made in the sequence.
180
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
Fig. 6. Coordination and communication through shared object.
Fig. 5. An example of multiline coordination.
5) Send the best makespan found so far and the corresponding bottleneck machine to agent E. The Process Level: Coordination Mechanisms for Integrating the Scheduling of the Manufacturing Lines In the previous section we presented the implementation of the agent-based framework for integrating the decision modules for lot-sizing and sequencing. We now move onto the next level corresponding to the integration of the manufacturing lines. The multiline scheduling problem can be stated as follows: Given a week’s (or any time horizon) demand for the final products, the product structure (i.e., what boards are assembled into a product), the line on which each board is to be made, and the details about each flowline (such as the processing times, the setup times, the buffer capacity between the machines, etc.), the problem is to find a schedule for producing boards on each line so that 1) the due dates for the final products are met, 2) the total cycle time is minimized, and 3) the production of boards going into the same product is coordinated (i.e., the inventory of finished boards waiting for the connecting boards have to be minimized). To better illustrate the need for coordination in scheduling the multiple lines consider the example shown in Fig. 5. The figure shows a product structure consisting of two products P1 and P2. Product P1 is made of two boards B1 and B2, and product P2 is made of two boards B2 and B3. Note that the board B2 is common to both the products. In the actual application under consideration the products are modems and the boards are PCB’s. The PCB’s that are needed in many products (like B2 in Fig. 5) are known as the “mother boards.” Assume that the three boards are to be made on three different lines as shown in the figure. Based on the daily demand of the products, one can determine the daily demand for the boards on each individual line, as shown in the figure. In the previous section, we dealt with the problem of scheduling each of these lines independently. For example,
in deciding whether to shift the production of the ten units of boards B1 from day 2 to day 1, line 1 would be using the utility function discussed before in finding out the tradeoff between the increase in holding costs and the decrease in the total makespan. However, the lines can no longer make these decisions independently because of their interdependence due to the product structures. For example, if line 2 decides to shift the production of the 15 units of board B2 from day 2 to day 1, then line 1 would no longer incur the holding costs if it were to also shift the production of the ten units of board B1 from day 2 to day 1. In other words, the implications of decisions made by other lines have to be taken into account by each line. Below we illustrate the implementation of the agent-based framework to coordinate the scheduling of the manufacturing lines. 1) Agents: There are four agents corresponding to the scheduling system for each line 2) List of Acquaintances: For each line the list of acquaintances consists of agents for only those lines that share the production of boards constituting the same product structures. 3) Data: The data component of the knowledge base for each agent consists of the information about the product structures and the daily demand for the products. 4) Knowledge: The knowledge component of the knowledge base consists of the information about which line is currently capable of producing which boards. 5) Functional Component: The functional component is same as the complete scheduling system presented in Section V-A. In other words, the agents at this level contain subagents within themselves (like agent 4 shown in Fig. 2). The coordination among the agents representing the flowlines is achieved by manipulating “shared data structures” (Lee et al. [11]) without direct pair wise communications. As shown in Fig. 6, a shared data structure called (Work In Demand) is used that shows how many units of each board are currently needed. The utility function used by the computational procedure of the lot-sizing agent is modified to use the information about the The new utility of producing an additional lot, of board on day that was originally needed on day is given by
(3)
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
where current day
is the work in demand for product
181
on the
if else. All the other terms have the same meaning as explained in Section V-C. The main idea underlying the above utility function is that no holding costs are incurred for boards that are needed on the same day by their subassemblies (even though their due date might be later). Thus, every thing else being the same, the utility function favors the boards that are currently needed. Note that if then the holding costs are incurred only for those boards that are not needed on the current day. The functional component also contains the following computational procedure for updating the structure whenever a lot of board has been scheduled for production. procedure WID update (Board i, Lot D) if (D WID[i]) (more is produced than is needed) then increment the WID of all board i’s connecting boards by (D - WID[i]) (the quantity (D-WID[i]) of board is not currently needed, hence it should increase the demand for all its connectingboards so that it does not have to be carried over to the next day. Once one of those connecting boards is produced the WID’s for the rest of them would be decremented accordingly, as described below.) endif If (WID[i] 0) then decrement WID[i] by the amount min (since that demand has been met) decrement the WID of all the connecting boards of each connecting board of board i (except board i itself) by the amount min (because those are all the boards whose had also been increased along with as explained above) endif 6) Protocol: The protocol used by each agent consists of the following steps. 1) Execute the first three steps of the protocol for the lotsizing subagent to schedule a lot of the best board (i.e., the one with the best utility) for production. 2) Execute the computational procedure to update the structure for the board that has been scheduled for production. 3) Repeat the above steps until all the boards have been scheduled for production. To understand the working of the above procedure, once again consider the previous example reproduced in Fig. 7. Initially the for all the products is zero. Assume that in step 1 of the above protocol line 2 schedules the production of the lot of 15 units of boards B2 from day 2 to day 1 (i.e.,
Fig. 7. An example execution of WID_Update procedure.
In step 2, the line executes the procedure for updating the information. Since in this case the line is producing more than is currently needed and should increase the planned production for the connecting boards. It therefore for all the connecting boards of B2 (i.e., updates the boards B1 and B3) by incrementing them by a value of 15 At this point it becomes more attractive (i.e., the value of the utility function increases) for line 1 to schedule the production of the lot of ten units of board B1 from day 2 to day 1 (the same is true for board B3 on line 3). As shown in the figure, assume that at this point line 1, after executing step 1 of its protocol, decides to schedule the production of and those ten units of board B1 on day 1 (i.e., Since the line is producing less than what it does not need to increase is needed (i.e., the planned production for the connecting boards. Since it has scheduled ten units out of the 15 needed, it has to decrease by ten. It also has to decrease by the same amount as they had been increased together. At this point, assume that the line 3 also decides to schedule the production of the lot of five units of board B3 from day 2 to day 1 (since its utility function value has increased as explained above). Again, line 3 follows the same procedure ’s and the system reaches a stable of updating the ’s are back to their initial values state in which all the and the production of all the boards on day 1 has been
182
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
coordinated. The above example shows how the lines can work on their production schedules concurrently and coordinate by exchanging and utilizing information from the other lines. The above implementation also shows the flexibility and the modularity provided by the agent-based approach. For example, additional manufacturing lines can be added over a period of time without having to change the underlying decision processes required to schedule the lines. Agents could just be replicated for the new lines and the knowledge of the existing agents modified to reflect the addition of the new lines. F. The System Level: Coordination Mechanisms for Integrating Multiple Stages The coordination schemes discussed in the previous section can be used for determining the schedule for each day of the planning horizon in advance. However, rarely do the detailed production schedules determined ahead of the time work in practice because of the occurrence of unexpected events. For example, reports from shop personnel in different industries indicate the effective useful life of a daily schedule to be less than an hour (Parunak [18]). Many researchers have likened the modern manufacturing shop floor to a complex, dynamic, and often chaotic system consisting of a collection of agents responding to their local environments. To effectively manage and control such a chaotic system we need a realtime coordination mechanism that is able to cope with the dynamic unpredictability of the shop floor. The manufacturing line schedulers should use the detailed production schedules developed earlier only as a guide of what has to be produced during that day. At any point in time they should determine the exact actions to execute (for e.g., which job to dispatch next) based on the current status of the shop floor. Lack of real-time coordination between the manufacturing and assembly stages might result in excessive build-up of the inventory in the buffers between the two stages and lead to the increase in the cycle time. For example, if line 1 is temporarily not able to produce boards of type A, it might not be appropriate for the other lines to continue making connecting boards for the board of type A. Thus, it is logical that the manufacturing stage respond to the current status of the buffers in determining the dispatch of jobs (i.e., board types). A concept similar to the shared data structure used earlier is used in communicating the status of the buffers back to the manufacturing stage in order to dynamically reprioritize the jobs. A shared global data structure called the Priority Index (PI) is used that indicates the level of priority for each board type. The assembly stage manipulates the PI structure whenever a new board arrives in the buffer. For each new board entering, the assembly stage first checks to see which of the products that use the incoming board are still needed on that day. It then checks to see if any of the needed connecting boards are already there in the respective buffers. If none of the connecting boards needed are available then the buffer increments the priority index for all those connecting boards. If the connecting boards needed are present it assembles the final product as required.
Initially the manufacturing stage uses the base schedule determined by the agents at the process level, as discussed in the previous section, to determine the first job to dispatch. The manufacturing stage makes a decision about the next job to dispatch on each line after a fixed number of units (i.e., unit lot-size) of the current lot have been dispatched. It checks the priority index of the jobs remaining and dispatches the job with the maximum priority. If all the jobs have the same priority index, then the line reverts back to the base schedule. In this way the manufacturing stage is able to respond dynamically to the changing status of the buffers in the assembly stage to avoid the intermediate inventory buildup. Below we present the implementation of the agent-based framework for coordinating the functioning of these two stages, and evaluate the performance of the coordination mechanisms in terms of minimizing the maximum buildup of inventory, minimizing the average waiting time for the boards in the intermediate buffers, minimizing the total cycle time (or makespan), and minimizing the average flow time. In terms of our framework there are two agents, and at this level corresponding respectively to the stages of manufacturing and assembly operations. G. Agent 1) Data: The only data component used by this agent is the size of the unit lotsize used for production. Note that by varying the size of the unit lotsize one can vary the responsiveness of the manufacturing stage to the changes in the inventory at the assembly stage. By having a very small initial lot-size one can make the manufacturing stage more responsive. 2) Functional Component: As before, the functional component consists of the four subagents corresponding to the four manufacturing lines, as described at the Process Level in Section V-B and depicted in Fig. 4. 3) Protocol: The protocol used by the agent consists of the following steps: 1) Execute the protocols of all the four subagents to determine the base production schedule for each day of the planning horizon for each of the four manufacturing lines. 2) For each line dispatch a unit lotsize of the first lot given by the base production schedule in step 1. 3) For each line check the Priority Indices (PI’s) of all the boards and dispatch the unit lotsize of the board with maximum PI. If all the PI’s are same revert back to the base production schedule and dispatch the next unit lotsize of the first board scheduled. 4) Repeat step 3 until all the scheduled production has been dispatched. H. Agent 1) Data: The data component of the knowledge base contains information about the product structures and the daily demand for the final products. 2) Computational Procedure: As explained above, the computational procedure consists of updating the PI’s of the connecting boards whenever a new board enters the buffer.
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
COMPARISON
OF
183
TABLE I RESULTS FOR EVEN DISTRIBUTION
3) Protocol: The protocol used by the agent is triggered whenever a new board enters the buffer and consists of the following steps. 1) Check which of the products that use the incoming board are still needed on that day. 2) Check if any of the needed connecting boards are already there in the respective buffers. If yes, then assemble the final product as needed. If no, then execute the computational procedure to update the PI’s of all the connecting boards. VI. EXPERIMENTAL RESULTS The application of the agent-based framework to the manufacturing problem under consideration was implemented in , where the individual agents were represented by objects. C The knowledge base was implemented as the data component of an object and the protocols and the functional component were implemented as functions of an object. For rigorous evaluation and testing of the above system we carried out extensive experiments to individually test all the coordination mechanisms discussed in Section V. Below we discuss the implementation and experimental results for each of the levels. A. Decision Level At this level, the problem is coordinating the working of the decision modules of lot-sizing and sequencing to determine the
production schedule of just one individual flowline. We use the performance of the traditional approach as a benchmark for comparing the performance of our multi-agent approach. In the traditional approach, the widely used Silver-Meal heuristic (Silver and Meal [26]) is used for lot-sizing and the Palmer’s heuristic (Palmer [7]) is used for sequencing. For fairness of comparison, we also developed an integrated approach that modifies the Silver-Meal heuristic to take into account the dependence of lotsizing on the sequencing decision. For details of the above two approaches, please refer to Sikora et al. [25]. We compare the performance of the above two scheduling algorithms with the performance of the agent-based approach presented earlier. In all the experiments, the configuration of the SMT manufacturing facility for making PCB’s described in Section IV was used as the test bed and the number of board types was fixed at ten. Since the conveyor connecting the machines can hold at most couple of boards, the intermediate buffer capacity was fixed at two products between every pair of machines. The real manufacturing facility runs in three shifts for a total of 24 h each day. So the daily capacity for the line was fixed at 20 h. The base case of sequence dependent setup times were generated uniformly from the range of 5 min to 25 min. The setup times were then varied as multiples of 1.5, 2, 2.5, and 3 of the base case. For each setup time, 20 different test problems were generated, making a total of 100
184
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
COMPARISON
OF
TABLE II RESULTS FOR UNEVEN DISTRIBUTION
different problems. With the anticipation that the performance of any scheduling approach would be affected by the load distribution, two different sets of 100 problems were tested: one with an even distribution of load across the five days of the week and other with uneven distribution of load. A total weekly load (i.e., the sum total of all processing times) of 150 h was considered. The conversion rate in (1) was fixed at $60/h for all the experiments. Tables I and II give the results for the two sets of experiments. All results are averaged over the 20 trials. The criteria for the comparison of the schedules given by each approach are the total makespan, the total holding costs, and the total overtime. The percent changes in the results for the two integrated approaches are given with respect to the results given by the traditional approach. The results of the paired t-test are also given for statistical significance of the differences. As can be seen, the agent-based approach significantly and consistently improves the performance on all the criteria primarily because of the proper integration.
TABLE III MULTILINE COORDINATION RESULTS
B. Process Level At this level of the system, the problem is coordinating the production schedule for the four flowlines constituting the manufacturing stage. The agent-based approach was tested on ten different problems consisting of four flowlines, ten
products, and 12 types of boards. Each flowline consisted of five machines and made three different boards. Each product structure had at most two boards in it. The daily product
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
COMPARISON
OF
185
TABLE IV REAL-TIME COORDINATION MECHANISMS
demand data was generated uniformly from the range [20, 50]. The daily capacity for each line was set at 20 h. The processing time for the boards were generated uniformly from the range [0.5, 2], the sequence dependent setup times were generated uniformly from the range [5, 25], and the holding costs were generated uniformly from the range [0.1, 1]. The value of was fixed at $60/h. The above values for the data were based on the real data received from the manufacturing facility. Since the interdependencies among the production schedules of different lines arise due to the product structures, a good measure of the coordination among the lines is the resulting buildup of intermediate inventory of finished boards. Thus, one of the criteria used in evaluating the performance of the agentbased approach is the inventory buildup in board-days. The other evaluation criteria used is the makespan of individual lines and the makespan of the whole manufacturing system. Table III shows the comparison of the results for each individual agent (line) as well as for the whole manufacturing stage. The results are averaged over the ten problems and are shown as percentage deviations from the results obtained with the traditional approach in which each line independently uses the scheduling system developed in Section V-A without coordination. For the whole manufacturing stage the performance criteria used are the effective makespan (which is the maximum of the makespan given by the individual lines since the lines produce boards concurrently), the total buildup of inventory, and the total load given by the sum of the makespan of all the manufacturing lines. The above results clearly demonstrate how the local actions of the agents in coordinating their schedules helps in reducing the performance criteria at the global level. Although the improvement in the work-in-process inventory due to coordination is to be expected, it is encouraging to note that agent-based approach also helps in reducing the makespan and the total load. All the results are statistically significant as given by the Wilcoxon Matched-Pairs Signed-Ranks test.
in manufacturing stage were uniformly distributed from 0.5 to 2 min. The assembly time for the final products was uniformly distributed from 5 to 15 min. A total of five different problems were tested. Table IV presents the results of comparing the agent-based approach of coordination with the performance of the base schedule obtained at the process level. All the results are averaged over the five trials. The performance criteria used to compare the schemes are the maximum inventory buildup, the average waiting time for boards in the buffer, the total cycle for the three stage process, and the average flow time of the boards. Note that some of the above criteria are inherently conflicting. For example, it might be possible to improve the average flow time of the boards and reduce the buildup of the inventory at the cost of increasing the total cycle time. All the results in the table are reported as percentage changes compared to the base case. As hypothesized earlier, there are tradeoffs involved in improving the performance based on different criteria. For example, the best performance in terms of reducing the buildup of inventory is obtained with the unit lotsize of size 1 unit. However, this improvement in performance is obtained at a significant cost of increasing the makespan (by about 27%) and increasing the average flow time (by about 10%). This is explained by the fact that using an initial lot-size of 1 unit makes the manufacturing stage hyper reactive to any changes in the status of the buffers. This helps in reducing the buildup of the inventory between the stages but it increases the number of setups required on each line, thereby increasing the total makespan and the average flow time. The above results show that for a specific problem one has to fine tune the initial lot-size parameter to obtain the best tradeoff among the different criteria. However, they demonstrate that the coordination mechanisms presented here can significantly improve the performance for a given base schedule. VII. DISCUSSION
C. System Level To evaluate the performance of the system-level coordination mechanism discussed in Section V, a second set of experiments was carried out on the WITNESS simulation package. The model of the two-stage manufacturing and assembly processes as well as the product structures were based on the real world SMT facility. There were four manufacturing lines and four assembly stations producing a total of 18 boards and 18 final products. Each manufacturing line produced six boards. The setup times were uniformly distributed from 5 to 25 min and the processing times of the boards on the machines
OF THE
RESULTS
The above application demonstrated the comprehensive methodology provided by the agent-based approach. Table V summarizes the different coordination issues addressed by our methodology at different levels of system abstraction. At the lowest level of abstraction we had the problem of coordinating the decision modules of lot-sizing and sequencing. The important issues addressed at this level were: 1) the reconciliation of different objectives of minimizing the costs and minimizing the makespan and 2) the sharing of partial results and exchanging of pertinent information about the current bottleneck machine and the makespan. At the next
186
IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, VOL. 44, NO. 2, MAY 1997
TABLE V SUMMARY OF COORDINATION ISSUES ADDRESSED
higher level of abstraction we had a manufacturing process composed of interrelated tasks of scheduling each flowline. The important issue addressed at this level was taking into account the interdependence of the scheduling tasks due to the product structure. At the next higher level we had the problem of coordinating multiple stages corresponding to manufacturing and assembly operations. The issues considered at this level were: 1) the ability to adapt to unexpected and dynamic events and 2) the real-time coordination of product flow based on a kanban-like dynamic reprioritization scheme. The agent-based system presented in this paper can be thought of as extending the functionality of the MRP-II systems. The system presented not only develops a detailed schedule that works within the bounds of capacity, it also provides for the short-term and real-time shop floor control. Moreover, the multi-agent framework presented in this paper provides a basis for developing coordination technologies that can be used in integrating different advanced flexible production systems. Recently a great deal of attention has been focused on new techniques and tools for improving the manufacturing activities. The most important of them being the just-in-time (JIT) manufacturing system, originally developed by Toyota and aimed at waste reduction and inventory control within the manufacturing system. Both the JIT and CIM systems share the idea that reduced system throughput time leads to improved manufacturing productivity. Since reducing the intermediate inventory levels reduces the corresponding system throughput time, the intermediate inventory buildup is a good measure of the system’s overall integration. As demonstrated by our experiments, the multi-agent framework for integration helps in reducing the inventory levels between different stages by a significant amount. A parallel can be drawn between the concept of coordination used in the previous sections and the Kanban and JIT type systems. The main concept underlying the JIT Kanban controlled production management is that the production must promptly and flexibly adapt to changes in demand and produce only what is needed at any operation. Parts needed by an operation should arrive just in time for their use. In other words, the release of the jobs for production depends on the status of the downstream machines in the shop floor. The information about the status is transmitted back to the front machines manually in the form of kanbans. Kanbans are small cards which provide
this information by instructing workers to produce or transfer a part or small lot of parts. In our coordination mechanisms discussed in Section V-B a similar concept is used in the planning stage. The production of the boards is to be planned in such a way that the boards going into the same final product are made on the same day so that the finished inventory of connecting boards do not have to be carried over. Conceptually, one can think of the shared , used by the lines for communicating data structure, as an efficient form of kanban. Where as Kanban system is used for coordinating the production flow on a real-time basis, the above approach is used for coordinating the generation of schedules on a planned basis. A similar approach for coordinating the release of the jobs in real-time was presented in Section V-C. VIII. CONCLUSION We have shown in this paper how automated manufacturing information systems can be treated as multi-agent systems with their components, such as decision software modules, process controllers, databases, etc., treated as agents working cooperatively. Within this framework, we develop coordination mechanisms for the agents on three levels: the decision level, where several functional modules collaborate on the underlying decision processes; the process level, where agents interact to complete the processes involved based on their task expertise and mutual interdependence; and, finally, the system level, where different stages coordinate their functioning to achieve desirable system-level performance. Extensive experiments were carried out to test the performance of the coordination mechanisms at the three levels of the system. Results showed marked improvement in performance measures such as cycle time (makespan), inventory holding costs, overtime, etc. Performance results confirm that the framework is important for management of IT in manufacturing systems that involve multiple steps of activities processed by a group of agents across a variety of functionalities. REFERENCES [1] H. C. Bahl and L. P. Ritzman, “A cyclical scheduling heuristic for lot sizing with capacity constraints,” Int. J. Prod. Res., vol. 22, no. 5, pp. 791–800, 1984. [2] H. C. Bahl, L. P. Ritzman, and J. N. D. Gupta, “Determining lot sizes and resource requirements: A review,” Oper. Res., vol. 35, no. 3, pp. 329–345, May–June 1987. [3] A. D. Baker, “Complete manufacturing control using a contract net: A simulation study,” Proc. IEEE Int. Conf. Computer Integrated Manufacturing (CIMIC), 1988, pp. 100–109. [4] C. Ching, C. W. Holsapple, and A. B. Whinston, “Modeling network organizations: A basis for exploring computer support possibilities,” J. Org. Comput., 1993. [5] Communications of the ACM, Special Issue on Intelligent Agents, vol. 37, no. 7, July 1994. [6] J. Conaway, “What’s in a name: Plain talk about CIM,” Comput. Mech. Eng., Nov. 1985. [7] P. Duimering, F. Safayeni, and L. Purdy, “Integrated manufacturing: Redesign the organization before implementing flexible technology,” Sloan Manage. Rev., pp. 47–56, Summer 1993. [8] S. E. Elmaghraby, “On heuristics and their performance evaluation for dynamic lot sizing,” Manage. Sci., vol. 26, no. 1, 1989, pp. 1–10. [9] J. Harrington, Computer Integrated Manufacturing. Malabar, FL: Krieger, 1975.
SIKORA AND SHAW: COORDINATION MECHANISMS FOR MULTI-AGENT MANUFACTURING SYSTEMS
[10] C. Le Pape, S. Smith, and K. Kempf, “Issues in the design of AI-based schedulers: A workshop report,” AI Mag., vol. 11, pp. 37-46, Jan, 1991. [11] K.-C. Lee, W. Mansfield, and A. Sheth, “A framework for controlling cooperative agents,” IEEE Computer, pp. 8–16, July 1993. [12] G. Li and J. Solberg, “Integrated shop floor control using autonomous agents,” IIE Trans., vol. 24, no. 3, pp. 57–71, July 1992. [13] J. G. Maley, “Managing the flow of intelligent parts,” Robot. Comput.Integ. Manufact., vol. 4, no. 3/4, 1988, pp. 525–530. [14] T. W. Malone and K. Crowston, “The interdisciplinary study of coordination,” ACM Comput. Surv., vol. 26, no. 1, pp. 87–119, Mar. 1994. [15] A. S. Manne, “Programming of economic lot sizes,” Manage. Sci., vol. 4, no. 2, pp. 125–135, 1958. [16] J. H. Mize, “Fundamentals of integrated manufacturing,” in Guide to Systems Integration, J. Mize, Ed. Norcross, GA: IEM Press, 1991, pp. 27–43. [17] D. S. Palmer, “Sequencing jobs through a multistage process in the minimum total time—A quick method of obtaining a near optimum,” Oper. Res. Quart., 16, pp. 101–107, 1965. [18] H. V. D. Parunak, “Characterizing the manufacturing scheduling problem,” J. Manuf. Syst., vol. 10, no. 3, 1991, pp. 241–259. [19] , “Manufacturing experience with the contract net,” in Distributed Artificial Intelligence, M. N. Huhns, Ed. San Mateo, CA: Pitman/Morgan Kaufmann, 1987. [20] H. V. D. Parunak, B. W. Irish, J. Kindrick, and P. W. Lozo, “Fractal actors for distributed manufacturing control,” Proc. 2nd IEEE Conf. Artificial Intelligence Applications, 1985, pp. 653–660. [21] N. Sadeh, “MICRO-BOSS: A micro-opportunistic factory scheduler,” Exp. Syst. Appl.: Int. J., vol. 6, no. 3, p. 377, 1993. [22] M. Shaw, “Distributed scheduling in computer integrated manufacturing: The use of local area network,” Int. J. Prod. Res., vol. 25, 1987, pp. 1285–1303. [23] M. Shaw, J. J. Solberg, and T. C. Woo, “System integration in intelligent manufacturing: An introduction,” IIE Trans., vol. 24, no. 3, pp. 2–6, July 1992. [24] R. Sikora, “A multi-agent framework for coordination and system integration,” Ph.D. dissertation, Univ. Illinois, Urbana-Champaign, UM Dissertation Services, Ann Arbor, MI, 1994. [25] R. Sikora, D. Chhajed, and M. Shaw, “Integrating the lot-sizing and sequencing decisions for scheduling a capacitated flow line,” Comput. Ind. Eng., vol. 30, no. 4, pp. 659–671, 1996. [26] E. A. Silver and H. C. Meal, “A heuristic selecting lot size requirement for the case of a deterministic time varying demand rate and discrete opportunities for replenishment,” Prod. Inventory Manage., 14, pp. 64–74, 1973. [27] V. L. Smith-Daniels and L. P. Ritzman, “A model for lot sizing and sequencing in process industries,” Int. J. Prod. Res., vol. 26, no. 4, 1988, pp. 647–674. [28] K. Sycara, S. Roth, and N. Sadeh, “Resource allocation in distributed factory scheduling,” IEEE Expert, vol. 6, pp. 29–40, Feb. 1991.
187
[29] P. M. Wolfe, and F. S. Settles, “Computer integrated manufacturing from a pragmatic perspective,” Proc. IIE Int. Industrial Engineering Conf., 1989.
Riyaz Sikora (M’96) received B.E. degree in electronics and communication engineering from Osmania University, India, and the Ph.D. degree in information systems from the University of Illinois, Urbana-Champaign, specializing in artificial intelligence. He is an Assistant Professor of Industrial and Manufacturing Systems Engineering, University of Michigan–Dearborn. His research interests are in the area of manufacturing information systems with emphasis on the development and applications of agent-based framework for system integration, intelligent manufacturing, and industrial applications of artificial intelligence techniques. He has published papers in the IEEE EXPERT, ORSA Journal of Computing, Information Systems Research, Computers and Industrial Engineering, and IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS. Dr. Sikora serves on the editorial board of the International Journal of Computational Intelligence and Organizations and is a member of the IEEE Computer Society, ACM, AAAI, AIS, INFORMS, and DSI.
Michael J. Shaw has been with the Department of Business Administration, University of Illinois, Urbana-Champaign, since 1984. Currently a Professor of Information Systems and Technology, he is also a Research Faculty Member at the Beckman Institute for Advanced Science and Technology. He has been doing research in the areas related to management information technology, manufacturing decision support, business process design, intelligent decision support systems, and artificial intelligence. He has published widely in academic journals and served as Guest Editor of special issues for IIE Transactions, the Decision Support Systems Journal, the Group Decision and Negotiation Journal, the International Journal of Flexible Manufacturing Systems, the Annals of Operations Research, and the Journal of Organizational Computing. He is on the editorial boards of the Information Systems Research, IIE Transactions, the International Journal of Business Studies, and the International Journal of Industrial Engineering.