An intelligent optimal production scheduling ... - Semantic Scholar

21 downloads 139830 Views 1MB Size Report
Keywords: Intelligent scheduling; Search; Multi-agents; Constraints. 1. Introduction. With advances in computer technologies, especially in artificial intelligence ...
Computers in Industry 46 (2001) 209±231

An intelligent optimal production scheduling approach using constraint-based search and agent-based collaboration D. Xue*, J. Sun, D.H. Norrie Department of Mechanical and Manufacturing Engineering, University of Calgary, 2500 University Drive NW, Calgary, Alberta, Canada T2N 1N4 Received 22 May 2000; accepted 19 December 2000

Abstract This research introduces an intelligent approach for identifying the optimal production schedule to satisfy product and manufacturing constraints. In this approach, product constraints are modeled using a feature-based product representation scheme. Manufacturing constraints are described as available resources including facilities and persons. Manufacturing requirements for producing the products, including tasks and sequential constraints for conducting these tasks, are represented as part of the product feature descriptions. The optimal production process and its timing parameter values are identi®ed using constraint-based search and agent-based collaboration. The intelligent optimal production scheduling system was implemented using Smalltalk, an object oriented programming language. # 2001 Elsevier Science B.V. All rights reserved. Keywords: Intelligent scheduling; Search; Multi-agents; Constraints

1. Introduction With advances in computer technologies, especially in arti®cial intelligence (AI) techniques, many traditional product development activities, including design and manufacturing, have been automated within intelligent design and manufacturing systems [1±3]. The presently developed intelligent design and manufacturing systems, however, are not well integrated. To associate functions of intelligent design and manufacturing, research on developing an integrated design and manufacturing system was carried out in Xue's previous research [4±8]. This system provides functions to model both the database and the knowledge base used for product design and manufacturing, *

Corresponding author. Tel.: ‡1-403-220-4168; fax: ‡1-403-282-8406. E-mail address: [email protected] (D. Xue).

and to identify the optimal design based upon evaluation to the design in terms of design functional performance and production costs. This paper describes further development of this intelligent design and manufacturing system by introducing an intelligent optimal production scheduling mechanism for identifying the optimal production schedule considering design and manufacturing constraints. Production scheduling is a process to allocate appropriate resources for the required manufacturing tasks and to identify the sequence and timing parameter values to accomplish these tasks. Limited resources include facilities, personnel, materials, and so on. A good schedule can reduce the efforts in manufacturing, thus, improving the competitiveness of products. Early work on production scheduling focused on developing methods and algorithms for identifying the

0166-3615/01/$ ± see front matter # 2001 Elsevier Science B.V. All rights reserved. PII: S 0 1 6 6 - 3 6 1 5 ( 0 1 ) 0 0 1 1 8 - X

210

D. Xue et al. / Computers in Industry 46 (2001) 209±231

optimal sequence of the required tasks considering either only one processor (machine) or multiple processors (machines) [9]. In each of these scheduling methods, the optimal schedule is achieved based on a certain desired goal such as to minimize the total make-span to complete all the selected tasks, or to minimize the mean ¯ow of these selected tasks. Research on intelligent scheduling for solving production problems considering real world constraints was initiated by Fox [10]. In this research, constraints were used for guiding the direction of search to identify the feasible and the optimal schedules. Since then, many researches on constraint-based scheduling have been carried out [11]. The methodologies of intelligent scheduling are classi®ed into two categories: constructive approach and repair approach. The constructive approach achieves a complete schedule gradually from a partial schedule using constraints as guidance [10,12]. The repair-based method, on the other hand, starts with a complete schedule and modi®es it through iterations towards the optimal solution [13,14]. Both approaches aim at identifying the optimal schedule considering the demanding constraints through iterative search process. Many advanced computing techniques, including genetic algorithm [15], tabu-search [16], etc. can also be employed to improve the ef®ciency of scheduling, while maintaining the quality of the created schedule. The shortcomings of presently developed intelligent scheduling systems are summarized as follows: 1. First, the manufacturing requirements and available resources in these systems are modeled as constraints. Product design descriptions and constraints, however, are not considered in these systems. In addition, many new designs are created using existing modules as the components. Modeling of the manufacturing requirements of these component modules and identi®cation of the manufacturing tasks of these designs by considering constraints among these components have never been studied. 2. Second, the production scheduling mechanisms in these systems were primarily developed based on centralized control architecture, in which all of the knowledge base and database were modeled at the same location. This control architecture has

dif®culty in handling complex manufacturing systems that require knowledge and data at different locations. Recent research in distributed agent technology provides new approaches to solve the problems caused by centralized manufacturing control architecture [17±21]. The research described in this paper addresses the above two issues by introducing an intelligent optimal scheduling mechanism to identify the optimal schedule considering both design constraints and manufacturing constraints using AI-based search and agent technologies. The remaining of this paper is organized as follows. Section 2 proposes the architecture of the intelligent optimal production scheduling system. Sections 3, 4 and 5 introduce the developed intelligent optimal production scheduling mechanism, including modeling of products and their manufacturing requirements, modeling of manufacturing resources, and algorithm for identifying the optimal production schedule through constraint-based search and agent-based collaboration. Section 6 gives a number of case study examples to illustrate the introduced approach. Section 7 discusses ef®ciency and quality of the newly introduced intelligent optimal scheduling mechanism. Section 8 summarizes this research. 2. Architecture of an intelligent optimal production scheduling system The architecture of the intelligent optimal production scheduling system is shown in Fig. 1. This system was developed for handling the production-to-orders type of manufacturing activities. In the production-toorders type of manufacturing, production tasks are initiated from customer orders. Usually, a large number of products, provided by catalogues or designed by combining module components, are available for production. This type of manufacturing scheduling problem is different from most of the traditional scheduling problems, where all the required tasks are considered at the same time. In this system, orders from customers are received continuously during the production process. When an order is received, its corresponding product descriptions are then obtained from the product library

