Agent-based Distributed Planning and Scheduling in Global Manufacturing

Proceedings of rd The 3 Annual International Conference on Industrial Engineering Theories, Applications and Practice December 28-31, 1998, Hong Kong ...
Author: Victor Stewart
2 downloads 0 Views 144KB Size
Proceedings of rd The 3 Annual International Conference on Industrial Engineering Theories, Applications and Practice December 28-31, 1998, Hong Kong

Agent-based Distributed Planning and Scheduling in Global Manufacturing Benjamin P.-C. YEN Department of Industrial Engineering and Engineering Management The Hong Kong University of Science & Technology Clear Water Bay, Kowloon, Hong Kong e-mail: [email protected] Abstract Scheduling and resource allocation problems are pervasive and important in the management of industrial and government organizations. With advent of new technology and fast evolvement in industry, the enterprise is gradually moving toward global manufacturing for efficient operational management and competent strategic decision making. In the past two decades, researchers and practitioners have been applying various techniques (such as artificial intelligence, optimization methodologies, information system design, human factors, etc.) to design and develop planning and scheduling methodologies and systems for different applications. However, the inherent complexity of problems, short life-cycle of planner/scheduler, unrealistic investment of generous-purpose systems, and profligacy of scattering computing resource, accessibility, integration and re-configurability become the essential factors for new planners/schedulers in global manufacturing. The specific objectives of this research are to investigate the following processes: 1) Globalization increases the accessibility and extendibility to migrate the planners/schedulers to a globally connected environment; 2) Collaboration provides the integration and coordination mechanism for computing resources to reform the planners/schedulers as agents in a distributed and environment; and 3) Personalization enhances the reconfigurability and efficiency of computing resources for planner/scheduler agents for customized applications. Keyword: Job shop scheduling, Agent, Communication language, Distributed scheduling, Personalization

1. Introduction The purpose of this research is to integrate techniques from manufacturing, scheduling theory, information technology, agent technology, and human computer interface to improve the efficiency and effectiveness in strategic global manufacturing. Four main difficulties in the current planning/scheduling methodologies impede the advancement of planning/scheduling technology in global manufacturing: 1) High complexity of manufacturing problems – complicated constraints (e.g., multi-objectives), large scale, and volatility in global manufacturing environment; 2) Short life-cycle of planners/schedulers – recurrent and abrupt modification and upgrade of planners/schedulers; 3) Uneconomical and unrealistic generous-purpose systems – enormous investment in money, energy and time to design and develop systems for universal scheduling applications and inappropriate adoption of such systems for most of the scheduling applications; 4) Independent and disconnected computing resources – inefficiency and incapability of utilizing and sharing the domain knowledge and computing resources. The specific objective of this research is to reduce the deficiency in accessibility, integration and re-configurability in planners/schedulers in global manufacturing. This will be achieved in the following three perspectives: 1) Globalization - reconstruct the planning/scheduling systems in client-server architecture to increase accessibility and empowering the planning/scheduling engine to be self-extendible;

2) Collaboration – enhance the planners/schedulers by agents for communication infrastructure, information interpretation, and dynamic problem decomposition, assignment and synthesis; 3) Personalization – provide planning/scheduling agents the capability to customize the resource utilization and integration for different applications.

