Int J Adv Manuf Technol (2008) 38:163–175 DOI 10.1007/s00170-007-1087-8
ORIGINAL ARTICLE
Bidding-based multi-agent system for integrated process planning and scheduling: a data-mining and hybrid tabu-SA algorithm-oriented approach Sanjay Kumar Shukla & M. K. Tiwari & Young Jun Son
Received: 15 December 2006 / Accepted: 7 May 2007 / Published online: 14 June 2007 # Springer-Verlag London Limited 2007
Abstract This paper conceptualizes a bidding-based multiagent system for solving integrated process-planning and scheduling problem. The proposed architecture consists of various autonomous agents capable of communicating (bidding) with each other and making decisions based on their knowledge. Moreover, in contrast to the traditional model of integrated process-planning and scheduling problem, a new paradigm has been conceptualized by considering tool cost as a dynamic quantity rather than a constant. Tool cost is assumed to comprise tool-using cost and its repairing cost. The repairing cost is considered to depend on the tool-breaking probability, which is predicted by the data-mining agent equipped with the virtues of Cfuzzy decision tree. When a job arrives at the shop floor, the component agent announces a bid for one feature at a time to all the machine agents. Among the machine agents capable of producing the first feature, one comes forward to become a “leader”, and groups other machine agents for the processing of remaining features of the job. Once all features are assigned to the appropriate machines, the leader then sends this allocation information to the
S. K. Shukla Department of Manufacturing Engineering, National Institute of Foundry and Forge Technology, Ranchi 834003, India M. K. Tiwari Department of Forge Technology, National Institute of Foundry and Forge Technology, Ranchi 834003, India Y. J. Son (*) Department of Systems and Industrial Engineering, University of Arizona, Tucson, AZ 85721-0020, USA e-mail:
[email protected]
optimization agent. The optimization agent finds optimal/ near-optimal process plans and schedules via the hybrid tabu-SA algorithm. Keywords Multi-agent system . Integrated process planning and scheduling . Dynamic tool cost . C-fuzzy decision trees . Hybrid tabu-SA algorithm
1 Introduction In recent years, manufacturing enterprises have faced serious challenges and pressure from the growing tide of globalization. To survive in a competitive global market, manufacturing enterprises have to respond both promptly and effectively to the dynamic disturbances caused from internal operations or external market circumstances. More specifically, manufacturing firms must be able to produce a large variety of products efficiently and be responsive and reconfigurable to accommodate dynamic changes in product mix, product design, and demand patterns in the marketplace [11]. Agile manufacturing, a manufacturing paradigm proposed to deal with a dynamically changing manufacturing environment, requires artificial barriers between functioned departments and isolated islands of information [32]. One of the most important steps in this direction is to integrate process-planning and scheduling problems. Traditionally, process planning and scheduling were carried out in two distinct, sequential phases; which gives rise to the following stumbling blocks [10, 34]: –
Assuming an unlimited amount of resources on the shop floor, process planners carry out the most desirable processes repeatedly. However, when the
164
Int J Adv Manuf Technol (2008) 38:163–175
actual production takes place, constraints like unavailability of a machine may be encountered, which makes the process plan unfeasible. –
Single-criteria optimization is usually considered for both processes, planning and scheduling. However, in a real production environment (i.e., a dynamic shop floor condition), more than one criterion (which usually conflict from each other) needs to be considered simultaneously.
–
Time delay between the planning phase and the execution phase causes problems. Due to the dynamic nature of a production environment, it is likely that when a design is ready to be manufactured the constraints considered in planning may have already changed.
–
The throughput of orders in a workshop often suffers from disruption caused by bottlenecks of equipment and tools, which occurs due to lack of communication between process planning and scheduling.
To resolve the above-mentioned problems, we propose to integrate process-planning and scheduling functions, and the most effective strategy to achieve this objective is to develop distributed control architecture supporting the cooperation of autonomous distributed controllers (i.e., multi-agent system) [19, 25]. In the past, researchers have employed multi-agent system (MAS) in diverse areas of manufacturing. Baker [1] surveyed the dispatching, scheduling, and pull algorithm of factory control from the viewpoint of implementing them in a MAS. Sluga et al. [26] and Dornfeld et al. [6] applied a MAS in process planning while Teresedai and Ramesh [31] and Sousa and Ramos [28] applied it in dynamic manufacturing scheduling. Lim and Zhang [17, 18] developed an agent-based framework that utilizes contract net protocols to enhance the negotiation mechanism of agents to integrate process planning and scheduling. Butler and Ohtsubo [3] and Gu et al. [8] presented architecture for distributed dynamic manufacturing scheduling (ADDYMS), where there are several levels of work cells and sub work cells in the model and each work cell has a site agent. Kim [12] presented a cooperation mechanism between process planning and production control involving part and machine agents. Kadar et al. [9] constructed a distributed manufacturing framework using a multi-agent system and object-oriented methodology. Finally, researchers in computer science have addressed the problem of distributed computation by applying a collection of processors to tackle a single manufacturing problem [5]. In this study, a bidding-based multi-agent system is conceptualized for the integration of process planning and scheduling. The uniqueness of our approach is the coupling of the data-mining agent and optimization agent with the
previously established bidding-based multi-agent system. The data-mining agent helps in realizing one of the pragmatic shop-floor conditions by predicting the tool breakage probability during fabrication of the specific feature of a job. While, optimization agent refine the final solution obtained by bidding mechanism. The proposed architecture aims to cope with the rapid changes in the market as well as internal uncertainties such as resource shortage. This system consists of various agents which are capable of communicating and coordinating with each other to perform tasks related to process planning, scheduling, estimating tool breakage probability, optimization, and decision making. Primary constituents of the proposed architecture are (1) order handling agent, (2) component agent, (3) machine agent, (4) tool agent, (5) data-mining agent, (6) material handling agent, and (7) optimization agent. Machine agents representing machine in the system negotiate with each other to bid for a job. When machine agents take part in bidding, they calculate total manufacturing cost with the assistance of other agents (e.g. tool agent, data-mining agent). Total manufacturing cost consists of machine cost, handling cost from the location of preceding machine, tool costs, tool change costs, and setup change cost. In the past, tool cost was considered as a static quantity, but in real life it does not seem reasonable as during processing of an operation there are always a chance of tool breakage which will definitely incur some additional cost. This motivated us to consider tool cost as a dynamic quantity rather than static in this research. In essence, we suggest that tool cost includes tool using cost and tool repairing cost where the former is a constant for a particular tool and the latter is a variable. Tool repairing cost is computed on the basis of tool-breaking probability (Ptool breaking), which has been found to be function of the hardness of material, estimated removal volume, chip breakability, and surface quality requirement. In order to calculate this probability a datamining agent equipped with C-fuzzy decision tree is proposed in this work. C-fuzzy decision trees [21] are based on information granules. These granules are multivariate entities characterized by high homogeneity and were developed via fuzzy clustering. In contrast with the “standard” decision trees in which one feature is considered at a time, this form of decision trees involves all variables that are considered at each node of the tree. On arrival of a job to the shop floor, component agent announces one component at a time to all machine agents. Among the machine agents capable of producing the first feature, one will come forward to become a “leader” and groups other machine agents for the processing of remaining features of the job. Once all features of the job are assigned to the appropriate machines, the leader sends this allocation information to the optimization agent which is
Int J Adv Manuf Technol (2008) 38:163–175
facilitated with the hybrid tabu-simulated annealing (SA) algorithm. Hybrid tabu-SA algorithm was proposed by Swarnkar and Tiwari [30] by deploying this on the machine loading problem. After receiving a request from the leader, optimization agent employs this algorithm on the initial solution provided. Further, results (i.e. optimum process plan and schedule) obtained by the earlier practice is handed over to the component agent. With this optimum process plans and schedule dynamic changes in the market can be coped with a minimum cost, and maximum utilization of manufacturing resources can also be achieved. In order to verify the effectiveness of the proposed model, a simulated test case is used and the results are elaborated comprehensively in this paper. Remainder of the paper is arranged in following manner. The next section details the proposed modeling of the integrated process planning and scheduling problem. Section 3 describes the brief overview of agent technology and presents the proposed multi-agent system architecture. Section 4 then discusses the data-mining agent and optimization agent. Section 5 details the test suit and the simulation results obtained by the proposed multi-agent architecture. Finally, Section 6 concludes the paper.
2 Integrated process planning and scheduling A mechanical part consists of a series of features. And, the goal of process planning is to map these features with a set of machining operations for the successful manufacturing of the part. More specifically, process planning determines the sequence of operations and set-ups, and selects machine and tool incurring minimum cost for each operation. Given a process plan (recipe for manufacturing), the goal of scheduling is to process the operations in least possible time with maximum resource utilization. Our objective in this paper is to achieve these two distinct manufacturing functions simultaneously. 2.1 Process planning problem Given a shop with M machines and T tools, the process planning involves (1) operation sequencing, (2) selection of machines, and (3) selection of tools. For carrying out the hierarchy of process planning problem, an evaluation criterion usually considered is the cost incurred while performing the hierarchical operations. One of the tasks of the proposed multi-agent system is to find the combination of machine and tool satisfying all the related constraints and precedence relationships incurring minimum total cost. The total cost for the manufacturing of the prismatic part is composed of the following five different costs.
165
1. Machine Cost (MCost) It is the total cost incurred for using the machines during machining of the operations. It can be mathematically expressed as: n X MCost ¼ MCiI ð1Þ i¼1
Where, MCiI is the machine cost index for ith operation and n is the total number of operations to be performed. 2. Machine Change Cost or handling cost (MCchg) When adjacent operations are performed on different machines, machine change is necessary. Cost incurred due to machine change is: MCchg ¼
n1 X
I MCchg ΦðMiþ1 ; Mi Þ
ð2Þ
i¼1 I is machine change cost index and Mi is the where, MCchg machine’s index which is required to perform the ith operation. Also, Φ is defined below. 1; if u 6¼ v Φðu; vÞ ¼ ð3Þ 0; otherwise
3. Tool Cost (Tcost) Tool cost includes tool usage cost and tool repairing cost. Tool repairing cost depends on the probability of tool breakage during processing of operations. Tool cost can be expressed as: n X Tcos t ¼ ð4Þ TCiI þ Ptool breaking TRCiI i¼1
where, TCiI is the tool cost index for using ith tool, Ptool breaking is the tool-breakage probability, and TRCiI is cost index for the repairing of ith tool. In this work, computation of tool breakage probability (Ptool breaking) is carried out by datamining agent which is facilitated C-fuzzy decision tree. Details about the data-mining agent are elaborated in Section 4. 4. Tool Change Cost (TCchg) Tool change cost incurs when adjacent operations performed on the same machines use different tools. Tool change cost can be expressed as: TCchg ¼
n1 X
I TCchg y ðTiþ1 ; Ti Þ ð1 ΦðMiþ1 Mi ÞÞ
ð5Þ
i¼1 I is the tool change cost index and is constant where, TCchg for a particular tool. 5. Set-up Change Cost (SCchg) The set-up change cost can be mathematically formulated as:
SCchg ¼
n1 X
I SCchg = ðTADiþ1 ; TADi Þ ð1 ΦðMiþ1 ; Mi ÞÞ
i¼1
ð6Þ
166
Int J Adv Manuf Technol (2008) 38:163–175
I where, SCchg is the set-up change cost index. Thus, the overall objective of process planning becomes:
3 Proposed multi-agent system 3.1 Background of agent technology
OPC ¼ Mcos t þ MCchg þ Tcos t þ TCchg þ SCchg
ð7Þ
2.2 Scheduling problem The resultant process plan together with part orders are then given as input to the scheduling module. This module works on the principle that the first part in the queue is to be scheduled before proceeding to the next part in the queue. A schedule is generated on the basis of input (process plan and part orders) given and heuristic applied. The outcome of scheduling module is the starting (loading) and end (unloading) times of all the operations of every part in the order. Among many candidates, the scheduling objective considered in this paper is the minimization of the sum of completion times for all features. Mathematically, it can be expressed as SCH ¼
XXX i
j
lijk Sijk þ Pijk
ð8Þ
k
where, 8 < lijk ¼ 1; if operation j of part i is performed on machine k ð9Þ : 0; otherwise And, Sijk and Pijk are the start time and processing time, respectively of operation j of part i on machine k. 2.3 Overall objective function An overall objective function of integrated process planning and scheduling has been formulated by normalizing (in the range between 0 and 1) the objectives of planning (NFplan) and scheduling (NFschd) in their domains. The motive of normalization is to make the objective of process planning (in terms of cost) and the objective of scheduling (in terms of time) compatible and formulate a comprehensive objective function. The normalized objectives of process planning and scheduling are NFplan ¼
OPC LBplan UBplan LBplan
ð10Þ
NFschd ¼
SCH LBschd UBschd LBschd
ð11Þ
Thus an overall normalized objective (OBJoverall) can be given as: Minimize OBJoverall ¼ NFschd þ NFplan
ð12Þ
In recent years, multi agent systems (MAS) have become an increasingly popular subject in manufacturing research. A MAS is a distributed artificial intelligence system composed of a number of autonomous agents capable of communicating and collaborating with each other to achieve common goals. The skill of negotiation with other agents to bid for jobs is one of the alluring characteristics of the autonomous agents. A major issue in MAS research is communication, coordination and interaction of agents. Over the past few years, the development of a standardized communication language for agents has remained a key issue for both the research community involved in the field of agent communication and those interested in the engineering software systems. Several interaction protocols are available in the research literature. Among them, contract net protocol is used in this study. Smith [27] introduced the contract net protocol as a means of achieving coordination within a distributed problem-solving system. The main element of this protocol is the negotiation which is preceded by the allocation of tasks to a set of problem solver. Contract net-based systems represent a concept that can be used to establish mechanisms of cooperation and interaction among agents. In contract net, agents act as managers and contactors. Manager broadcasts the existence of task and the remaining agents assess their ability to contribute to the solution of the task. Agents bid for the task based on their perceived suitability to the task. The manager then evaluates bids and awards task to the most appropriate agent, in this way this agent thus become the contractor. Contract net protocol has been used in diverse areas such as air traffic management [33], integrated process planning and scheduling system [17, 18] and computer task allocation [7, 29]. The following is the summary of the steps involved in the contract net protocol: – –
–
Task announcement: A manager agent broadcasts an announcement to other agents or subagents to carry out a task; Bidding: Those agents that receive the announcement and have the appropriate knowledge to help send bids to the manager agent; and Awarding: The manager agent awards the task to the most appropriate agent
3.2 Proposed multi-agent system architecture The MAS developed in this study consists of a component agent, various machine agents, tool agent, data-mining
Int J Adv Manuf Technol (2008) 38:163–175 Fig. 1 Proposed multi-agent architecture
167
Order Handling Agent
Optimization Agent
MA1
Component Agent
MA2
MA3
MA4
manufacturing data bases
MA5
MA6
Machine Agent
Tool Data base
Tool Agent
Material Handling Agent
Data mining Agent Material Handling Database
agent, material handling agent, and optimization agent. Figure 1 depicts the architecture of this system. When a job comes to the shop-floor for processing, total specifications are first registered by the order-handling agent. These specifications include the job ID, material of the job, hardness of the material, list of geometrical features, feature relationships, estimated removal volume, tolerance, chip breakability, and surface quality requirements. Further, this information is transferred to the component agent, which announces a bid for that job. The content of the announcement includes order-feature sequences and the recommended process for each feature of the job. In addition to this, the announcement also includes a currency scheme where virtual currency values are assigned to all features in the job. Machine agents, which represent machines able to produce the first feature, will come forward to become “leaders” whose reasonability is to group other machine agents for the remaining features in the job. Process planning and scheduling are integrated at a detailed level at this stage. The leader announces the second feature along with the allocated currency to all machine agents, including the leaders themselves. Machine agents capable of providing the processes for the second feature will come forward to bid for the job. Schematically, this process is shown in Fig. 2. Machine agents will first check the constraint knowledge, i.e., process provided by the machine can be carriedout on the component after the preceding process. Afterwards, it will ask the tool agent to recommend a tool to be used to produce the feature. The tool agent checks its tool list and suggests an appropriate tool based on the job’s material and its hardness, tolerance, surface quality required, and tool availability at that period of time. The tool cost consists of tool-using cost and toolmaintenance cost, which is calculated on the basis of toolbreaking probability. The tool agent will provide the
machine agents with the information on the selected tool ID and the total cost. Further, the machine agent will also request to the material handling agent for providing the information on the traveling cost and traveling time from the preceding machine. The machine agents may reschedule its job queue locally by swapping jobs if other job due dates are not violated to produce optional bids. By swapping jobs in the queue, tool changes could be avoided which may reduce setup times. Current machine loading, material handling system and tool selection are the issues taken into consideration when the machine agents work out their bids which consist of manufacturing cost and completion time (see Sect. 2). Each machine agent calculates total cost and makespan of production of bided feature for its own using Eqs. (7) and (8). Further, the overall objective is calculated according to the objective function represented in Eq. (12), and currency allotted for that feature is also normalized in the same range. Moreover, each machine agent intends to earn more profit and computes it in following manner: Profit ¼ OBJoverall ðCUallocated Þi
ð13Þ
Where, OBJoverall (CUallocated )i
Overall objective function Currency allocated for the ith feature (normalized value)
If profit for a bid option is above a set threshold ρ (i.e., Profit>ρ), the bid will be put forward to the leader. A machine agent may put forward more than one bid as long as the profits of the bids are above the threshold. After receiving the bids, the leader evaluates it and then selects a bid which corresponds to the smallest Profit. This grouping process continues until all the features of the job have been
168
Int J Adv Manuf Technol (2008) 38:163–175
Component Agent
Agent 1
Agent 1
Agent 2
Agent 2
Agent 3
Component Agent
Agent 3
Agent 4
Agent 4
Agent 5
Agent 5
Agent 6
Agent 6
a
b Agent 1
Agent 2 (leader)
Agent 3
Agent 6 (leader)
Agent 4
Agent 1 Agent 2 (leader)
Agent 3
Agent 6 (leader)
Agent 4
Agent 5
c
Agent 5
d
Fig. 2 Iterative agent bidding mechanism: a Component agent makes job announcement, b agents come forward to become leaders, c leaders announce the following jobs to other agents, d agents put forward bids to the leaders
scheduled to the most appropriate machines. Furthermore, the allocations obtained in this manner are handed over to the optimization agent, which provides an optimal/nearoptimal process plan and schedule to the component agent. Descriptions of the data-mining agent and optimization agent are provided in the next section.
4 Data-mining agent and optimization agent 4.1 Data-mining agent Data mining refers to the extraction of a valuable pattern/ information from the bulk data [15]. In the literature, data mining has been extensively used in various fields, for example in semiconductor manufacturing [16], electronic assembly [13], medical applications [24], and pharmaceutical applications [14]. In order to accomplish the aforementioned tasks effectively, various algorithms, i.e., decision trees [23], decision rules [4], rough set theory [20] etc., have been devised. Among these algorithms, the decision tree and its variants have been abundantly used for solving various manufacturing problems. C-fuzzy decision tree, one of the variants of decision trees initially given by Pedrycz and Sosnowaki [21], has been utilized in this paper for the data-mining task. C-fuzzy decision trees are prediction constructs that are built on the basis of
information granules, i.e., fuzzy clusters. The way in which these trees are constructed deals with successive refinements of the granules forming the node of the tree. When expending the tree, the nodes (clusters) are split into granules of lower diversity. In contrast to traditional decision trees (like C4.5), all features are used once at a time, and such a development approach promotes more compact trees and a versatile geometry of the partition of the feature space. In Sect. 2, we have mentioned that tool cost is assumed to comprise tool usage cost and tool repairing cost (in case of any rupture or breakage during production of the required feature). Further, tool repairing cost is considered to be dependent on the tool breakage probability (Ptool breaking), which is predicted by the data-mining agent. The data-mining agent is equipped with C-fuzzy decision tree. Ptool breaking reflects the estimated probability of breaking of tool during production of required feature and by considering this all machine agents can predict more accurate production cost and maximize their profit. Basically Ptool breaking is governed by four parameters, i.e., hardness of material, estimated removal volume, chip breakability, and surface quality requirement. In the development of C-fuzzy decision trees, fuzzy C-mean clustering (FCM) was treated as generic building block. Fuzzy C-mean (FCM) is an omnipresent technique of information granulation, where the partition matrix and prototype are iteratively updated by the means of an optimization procedure.
Int J Adv Manuf Technol (2008) 38:163–175
169
positioned in the output space is defined as the weighted sum: P m i ð xð k Þ Þ yð k Þ hi ¼
ðxðk Þ;yðk ÞÞ2X Yii
P
ðxðk Þ;yðk ÞÞ2X Yii
The inconsistency of the data in the output space is represented as inconsistency index (Ω), taken as the spread around the representative (ηi). We again consider a partial involvement of the elements in Xi by weighting the distance by the associated membership grade. X 2 Ωi ¼ mi ðxðk ÞÞðyðk Þ hi Þ ð19Þ
Ω i → max
Fig. 3 Node splitting controlled by the inconsistency criterion
ðxðk Þ ;yðk ÞÞ2X Yii
This algorithm has been exhaustively elaborated by Bezdek [2], and Pedrycz and Sosnowski [22]. The training data set is clustered in to c clusters so that the data points that are similar are put together. Now, an important question is that of which node should be selected for further splitting. This is deal by quantifying the diversity of data located at the individual clusters (nodes) of the tree and splitting the nodes that exhibit the highest diversity. This alluring criterion takes into account the inconsistency of the data, finds the node with the highest value of criterion, and splits it into c nodes that occur at the consecutive lower level of the tree. The objective of the inconsistency criterion is to quantify dispersion of the data allocated to a specific cluster so that higher dispersion of data results in higher values of the criterion. Individual patterns (data point) belong to the clusters with different membership grades; however, for each pattern, there exists a cluster in which pattern has maximum degree of membership. Let us represent the ith node of the tree Ni as an ordered triple ð14Þ
Ni ¼ hXi ; Yi ; Ui i
where, Xi refers to all elements of the data set that belong to this node in asset of the highest membership value. n Xi ¼ xðk Þjmi ðxðk ÞÞ > mj ðxðk ÞÞ for all j 6¼ ig; ð15Þ Index “j” represents the nodes originating from the same parent. Yi is a set of the output coordinates of the elements that have already been assigned to Xi, as follows: Yi ¼ fyðk Þjxðk Þ 2 Xi g:
For further splitting, we select the node of the tree (leaf) having the highest value of η (ηjmax) and then expend it by forming its c children with the help of FCM. This process is repeated and we regularly examine the leaves of the tree and expand the one with the highest inconsistency index. We continue with the above-mentioned process until some stopping criterion is met. We mainly focus on the following two prevailing stopping criteria that depend on the nature of the data behind each node. The first one is that a given node can be refined if it consists of enough data points, which must be greater than the number of clusters to be formed. Generally, we expect this number to be a multiple of c (e.g., 2c, 3c). The second stopping criterion is concerned with the structurability of the pattern that we are willing to attain through clustering. A node may be assumed obstinate once the number of pattern falls under the assumed threshold and/or the structurability index is too low. The first index comes in the form of a precondition; if not satisfied, it prevents us from expanding the node. The second index is a sort of post condition; to evaluate its value, we have to cluster the data first and then determine its value. It is also stronger as one may encounter cases where there are a significant number of data points to guide clustering in light of the first criterion. However, the second
i0
ð16Þ j0
Ui is a vector of the grades of membership of the elements in Xi, as follows: Ui ¼ ðmik Þ; i ¼ 1; 2; :::; c;
ð18Þ
m i ð xð k Þ Þ
k ¼ 1; 2; :::; n
ð17Þ
where, μik is the membership grade of k th data point to the i th node (cluster). The representative of this cluster
Fig. 4 Traversing a decision tree
170
Int J Adv Manuf Technol (2008) 38:163–175
Table 1 Input factors and their respective ranges Input factors
Ranges
Units
Hardness of material Estimated removal volume
25–80 20,000– 180,000 0.584–2.693
Rockwell mm3
0–1
–
Surface quality requirement (roughness) Chip breakability
we make use of the membership grades computed for each cluster in following manner. μ i ðk Þ ¼
c P j¼1
μm
one calculates that the underlying structure is too “weak”, and this may advise to back track and refuse to expand this particular node. These two indexes guide the decisionmaking that focuses on where to split the data. It does not guarantee that the resulting tree will be the best from the point of view of classification or prediction of continuous output variable. The criterion of diversity (sum of Ωi at the leaves) can also be used as a termination criterion. Another possible termination option is to monitor their changes along the node of the tree once built. For further information about different vital insight one may refer to Pedrycz and Sosnowaki [21]. Implementation of C-fuzzy decision tree has been illustrated in Sect. 5. Once the tree is constructed, it can be used to predict tool-breaking probability (Ptool breaking). To accomplish this,
1 kxvi k kxvj k
ð20Þ
2=ðm1Þ
where, kx vi k measures the distance between data point (x) and prototype (vi). For the new data point, leaves of the tree are obtained by calculating μi (x) for each node of the tree and then selecting the corresponding path and moving down. A way of traversing the tree (moving down) is schematically shown in Fig. 4. At some level, the path i0 is determined, where i0 = arg maxi μi (x). Once at the i0 node, we repeat the process - that is, determine j0, j0 = arg maxi μi (x) (here, we are dealing with the clusters at the successive level of the tree). The process is repeated for each level of the tree and the predicted value of occurring at the final leaf node is equal to ηi as given in Eq. (18). 4.2 Optimization agent Once all features of a job are assigned to the appropriate machine agents, the “leader” then sends this allocation
Table 2 Descriptions of the node of the tree obtained from the generated data set Node
Cluster centers (Vi)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
53.49208 48.6988 51.57237 42.4666 41.92709 49.30479 41.6264 53.2171 47.90705 39.88814 49.32145 61.74907 43.97677 53.4465 61.89637 39.70415 54.80636 44.48393 54.56695 50.29885 71.03079 41.34997 42.33593 55.19556 40.84961 51.52786
100020.7 100062.2 99938.64 99938.09 99771.54 100091.8 100173.9 99866.08 99991.58 99995.73 99903.39 100025.9 100103.4 100024.7 100141.9 100090.8 99893.27 100079.5 99834.69 99964.51 100182.6 99949.53 99864.89 100089 101289 101141.45
1.682942 1.729547 1.776375 1.657976 1.698959 1.671363 1.697736 1.58934 1.853823 1.793666 1.65185 1.626111 1.800819 1.472002 1.516173 1.888816 1.485075 1.637596 1.875592 1.520573 1.671749 1.88101 1.420252 1.577234 1.524654 1.345821
0.800517 0.450327 0.536095 0.576081 0.440542 0.667857 0.421616 0.601105 0.623809 0.358358 0.400251 0.451255 0.272779 0.442928 0.665878 0.562961 0.39383 0.706913 0.398765 0.520762 0.481972 0.529793 0.388243 0.557175 0.687426 0.648753
ni
Ωi
ηi
230 170 124 106 90 80 55 69 37 43 36 33 16 21 16 20 8 13 12 8 7 6 4 4 4 2
7.4548 5.2547 3.5478 3.5448 2.6487 2.4587 1.2103 1.1236 1.2354 1.3254 0.5684 0.57862 0.64781 0.52489 0.2487 0.26541 0.15264 0.14753 0.07452 0.08021 0.06412 0.07219 0.04123 0.042773 0.02145 0.03652
0.04991 0.17919 0.117495 0.258247 0.119237 0.15958 0.274158 0.0122 0.088532 0.235251 0.011077 0.07665 0.314583 0.123561 0.475323 0.073482 0.09392 0.317231 0.207665 0.211691 0.022652 0.192655 0.032576 0.032554 0.07591 0.050355
Int J Adv Manuf Technol (2008) 38:163–175
171
100
algorithm) in this research. More details of the hybrid tabuSA algorithm can be found in Zolfaghari and Liang [35], and Swarnkar and Tiwari [30]. The optimization agent implements the hybrid tabu-SA on integrated process-planning and scheduling problem in following manner:
% error
80 60 40 20 0 1
10 19 28 37 46 55 64 73 82 91 100 Testing data point Fig. 5 Error (%) in prediction of tool-breaking probability
information to the optimization agent for getting more effective solutions, if possible. In order to accomplish this task, the optimization agent explores the search space with the aid of an evolutionary technique named, Hybrid tabusimulated annealing (SA) algorithm. This evolutionary technique imitates its traits from tabu search and simulated annealing (SA) algorithm. Tabu search algorithm uses a short-term memory of recently visited solution known as tabu list to escape from local optima, but tabu list has a deterministic nature and thus cannot avoid cycling. This drawback of tabu search has been taken care by simulated annealing (SA) algorithm. Its stochastic characteristic avoids cycling but the rate of improvement of solution is very slow, because it has no memory of recently visited solutions. So there is always a probability for the search to return to the same solution again. Therefore, we employed the hybrid tabu-SA algorithm (complementing the tabu search algorithm and the SA
Step 1: assignments of operations on appropriate machine, obtained from “leaders”, acts as initial solution and is assigned in a set Sol. Calculate the objective function presented in Eq. (12) OBJover all (Sol) Step 2: Initialize temperature (T)=T0 =340; Iteration (K)= 1; tabu list (TL)=∅; Reject=0; Solb =Sol; Step 3: Generate (Solp, Sol) i.e., generates a new solution from the existing one by random selection. Step 4: feasibility of the solution is checked. If Solp satisfies all the conditions, the optimization agent moves to the next step or else to step 3 again and generates a new solution. Step 5: If Solp ∈TL Then go to step 6, otherwise go to step 7 Step 6: If OBJover all (Solp)≥A Then go to step 7 Else go to step 3 Step 7: evaluates Δ OBJover all =OBJover all (Solp) - OBJover all (Sol) If Δ OBJover all ≥0 Then go to step 8 Else go to step 9
Table 3 Data set for chuck jaw Feature
Operation
OpT
Machines
Tools
Cost Indices
F1: Slot
OP1
Milling
OP2
Milling
F3: Chamfer
OP3
Milling
F4: Step F5: Step
OP4 OP5 OP6
Milling Milling Center-drilling
T1,T3 T5,T15 T1,T2,T3,T4 T5 T4 T11 T1, T2,T4 T15 T10
M1 =70
F2: Step
OP7 OP8 OP9
Drilling Milling Center-drilling
OP10 OP11 OP12 OP13
Drilling Milling Milling Milling
M1, M2 M4, M5 M1, M2 M4, M5 M1, M2 M4, M5 M1, M2 M1, M2 M1, M2,M3 M4,M5 M1, M2, M3, M5 M1, M2 M1, M2, M3 M4, M5 M1, M2, M4, M5 M1, M2 M1, M2 M1, M2 M4, M5
F6: C_bore hole
F7: C_bore hole F8: Step F9: Step
T14 T3 T10 T1 T3 T1,T2,T3,T4 T1,T2,T3,T4 T5
M2 =35 M3 =10 M4 =40 M5 =85
MCIchg ¼ 150 TCIchg ¼ 20 SCIchg ¼ 90
172
Int J Adv Manuf Technol (2008) 38:163–175
Table 4 Start time and processing time for chuck jaw Operation no.
Start time
Processing time
1 2 3 4 5 6 7 8 9 10 11 12 13
3 4 2 6 5 3 7 4 6 8 4 5 6
848 830 842 817 838 814 817 837 801 832 810 831 832
Step 8:
Assign Sol=Solp Includes Solp in tabu list TL←Solp Update aspiration A←OBJover all (Solp) Step 9: Δ (OBJover all)b =OBJover all (Solp) - OBJover (Solb) If, Δ (OBJover all)b ≥0 Then go to step 10, Else go to step 14 Step 10: Assign Solb =Solp Reject←0 Go to step 14 Step 11: Compute P ¼ exp ðΔ OBJover all =T Þ Generate a random number R between (0, 1) If (P≤R) Go to step 13 Else go to next step
Step 12: Assign Sol=Solp Include Solp in tabu list A← OBJover all (Solp) Step 13: Reject=Reject+1; If Reject≥7 Go to step 15 Else go to Step 14 Step 14: K=K+1; Change the temperature T ¼ T 0=ð1 þ ln KÞ If K>60 Go to step 15 Else go to step 3 Step 15: FREEZE Solb is the near optimal solution. After applying the above procedure iteratively, the optimization agent comes across with the optimum/near optimum process plan and schedule, and these findings are then handed over to the component agent.
all
5 Simulation results and discussion We have already mentioned that tool repairing cost is considered to be dependent on tool-breaking probability (Ptool breaking), which has been predicted by data-mining agent with the aid of a data-mining technique named Cfuzzy decision tree. Tool breaking probability Ptool breaking has been considered to be function of four parameters viz. hardness of the material, estimated removal volume, chip breakability, and surface quality requirement. Respective ranges of these factors are listed in Table 1. The data-mining agent takes advantage of unique mapping capacities of C-fuzzy decision trees for establishing the relationship between process parameters and tool-
Table 5 Precedence relation matrix of chuck jaw
OP1 OP2 OP3 OP4 OP5 OP6 OP7 OP8 OP9 OP10 OP11 OP12 OP13
OP1
OP2
OP3
OP4
OP5
OP6
OP7
OP8
OP9
OP10
OP11
OP12
OP13
0 0 0 0 0 0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
Int J Adv Manuf Technol (2008) 38:163–175
173
Table 6 Cutting tools data set
Table 8 Results of the simulated test example
Tools
Type (diameter, flute length)
TCI
TRCI
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17
End-mill (20, 30) End-mill (30, 50) End-mill (15, 20) End-mill (40, 60) Side-mill (50, 10) T-slot cutter (30, 15) Drill (20, 55) Drill (30, 50) Drill (50, 80) Center-drill (20, 5) Angle-cutter (40, 45) Drill (70, 100) Drill (8, 30) Drill (10, 35) T-slot cutter (20, 5) Drill (5, 30) Drill (15, 50)
10 10 10 12 8 16 3 3 4 2 10 5 6 3 6 3 4
3 2 4 6 6 6 1 3 6 1 5 1 1 1 2 1 2
breaking probability Ptool breaking. For this task, by uniform distribution random generators, we have generated 500 data sets (training and testing data) with in the range specified in Table 1. Among the 500, 80% (i.e., 400) data sets are for the training and the rest are for the testing of the performance of the tree. Building of the tree is started by assigning these data points to a single, parent, cluster. Further, this cluster is refined by splitting into two more clusters and these two are further refined according to splitting criterion discussed in Sect. 4.1. The description of C-fuzzy decision tree obtained by the data range provided in Table 1 is depicted in Table 2. In this table, the number of patterns residing at each node (ni), their variability (Ωi), and the predictive value (ηi) at that node is provided. A careful look of the table reveals that the variability goes down as the tree expands and it is also evident that most of the changes in reduction of the inconsistency index take place at the early stages of the growth of the tree. The predictive capabilities of the Cfuzzy decision tree are expressed by the following performance measure. ^ P ð21Þ tool breaking k Ptool breaking k "¼ 100% P ^
tool breaking k
occurring where, Ptool breaking is the predicted value at the k corresponding terminal node, while Ptool breaking k is the
Planning objective value
Scheduling objective
Number of machine changes
Number of tool changes
Number of set-up changes
0.432
0.264
0
6
4
output value allied with the given data. For the problem on hand, performance of the tree is evaluated by means of Eq. (21) and graphically shown in Fig. 5. The figure shows that the percentage error in predicting the response of testing data lies in the range of 0.9879 to 16.63764% with average of 8.8127%. In order to evaluate the performance of the proposed multi-agent system for integrated process planning and scheduling, we have implemented it on a simulated test example, which is concerned with the manufacturing of a prismatic part (chuck jaw). Again, the objective was to minimize the total cost and makespan simultaneously. The necessary data set for this instance is provided in Table 3. Other required data, like processing time and start time, are intuitively generated and listed in Table 4. The precedence matrix resembling all constraints is shown in Table 5, and the cutting tool data is presented in Table 6. The matrix represented in Table 5 depicts that operations given in rows can be processed only when operations mentioned in associated columns are completed. The results obtained for this simulated test example are shown in Table 7. In order to visualize the effect over the time and cost separately, results have been presented in terms of the value of time and cost objective. Table 8 shows the normalized planning objective and scheduling objective values.
6 Conclusions In this study, two distinct manufacturing functions (process planning and scheduling) are integrated by means of a bidding-based multi-agent system for facilitating manufacturing enterprises with high responsiveness in today’s dynamic environment. In addition, the proposed multiagent system (MAS) also optimizes machine utilization and provides a platform to assess the reconfiguration of
Table 7 Results for simulated test example Operation sequence
13
2
1
4
5
9
6
10
7
8
11
12
3
Machines Tools
M2 T1
M2 T1
M2 T1
M2 T1
M2 T15
M2 T15
M2 T10
M2 T14
M2 T14
M2 T3
M2 T3
M2 T3
M2 T4
174
manufacturing systems. The proposed mechanism for MAS enables an optimum process plan and production schedule to be produced concurrently, so that dynamic changes in the market can be dealt with at a minimum cost. The optimum process plan and schedule is computed by the optimization agent that is facilitated with the virtues of a hybrid tabu-SA algorithm. A new mathematical model of an integrated process-planning and scheduling problem has also been conceptualized by treating tool cost as a variable quantity rather than a constant. Further, the tool repairing cost was considered to be a function of the tool-breaking probability (Ptool breaking), which has been predicted with the aid of Cfuzzy decision tree. Finally, a case study is simulated to examine the efficacy of the proposed multi-agent system. The results obtained clearly revealed that the average percentage error in predicting the probability of tool breakage is 8.8127, which can be considered very low. In the processing of all the features of a job, there are zero machine changes, six tool changes, and four setup changes. All these changes are very low for the complex simulated test case considered in this paper. Moreover, these changes also reveal that the sequence of operations and combinations of machine and tool is very effective for producing all the required features. Future research may include the development of multi agent systems that are more efficient in coping with the dynamics of the market. This may be accomplished by furnishing the optimization agent with the portfolio of evolutionary algorithms rather than a single optimization technique. In addition, the self-healing concept may also be embedded in the proposed multi-agent system architecture.
References 1. Baker AD (1998) A survey of factory control algorithms that can be implemented in a multi-agent heterarchy: dispatching, scheduling and pull. J Manuf Sys 17(4):297–320 2. Bezdek JC (1991) Pattern recognition with fuzzy objective functions. Plenum Press, New York 3. Butler J, Ohtsubo H (1992) ADDYMS: architecture for distributed dynamic manufacturing scheduling. In: Famili A, Nau DS, Kim SH (eds) Artificial intelligence applications in manufacturing. AAAI Press/MIT press, Menlo Park, CA, pp 199–213 4. Clark P, Boswell R (1989) The CN2 induction algorithm. Mach Learn 3(4):261–283 5. Davis R, Smith R (1983) Negotiation as a metaphor for distributed problem solving. Artif Intel 20:63–109 6. Dornfeld D, Wright PK, Wang FC, Sheng P, Stori J, Sundararajan V, Krishnan N, Chu CH (1999) Multi-agent process planning for a networked machine service. Tech Paper - Soc Manuf Eng, MS99-175 7. Ferfuson D, Yemini Y, Nikolaou C (1988) Microeconomic algorithms for load balancing in distributed computer systems. IEEE Int. Conf. on Distributed Computer Systems, pp 491–499
Int J Adv Manuf Technol (2008) 38:163–175 8. Gu P, Balasubramanian S, Norrie DH (1997) Bidding-based process planning scheduling in a multi-agent system. Comput Ind Eng 32(2):560–573 9. Kadar B, Monostori L, Szelke E (1998) An object-oriented framework for developing distributed manufacturing architectures. J Intel Manuf 9(2):107–112 10. Kempenaers J, Pinte J, Detand J, Kruth JP (1996) A collaborative process planning and scheduling system. Adv Eng Softw 25(1):3–8 11. Kidd PT (1994) Agile manufacturing - forging new frontiers. Addison-Wesley, England 12. Kim KH (1997) A negotiation-based scheduling for items with flexible process plans. Comput Ind Eng 32(2):477–496 13. Kusiak A, Kurasek C (2001) Data-mining analysis of printed circuit board defects. IEEE Trans Robot Autom 17(2):191–196 14. Kusiak A, Shah S (2006) Data mining and warehousing in pharma industry. In: Wang J (ed) Encyclopedia of data warehousing and mining. Idea group, Inc., Hershey, PA, pp 239–244 15. Kusiak A (2006) Data mining: manufacturing and service applications. Int J Prod Res 44(18–19):4175–4191 16. Kusiak A (2001) Rough set theory: a data-mining tool for semiconductor manufacturing. IEEE Trans Electron Packag Manuf 24(1):44–50 17. Lim MK, Zhang Z (2000) An integrated agent-based approach for responsive control of manufacturing resources. The 27th Int. Conf. on Computers and Industrial Engineering ISBN 7-90004338-1/TP., 38, No.55 18. Lim MK, Zhang Z (2000) Integrated manufacturing systems control using a multi-agent system. Proceedings of 33rd Int. MATADOR Conf. ISBN 1-85233-323-5, pp 9–14 19. Maione B, Naso D (2001) Evolutionary adaptation of dispatching agents in heterarchical manufacturing systems. Int J Prod Res 39:1481–1503 20. Pawlak Z (1991) Rough sets: theoretical aspects of reasoning about data. Kluwer Academic Publishers, Boston 21. Pedrycz W, Sosnowski A (2005) C-fuzzy decision trees. IEEE Trans Syst Man Cybern 34(4):498–511 22. Pedrycz W, Sosnowski ZA (2000) Desigening decision trees with the use of fuzzy granulation. IEEE Trans Sys Man Cybern, A Syst Humans 30(2):151–159 23. Quinlan JR (1986) Induction of decision trees. Mach Learn 1 (1):81–106 24. Shah SC, Kusiak A (2004) Data mining and genetic programming-based gene/SPN selection. Artif Intel Med 31(3):183–196 25. Singh SP, Tiwari MK (2002) Intelligent agent framework to determine the optimal conflict free path for an automated guided vehicles system. Int J Prod Res 40(16):4195–4223 26. Sluga A, Butala P, Bervar G (1998) A multi-agent approach to process planning and fabrication in distributed manufacturing. Comput Ind Eng 35(3–4):455–458 27. Smith RG (1980) The contract net protocol: high-level communication and control in a distributed problem solver. IEEE Trans Comput C-2912:1104–1113 28. Sousa P, Ramos C (1998) A dynamic scheduling holon for manufacturing orders. J Int Manuf 9:107–112 29. Stankovic JA, Sidhu IS (1984) An adaptive bidding algorithm for process clusters and distributed groups. Int Conf Distributed Computer Systems, pp 49–59 30. Swarnkar R, Tiwari MK (2004) Modeling machine loading problem of FMSs and its solution methodology using a hybrid tabu search and simulated annealing-based heuristic approach. Robot Comput-Integr Manuf 20:199–209 31. Teredesai T, Ramesh VC (1998) Multi-agent mixed initiative system for real-time scheduling. Proc IEEE Int Conf Syst Man Cybern 1:439–444
Int J Adv Manuf Technol (2008) 38:163–175 32. Tripathi AK, Tiwari MK, Chan FTS (2005) Multi-agent-based approach to solve part selection and task allocation in flexible manufacturing systems. Int J Prod Res 43(7):1313–1335 33. Wangermann JP, Stengel RF (1998) Principled negotiation between intelligent agents: a model for air traffic management. Artif Intel Eng 12:177–187
175 34. Zhang H (1993) IPPM - A prototype to integrate process planning and job shop scheduling functions. Ann CIRP 42(1):513–518 35. Zolfaghari S, Liang M (1999) Jointly solving the group scheduling and machine speed selection problems: a hybrid tabu simulated and simulated annealing approach. Int J Prod Res 37 (10):2377–2397