D. Xue et al. / Computers in Industry 46 (2001) 209±231

211

Fig. 1. Architecture of an intelligent optimal production scheduling system.

primitives. The manufacturing requirements for the product are achieved from manufacturing requirements of these library primitives. The optimal production schedule is identi®ed based on product constraints, manufacturing requirements, and resource constraints through intelligent scheduling. The modules in this system are organized by three sub-systems: feature-based product modeling sub-system, resource management sub-system, and product ordering and scheduling sub-system. The feature-based product modeling sub-system is used to model the products and their manufacturing requirements. In this sub-system, standard product libraries and their manufacturing requirements are described as class features. Actual products ordered by customers and their special manufacturing requirements are modeled by instance features. Instance features are created using class features as their templates. Each feature is de®ned by element-features, attributes, qualitative relations among features, and quantitative relations among attributes. The manufacturing requirements, including tasks and sequential constraints for accomplishing these tasks, are described as part of the feature descriptions. Each task speci®es its resource requirement and the time period to conduct this task. The created instance features can be modi®ed based on the requirements from customers. The resource management sub-system is used to model manufacturing resources, including facilities

and persons, and to coordinate the activities of these manufacturing resources during the production scheduling process. The manufacturing resources are described as agents, using multi-agent approach. Each agent is described by its type, functions, and time constraints. Each agent is also equipped with certain knowledge for making decisions in the intelligent scheduling process. Collaboration among these two types of resource agents is coordinated by two mediators: a facility mediator and a personnel mediator. The product ordering and scheduling sub-system is used for receiving orders from customers and identifying the optimal schedule to produce the ordered products. When an order to manufacture a product is received, an order agent is then created to represent the customer requirements and this agent is associated with the product design that is modeled by combining instance features. The intelligent production scheduling mechanism is subsequently activated to identify the optimal schedule to satisfy product design constraints and manufacturing requirements that are preserved in the relevant instance features, and manufacturing constraints that are described as available resources. Two optimization strategies: (1) the earliest-delivery-time-based scheduling strategy to provide the product to the customer as early as possible and (2) the due-time-based scheduling strategy to start the product manufacturing as late as possible to reduce the space for storing the produced product, are

212

D. Xue et al. / Computers in Industry 46 (2001) 209±231

provided in this sub-system. Constraint-based search and agent-based collaboration are employed in this research for identifying the optimal schedule. When the due-time constraint of the customer order cannot be satis®ed, the customer is then informed to change the due-time of the ordered product. The intelligent optimal production scheduling system was implemented using Smalltalk, an object oriented programming language [22]. Smalltalk was used due to its good user interface environment and large class library. A snapshot of the developed system is shown in Fig. 2. In this system, class features and instance features are de®ned and created using Class Feature Browser and Instance Feature Browser, respectively. The resource agents, including facility agents and person agents, are modeled using Facility Resource Browser and Person Resource Browser,

respectively. Product ordering and scheduling are conducted using Scheduling Browser. The ®nal scheduling results are represented using Facility Resource Workload Chart Browser and Personnel Resource Workload Chart Browser. Details of these three sub-systems will be introduced in the following three sections. 3. Feature-based product and manufacturing requirement modeling 3.1. Product modeling using class features and instance features Product modeling follows the scheme introduced in the integrated concurrent design system [4±8]. In this

Fig. 2. A snapshot of the implemented system.

D. Xue et al. / Computers in Industry 46 (2001) 209±231

system, product modeling primitives are called features. For instance, gears and shafts are features for modeling a mechanical system. Features are represented at two different levels, class level and instance level, corresponding to standard product libraries and special product descriptions, respectively. Instance features are generated using the class features as their templates. Class features are organized in a hierarchical data structure, based upon object oriented modeling approach. A new class feature is de®ned using an existing class feature as its super-class. The new class feature inherits all the descriptions de®ned in its superclass feature automatically. The top-level class feature

213

is a built-in one called Feature. Examples of class feature de®nitions are shown in Fig. 3. A class feature is composed of element-features, attributes, qualitative relations among features, quantitative relations among attributes, and so on. An element feature is a component of the feature being de®ned. For instance, the Window class feature, shown in Fig. 3, is composed of four element features. An element feature is de®ned by a variable and its class feature type. A variable is described by a string starting with ``?''. In the class feature Window, the four element features are associated with four variables: ?Top, ?Left, ?Right, and ?Center. When a class feature is used to generate

Fig. 3. Representation of class features.

214

D. Xue et al. / Computers in Industry 46 (2001) 209±231

an instance feature, the element features should also be created according to their class feature types. The variables, representing the element features, are used in other parts of the class feature de®nition. For instance,the four variables are used for de®ning feature relations and attribute relations in class feature Window. The feature itself is associate with a built-in variable ?self. An attribute is a piece of quantitative description of the feature. An attribute is de®ned by an attribute name and an attribute value. Attributes are used in the form of attribute[feature] in other part of the feature de®nition. For instance, width [?Center] in Fig. 3 represents the attribute width of the element-feature ?Center. Qualitative relations among features are described by predicates. A predicate takes the form of (x1, x2, . . ., xn), where x1, x2, . . ., xn are terms of this predicate represented by strings, integers, ¯oats, variables, and attributes. A predicate without variable terms is called a fact. A quantitative relation among attributes is de®ned by a function with a number of input attributes and one output attribute. An attribute relation takes the form of hattribute namei:ˆ hexpressioni