2. Overview of distributed planning/scheduling In order to increase the accessibility, integration, and re-configurability, we identify four categories of key issues to achieve globalization, collaboration, and personalization for distributed planners/schedulers in global manufacturing reactive/reconfigurable scheduling systems, Internet/agent technology, decomposition/distribution methodology, and ergonomics/personalization issues. 2.1 Reactive/re-configurable scheduling systems In the past two decades, many scheduling systems have been developed based on operations research and artificial intelligence, such as ISIS [7], OPIS [29], and SONIA [4], Micro-Boss [24], TOSCA [2] and CUISE [22]. The object-oriented model has been applied to scheduling systems to increase the re-usability and extendibility [23]. Smith and Lassila [30] have applied constraint-based model in configurable systems for reactive production management. DITOPS (OZONE/DITOPS) shows a typical example for configurable scheduling systems. Yen [36][41] proposed description languages based on set theory and object-oriented methodologies to further enhance the planning/scheduling systems to be capable of re-configuration and re-assembly. 2.2 Internet/agent technology Basically there are three types of applications on the Internet – information access, information co-ordination, and information processing. The scheduling systems available on the Internet are mainly for information access, such as cargo tracking and sailing schedule access [18], or information co-ordination, such as project [17]. The Internet technology for information processing in manufacturing is mainly applied in CAD/CAM and simulation such as Cybercut [28], CAD/CAM collaboration and remote machining [11], and Internet simulation tools [37]. A generic Internet scheduling system based on client/server architecture has been designed and developed to enhance accessibility [38]. Yen and Yau [48] also have done the work on Internet scheduling system dedicated to the integration of flexible assembly system, warehouse, and AGV. An agent is defined as a software-based computer system with autonomy, social ability, reactivity, and pro-activeness [10]. Research on agent mainly focuses on general applications, such as information search [21]. Yen proposed an architecture of scheduling agents on the Internet [38]. The agent communication languages, such as KQML [6], also target general applications. Agent technology is applied to manufacturing applications is primarily for production control inside single manufacturing economy. Baker conducted a survey of factory control algorithms that can be implemented in a multi-agent heterarchy [1]. Kim, et al. demonstrated that the generic bidding process between machine agents and job agents [13]. Sikora and Shaw also added a learning module in agents to constantly update the knowledge on the performance and interaction with other agents [27]. 2.3 Decomposition/distribution methodology Most of the distributed scheduling and decomposition research focuses on single scheduling algorithm/heuristic, without consideration for distributed planners/schedulers. Research based on branch and bound algorithms basically decomposes the problems according to branches schema, which does not change the nature of the problem and needs exponential computational time [9][12]. A bidding mechanism was applied to model resources as agents to bid for jobs in flexible manufacturing scheduling [13][26][27]. The approaches based on bottleneck dynamics decompose problems according to bottleneck resources, such as work-center or time, which is casedependent [19]. Neiman, et al. exploited meta-level information in a distributed scheduling system [16]. The decomposition was further extended in solution process and schedule synthesis for distributed scheduling agents [39][41][44].

2.4 Ergonomics/personalization issues Human factors research on scheduling comes from various aspects. Nakamura and Salvendy [15] and Wier [33] did intensive studies on analysis and design of decision support systems in production scheduling tasks. McKay, et al. studied the common sense realities of planning and scheduling in printed circuit board production [14]. Wier and McKay demonstrated research on human computer interaction of task allocation in intelligent scheduling [32]. Some work on knowledge elicitation in FMS scheduling has been done by Tabe, et al. [31]. Bi and Salvendy have done work on analytical modeling and experimental study of human workload in scheduling of advanced manufacturing systems [3]. Software engineering techniques have been applied to improving the scheduling systems through the viewpoints from observers, designers, developers, and users [41]. Yen and Wah adopted virtual-reality technology to enhance the information presentation, representation and processing [40]. In the research on personalization, Yen proposed user profiles and validation models to construct user preferences for scheduling agents [38].