Element feature variables and attributes are allowed in the expression. Examples of attribute relations are shown in Fig. 3. Instance features are generated from class features for modeling products ordered by customers. When a class feature is selected for generating an instance feature, the element features de®ned in this class feature should also be generated as instance features. All the descriptions in the class feature and its superclass features are inherited by the generated instance feature automatically. Fig. 4 shows the instance features that are generated from the class features shown in Fig. 3 for modeling a window product. In an instance feature, the variables in its class feature de®nition, representing element features, are replaced by the names of the actually created element instance features. For example, in the instance feature w shown in Fig. 4, the four element feature variables are replaced by the four instance features. Descriptions of instance features can be modi®ed, added, and deleted.

3.2. Manufacturing requirement modeling using features The manufacturing requirements of a product are modeled as part of the feature descriptions, as shown in Fig. 5. In each feature, the manufacturing requirements to produce this feature are de®ned by tasks. For instance, the top component t, shown in Fig. 5, can be produced by ®ve tasks, including cutting, C, framing, F, assemblies, A1 and A2, and glazing, G. These tasks are linked as a graph, representing the sequential constraints to accomplish these tasks. If task A must be conducted before task B, A is called an ancestor task of B, and B is called a descendant task of A. The task F has one ancestor task, C, and two descendant tasks, A1 and A2. A task in an instance feature is carried out in production only when all the tasks of this feature's element features have been completed. Each task is associated with a manufacturing process. A process speci®es its type, requirements of resources including facilities and persons, and time period to carry out this process. The process parameters can be de®ned as functions of attributes. For instance, the framing task, F, in the top component feature t shown in Fig. 5, is de®ned as F: Task Ancestors: ``C'' Descendants: ``A1 A2'' Process: ``Type: Framing, Facility: FramingMachine, Person: 1, Duration: 2spoke[t] (min)''

De®nitions of the ®ve tasks for the top component t shown in Fig. 5 are given in Table 1. By modeling product and its manufacturing requirements using features, both product design descriptions and manufacturing descriptions are integrated into the same environment. The manufacturing requirements are created based upon product design descriptions, represented by features, attributes, qualitative relations among features, and quantitative relations among attributes. When instance features are combined to model a product, the manufacturing requirements of the product, including tasks, their sequential relations, and processes to produce these tasks (types, required facilities and persons, and time periods), are then identi®ed automatically from these

D. Xue et al. / Computers in Industry 46 (2001) 209±231

215

Fig. 4. Representation of instance features.

instance features. In addition, the product data dependency relation maintenance mechanism [8] can be used for maintaining the relations between design descriptions and manufacturing requirement descriptions. When design descriptions are changed, manufacturing requirement descriptions can be updated automatically using the dependency relations. 4. Agent-based manufacturing resource modeling Manufacturing resources are the manufacturing constraints to be considered in production scheduling.

In this research, only two types of resources, facilities and persons, are modeled in the intelligent optimal production scheduling system. Typical manufacturing facilities include machining facilities, assembly facilities, and so on. Each resource is de®ned by its type, functions, and time constraints. During production scheduling process, time slots of manufacturing resources are allocated for accomplishing the tasks of the products ordered by customers. Since each manufacturing resource is an entity with its own characteristics, status, and knowledge for making decisions during the production scheduling process, manufacturing resources are modeled as

216

D. Xue et al. / Computers in Industry 46 (2001) 209±231

Fig. 5. Feature-based manufacturing requirement representation.

agents in this research based on distributed manufacturing system modeling approach. In production scheduling, allocation of facility resources and person resources for the required tasks is carried out through collaboration between these two types of resources using distributed computing approach. To improve the ef®ciency of distributed computing, two mediators, a

facility mediator and a personnel mediator, are employed for coordinating the activities of these two types of resource agents in production scheduling process, as shown in Fig. 1. A facility resource agent is de®ned by its type, manufacturing functions, and time constraints including available periods and unavailable periods. An

Table 1 De®nitions of the tasks for the top component Tasks

Ancestors

C F A1 A2 G

C F F A2

Descendants

Types

Facilities

Persons

Duration (min)

F A1, A2

Cutting Framing Assembly Assembly Glazing

CuttingMachine FramingMachine AssemblyUnit AssemblyUnit AssemblyUnit

1 1 1 1 1

10 2spoke[t] 10 10 15

G

D. Xue et al. / Computers in Industry 46 (2001) 209±231

example of facility resource agent is described as follows: M1: Facility Agent Type: ``CNCMillingMachine'' Functions : `` milling , drilling , boring'' Available Periods: `` [11/01/1998 00:00 ± 11/30/1998 23:59]'' Unavailable Periods: `` [11/10/1998 15:00 ± 11/10/1998 16:30], [11/20/1998 15:00±11/20/ 1998 16:30]''

of

The time parameter is described using the scheme month/day/year hour/minute

A person resource agent is de®ned by the facilities the person is responsible for, and time constraints including available periods, regular schedule, and unavailable periods. An example of person resource agent is described as follows: P1: Person Agent Facilities: ``M1, M2, A5'' Available Periods: `` [11/01/1998 00:00 ± 11/16/1998 00:00]'' Regular-Schedule:. . . Day Monday Tuesday Wednesday Thursday Friday Saturday Sunday

through the facility mediator. Each facility agent then starts negotiation and collaboration with relevant person agents through the personnel mediator. Each facility agent then reports the local optimal result, represented as the start time, end time, and the best person agent for the required task, to the facility mediator. Among all the feasible schedules proposed by the relevant facility agents, the facility mediator awards the assignment of the task to the facility agent and its associated person agent that provide the best offer. Details of the agent-based collaboration method in the intelligent scheduling process will be discussed in Section 5.2. 5. Intelligent optimal scheduling using constraint-based search and agent-based collaboration The intelligent optimal production scheduling is carried out using arti®cial intelligent techniques in the multi-agent environment for identifying the optimal sequence of the required manufacturing tasks and allocating the available resources and their timing parameter values for these tasks. The optimal sequence of the tasks is achieved using constraintbased search. Allocation of resources and their timing parameter values is carried out through agent-based collaboration.