3. Research Methodologies There main difficulties for planning/scheduling in global manufacturing are high complexity and uncertainty of manufacturing problems, frequent and unrealistic investments in continuous improvement for flexible planner/scheduler, and unconnected and unallied computing resources. In order to solve the problems above, we need to consider issues on accessibility, integration and re-configurability. In this research, we propose an interdisciplinary research effort on agentbased distributed planning and scheduling in global manufacturing from the perspectives of globalization, collaboration and personalization. 3.1 Globalization There are three main modules in a scheduler: user interface – information presentation, scheduling engine – decision-making, and database – data storage and manipulation [22][34]. By adopting object-oriented methodology, we will model a database as problem manager objects and scheduler manager objects. We will also model a scheduling engine consisting of four objects [23][35]: 1) The Preprocessor object analyzes the input data of the scheduling problem to determine due date tightness, congestion factors, setup time factors, and other statistics of interest; 2) The Algorithm Library object consists of a number of algorithmic procedures ranging from simple to sophisticated or abstract. All procedures are basic methods that can be applied to given objects; 3) The Algorithm Generator object allows the user to construct new algorithms by combining the methods available in the algorithm library; 4) The Scheduler and Dispatcher object generates through the specified algorithms all schedules. We further structure the scheduling library as a hierarchical model on heuristic, dispatching rules, and metaalgorithms with object-oriented relations to increase the extendibility of the schedulers [47]. In order to increase accessibility, we restructure the interactive planners/schedulers in client/server architecture for the benefits on local display, remote computation, and balance of data control between clients and servers the Internet [37]. 1) User Interface. Graphical user interfaces can be implemented as library functions on server sides using the existing Internet support, such as HTML and Java programs. By using the appropriate browser (e.g., Netscape), users can input data or view the schedule results on dynamic hypertext interfaces. Users can also develop interfaces for other applications to link with the interfaces supported by the servers; 2) Database. Both the process and schedule managers reside in the servers; however, part of data can be kept on the local clients for display or further process. The local clients can “cache” one copy of results for fast display or further operations, such as editing and sorting; 3) Scheduling Engine. The local hosts can choose appropriate algorithms through graphical interfaces from the library embedded in the servers to solve scheduling problems or to revise the schedule results. Snapshots of an Internet scheduling system are shown in Figure 1.

3.2 Collaboration There are two steps to accomplish the collaboration of planners/schedulers on the Internet - establishing communication and solving problems. The planners/schedulers involved in collaboration can be either homogeneous or heterogeneous. The homogeneous planners/schedulers root from the same generic systems that are customized and extended for different applications. The communication between heterogeneous planners/schedulers is based on a message format as a common information exchange protocol [44]. In either case, we need to add message exchange functions to enable planners/schedulers to communicate. Geneserth, et al. [8] listed three different ways to handle communication for distributed systems – adding agents, wrapping functions, and rewriting systems. In order to keep the original planners/schedulers intact, we adopt the agent technology to enhance the cooperation capability. In establishing communication between planners/schedulers, we need to handle both communication syntax and semantics for planning/scheduling [36][41]. We first define a communication infrastructure for distributed planners/schedulers [43]. The information exchanged between planners/schedulers is encoded as messages based on a common language protocol similar to Electronic Data Interchanged (EDI) [20]. The language can be implemented in agent languages, such as KQML [6] or regular programming languages, such as C. In addition to sending, receiving and understanding the message (problem descriptions and solutions), the agents also need to react to the questions proposed in the message, such as capability (whether they can be solved) and availability (whether they are available to solve the problems) of the computing resources they dominate. Figure 2 illustrates examples of messages in scheduling communication language. In solving problems collaboratively, we need to identify the available computing resources, to decompose the problems, to assign sub-problems to computing resources, and to synthesize the solutions from the computing resources (Yen, 1998b). Information on availability of computing resources can be either from the confirmation from communication (passive) or declaration from resources (active). The former needs an agent to handle more comprehensive protocol about query and commitment, and latter needs an agent to form a community. Problem decomposition can be based on (1) intrinsic properties – e.g., manufacturing layout, time horizon, and jobs [19]; (2) extrinsic properties – e.g., pre-scheduling, scheduling, and post scheduling [42]; or (3) combination. Operations research based decomposition methodologies are suitable for branch-and-bound or dynamic programming in parallel processing [9][12]; artificial intelligence based decomposition mainly focuses on constraint propagation and blackboard architecture. The assignments can be trivial (best candidate to solve the problems or best results from all the candidates) or complicated (fully utilization of available computing resources based on the decomposition results and bidding policy). In either case, we need a ranking and learning mechanism to prioritize the tasks and computing resources. Figure 3 demonstrates communication action for negotiation in distributed scheduling agents. 3.3 Personalization In addition to improving the data representation, information presentation of planner/schedulers [45], the personalization can also enhance distributed planners/schedulers in globalization and collaboration. In globalization, we can customize each planner/scheduler to be more efficient and effective for specific applications and we focus on three issues [38]: 1) Application-oriented User Interface. We define a superset of data fields problem description and schedule information to let users choose the appropriate data fields and decide the way to display them as well. The form of displays and data fields can be defined as interface parameters; 2) Information-oriented Database. The data required for scheduling applications could be distributed within an organization or over the Internet. We define a two-level parameter of a database to denote data source and data field that can be further extended to be a multi-layer structure of priorities as data map; 3) Decision-oriented Scheduling Engine. A scheduling user can assign these types of work to different servers on the Internet as in a two-level description, called scheduling preference, for server and algorithm selection.

The composition of interface parameters, data maps, and scheduling preferences forms user profiles to reflect the preference and priority for the users. User profiles need to be update and validated (based on time tag and other information) dynamically. Similarly, we can define the agent profiles as user profiles computing resource selection, task assignment, decomposition policy, etc. for distributed scheduling/planning. User profiles of scheduling agents are shown in Figure 4.

4. Future Directions There are other issues that need to be addressed in collaboration of planners/schedulers: 1) Decompose problems and then find the candidates by bidding, random assignment, or best-fit policy; or decompose problems based on the capability and availability of computing resources. 2) Agents need to prioritize the tasks from home or neighboring planners/schedulers and to handle to evaluation of availability/capability for home planner/schedulers, and to handle duration of commitment, cancellation of agreement, and give-up of collaboration, etc. 3) Pricing or bonus policy to motivate the planners/schedulers to share the computing resources.

References [1] Baker, Albert (1997) A survey of factory control algorithms which can be implemented in a multi-agent heterarchy, working paper, ECECS Department, University of Cincinnati (submitted to the Journal of Manufacturing Systems). [2] Beck, H. (1993) The management of job-shop scheduling constraints in TOSCA. Proceedings of NSF Workshop on Intelligent and Dynamic Scheduling for Manufacturing Systems, pp. 2-14. [3] Bi, Shuxin and G. Salvendy (1994). Analytical modeling and experimental study of human workload in scheduling of advanced manufacturing systems. The International Journal of Human Factors in Manufacturing. 4(2):205-234. [4] Collinot, A., C. LePape, and G. Pinoteau (1988) SONIA: A knowledge-based scheduling system. Artificial Intelligence in Engineering, 2:86-94. [5] OZONE/DITOPS Project. Configurable, Mixed-Initiative Scheduling Systems, http://www.cs.cmu.edu/afs/cs/project/ozone/www/DITOPS/ditops.html [6] Finin, T., Y. Labrou and J. Mayfield (1995) KQML as an agent communication language, In Jeffery M. Bradshaw, editor, Software Agents, MIT Press, pp. 291-316. [7] Fox, M.S. and Smith, S.F. (1984) ISIS - a knowledge-based system for factory scheduling. Expert Systems, 1:25-49. [8] Genesereth, M., Singh, N., and Syed, M. (1995) A distributed and anonymous knowledge sharing approach to software interoperation, International Journal of Cooperative Information Systems, Vol.4, No. 4, pp. 339367. [9] Hoitomt, B., Perkins, J.B., Luh, P. (1991) Distributed Scheduling of Job Shops, Proceedings of IEEE International Conference on Robotics and Automation, pp. 1067-1072. [10] Jennings, N. R. and Wooldridge, M. J. (1995) Intelligent Agents: Theory and Practice, The Knowledge Engineering Review, 10 (2), 115-152. [11] Kao, Y.C. and Lin, G.C. (1996) CAD/CAM collaboration and remote machining. Computer Integrated Manufacturing Systems, Vol. 9, No. 3, pp.149-160. [12] Keyser, T.K. and Davis, R. (1998) Distributed computing approaches toward manufacturing scheduling problems, IIE Transactions, 30, pp. 379-390. [13] Kim, K.H., J. W. Bae, J. Y. Song and H. Y. Le (1996) A distributed scheduling and shop floor control method, Proceedings of the 18th International Conference on Computer and Industrial Engineering, 31, No 3/4, pp. 583-586. [14] McKay, K.N., Safayeni, F.R., and Buzacott, J.A. (1995). Common sense realities of planning and scheduling in printed circuit board production. International Journal of Production Research, 33 (6), pp. 1587-1603. [15] Nakamura, N., and Salvendy, G. "Human Decision-Making in Computer-Based Scheduling with a Flexible Manufacturing System: An Experimental Study," in Cognitive Engineering in the Design of Human-Computer