Work Time [8:30±16:30] [14:30±22:30] [8:30±16:30] [8:30±16:30] [8:30±16:30] [] []

Unavailable Periods:

`` [11/07/1998 12:00 ± 11/07/1998 16:30], [11/10/1998 8:00 ± 11/ 10/1998 12:30]''

During production scheduling process, when a task is required to be allocated with manufacturing resources and timing parameter values, this requirement is ®rst announced to the relevant facility agents

217

Break Time [12:00±13:00] [18:00±19:00] [12:00±13:00] [12:00±13:00] [12:00±13:00] [] []

5.1. Constraint-based search Search is a method to ®nd a solution from a start state to a goal state through a sequence of intermediate states [23]. When a heuristic function is used to evaluate the created states and identify the best state to create its sub-states towards the goal state, the search is then called the best-®rst search [23]. The heuristic function H(Si) is usually composed of two

218

D. Xue et al. / Computers in Industry 46 (2001) 209±231

components, the actual cost from the start state to the current state C(Si) and the estimated cost from the current state to the goal state E(Si), using H…Si † ˆ C…Si † ‡ E…Si † When the estimated cost is not considered (i.e. E…Si † ˆ 0), the best-®rst search leads to the global optimal solution. In this research, the best-®rst search is employed for identifying the optimal production schedule. The best-®rst search is effective, when the number of tasks involved in scheduling is not large. Since the scheduling system developed in this research is primarily used for make-to-order type of manufacturing, the number of tasks for an ordered product is usually not large, thus, being able to identify the optimal schedule. When the number of tasks in an ordered product is large, beam-search is then employed to improve the search ef®ciency [23]. In the beam-search method, when the number of nodes at a certain level of the search tree exceeds a pre-de®ned number called beam-width, the nodes with poor evaluation measures are then deleted from the search tree. In the developed

system, when the computation time exceeds the prede®ned maximum allowable computation time, the scheduling process is then terminated and restarted with a smaller beam-width. The search process for intelligent scheduling is illustrated in Fig. 6. In this ®gure, each state represents a partial schedule developed so far using the bestsearch. A schedule is described by the sequence to conduct the required manufacturing tasks and resource assignments to these tasks. For instance, the node at the right side of Fig. 6 represents a schedule to conduct tasks B and D in a sequence of B!D. A start state represents an empty schedule, while a goal state represents the complete schedule in which all the tasks have been allocated with the required resources and timing parameter values. All the states are described by nodes in a search tree. The search for scheduling starts with generating the sub-nodes of the start node. Each time, the best-node is selected for generating its sub-nodes. When a sub-node is generated, an unscheduled task is then selected for resource allocation and timing parameter value instantiation through collaboration among relevant agents.

Fig. 6. Intelligent scheduling by constraint-based search and agent-based collaboration.

D. Xue et al. / Computers in Industry 46 (2001) 209±231

Evaluation to this node is also conducted using the heuristic function. This process is carried out continuously until the selected best-node is the goal node. Two heuristic functions have been developed in this research for identifying the optimal production schedule: 1. Fmax Ð the latest task ®nish time considering all the scheduled tasks for an order; 2. Smin Ð the earliest task start time considering all the scheduled tasks for an order. Two scheduling strategies were also developed based upon the two heuristic functions: 1. The earliest-delivery-time-based scheduling strategy Ð to provide the product to the customer as early as possible by selecting the node with the minimum value of the Fmax as the best-node.

219

2. The due-time-based scheduling strategy Ð to start the product manufacturing as late as possible to reduce the space for storing the produced product by selecting the node with maximum value of the Smin as the best-node. In the earliest-delivery-time-based scheduling strategy, the task, which needs to be conducted earlier in production process, should be scheduled earlier. In the due-time-based scheduling strategy, however, the task, which needs to be conducted later in production process, should be scheduled earlier. These two scheduling strategies are also called forward loading and backward loading methods. Two examples are given in Fig. 7 to illustrate the two scheduling strategies. In these examples, the production order A consists of three manufacturing tasks, A1, A2, and A3, to be conducted sequentially. The scheduling results

Fig. 7. Examples using two scheduling strategies.

220

D. Xue et al. / Computers in Industry 46 (2001) 209±231

generated using the earliest-delivery-time-based scheduling strategy and the due-time-based scheduling strategy are shown in Fig. 7(a) and (b), respectively. In the earliest-delivery-time-based scheduling, as shown in Fig. 7(a), the task A1 is scheduled ®rst, while in the due-time-based scheduling, as shown in Fig. 7(b), the task A3 is scheduled ®rst. During the search-based scheduling process, constraints are used for selecting unscheduled tasks to create sub-nodes of the best-node. The following rules are employed in the search process: 1. The ®nish time of an ancestor task must be earlier than the start time of its descendant task in the created schedule. In the earliest-delivery-timebased scheduling, a task is selected for scheduling only when all its ancestor tasks have been scheduled. In the due-time-based scheduling, however, a task is selected for scheduling only when all its descendant tasks have been scheduled. 2. The start time of any task in an instance feature must be later than the ®nish time of any task in the instance feature's element features in the created schedule. In the earliest-delivery-time-based scheduling, tasks in an instance feature are considered for scheduling only when all the tasks in this feature's element features have been scheduled. In the due-time-based scheduling, tasks in an element instance feature are considered for scheduling only when all the tasks in the current feature have been scheduled. The scheduling algorithm is formulated as the following four steps: Step 1: Initialize the root node and identify the tasks that should be considered for scheduling at this stage. These tasks are called the to-be-scheduled tasks. In the earliest-delivery-time-based scheduling, the to-bescheduled tasks include all the tasks de®ned in the bottom features of the product. In the due-time-based scheduling, the to-be-scheduled tasks are those de®ned in the top feature of the product. A bottom feature is the one without any element features, while a top feature is the one that is not an element feature of any instance feature. In the example shown in Fig. 5, the instance features, t, l, r, cl, and cr, are the bottom features, while the instance feature, w, is the top feature. Step 2: Generate the sub-nodes of the root node. In the earliest-delivery-time-based scheduling, the to-be-

scheduled tasks that do not have ancestor tasks are selected to generate these sub-nodes. In the due-timebased scheduling, the to-be-scheduled tasks that do not have descendant tasks are selected to generate these sub-nodes. In each of these sub-nodes, the scheduled task should be removed from the list of the to-bescheduled tasks. The order agent then negotiates with the resource agents based on the manufacturing requirements de®ned in the task to identify the resources and timing parameter values to accomplish this task. The agent-based negotiation/collaboration mechanism will be introduced in Section 5.2. The generated nodes are evaluated using the selected heuristic function. Step 3: Select the best-node from the search tree based upon the evaluations to the nodes. Generate the sub-nodes of the best-node using the to-be-scheduled tasks. In the earliest-delivery-time-based scheduling, the to-be-scheduled tasks that do not have unscheduled ancestor tasks are selected for generating the subnodes. In the due-time-based scheduling, the to-bescheduled tasks that do not have unscheduled descendant tasks are selected for generating the sub-nodes. Allocation of resources, assignment of timing parameter values, and evaluation using the heuristic function for the newly generated nodes are conducted using the same methods as introduced in Step 2. The list of the to-be-scheduled tasks for each subnode is then updated. The scheduled tasks should be removed from this list. In the earliest-delivery-timebased scheduling, if all the tasks de®ned in a feature's element features have been scheduled, the tasks of this feature should be added to the list of the to-be-scheduled tasks. In the due-time-based scheduling, if all the tasks of a feature have been scheduled, the tasks in this feature's element features should be added to the list of the to-be-scheduled tasks. Step 4: Check whether the best-node is the goal node. If the best-node does not have any to-be-scheduled tasks, i.e. the list of the to-be-scheduled tasks is empty, this node is the goal node. When the best-node is the goal node, the search should be terminated. Otherwise, the search goes to Step 3. Two case study examples are given in Section 6 to illustrate the optimal production scheduling algorithm with details. When a product is composed of many instance features, and each of these features is produced by a number of tasks, the search space for intelligent

D. Xue et al. / Computers in Industry 46 (2001) 209±231

scheduling could be very large, therefore, resulting in dif®culty to achieve the desired results within limited computing time period. Beam-search method was employed in this research to improve the search ef®ciency [23]. Discussion on the relations between beam-width and scheduling quality/ef®ciency will be given in Section 7. 5.2. Agent-based collaboration Allocation of manufacturing resources and instantiation of task timing parameter values are conducted based upon agent-based collaboration in the multiagent environment. Two timing parameters of tasks, start time and ®nish time, are considered in this research. The agent-based collaboration mechanism was developed by combining a bidding mechanism and a mediation mechanism. The bidding mechanism was implemented based on the contract-net protocol [24]. In this protocol, the agent that needs to solve a problem broadcasts a callfor-bids message to all the potential contractor agents, waits for replying messages for a period of time, and then awards the contract to the agent that can provide the best offer according to the contract selection criteria. In the intelligent scheduling process, when a to-be-scheduled task is announced by the order agent during the search, the facility mediator then receives this announcement and sends the message to all the relevant facility agents it knows. These facility agents subsequently start to evaluate the requirements of the task, communicate with the relevant person agents through the personnel mediator, and make bids to the facility mediator. The facility mediator at last assigns

221

the required production task to the relevant agents that provide the best offer. The mediation mechanism is used to coordinate the activities of the relevant agents to improve the scheduling ef®ciency. In this research, two mediators, facility mediator and personnel mediator, are used to coordinate the activities of facility resource agents and person resource agents, respectively. The agent-based collaboration in intelligent scheduling is conducted at two different levels: order± facility collaboration level and facility±person collaboration level. The collaboration at the order±facility level is shown in Fig. 8. When the facility mediator receives a request to schedule a task from the order agent, it sends out this request to the relevant facility agents based on its knowledge (Fig. 8(a)). Upon receiving the announced message, a facility agent checks its available time periods and starts collaboration at the facility±person level to identify the available person agent. The facility agent sends a bid, which is represented by the proposed start time, ®nish time, and person, to the facility mediator (Fig. 8(b)). The facility mediator at last selects the facility agent that provides the best bid, such as the bid with the minimum value of the Fmax in the earliest-delivery-time-based scheduling, or the bid with the maximum value of the Smin in the due-timebased scheduling. When the decision is made, the facility mediator sends the award message to the selected facility agent and person agent (Fig. 8(c)). At the facility±person level, as shown in Fig. 9, the collaboration is conducted to select a proper person to associate with the selected facility and to identify the best bid considering the time constraints of both the

Fig. 8. Agent-based collaboration at the order±facility level.

222

D. Xue et al. / Computers in Industry 46 (2001) 209±231

Fig. 9. Agent-based collaboration at the facility±person level.

facility agent and the person agent. After receiving the announced message, ®rst the facility agent communicates with a relevant person, who has been assigned to this facility, through the personnel mediator to generate a bid for the requested task (Fig. 9(a)). If the bid does not meet the required constraints, the facility agent then starts negotiation with the other person agents through the personnel mediator (Fig. 9(b)). The contract-net bidding mechanism is used to identify the best person agent for this facility. When the personnel mediator receives a task request from the facility agent, it sends the messages to the relevant person agents according to its knowledge. Each of these person agents then negotiates with the facility agent to identify the bid for the requested task (Fig. 9(c)). The personnel mediator selects a person agent that can provide the best bid (Fig. 9(d)). This bid is then sent to the facility mediator as the bid for this facility used at the order±facility collaboration level. An example is given in Fig. 10 to illustrate the agent-based collaboration mechanism. In this example, allocation of resources and assignment of timing parameter values are required for the task C in an earliest-delivery-time-based scheduling process. This task is de®ned as: Type: cutting, Facil-