Interaction and Expert Systems, (Editor: G. Salvendy), The Netherlands, Amsterdam, Elsevier, 1987, pp. 257264. [16] Neiman, D.E., Hildum, D.W., and Lesser, V.R. (1994) Exploiting meta-level information in a distributed scheduling system. AAAI, Vol 1, pp. 294-400. [17] ON Technology (1998), http://www.amsys.co.uk/hotnews/HN960919081528.html [18] OOCL (1998), http://www.oocl.com [19] Ovacik, I.M. and Uzsoy, R. (1997) Decomposition Methods for Complex Factory Scheduling Problems. Boston: Kluwer Academic Publishers. [20] Parfett, M. C. (1992) What is EDI? : a guide to electronic data, Manchester [Eng.] : NCC Blackwell. [21] Petrie, C. J. (1996) Agent-Based Engineering, the Web, and Intelligence, December, IEEE Expert. [22] Pinedo, M., Samorengraja, R. and and Yen, B.P.-C. (1994) “Design Issues with Regard to Scheduling System in Manufacturing”, Control and Dynamic Systems, Vol. 60, C.Leondes (ed.), pp.203--238, Academic Press, San Diego. [23] Pinedo, M. and Yen B.P.-C. (1997) On the Development of Object-Oriented Scheduling Systems, Annals of Operations Research, Special Volume on Scheduling: Theory and Application, Peter L. Hammer (ed.), J.C. Bazler AG, pp 359-378. [24] Sadeh, Norman (1993) Micro-Boss: A Micro-opportunistic Factory Scheduler. Expert Systems with Applications, Special Issue on Scheduling Expert Systems and their Performances. Volume 3, No. 6, pp 377392. July-September. [25] Shaw, M. J. (1987) Distributed Scheduling in Computer Integrated Manufacturing: the Use of Local Area Network. International Journal of Production Research, 25, 1285-1303. [26] Shaw, M.J. and Whinston, A. Task bidding and distributed planning in flexible manufacturing, Proceedings of the 2nd IEEE Conference on Artificial Intelligence Applications, pp. 184-189. [27] Sikora, R. and Shaw, M. J. (1997) Coordination Mechanism for Multi-Agent Manufacturing Systems: Applications to Integrated Manufacturing Scheduling. IEEE Transactions on Engineering Management, 44(2) 175-187. [28] Smith, C.S. and Wright, P.K. (1996) Cybercut: A World Wide Web Based Design-to-Fabrication Tool”, Journal of Manufacturing Systems, Vol 15/No. 6, pp. 432-442. [29] Smith, S.F. (1994) OPIS: A methodology and architecture for reactive scheduling. In M.Zweben and M. Fox, editors, Intelligent Scheduling, San Francisco, California, Morgan Kaufmann. [30] Smith, S.F., and Lassila, O. (1994) Configurable systems for reactive production management, E. Szelke and R.M. Kerr (ed.), Knowledge-based Reactive Scheduling, pp. 93-106, Elsevier Science B.V., North-Holland. [31] Tabe, T., Yamamuro, S., and Salvendy, G. (1988) Knowledge Elicitation in Scheduling FMS: Toward a Hybrid Intelligent System, Ergonomics of Hybrid Automated Systems I, W. Karwowski (ed.), Elsevier Science, pp. 259-266. [32] Weirs, V. and McKay, K.N. (1996) Task Allocation: human computer interaction in intelligent scheduling. Proceedings of the 15th Workshop of the UK Planning & Scheduling Special Interest Group, pp. 333-344. [33] Weirs, Vincent C. S. (1997) Human computer interaction in production scheduling: analysis and design of decision support systems in production scheduling tasks. Ph.D. Thesis Technische Universiteit Eindhoven. [34] Yen, B.P.-C.and Pinedo, M. (1994) On the Design and Development of Scheduling Systems, Proceedings of Rensselaer's 4thInternational Conference on CIM and Automation Technology, pp. 197-204, Troy, New York. [35] Yen, B.P.-C. (1995) On the Architecture of Object-Oriented Scheduling System. Ph.D. Thesis. Department of Industrial Engineering and Operations Research, Columbia University, New York. [36] Yen, B.P.-C. (1997a) A Scheduling Description Language, Technical report IE97.02, IEEM, HKUST [37] Yen, B.P.-C. (1997b) Simulation Tools on the Internet, Proceedings of the 22nd International Conference on Computers & Industrial Engineering, Cairo, Egypt. [38] Yen, B.P.-C. (1997c) Interactive Scheduling Agents on the Internet, Proceedings of 30th IEEE Hawaii International Conference of System Science (CD-ROM), Hawaii. [39] Yen, B.P.-C. (1997d) Distributed Scheduling Systems on the Internet, Proceedings of 14th International Conference on Production Research, pp. 1474-1477, Osaka. [40] Yen, B.P.-C. and Chow, K.W. (1997) Virtual Reality Based Scheduling, Proceedings of the 22nd International Conference on Computers & Industrial Engineering, Cairo, Egypt.