ity: CuttingMachine, Duration: 10 (min). The earliest possible start time for this task is 8:00. It is required that the task C has to be completed before 8:30.

First, the order agent sends the request for scheduling task C to the facility mediator. The facility med-

iator then announces this request to the two relevant facility agents: FC01 and FC02. These two facility agents are of CuttingMachine type with cutting function. Two person agents, PM01 and PM02, are primarily responsible for the facilities FC01 and FC02, respectively. In addition, PM03 and PP01 can also be assigned to work on FC02. Upon receiving the request announcement, the two facility agents negotiate with the relevant person agents to identify the bids. The facility agent FC01 negotiates with the person agent PM01 to make a bid, Bid1, with start time at 8:20 and ®nish time at 8:30. The facility agent FC02 ®rstly negotiates with the person agent PM02 through the personnel mediator to make a bid, Bid2, with start time at 8:30 and ®nish time at 8:40. Since this bid does not satisfy the scheduling constraint, the facility agent FC02 then starts negotiation with the other two person agents, PM03 and PP01, through the personnel mediator. After the negotiation, two bids are created: Bid3 with start time at 8:00 and ®nish time at 8:10, and Bid4 with start time at 8:30 and ®nish time at 8:40. Since Bid3 is the best bid, the person PM03 is selected to work on the facility FC02 for task C. When the collaboration at the facility±person level is completed, the facility agents FC01 and FC02 send their best bids, Bid1 and Bid3, to the facility mediator. The facility mediator ®nally selects Bid3 as the best bid and then awards task C to the facility agent FC02 and the person agent PM03. At last the facility mediator informs the order agent about the

D. Xue et al. / Computers in Industry 46 (2001) 209±231

223

Fig. 10. An example of agent-based collaboration.

resource allocation and timing parameter value assignment for task C.

scheduling strategy. The product to be scheduled is a window product de®ned in Figs. 4 and 5. This product is composed of seven instance features.

6. Case study examples

6.1. An example using the earliest-delivery-timebased scheduling strategy

Examples are given in this section to illustrate the two scheduling strategies: the earliest-delivery-timebased scheduling strategy and the due time based

The scheduling process for an order using the earliest-delivery-time-based scheduling strategy is shown

224

D. Xue et al. / Computers in Industry 46 (2001) 209±231

Fig. 11. An example of the earliest-delivery-time-based scheduling.

in Fig. 11. This order is released for production at 8:00. First, a root node is created. All the tasks in the ®ve bottom features are considered as the to-be-scheduled tasks for the root node. Since the tasks t.C, l.C, r.C, cl.C, and cr.C do not have unscheduled ancestor tasks, these tasks are selected for generating the sub-nodes of the root node. If the r.C is the bestnode, the ®ve to-be-scheduled tasks, which do not have unscheduled ancestor tasks, are selected for generating the sub-nodes of the r.C, as shown in

Fig. 11. The descriptions of the nodes in the best-path (shown using the dark lines), including the to-bescheduled features, the to-be-scheduled tasks, and the scheduling results, are illustrated using three examples: Start, cl.A2, and w.PK.  The node Start represents the starting state in the search. Five bottom level instance features, cl, cr, t, l, and r, are considered in scheduling. The scheduling results are described by empty lists.

D. Xue et al. / Computers in Industry 46 (2001) 209±231

 The node cl.A2 describes the state when all the tasks in the cl and cr instance features have been scheduled. At this stage, the instance features, cl and cr, should be removed from the list of the tobe-scheduled features. The instance feature, c, should be added to the list of the to-be-scheduled features. In the scheduling result lists, all the tasks of the instance features, cl and cr, have been scheduled. The tasks of the other to-be-scheduled instance features are only partially scheduled.  The node, w.PK, is the goal node in the search. At this stage, all the tasks in all the instance features have been scheduled. Therefore, the lists of the tobe-scheduled features and the to-be-scheduled tasks are empty lists. The final scheduling results are the sequences of the tasks, resource allocations to these tasks, and timing parameter value assignments to these tasks.

225

A snapshot of the scheduling results, represented as facility workload chart and personnel workload chart, for this case study example is shown in Fig. 12. 6.2. An example using the due-time-based scheduling strategy The scheduling process for an order using the due-time-based scheduling strategy is shown in Fig. 13. Due-time requirement for this order is 18:00. First, a root node is created. All the tasks in the top feature are considered as the to-be-scheduled tasks for the root node. Since the task w.PK does not have unscheduled descendant tasks, this task is selected for generating the sub-node of the root node. Next, the task w.A3, which does not have unscheduled descendant tasks, is selected for generating the sub-node

Fig. 12. A snapshot of the earliest-delivery-time-based scheduling result.

226

D. Xue et al. / Computers in Industry 46 (2001) 209±231

Fig. 13. An example of the due-time-based scheduling.

of the w.PK. Then, the two to-be-scheduled tasks, w.A1 and w.A2, which do not have unscheduled descendant tasks, are used for generating the sub-nodes of the w.A3, as shown in Fig. 13. The descriptions of the nodes in the best-path (shown using the dark lines), including the to-be-scheduled features, the to-be-scheduled tasks, and the scheduling results, are illustrated using three examples: Start, w.A1, and cl.C.  The node Start represents the starting state in the search. The top-level instance feature, w, is

considered in scheduling. The scheduling results are described by empty lists.  The node w.A1 describes the state when all the tasks in the w instance feature have been scheduled. At this stage, the instance feature, w, should be removed from the list of the to-be-scheduled features. The instance features, c, r, l, and t, should be added to the list of the to-be-scheduled features. In the scheduling result lists, all the tasks of the instance feature, w, have been scheduled.

D. Xue et al. / Computers in Industry 46 (2001) 209±231