[41] Yen, B.P.-C. (1998a) The Design Issue of Resource Management Information Systems, to appear in International Journal of Manufacturing Technology and Management. [42] Yen, B.P.-C. (1998b) Simulation-based scheduling agent, Technical report IE98.03, IEEM, HKUST [43] Yen, B.P.-C. and Chow, K.W. (1998a) The design issues of communication infrastructure for distributed scheduling systems, Technical report IE98.01, IEEM, HKUST [44] Yen, B. P.-C. and Chow, K.W. (1998b) Cooperative Scheduling Systems, Proceedings of CAPE'98, pp.25-30. [45] Yen, B. P.-C., Chow, K. W., and Yau, M. C.(1998) On the Design and Development of User Interfaces in Interactive Scheduling Systems", Proceedings of HAAMAHA '98, Hong Kong.. [46] Yen, B.P.-C. and Finny, C. (1998) Human Factors in Scheduling Systems on the Internet, unpublished manuscript. [47] Yen, B.P.-C. and Wan, G.H. (1998) Model management in scheduling systems: A hierarchical approach with object-oriented relations, unpublished manuscript [48] Yen, B. P.-C. and Yau, M.C. (1998) Internet Flexible Assembly Scheduling Systems, Proceedings of CAPE, pp.19-23.

Figure 1

Message type :={ Action type: Message identifier: Sender name: Receiver name: Content: {(parameter1..n = value1..n ) } Login/out/register/unregister/su bscribe/unsubscribe =:{ Message identifier: XYZ Sender name: Agent A Receiver name: All Content: {Agent Address: 1234} }

Snapshots of an Internet scheduling system

Result :={ Message ID: B123 Sender: Agent B Receiver: Agent A Content: Type: 5/1/F Machine : (machine, Sequence, starting time, finishing time){ Machine: Milling Sequence : (2,3,5,1,4) Processing time: (0,3,7,13,20) Due date: (3,7,13,20,29)} Performance: …. }

Query :={ Message ID: A123 Sender: Agent A Receiver: Agent B Content: Type: 5/1/F Job : (Ready time, processing time, due date, machine){ Ready time: (0,0,0,0,0,0) Processing time: (7,3,4,9,6) Due date: (7,9,15,23,16) Machine: Milling } Objective: Mean flow time }

Figure 2 Examples of messages in scheduling communication language

Invite

Agent B

Agent A

Agent E

Agent B

Agent A Invite

Internet

Agent E Invite

Internet

Stage 1

Stage 0 Agent C

Invite

Agent C

Agent D

Agent D

Confirm Reject

Accept Agent B

Agent B

Agent A Accept

Agent E

Agent A Confirm Internet

Accept Internet

Stage 3

Stage 2 Agent C

Agent C

Agent D

Agent D

Success Negotiation

Satisfy Agent B

Agent A

Agent E

Agent B

Agent A

Cancel Internet

Agent E

Internet

Stage 4 Agent C

Agent E Deny

Stage 5 Agent D

Agent C

Agent D

Figure 3 Communication action for negotiation in distributed scheduling agents

Scheduling Server

Internet Internet Scheduling System Client/Server Scheduling Agent

profile graph

user profile

Figure 4 User profile of scheduling agants