227

Fig. 14. A snapshot of the due-time-based scheduling result.

 The node, cl.C, is the goal node in the search. At this stage, all the tasks in all the instance features have been scheduled. Therefore, the lists of the tobe-scheduled features and the to-be-scheduled tasks are empty lists. The final scheduling results are the sequences of the tasks, resource allocations to these tasks, and timing parameter value assignments to these tasks. A snapshot of the scheduling results, represented as facility workload chart and personnel workload chart, for this case study example is shown in Fig. 14 7. Discussion on scheduling quality and ef®ciency The intelligent optimal production scheduling system was evaluated by simulation based on the

production data from a local manufacturing ®rm Ð Gienow Building Product Ltd. Gienow is a mediumsize manufacturing company for producing building products including windows and doors. The product design and manufacturing activities at this company are based upon the orders received from customers. Due to the employment of a computer integrated manufacturing system to coordinate the manufacturing activities, ef®ciency of production has been improved dramatically. The intelligent optimal production scheduling system introduced in this paper was developed for further improving the production ef®ciency at Gienow. In the simulation model, the manufacturing resources in the job±shop, including facilities and persons, are described as agents. Eleven facilities and eleven persons are considered in the simulation. The eleven facilities include two cutting machines,

228

D. Xue et al. / Computers in Industry 46 (2001) 209±231

one framing machine, seven assembly units, and one packing unit, while eleven persons are assigned to work for the relevant facilities. The window products used in the simulation are instance features of a class feature WindowCenter, which is shown in Fig. 3. The created instance features and their manufacturing requirements are given in Figs. 4 and 5, respectively. Since beam-search method is employed in this research to improve the search ef®ciency, performance of the scheduling mechanism is evaluated in terms of scheduling quality and ef®ciency. The scheduling quality is evaluated by the measure of the selected objective function for either the earliest-deliverytime-based scheduling or the due-time-based scheduling. The scheduling ef®ciency is evaluated by the number of the generated nodes in the search. In this simulation, two orders, Order 1 and Order 2, were scheduled with the earliest-delivery-time scheduling strategy and the due-time scheduling strategy, respectively using the intelligent

optimal production scheduling system, prior to the evaluation process. The start time and completion time for these two orders are identi®ed as Order 1: Start time: 8:30, completion time: 11:25. Order 2: Start time: 10:10, completion time: 1:00. The evaluation is carried out for scheduling a new order. Two cases are considered in the evaluation using the earliest-delivery-time-based scheduling strategy and the due-time-based scheduling strategy, respectively. In the case using the earliest-delivery-time-based scheduling strategy, the order is received at 8:10. When a beam-width is speci®ed, the search mechanism tries to identify the production schedule to minimize the Fmax objective function. The relations between the beam-width and the scheduling quality/ ef®ciency are shown in Fig. 15(a) and (b). In the case using the due-time-based scheduling strategy, the due-time for the received order is

Fig. 15. Evaluation of the scheduling mechanism using the earliest-delivery-time-based scheduling strategy.

D. Xue et al. / Computers in Industry 46 (2001) 209±231

229

Fig. 16. Evaluation of the scheduling mechanism using the due-time-based scheduling strategy.

2:30. When a beam-width is speci®ed, the search

mechanism tries to identify the production schedule to maximize the Smin objective function. The relations between the beam-width and the scheduling quality/ ef®ciency are shown in Fig. 16(a) and (b). The Figs. 15 and 16 show that: (1) when the beamwidth is increased, the objective function evaluation measure is improved as follows: the completion time for the order scheduled using the earliest-deliverytime-based scheduling strategy is shifted to an earlier time, and the release time for the order scheduled using the due-time-based scheduling strategy is shifted to a later time close to the due-time and (2) when the beam-width is increased, the number of search nodes is also increased, therefore, the scheduling ef®ciency is decreased. 8. Conclusions This paper presented development of an intelligent optimal scheduling mechanism. The manufacturing

requirements, including the tasks and the sequential constraints for accomplishing these tasks, are described using the feature-based product representation scheme. Each task speci®es its resource requirements and time period to conduct this task. The manufacturing resources, including facilities and persons, are modeled as agents. Two mediators, facility mediator and personnel mediator, are used to coordinate the activities of these resource agents. The optimal production process and its timing parameter values for producing the products ordered by customers are achieved using constraint-based search and agent-based collaboration. The characteristics of this developed intelligent optimal production scheduling approach are summarized as follows: 1. By modeling the manufacturing requirements of the product primitives as part of the feature descriptions, the production tasks of an order and constraints among these tasks can be identi®ed automatically when the ordered product is modeled

230

D. Xue et al. / Computers in Industry 46 (2001) 209±231

by combining features. This approach is effective for modeling manufacturing requirements, when a large variety of products, modeled by combining the component primitives, are available for selection by customers. In addition, the manufacturing requirements can be de®ned as functions of design parameters. When the design parameters are changed, the manufacturing requirements are updated automatically. 2. Multi-agent system approach is an effective method to model the manufacturing systems that require the data and knowledge to be described at different locations. In this research, orders and resources are modeled as agents, representing customer requirements and manufacturing constraints. During the production scheduling process, the knowledge preserved in each agent is used for creating the partial optimal schedule considering its local surrounding environment. The global optimal schedule is identi®ed from these local partial optimal schedules. 3. By combing the agent-based collaboration mechanism with the constraint-based search mechanism, the ef®ciency of scheduling is improved, while the quality of scheduling maintained. The multi-agent system allows the feasible local optimal schedules to be created simultaneously using the local knowledge preserved in agents based upon distributed computing techniques. The constraint-based best-®rst search achieves the optimal schedule by identifying the best sequence to accomplish the required tasks. Acknowledgements The authors would like to thank the local manufacturing company Ð Gienow Building Products Ltd., for providing support to the development of the intelligent optimal production scheduling system. References [1] A. Kusiak (Ed.), Intelligent Design and Manufacturing, Wiley, New York, 1992. [2] Z. Dong (Ed.), Arti®cial Intelligence in Optimal Design and Manufacturing, Prentice Hall, Englewood Cliffs, NJ, 1994.

[3] F. Maturana, D.H. Norrie, Multi-agent mediator architecture for distributed manufacturing, Journal of Intelligent Manufacturing 7 (1996) 257±270. [4] D. Xue, Z. Dong, Feature modeling incorporating tolerance and production process for concurrent design, Concurrent Engineering: Research and Applications 1 (1993) 107±116. [5] D. Xue, Z. Dong, Developing a quantitative intelligent system for implementing concurrent engineering design, Journal of Intelligent Manufacturing 5 (1994) 251±267. [6] D. Xue, J.H. Rousseau, Z. Dong, Joint optimization of performance and costs in integrated concurrent design: tolerance synthesis part, Engineering Design and Automation 2 (1) (1996) 73±89. [7] D. Xue, A multilevel optimization approach considering product realization process alternatives and parameters for improving manufacturability, Journal of Manufacturing Systems 16 (5) (1997) 337±351. [8] D. Xue, S. Yadav, D.H. Norrie, Knowledge base and database representation for intelligent concurrent design, ComputerAided Design 31 (1999) 131±145. [9] K.R. Baker, Introduction to Sequencing and Scheduling, Wiley, New York, 1974. [10] M.S. Fox, Constraint-directed search: a case study of job± shop scheduling, Ph.D. Thesis, CMU-RI-TR-85-7, Intelligent Systems Laboratory, The Robotics Institute, Carnegie Melon University, 1983. [11] M. Zweben, M.S. Fox, Intelligent Scheduling, Kaufmann (Morgan), Los Altos, CA, 1994. [12] M.S. Fox, N. Sadeh, C. Baycan, Constrained heuristic search, in: Proceedings of International Joint Conference on Arti®cial Intelligence, Menlo Park, CA, 1989, pp. 309±316. [13] P. Morris, Solutions without exhaustive search: an iterative descent method for binary constraint satisfaction problem, in: Proceedings of the AAAI-90 Workshop on ConstraintDirected Reasoning, Boston, MA, 1990. [14] M. Zweben, E. Davis, B. Daun, E. Drascher, M. Deale, M. Eskey, Learning to improve constraint-based scheduling, Arti®cial Intelligence 58 (1992) 271±296. [15] D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, Reading, MA, 1989. [16] F. Glover, Tabu-search Part I, ORSA Journal on Computing 1 (3) (1989) 190±206. [17] M.R. Cutkosky, R.S. Engelmore, R.E. Fikes, M.R. Genesereth, T.R. Gruber, W.S. Mark, J.M. Tenenbaum, J.C. Weber, PACT: an experiment in integrated concurrent engineering systems, IEEE Computer 26 (1) (1993) 28±37. [18] H.V.D. Parunak, Application of distributed arti®cial intelligence in industry, in: G.M.P. O'Hare, N.R. Jennings (Eds.), Foundation of Distributed Arti®cial Intelligence, Wiley, New York, 1996, pp. 139±164. [19] M.N. Huhns, M.P. Singh (Eds.), Readings in Agents, Kaufmann (Morgan), Los Altos, CA, 1998. [20] W. Shen, D.H. Norrie, Agent-based systems for intelligent manufacturing: a state-of-the-art survey, Knowledge and

D. Xue et al. / Computers in Industry 46 (2001) 209±231

231

Information Systems: An International Journal 1 (2) (1999) 129±156. H. Brussel, L. Bongaerts, J. Wyns, P. Valckenaers, T. Ginderachter, A conceptual framework for holonic manufacturing: identi®cation of manufacturing holons, Journal of Manufacturing Systems 18 (1) (1999) 35±52. A. Goldberg, D. Robson, Smalltalk-80: The Language and its Implementation, Addison-Wesley, Reading, MA, 1983. P.H. Winston, Arti®cial Intelligence, 3rd Edition, AddisonWesley, Reading, MA, 1992. R.G. Smith, The contract-net protocol: high-level communication and control in a distributed problem solver, IEEE Transactions on Computers 29 (12) (1980) 1104±1113.

J. Sun is now a research scientist at Alberta Research Council, Canada. He is currently responsible for developing industrial applications of intelligent systems. His research interests include intelligent systems, software development, product design and manufacturing, and measurement and control technology. J. Sun received his MSc degree in manufacturing engineering from University of Calgary, Canada, MSc degree in measurement and control technology and instrumentation from Hefei University of Technology, China, and BSc degree in mechanical engineering from Beijing University of Posts and Telecommunications, China.

D. Xue is an associate professor at Department of Mechanical and Manufacturing Engineering, University of Calgary. He received his PhD and MSc degrees in precision machinery engineering from University of Tokyo, and his BSc degree in precision instrument engineering from Tianjin University. His research interests include product life-cycle modeling and integrated concurrent design, intelligent planning, scheduling, and control, design methodology and intelligent CAD, engineering optimization, tolerance modeling, engineering applications of arti®cial intelligence, and engineering applications of object oriented programming. He is a member of ASME, SME, AAAI, and IPSJ.

D.H. Norrie is professor of mechanical and manufacturing engineering at the University of Calgary, Alberta, Canada. Formerly, he was head of the department of mechanical engineering at the University of Calgary, and more recently head of the division of manufacturing engineering. He is also adjunct professor of computer science at the same institution. He has been involved in two major international research consortia in intelligent manufacturing systems, being a founder member in the holonic manufacturing systems and the gnosis knowledge systematization consortia. He is author or co-author of numerous publications, including seven books. His research interests are in intelligent systems and, in particular, in multi-agent systems.

[21]

[22] [23] [24]