Expert Systems with Applications 39 (2012) 8259–8273
Contents lists available at SciVerse ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa
A multi-agent system using iterative bidding mechanism to enhance manufacturing agility M.K. Lim a,⇑, Z. Zhang b,1 a b
School of Engineering and Applied Science, Aston University, Aston Triangle, Birmingham B4 7ET, UK School of Engineering, Computer Science and Mathematics, University of Exeter, Harrison Building, North Park Road, Exeter EX4 4QF, UK
a r t i c l e
i n f o
Keywords: Multi-agent systems Production planning and control Genetic algorithm
a b s t r a c t The global market has become increasingly dynamic, unpredictable and customer-driven. This has led to rising rates of new product introduction and turbulent demand patterns across product mixes. As a result, manufacturing enterprises were facing mounting challenges to be agile and responsive to cope with market changes, so as to achieve the competitiveness of producing and delivering products to the market timely and cost-effectively. This paper introduces a currency-based iterative agent bidding mechanism to effectively and cost-efficiently integrate the activities associated with production planning and control, so as to achieve an optimised process plan and schedule. The aim is to enhance the agility of manufacturing systems to accommodate dynamic changes in the market and production. The iterative bidding mechanism is executed based on currency-like metrics; each operation to be performed is assigned with a virtual currency value and agents bid for the operation if they make a virtual profit based on this value. These currency values are optimised iteratively and so does the bidding process based on new sets of values. This is aimed at obtaining better and better production plans, leading to near-optimality. A genetic algorithm is proposed to optimise the currency values at each iteration. In this paper, the implementation of the mechanism and the test case simulation results are also discussed. Ó 2012 Elsevier Ltd. All rights reserved.
1. Introduction Conventionally, the competitive advantage of manufacturing enterprises was attained by increasing the scale of manufacturing and reducing costs (i.e. price competitiveness). In the seventies and eighties, quality and other issues such as delivery performance and customer choice took higher priorities, leading to a drive for improved product quality and reduced inventory levels. Through the 1990s toward the present day, the world market has become increasingly global, dynamic, unpredictable and customer driven. This has led to increasing rates of new product introduction (i.e. decreasing product life cycle) and turbulent demand patterns across product mixes. As a result, customer satisfaction has become harder to achieve and manufacturing enterprises have to be agile and responsive to cope with market changes in order to compete with their business rivals in the competitive market. The competitive advantage is now largely dependent upon the rapid responsiveness to cope with dynamic changes of product mixes and demand patterns, as well as the opportunities in the market (i.e. market shifts). In addition, unforeseen situations in the manufacturing shop ⇑ Corresponding author. Tel.: +44 (0) 121 2043508; fax: +44 (0) 121 2043683. E-mail addresses:
[email protected] (M.K. Lim),
[email protected] (Z. Zhang). 1 Tel.: +44 (0) 1392 263641; fax: +44 (0) 1392 217965. 0957-4174/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2012.01.160
floor, such as urgent pre-emptive jobs or machine breakdowns, may also need to be efficiently addressed simultaneously in order to enhance overall responsiveness. This has a profound implication to the strategies used to control the manufacturing systems. Conventional control strategies for manufacturing systems were not designed to maximise system responsiveness. At the time when they were developed, costs, lead times, and inventory levels were more important issues. The strategies were developed to reflect the weighting of these factors. As responsiveness becomes a major concern, manufacturing systems that are based upon these strategies are struggling to keep pace with dynamic changes in the market. In order to compete with business rivals and maintain a lead within its respective market, the enterprise must adopt new manufacturing control strategies that are capable of not only improving product quality and increasing productivity and production efficiency, but most importantly, assisting the enterprise to achieve the characteristics of agility, reconfigurability, restructurability, reusability and scalability, so as to respond rapidly to the changes in product distribution caused by market shifts. Moreover, these strategies must also be able to support the enterprise in pursuing high flexibility and adaptive capability to cope with internal turbulences such as machine failures. In order to achieve the substantial agility and responsiveness required, from an operational perspective, process planning and production scheduling must be dynamically and efficiently
8260
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
integrated. This integration will enhance the responsiveness, flexibility and adaptability of manufacturing systems toward changes and minimise manufacturing problems such as machine unavailability due to overloading (making the process plans infeasible), extensive bottlenecks, poor cost-efficiency, etc. This paper introduces a currency-based iterative agent bidding mechanism used as an agent coordination mechanism in a multiagent system (MAS) to effectively and cost-efficiently integrate production planning and control activities. The mechanism enables process planning options and production scheduling options to be evaluated and optimised simultaneously, so as to generate optimised process plans and schedules in response to dynamic changes in the market and production to support enterprises in achieving manufacturing agility. The iterative bidding mechanism is carried out using currency-like metrics; each interrelated operation to be performed is assigned with a virtual currency value and agents bid for the operation based on this value. These values are optimised iteratively and so does the bidding process based on new sets of values generated at each iteration. This is aimed at obtaining better and better production plans, leading to near-optimality. A genetic algorithm (GA) is proposed to optimise the currency values at each iteration. The proposed MAS also provides a platform where the possible reconfiguration of manufacturing systems can be assessed and the utilisation of manufacturing resources can also be optimised. This paper is organised as follows. Section 2 provides a literature review of the approaches to integrating process planning and production scheduling. Following that, the generic problem to be solved in relation to process planning and production scheduling is defined in Section 3. Section 4 discusses the concept of MAS. In Section 5, the currency-based iterative agent bidding mechanism is introduced and the operational flow of the mechanism is also discussed (Section 6). Section 7 introduces the GA proposed to optimise the virtual currency values in order to achieve near-optimality. The implementation of the MAS with a test case and its simulation results will be discussed in Section 8. In addition, the comparison between the MAS and three non-agent systems are also provided in this section. Finally, Section 9 provides a conclusion of this paper. 2. Literature review In the literature, there have been extensive studies of the approaches integrating process planning and production scheduling, namely non-linear process planning, flexible process planning, closed-loop process planning, dynamic process planning, alternative process planning, and just-in-time process planning (Huang, Mei, & Zhang, 1993; Kempenaers, Pinte, Detend, & Kruth, 1996; Kim, Chiotellis, & Seliger, 2009; Li, Shao, Gao, & Qian, 2010; Mei & Khoshnevis, 1993; Saygin & Kilic, 1999; Srihari & Emerson, 1990; Usher & Fernandes, 1996a; Wang, Feng, & Cai, 2003). These approaches can be broadly classified into three categories (Larsen & Alting, 1990): non-linear process planning (NLPP), closed-loop process planning (CLPP), and distributed process planning (DTPP). NLPP entails a planning system based on a static shop floor situation, which generates not only one fixed plan but a set of possible alternative plans for each part/product prior to actual production on the shop floor. All these possible plans are ranked according to process planning criteria and are stored in a process planning database. The first priority plan is always used when the job is required. However, the scheduling function makes the final decision. If the first priority plan is not suitable for the current status of the shop floor, the lower priority plan will be provided to the scheduling. One of the typical examples of such system is FLEXPLAN (Tonshoff, Beckendorff, & Anders, 1989), which uses reactive re-planning strategies to allow fast reaction when unexpected
events occur in the shop floor during the execution of a schedule. In this approach, process planning is carried out prior to scheduling. Some researchers proposed the idea of having a two-stage approach, attempting to improve NLPP. At the first stage, all possible alternative process plans that do not take into account of operational status of the shop floor resources are generated. The second stage is dynamic process planning where the generated plans are retrieved and planning is completed taking into consideration the availability of the shop floor resources and the objectives or rules specified by the scheduler. The result of this two-stage approach is a set of ranked near-optimum alternative plans and schedules. The systems applying such an approach are PARIS (Usher & Fernandes, 1996a), DYNACAPP (Ssemakula & Wesley, 1994), and THCAPPG (Wang, Li, Liu, & Tian, 1995). Although NLPP offers flexibility to the scheduling department with a list of alternative process plans, but there is only a single directional information flow (i.e. from the process planning department to the scheduling department). Process planning does not really consider which of the alternatives are of interest for scheduling; an arbitrary set is generated based on the experience of the process planner. Furthermore, scheduling only uses the alternatives that are available. The setup of an information feedback loop could provide the process planning department with detailed information of the shop floor situation as well as requirements from scheduling department, making process planning works more efficiently. No further effort would be spent on investigating alternatives that are of no use. Moreover, the risk of overlooking important aspects is also reduced. CLPP is the approach that would achieve the above issues. CLPP generates plans for jobs in real time based on the feedback from the shop floor with respect to the status of the resources at that time. Production scheduling notifies process planning what machines are available on the shop floor for the coming job so that every plan is feasible with respect to the current availability of production facilities. Real time status has become a crucial issue for CLPP and therefore CLPP is also referred to as real time process planning or dynamic process planning. Khoshnevis and Chen (1989) developed a heuristic algorithm based on CLPP to facilitate the integration of process planning and production scheduling to overcome the drawbacks of NLPP. In the algorithm, a dynamic list of available machines and a list of features that can be processed are maintained for each part. When a match is found between the two lists, the part will be assigned to that machine. However, the algorithm has neglected one issue in relation to the allocation of producing the features to machines. For instance, the algorithm may have allocated a feature to a less desirable machine at a given instant, whereas had it waited for a short while, a more desirable machine might have become available. The authors then introduced the concept of time window into their improved algorithm to deal with this problem (Khoshnevis & Chen, 1990). Although the improved algorithm can yield better results, the computational complexity is increased. Another drawback of their approach is that because the process plans are generated in real time, if a feasible process for a given feature of a part is not found in the shop floor, the algorithm will fail. There is another approach to perform both the process planning and production scheduling simultaneously in a distributed manner, starting from a global level (i.e. pre-planning) and ending at a detailed level (final planning), namely DTPP approach. DTPP performs process planning and production scheduling activities in parallel and in two phases. The first phase is pre-planning. In this phase, process planning function analyses the jobs/operations to be carried out based on product data. The features and feature relationships are recognised, and the corresponding manufacturing processes are determined. The required machine capabilities are also estimated. The second phase is final planning, which matches
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
the required operations with the operational capabilities of the available production resource. The integration occurs at the point when resources are available and the operation is required. In this way, process planning and production scheduling are carried out simultaneously. This approach is sometimes referred to as justin-time process planning. The result of this approach is dynamic process and production scheduling constrained by real time events. Such approach includes the earlier work by Zhang (1993), Mamalis, Malagardis, and Kambouris (1996), Hall and Zhao (1998), and more recently in Li et al. (2010), Moon, Lee, Jeong, and Yun (2009) and Wang, Zhang, and Nee (2009). Despite the effort to integrate process planning and production scheduling and the attempt to find satisfactory solutions to the problems, there remains a gap to provide a means where the solutions can be optimised in respond to dynamic changes and is competent of fulfilling the requirements for rapid responsiveness and manufacturing agility. In order to achieve overall optimality, rescheduling alone may not be effective (e.g. Wang, Zhang, & Fuh, 2011); process planning options should be taken into consideration to provide flexibility and optional scenarios in using alternative resources to respond constantly to dynamic changes. In other words, process planning options and production scheduling options should be integrated and optimised dynamically, so that constraints from both functions can be fulfilled simultaneously and a near-optimum integrated plan and schedule can then be produced. Furthermore, the integration of process planning and production scheduling should also be able to provide information/scenarios where the production operational structures and possible reconfiguration of manufacturing systems can be assessed. 3. Problem definition The generic problem in integrated process planning and production scheduling is associated with resource allocation as depicted in Fig. 1. Consider a job to be completed within a specified time and consists of n operations (O1, O2, . . . , On). These operations need to be carried out one at a time in sequence so that the precedence constraints are not violated (e.g. a part feature to be produced by operation Oi1 must be completed before the features by Oi can be carried out). Subsequently, each operation Oi has to be assigned to one of the m resources on the production shop floor S, rj S (j = 1, 2, . . . , m), to be carried out. For each operation Oi, there is a subset of resources Ri e S that have the technical ability of performing Oi. As a result, alternatives are available in choosing the resource for the operation. Depending on the resource that is chosen to carry out the previous operation Oi1, there may be a subset
Job
Resource r1
Operation
Operation
Operation
O1
O2
On
Resource r2
Resource r3
Resource rj
Fig. 1. Generic problem in process planning and production scheduling.
8261
of Ri that has the means for materials transportation from the previous resource when materials handling constraints are considered i.e. RRi e Ri e S. It is also possible that a resource may be able to carry out more than one operation on the sequence. Each resource rj has a job buffer consisting of qj unprocessed jobs from previous orders and the position the job is placed in the buffer determines when it could be started. The job needs to be transported between resources carrying out successive operations, so for operation Oi there is a transportation lead time Tti and a cost Cti, depending on which resources are chosen to carry out the current and the previous operation. For the operation to be processed by a resource there is a processing lead time Tpi and a cost Cpi, as well as a setup time Tsi and cost Csi (which depend on what the previous job is in the buffer). There is also a waiting time Twi and a holding cost Cwi at the resource, dependent on how many other jobs are placed in the buffer and how long it takes for the resource to process those jobs. If a sequencing decision involves a change of buffer positions for existing jobs in the buffer, additional cost may be incurred for those jobs (e.g. extra holding cost), which may be added to the current job as a cost of rescheduling Cri. The resources have their own processing capability, capacity, job buffer, etc., and therefore incur different lead times and costs in performing the operation. Eventually, each of these operations will be assigned to the most appropriate resource based on the criteria, of which the common ones are shortest lead time and lowest production cost. Here, an important issue to be addressed is the capability of achieving optimisation in the solution to integrated process planning and production scheduling problems. There should be a methodology in achieving optimisation, e.g. to minimise production cost, lead time, and tardiness, to maximise machine utilisation and throughput, etc. The finish processing time of the preceding operation has an effect on the start time of the subsequent operation. Therefore, assigning all the operations to the individual resources that give the shortest processing lead times may not give the minimum total lead time for the entire job. (Note: the lead time of performing the operation involves material transportation time from the preceding resource, waiting time at the resource’s buffer, and setup time and machining time at the resource). Consequently, it may also not incur the minimum total production cost for the entire job. In other words, optimisation may not be achieved. Consider a job consisting three operations (O1, O2, O3) to be carried out in sequence in the production (see Fig. 2). In solution 1, all the operations are assigned to the resources that are capable of providing the shortest processing lead times. While in solution 2, a resource with a slightly longer lead time is chosen to perform operation O1 and because of that, resource r5 and r1 are able to provide shorter processing lead times (compared to resource r2 and r3 in solution 1) and to be selected to perform operations O2 and O3 respectively. As a result, solution 2 provides a better result in terms of production cost and lead time in comparison to the result obtained in solution 1. This simple example shows how the decisions on the resources allocation in the preceding operations will affect the resources allocation in following operations, which will also have an impact on the results in terms of production cost and lead time for the entire job. Assuming a manufacturing shop floor consists of m resources and a job consists of n operations. The maximum number of resource choices in this problem is of the order mn, which grows exponentially with the number of operations in the job. The number of possible start times can be theoretically infinite and depends on the number of existing jobs in resource buffers. Subsequently, the problem to be solved is how to determine the solutions obtained for the jobs are near-optimum. As reviewed in Section 2, the existing integrated process planning and production scheduling systems in the literature are not yet able to provide a methodology taking these considerations into account. In this paper, a
8262
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
Job
Operation
Operation
Operation
O1
O2
O3
Solution 1 Total Lead Time = 250 Total Production Cost = 155
Resource r1 Time = 80 Cost = 50
Resource r2 Time = 95 Cost = 60
Resource r3 Time = 75 Cost = 45
Solution 2 Total Lead Time = 235 Total Production Cost = 145
Resource r4 Time = 100 Cost = 60
Resource r5 Time = 70 Cost = 45
Resource r1 Time = 65 Cost = 40
Fig. 2. Alternative resource allocations for a given job.
currency-based iterative agent bidding mechanism is introduced, aiming to address this optimisation issue.
4. Multi-agent system The concept of MAS has become an increasingly popular subject in many research domains. A MAS is a distributed intelligent system consisting of a community of agents that are capable of interacting with each other to achieve a global goal and simultaneously, to pursue their individual objectives (Ferber, 1999; Wooldridge, 1998). An agent can be described as a programme or a virtual/physical entity that is autonomous and has the ability to communicate with other agents and its environment, and to make decisions based on its knowledge and best interest (Liu, Fu, & Yang, 1998; Wooldridge, 1997). Wooldridge (1998) proposed the properties that each agent should possess: autonomy, reactivity, pro-activeness, and social ability. The MAS offers a co-ordinated system that is decentralised, emergent, and concurrent (Ouelhadj, Hanachi, & Bouzouia, 1998). The MAS performs decentralisation of execution and control by splitting a complex system into a number of autonomous and loosely coupled sub-systems (represented by agents) and allow them to co-ordinate. The term autonomous refers to the independency of control between the agents. Each agent is the only one determining its actions; other agents may influence an agent’s decision by forwarding messages but not controlling over the agent’s actions. The term loosely coupled refers to the dependency on information between the agents. This dependency may exist for some tasks and shall not oblige to overload one agent’s capability. In MAS, agents that represent the sub-systems are able to solve problems in their domain alone. These agents have their own thread of control and execution; carrying out tasks simultaneously without dependency between themselves. In other words, if an agent collapses, other agents will not be affected. MAS provides solutions in situations where expertise is distributed and reduce the need to create complex problem solving algorithms. The infrastructure and characteristics of MAS can be well applied in the systems that have the need of achieving optimality and increased responsiveness, agility, adaptability, extendibility, and reliability. The operational characteristics of MAS have attracted interests from a large number of researchers from different domains. Amongst those in manufacturing and supply chain research include Zhang, Huang, Qu, and Ho (2010) proposed an agent-based
workflow management to facilitate interactions between RFIDenabled manufacturing resources. Zhang, Anosike, Lim, and Akanle (2007) introduced an agent-based approach for e-manufacturing and supply chain integration. Wong, Leung, Mak, and Fung (2006) used agent technology for dynamic shop floor scheduling. Valluri and Croson (2005) proposed agent-based frameworks to evaluate and improve the performance of supply chain structures. Bo and Zhiming (2003) developed a multi-agent system supply chain management tool to evaluate alternative scheduling algorithms for orders allocated to suppliers. Ghiassi and Spera (2003) introduced agent-based techniques to coordinate the activities of internet-based supply chain system for mass customisation. Li and Fong (2003) and Choy and Lee (2002) proposed agent-based architectures to facilitate the formation and organisation of virtual enterprises for order management. 5. Currency-based iterative agent bidding mechanism Being able to take the initiative to negotiate and bid is a defining characteristic of agents. The currency-based iterative agent bidding mechanism proposed in this study is inspired by the concept of bidding in distributed intelligent systems and the currency transaction in the marketplace. In the marketplace, when a customer wants to acquire a service offered by an organisation, a currency transaction is involved. If more than one organisation is able to provide the same service, they enter into bidding process in order to win the contract to provide the service. However, if no profit is earned (i.e. the fund offered by the customer does not cover the cost of providing the service), the organisation will not come forward to bid for the service. On the other hand, the customer may increase the fund in order to obtain better quality services and shorter lead time. This indicates that the amount of fund has an effect on the results of the bidding. Similarly, in the proposed iterative agent bidding mechanism, a currency-like metric is used where each operation to be performed is assigned with a virtual currency value, which will then be announced to the agents (e.g. representing resources on the shop floor) and let them bid based on this value. These virtual currency values are used as a parameter to control the bidding process between agents. Agents will only put forward the bids for the operation if they make a virtual profit (i.e. the difference between the given currency for the operation and the cost of performing the operation) that is above a virtual profit threshold set by that agent.
8263
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
These parameters have a direct influence over the decisions of agent bidding for operations and forwarding the bids; therefore the adjustment of the parameters will result in different bids constructed. In this mechanism, the virtual currency values will be adjusted iteratively, and the bidding process between agents will also take place iteratively based on the new set of currency values generated, so as to search for better and better bids, leading to nearoptimality. The iterative bidding mechanism aims to achieve the lowest possible total production cost while satisfying the delivery due dates. Fig. 3 depicts an example of the effect of the adjustment of currency values. Assume that a currency value of 100 is assigned to each operation (O1, O2, O3). These operations, along with the allocated currency values, are announced to the resource agents and let them bid. The resource agents that are capable of performing the operations will compute the production cost incurred and if the cost is less than the currency allocated for the operations and the virtual profit is above the threshold, the resource agents will forward the bids to be evaluated. The bid with the shortest processing lead time will be selected. In iteration 1, resource agents r1, r2 and r3 are the resources selected to perform operations O1, O2, and O3 respectively. In the second iteration, the currency value for operation O2 is increased to 120. Again, these three operations are announced to the resource agents. Due to a higher currency value allocated to operation O2, resource agent r4 is now able to bid for O2 as its production cost is lower than the new currency value and it has the shortest processing lead time amongst all available resources. Therefore, resource agent r4 is selected to perform operation O2, and this will affect the bidding result for the following operations. Because resource agent r4 is selected to perform operation O2 (with different finish processing time compared to resource agent r2 in iteration 1), resource agent r5, which provides shorter processing lead time and lower production cost in comparison to resource agent r3 in iteration 1, is now selected for operation O3. As a result, the solution obtained to produce the entire job in iteration 2 is better than the solution in iteration 1. This example indicates that when the adjustment of the currency
values is carried out, better solutions may be obtained. In other words, when the currency adjustment is performed iteratively, different bids may be put forward by the agents at each iteration, and in favour of producing better and better solutions. Furthermore, with the iterative adjustment of the currency values, it is able to drive the behaviour of agents in a way that agents become proactive if they know they can perform the job with greater amount of virtual profit earned and vice versa. In other words, these currency values can be used as a means to encourage or prohibit agents to put forward their bids. The detail of the process flow of the iterative bidding mechanism, from a manufacturing perspective, will be discussed in the following section. In the literature, there are a number of research works that adopt the idea of using currency to facilitate the bidding process between agents. They include Wong et al. (2006), Krothapalli and Deshmukh (1999), Baker (1996) and Lin and Solberg (1992). In these works, the currency is used as a criterion for bid evaluation purposes (i.e. only the bids that carry the cost lower than the given currency is considered). The currency employed in iterative agent bidding mechanism developed in this study distinguished itself from the use of currency proposed by the authors above in several aspects. Firstly, the currency in this study is not used as a criterion for bid evaluation. It is used as a metric where agents bid for the operation if they make a virtual profit, which is based on the currency value assigned and the cost incurred to perform the operation. The currency is used as a parameter to control the bidding process between agents (i.e. the currency value has an effect on the decisions made by the agents whether to put forward the bids). Secondly, the virtual currency values in this bidding mechanism will be adjusted iteratively and the bidding process between agents will also take place iteratively based on the new set of currency values, and this produces alternative bids from the agents at each iteration. Eventually, this iterative bidding process will lead to better and better solutions to be produced, leading to near-optimality. In contrast, the currency used by the authors above is only for one bidding iteration with a fixed currency for evaluation purposes, and results in one single solution generated, which will be
Job
Iteration 1 Total Lead Time = 260 Total Production Cost = 203
Iteration 2 Total Lead Time = 235 Total Production Cost = 197
Operation
Operation
Operation
O1
O2
O3
Currency: 100
Currency: 100
Currency: 100
Best bid: Resource r1 Time = 75 Cost = 50
Best bid: Resource r2 Time = 105 Cost = 85
Bets bid: Resource r3 Time = 80 Cost = 68
Currency: 100
Currency: 120
Currency: 100
Bets bid: Resource r1 Time = 75 Cost = 50
Best bid: Resource r4 Time = 85 Cost = 105
Best bid: Resource r5 Time = 75 Cost = 42
Fig. 3. The effect of the adjustment of virtual currency values.
8264
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
accepted as the best solution. Consequently, the research works proposed by the authors above are not able to address the optimisation issue as previously discussed. 6. Operational flow of the iterative bidding mechanism In the currency-based iterative agent bidding mechanism, agents bid for operations based on the virtual currency values assigned to the operations. These values are adjusted iteratively in order to optimise the solution to solve integrated process planning and production scheduling problems. This is a mechanism that would facilitate the co-ordination between agents and the process of job assignments to agents, and maximise the capability to achieve optimised production plans and schedules for the manufacturing systems to efficiently and cost-effectively cope with dynamic changes of market demands as well as in the production environment. In this section, the operational flow of this iterative bidding mechanism is discussed. A complex problem should be solved by firstly breaking it down into smaller problems and consequently it can be solved more effectively in an optimum way. To illustrate the operational flow of the iterative bidding mechanism, assume that a job agent representing a job (e.g. to produce a component) to be performed in the production, which can be broken down into a number of operations (e.g. to produce the features of the component), and a number of machine agents representing the machines on the manufacturing shop floor. The iterative bidding mechanism takes place between the job agent and the machine agents as described in Fig. 4. The bidding process begins when the job agent announces the job to be carried out to all machine agents to bid (step 1). The announcement includes information on the machining operations to be carried out (e.g. number and type of machining operations, recommended type of machining processes for the operations, etc.), as well as the virtual currency value assigned to each operation. Machine agents that are able to perform the first operation will come forward to become ‘leaders’ whose responsibility is to group other machine agents to perform the remaining operations (steps 2–3). The number of leaders indicates the number of virtual machine groups. At this stage, process planning and production scheduling are integrated at a detailed, operational level. The leaders announce the second operation along with the allocated currency value to all machine agents, including the leaders themselves (step 4). Machine agents that are able to carry out the second operation will come forward to bid for the job. Machine agents may reschedule and optimise its job buffer (consisting of those operations that have been previously planned and scheduled) locally by shifting jobs if other operations due dates are not violated, in order to produce optional and better bids BOi,x,k (BOi,x,k denotes the kth bid option from machine rx for operation Oi). In this way, bottlenecks can be reduced and machine utilisation can also be optimised. By shifting jobs in the job buffer, some bids may eliminate tool change and setup activities and, as a result, the time needed to carry out the operation could be reduced. However, extra cost might be involved due to the job shifting in the job buffer. Machine agents work out their bids in terms of production cost and lead time. The individual machine production cost is obtained as:
C i ¼ C ti þ C wi þ C si þ C pi þ C ri
ð1Þ
where
C ti ¼ C ti=d ðDÞ C pi ¼ C pi=t
V remov ed MRR
ð2Þ ð3Þ
where Cti = transportation cost from the location of preceding machine (unit of cost), Cti/d = transportation cost / unit of distance (unit of cost), D = distance from the location of preceding machine (m), Cwi = holding cost (unit of cost), Csi = setup cost (unit of cost), Vremoved = volume to be removed in order to produce the feature (mm3), MRR = material removal rate (mm3/unit of time), Cpi = processing cost (unit of cost), Cpi/t = processing cost/unit of time (unit of cost), Cri = rescheduling cost (unit of cost). The machine production cost function used in this study does not, however, truly reflect the actual production cost in real production. The cost function is developed for evaluation purposes and costs such as material cost and labour cost are neglected. In addition, the MRR considered in the cost function is generic. Each machine agent will work out the individual MRR of the machine it represents. Below are the MRR expressions denoting the milling, turning, and drilling processes respectively:
MRRmilling ¼
lwd ¼ wdv t
ð4Þ
MRRturning ¼ ðpDav g ÞðdÞðf ÞðNÞ
ð5Þ
MRRdrilling ¼ ðpD2 =4Þðf ÞðNÞ
ð6Þ
where l = length of the workpiece to be cut (mm), w = the width of the cut (mm), d = depth of cut (mm), t = cutting time (mm/unit of time), v = feed rate of the workpiece (mm/rev),
pDavg = average circumference of the ring (mm2), where Dav g ¼
D0 þDf 2
, D0 is original diameter of the workpiece and Df is
the final diameter of the workpiece, f = feed (mm/rev), N = rotation speed of the workpiece (rpm), and pD2/4 = crosssectional area of the drilled hole (mm2). On the other hand, the individual lead time is worked out as:
T i ¼ T ti þ T wi þ T si þ T pi
ð7Þ
where
T ti ¼ T ti=d ðDÞ T wi ¼
n X
ð8Þ
twi½j
ð9Þ
V remov ed MRR
ð10Þ
j¼1
T pi ¼
where Tti = transportation lead time from the location of preceding machine (unit of time), D = distance from the location of preceding machine (m), Tti/d = transportation lead time / unit of distance (unit of cost), Twi = waiting time at buffer, i.e. queuing time or bottlenecks (unit of time), Pn j¼1 t wi½j = total waiting time of n jobs scheduled in the job buffer before the currently bidding job (unit of time),
8265
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
Start
4.1
Leader selects next operation for machine agents to bid
Start 4.2 1
Job agent initialises virtual currencies for operations and announces call for bid 4.3
2
Machine agent receives call for bid from job agent
3
Machine agent able to perform first operation comes forward to become a “leader”
4
4.4
Leader coordinates bidding for each operation from all machine agents 4.5
Job agent adjusts virtual currencies for operations and announces call for bid
5
Job agent evaluates the resulting plan for the job 4.6
6 No
Does the plan satisfy the due date?
Leader announces the operation with virtual currency
Machine agents able to perform the operation find optional bids considering alternative sequencing options
Machine agents calculate cost and lead-time for each optional bid
Machine agents submit optional bids if profits (price-cost) greater than a set threshold specified for the machines
Leader selects the minimal lead-time bid from the submitted bids as the winning bid
4.7 Yes 7
Yes Is there any more operation(s) in the job?
Register the plan as the current best for the job
No No
8 Is the lowest total production cost achieved?
4.8
Leader assembles winning bids for individual operations into a total plan for the job
Yes 9
Job agent confirms awarding of the bid
10
Job agent confirms the operation bids to successful machine agents
11
Machine agents fix buffers
Stop
Stop
Fig. 4. Operational flow of the iterative bidding mechanism.
Tsi = setup time (unit of time), Tpi = processing lead time (unit of time)
Vremoved = volume to be removed in order to produce the feature (mm3), and
8266
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
MRR = material removal rate (mm3 / unit of time). Each machine agent makes decision on whether to forward a bid based on the amount of virtual profit earned:
Pi;x;k ¼ CU i C i;x;k
ð11Þ
where Pi,x,k is the virtual profit that could be made by machine rx on operation Oi with bid option BOi,x,k, CUi is currency value assigned to operation Oi, Ci,x,k is the production cost for rx to carry out Oi with bid BOi,x,k as defined by Eq. (1). If Pi,x,k is above a set threshold Ptx (i.e. pi;x;kPPtx ), the bid will be put forward to the leader. Ptx is a mark-up profit that is based on the production cost Ci,x,k i.e. Ptx = Ci,x,k + Ci,x,k. Mi,x,k, where Mi,x,k. is a random value in the range [0, N], and N is a limiting percentage value. By shifting jobs in the job buffer, a machine agent may put forward more than one bid as long as the virtual profits of the bids are above the set threshold. The threshold varies from one machine to another based on the cost of machine. However, if the profit is below the set threshold (Pi,x,k < Ptx), the machine agent will not forward the bid to the leader. In mathematical terms: ðlÞ
ðlÞ
Bi;l ¼ BOi;x;k ; T i ¼ T i;x;k ; C i ¼ C i;x;k if
Pi;x;k P P tx
ð12Þ
where Bi,l denotes the lth bid submitted for operation Oi, Tiyx,k is the lead time for rx to carry out Oi with bid option BOi,x,k, T i ðlÞ and C i ðlÞ are the lead time and cost for carrying out Oi with bid Bi,l. When the bids are received, the leader selects a winning bid that provides the shortest lead time from all bids put forward by machine agents:
Bwin ¼ Bi;l ; T win ¼ T i ; C win ¼ Ci i i i ðlÞ
if
ðlÞ Ti
¼
ðlÞ
ð1Þ ð2Þ ðLÞ minðT i ; T i ; :::::::; T i Þ
ð13Þ
where Bwin represents the winning bid for Oi, T win and C win are the i i i lead time and cost corresponding to the winning bid, L is the total number of bids submitted for Oi. The bid messages can be used to reflect a variety of dynamic status information, thus making the bidding mechanism suitable for real-time operational controls. This grouping process continues until all the operations in the job have been scheduled to the most appropriate machines. When the leaders have virtually grouped other machines to perform all operations (O1, O2, . . . , On), they put together all the individual production costs (i.e. total production cost) and lead times (i.e. total lead time) of selected machines, and forward the one bid as machine groups to the job agent to be evaluated (step 5), which consist of the total lead time and total production cost denoted as follow:
T¼
n X
T win i ;
C¼
i¼1
n X
C win i
ð14Þ
i¼1
The job agent evaluates the bids by means of satisfying the due date D at minimal total production cost
n P Min C ¼ C i i¼1
T¼
n P
ð15Þ
Ti 6 D
for the operations (even though some bids may bear high costs), making it more likely to find a plan to meet the due date. Lower virtual currencies, on the other hand, reduces the attractiveness of operations to resources and discourage resources from submitting high cost bids for the operations, making it more likely to find a plan that gives a low cost. The iterative loop stops when a near-optimum plan that satisfies the due date with considered near-minimum cost is found. When the near-optimum plan is obtained, the job agent will award the job to the machine group that meets the due date and provides the minimum total production cost. The machine agents in the awarded machine group will then confirm with the job agent to commit to the operations awarded by updating their loading schedules (steps 9–11). If the order and quantity of a product (i.e. a job) to be produced are consistent and large, there could be a need to group the machines in this virtual machine group physically (i.e. reconfiguring the layout of the existing manufacturing system), which may improve the system, as well as cost efficiency. Each agent has individual objectives and a global goal to achieve. For instance, the global goal of this proposed MAS is to find an optimised process plan and schedule that gives the lowest production cost while satisfying all requirements such as due date and product quality, while the machine agent’s objective is to give the best performance in order to win the jobs and optimise its machine utilisation, and the job agent is responsible for assigning the operations to the outstanding group of machines. Via the iterative bidding mechanism and bid evaluation, agents with different objectives will come to a point where agents’ objectives and global goal can be satisfied. The autonomous characteristics of agents and their ability to negotiate amongst themselves gives a multi-agent system the ability to deal with unforeseen circumstances such as machine failure and urgent pre-emptive job. If a machine breaks down, the corresponding machine agent will contact the job agent to re-announce the affected operations in which the broken machine was awarded to carry out, as well as the subsequent operations (of other machines) related to these affected operations. The job agent restarts the bidding process using the approach described in this section. For urgent pre-emptive job, the job agent will contact the relevant machine agents that are able to provide the process to carry out this job. The best machine agent with the lowest production cost and satisfies the due date will be selected. This urgent job has the priority to ‘‘cut’’ the job queue at the machine and delay the remaining operations of that machine. In this case, the job agent will then have to re-announce the affected operations of that machine, as well as the subsequent operations of other machines that were awarded to process the affected component(s). Again, this is done using the bidding approach described above. In the following section, GA is introduced as an optimisation technique to investigate how and to what degree the currency values should be adjusted/optimised in each iteration in order to obtain better solutions (leading to near-optimality) to integrated process planning and production scheduling problems.
7. Genetic algorithm for the optimisation of virtual currency values
i¼1
If the due date is not satisfied (T > D), or the cost is not considered minimal, the virtual currency allocated to operations will be adjusted in the next iteration to look for a better plan (steps 6–8). The lead time and cost of a plan resulting from a bidding iteration are dependent on values set for virtual currencies. Higher virtual currencies for operations increase the attractiveness of the operations to resources and encourage resources to submit more bids
GA has been widely applied as an optimisation technique in various manufacturing problems to search for near-optimum solutions. It is also perceived by many researchers as a technique to avoid local optimum. De Giovanni and Pezzella (2010), Tseng and Lin (2010), Rajkumar and Shahabudeen (2009), Yandra (2007) and Shen (2002) adopted GA approach to deal with production scheduling problems. Wu, Chu, Wang, and Yan (2007) and Hicks
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
(2006) developed GA approaches in finding optimum facility layout configuration in flexible manufacturing systems. In the currency-based iterative bidding mechanism discussed in Section 5, the operation to produce each feature of the component to be processed is allocated with a virtual currency value that will be optimised in order to obtain a bid that carries the minimum total production cost while satisfying delivery due dates. GA is an optimisation technique proposed in this study to optimise the currency values, so as to find the near-optimum solution to the optimisation problem. Like any other GA applications, the basic building blocks are chromosomes representing potential solutions and fitness function for evaluating the fitness of each chromosome. In this study, a chromosome is represented by genes (in GA context), which is a vector composed of a full set of virtual currency value for the operations of producing features of the component: CH = (CU1, CU2, . . . , CUn), where n is the number of features of the component. The fitness function is the cost of the resulting plan, given in Eq. (1). A constraint to the problem is that the lead-time of the plan, given in Eq. (7) should also be shorter than or equal to the due date. The GA currency value adjustment process applied in this study is shown in Fig. 5. The optimisation loop starts from the generation of an initial population of Y feasible chromosomes (step 1):
CHy ¼ ðCU y1 ; CU y2 ; . . . ; CU yn Þ y ¼ 1; 2; . . . ; Y
ð16Þ
where CHy represents the yth chromosome, CUyi (i = 1, 2, . . . n) represents the virtual value for operation Oi in the yth chromosome, Y is the population size. The initial Y population is generated through a random process where a virtual currency is a random value in the range of [0, N]. N is a limiting value which can be set to any value greater than the total cost of any job processed by the machines. Step 2 evaluates the feasibility of chromosomes in producing a plan that satisfies the due date. This is achieved through a bidding process as summarised in steps 2.1–2.7 of Fig. 5, and discussed in Section 7. Basically, the job agent announces the job that consists of several operations, including the corresponding currency values, i.e. the GA chromosome. The machines prepare and send their bids to the job agent. Each bid represents a plan to carry out the operations and shows the total production cost and total lead time. At least one plan that satisfies the due date must be found in order for the chromosome to be considered fit and feasible. Otherwise, the chromosome will be withdrawn and a new set is generated. This process repeats until a total of Y feasible chromosomes are formed in the population. In step 3, all the chromosomes in the population are selected to go through a reproduction process using genetic operators to find better and better chromosomes. The ‘select all’ strategy gives the chromosomes equal opportunity for reproduction. At each iteration of the reproduction process, steps 4–9, crossover and mutation operations are applied to randomly selected chromosomes. During the crossover operation (step 4), chromosomes are randomly selected by a crossover probability Pc and three operators, point-to-point, single cut-off point, and dual cutoff points are used alternatively on every pair of selected chromosomes until two offspring chromosomes (which are different from the parents) are created. Each new offspring chromosome is then used to coordinate the bidding process, resulting in a new plan for the job (steps 5.1–5.7). If a plan resulting from an offspring chromosome is better than any of those resulting from parent chromosomes (i.e. the new plan satisfies the due date with lower production cost), the offspring chromosome will replace the original one, resulting in a new set of chromosomes in the pool. In step 6, chromosomes are randomly selected from the new pool of chromosomes and then subjected to a mutation process. The random selection is based on a mutation probability Pm and
8267
ðnewÞ
the mutation operator CU yi ¼ ð1 þ lÞCU yi , where l is a randomly generated mutation factor in a given range, say the lower and upper limits (Zlower and Zupper), is applied to a randomly selected gene of each chosen chromosome. Similar to step 5, the mutated chromosomes are used to co-ordinate the bidding process in step 7. Again, if a plan resulting from a mutated chromosome is better than any of those resulting from the previous chromosomes, the new chromosome will replace the previous one, resulting in a new set of chromosomes in the pool. In step 8, the job agent identifies and registers the best plan so far. If the pre-defined maximum number of iterations is reached, the job agent will award the operations to the corresponding machines. Otherwise, the reproduction process is repeated. It should be noted that although GA is a centralised problem solving method, it is used here to optimise parameters that are used to coordinate the distributed bidding process between local units from which a collective resource plan results. The solution to the planning problem results from local heterarchical bidding, rather than from direct centralised optimisation. There is no centralised planning by high level controller for subordinate resources. The planning does not require a global model of the system and is flexible with change of resources within the system (thus allowing dynamic reconfiguration). This is in contrast with traditional applications of GA (Hajri, Liouane, Hammadi, & Borne, 2000; Zhao & Wu, 2001) in this area which seek to optimise the routing and sequencing decisions directly. 8. Simulation results and analysis The agent bidding mechanism was implemented on a Java platform. In order to evaluate the implementation, a test case is used, which consists of three components of which orders were placed at interval times. These components are ComX, ComY and ComZ and each of them uses material AISI 1118 with a hardness of 100 BHN. Table 1 listed the features to produce in sequence (i.e. process sequence) for these components, and also included the information related to the currency values, removal volumes, and tolerance requirements of each feature in the components. In the test case, the manufacturing shop floor has ten machines: four lathe machines (L1, L2, L3, L4), three milling machines (M1, M2, M3) and three drilling machines (D1, D2, D3). The relevant data for each machine is listed in Table 2. Each of the milling and drilling machines is capable of providing one type of machining processes, which is milling and drilling processes respectively. As for lathe machines, two types of processes are available, drilling and turning. These machines are served by automated guided vehicles and each machine has input and output buffers and its own tool magazine. In addition, each machine has its own machine data that is different from one another in terms of capacity and capability and its own job buffer previously scheduled, in this case, of four components (ComA, ComB, ComC and ComD). The graphical representation of machines job buffer (i.e. schedule plan) is depicted in Fig. 6. The figure in the subscript parentheses indicates the features’ sequence number of the corresponding component. The simulation process commences with the job agent analysing the process requirements, followed by announcing the jobs of producing ComX to all the machine agents. This process repeats for ComY and ComZ. To discuss the implementation in details, the simulation process for ComZ is predominantly discussed in this section. The following presents the simulation results and analysis. The assumptions made in the implementation include: A machine can only perform one process at a time. A component can be machined by the same machine more than once. All the machines are accessible by AGVs.
8268
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
Start
2.1
Job agent announces the operations together with corresponding chromosomes i.e. currency values
2.2
Machine agents prepare and send bids based on their ability to carry out the operations and also on the currency values
2.3
Job agent receives bids and evaluates all plans based on due date constraint (eq. 15)
Start
Start
1
5.1
Job agent announces operations together with corresponding offspring chromosomes i.e. currency values
2
5.2
Machine agents prepare and send bids based on their ability to carry out the operations and also on the currency values
Job agent generates an initial population of chromosomes
Job agent evaluates chromosomes based on due date constraint and minimum production cost eq.15
No 2.4
Is there at least one plan that satisfies due date?
2.5
Identify the plan with the least production cost, and the corresponding chromosome
2.6
Register the chromosome in the pool
2.7
Are there enough chromosomes in the pool?
Job agent selects ALL chromosomes in the pool resulting from steps 2.1 to 2.7
3
Yes 5.3
Job agent receives bids and evaluates all plans based on due date constraint (eq. 15)
5.4 No
Does the plan satisfy the due date?
Job agent performs crossover on pairs of chromosomes to produce offspring chromosomes, based on a crossover probability
4
Job agent coordinates bidding for each operation from machine agents, using each new chromosome
5
Yes 5.5
5.6
No
Identify the plan with the least production cost, and the corresponding offspring chromosome 6
Job agent selects and performs mutation on chromosomes in the pool - resulting from steps 5.1 to 5.7 - to create offspring chromosomes based on a mutation probability
7
Job agent coordinates bidding for each operation from machine agents, using each new chromosome – using steps similar to 5.1 to 5.7
Is this plan from offspring chromosome better than the plan from the parent?
Yes 5.7
No
Yes Stop
Replace the parent chromosome with the offspring chromosome in the pool Identify and register the best plan achieved so far with all chromosomes as the current best for the job
8 Stop
9
Is the max no of iterations reached?
No
Yes
10
Job agent confirms the awarding of bid and confirms the operation bids to successful machine agents
Stop
Fig. 5. GA method for currency value adjustment.
The AGVs are considered to be always available. Each machine has infinite capacity input and output buffers. Auxiliary processes for surface treatment such as grinding and reaming are not considered. Chip formation, cutting fluids, temperature rise, and tool wear due to cutting process are neglected.
Three sets of tests were carried out to analyse the GA approach and for all the tests, the population size and generation size were set at 10 and 150 respectively. In each set of runs, the simulation was run five times. During Run 1 of the first set of tests (Table 3), the crossover probability (Pc) and the mutation probability (Pm) were set at 0.85 and 0.35 respectively. An initial set of
8269
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273 Table 1 Components in the MPS. Com ID
Quantity
Due date (units of time)
Features to produce in sequence
Process required
Currency value
Removal volume (cm3)
Tolerance (+/ mm)
ComX
45
1600
ComY
42
1550
Drilling Turning Milling Drilling Milling Drilling
450 750 420 480 750 430
55 140 30 40 180 30
0.75 1.25 1.00 075 1.25 1.00
ComZ
80
1800
Hole (blind, flat-bottomed) Hollow cylinder (Through) SlotHole (Centre, blind, flat-bottomed) Slot Hole (centre, blind, flatbottomed) Slot Hollow cylinder (through) Hollow cylinder (through) Hollow cylinder (through) Slot Hole (blind, flat-bottomed)
Milling Turning Turning Turning Milling Drilling
420 950 450 680 400 620
60 150 40 70 30 50
1.25 1.25 1.25 1.25 1.00 0.75
Table 2 Machine data. Machine
Process
Co-ordinate X (location)
Co-ordinate Y (location)
Reliability
Setup time
Setup cost
Miscs cost
Machining cost
Holding cost
MRR
Lathe L1
Turning Drilling Turning Drilling Turning Drilling Turning Drilling Milling Milling Milling Drilling Drilling Drilling
20
0
0.95
30
2.7
160
1.5
0.25
36
40
0
0.85
30
2.6
160
2.0
0.25
40
60
0
0.65
32
2.7
170
1.9
0.20
30
80
0
0.8
30
2.7
160
1.4
0.25
29
100 100 100 0 0 0
20 40 60 20 40 60
0.85 0.8 0.85 0.75 0.9 0.87
22 22 20 30 30 28
2.6 2.6 2.4 2.8 3 2.8
180 180 200 200 190 200
1.3 1.4 1.5 1.7 1.85 1.4
0.25 0.25 1.5 0.4 0.35 0.25
32 32 36 37 40 30
Lathe L2 Lathe L3 Lathe L4 Mill M1 Mill M2 Mill M3 Drill D1 Drill D2 Drill D3
ComC(2)
M1
ComD(3)
ComB(1)
M2
ComA(3)
ComD(1)
M3 ComA(1)
D1
Machine
ComC(3)
ComB(2)
D2
ComB(4)
D3 ComD(2)
L1 ComA(2)
L2
ComB(3)
ComC(1)
L3
ComA(4)
L4 0
200
400
600
800
1000
1200
1400
Time (units of time) Note: ComK(i) means the operation to process ith feature of Component K. Fig. 6. Machine job schedule.
currency was determined and the lower limit (L) and upper limit (U) were set at 0.8 and 1.2 respectively to generate the sets of currency to the size of 10. For mutation process, the lower and upper
limits (Zlower and Zupper) were fixed at 0.85 and 1.15 respectively. After 150 iterations, the near-optimum bid obtained has a production cost of 3182 units and lead time of 1406 units. Fig. 7 illustrates
8270
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
Table 3 The effect of changing the values of Pc. Test run
Pc
Pm
L
U
Max iteration
No. of bids received
Near-optimum bid – cost
Near-optimum bid – lead time
At what iteration?
Run Run Run Run Run
0.85 0.7 0.55 0.4 0.25
0.35 0.35 0.35 0.35 0.35
0.8 0.8 0.8 0.8 0.8
1.2 1.2 1.2 1.2 1.2
150 150 150 150 150
116 109 84 63 48
3182 3182 3182 3182 3379 (3182)
1406 1406 1406 1406 1980 (1406)
44 49 65 138 144 (163)
1 2 3 4 5
all the bids obtained at each GA iteration. The first near-optimum bid was obtained at the 44th iteration. In Fig. 8, the plotted line depicts the near-optimum bid recorded at each iteration during the entire GA simulation. This shows that lower costs of producing the components are gradually found as the currency values are optimised iteratively. Fig. 9 is the schematic representation of the new machine job schedule when ComX, ComY and ComZ have been scheduled. Arrows are used in this figure to indicate those jobs that have been shifted. In Runs 2 to 5 of the first set of tests, Pc was gradually decreased by 0.15, i.e. from 0.85 to 0.25. As shown in the table, the number of bids received decreased as Pc was decreased and the iteration at which the near-optimum bid was found increased. However, the near-optimum bid remains the same after 150 iterations except for Run 5. Run 5 has a Pc of 0.25 and resulted in a near-optimum bid of 3379 and 1980 for cost and lead time respectively. However, for an increase of iterations from 150 to 200 for Run 5, a near-optimum bid that equals the near-optimum bids of Runs 1 to 4 was found at iteration 163 (shown in brackets in Table 3). The reason for these is that as the value of Pc reduces, there is higher possibility that ‘‘unfit’’ chromosomes will remain in the population for the next round of bidding. Therefore, better solutions may not be found quickly since the ‘‘unfit’’ chromosomes may prohibit outstanding machine agents to put forward their bids. As a result, the number of bids put forward is lower than those sent in a test run with higher Pc. In the second set of tests (Table 4), L and U for the initial population were 0.8 and 1.2 for Run 1. For Runs 2 and 3, U was increased to 1.4 and 1.6 respectively and L remained the same. For Runs 4
3700 Cost (unit of cost)
3600 3500 3400 3300 3200 3100 3000 0
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 No. of iterations
Fig. 7. Bids received at each GA iteration.
3700
3500 3400 3300 3200 3100 3000 0
10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 No. of iterations
Fig. 8. Near-optimum bid recorded at each GA iteration.
ComY(1)
M1 M2
[ComC(3)]
ComC(2) ComY(3)
ComB(1)
M3
ComX(3)
ComZ(4)
[ComD(3)]
[ComA(3)]
ComD(1)
D1 Machine
Cost (unit of cost)
3600
ComZ(5)
ComA(1) ComX(1)
D2
ComB(2) ComB(4)
D3 ComX(2)
L1 ComZ(1)
L2 L3
ComC(1)
L4
ComY(2) 0
200
ComZ(3)
ComZ(2)
[ComD(2)]
[ComA(2)] ComB(3)
ComX(4) 400
600
[ComA(4)] 800
1000
Time (units of time) Fig. 9. Updated machine job schedule.
1200
1400
1600
8271
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273 Table 4 The effect of changing the values of L and U. Test run
Pc
Pm
L
U
Max iteration
No. of bids received
Near-optimum bid – cost
Near-optimum bid – lead time
At what iteration?
Run Run Run Run Run
0.85 0.85 0.85 0.85 0.85
0.35 0.35 0.35 0.35 0.35
0.8 0.8 0.8 0.6 0.4
1.2 1.4 1.6 1.2 1.2
150 150 150 150 150
116 120 158 101 65
3182 3182 3182 3182 3182
1406 1406 1406 1406 1406
44 44 40 51 83
1 2 3 4 5
Table 5 The effect of changing the values of Pm. Test run
Pc
Pm
L
U
Max iteration
No. of bids received
Near-optimum bid – cost
Near-optimum bid – lead time
At what iteration?
Run Run Run Run Run
0.85 0.85 0.85 0.85 0.85
0.35 0.45 0.65 0.75 0.85
0.8 0.8 0.8 0.8 0.8
1.2 1.2 1.2 1.2 1.2
150 150 150 150 150
116 120 139 107 111
3182 3182 3182 3182 3182
1406 1406 1406 1406 1406
44 49 46 55 45
1 2 3 4 5
and 5, L was decreased to 0.6 and 0.4 respectively, while U remained the same as Run 1. As U is increased (which means higher chances that higher currency values are generated for each operation), the number of bids received increases as more agents are able to make virtual profit. However, as L is decreased, the number of bids received decreases and the iteration at which the near-optimum bid was found is increased. This suggests that although the range of currency values is increased, the increase on the lower end does not encourage machines to bid for jobs. In the third set of runs (Table 5), Pm was gradually increased from 0.35 to 0.85. Although more individual genes were selected for mutation, there were no clear patterns in the number of bids received and the iteration at which the bids were received. However, the near-optimum bid remained the same as Run 1. In addition to the above three tests, two other tests were run to illustrate how the agents deal with dynamic changes such as machine failure and urgent pre-emptive job. In the first test, M1 broke down at time 750 units and was not recovered within the simulation time. The job agent initiated the bidding process and re-announced the remaining affected operations of M1 (i.e. ComC(2),
M1
Machine
ComC(2)
ComY(1)
M2
ComY(3)
ComB(1)
M3
ComD(1)
D1
ComA(1)
ComX(3)
ComZ(4) ComC(2)
ComC(3)
ComA(3)
ComD(3) ComZ(5)
ComX(1)
D2
ComZ(4), ComC(3)), as well as those subsequent operations of other machines that are affected by the remaining operations of M1 to all machine agents. The new loading schedule resulting from the bidding is shown in Fig. 10. (Note: The dotted boxes represent the affected operations being re-assigned based on the bidding results). In the second test, there was an urgent pre-emptive job (Job-u) at time 800 units, which required a lathe machine to perform the job. The job agent then re-announced this new job requirement to all lathe agents, and based on the minimum production cost, lathe L1 was awarded. The operation (ComD(2)) at L1 was affected and subsequently affecting the remaining operations to produce ComD at M3. This initiated the job agent to re-announce the affected operations to all machine agents to re-bid. The entire iterative bidding process took place once again. The new loading resulting from the bidding process is shown in Fig. 11. In the course of this research, the strength of GA approach is that it has a definable population size, crossover and mutation operations, which may increase the potential for the searching of (near-) optimality. The simulation results obtained are further discussed by comparing the results with those of non-agent Bold
ComB(2) ComB(4)
D3 L1
ComX(2)
L2
ComZ(1)
ComZ(3) ComZ(2)
ComD(2)
ComA(2) ComB(3)
ComB(1)
L3
ComY(2)
L4 0
200
400
ComX(4)
600
800
ComA(4) 1000
Time (units of time) Fig. 10. New machine job schedule due to machine breakdown.
1200
1400
1600
8272
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
M1 M2
Machine
ComC(2)
ComY(1) ComY(3)
ComB(1)
M3
ComD(1)
D1
ComA(1)
ComC(3)
ComZ(4) ComC(2)
ComD(3)
ComA(3)
ComZ(5)
ComX(1)
D2
ComX(3
ComB(2) ComD(2)
D3 L1
ComX(2)
L2
Job-u
ComZ(3) ComZ(2)
ComZ(1)
ComD(2)
ComA(2)
ComB(3)
ComC(1)
L3
ComY(2)
L4 0
ComB(4)
200
ComX(4)
400
600
800
ComA(4) 1000
1200
1400
1600
Time (units of time) Fig. 11. New machine job schedule due to urgent pre-emptive job.
Table 6 Comparative results. Component
ComX ComY ComZ
MAS
Khoshnevis and Chen
Usher and Fernandes
Saygin and Kilic (before rescheduling)
Saygin and Kilic (after rescheduling)
Total lead time
Total production cost
Total lead time
Total production cost
Total lead time
Total production cost
Total lead time
Total production cost
Total lead time
Total production cost
818 552 1406
1824 1355 3182
1205 552 1967
2412 1355 3358
1254 552 2430
2434 1355 3278
1410 1118 2225
2533 1515 3452
1205 552 1967
2412 1355 3358
Bold values are the best result obtained for each corresponding component.
values are the best result obtained for each corresponding component. integrated process planning and production scheduling systems (heuristic approaches) found in the literature (Khoshnevis & Chen, 1993; Usher & Fernandes, 1996b and Saygin & Kilic, 1999). The research work of Khoshnevis and Chen (1993) has studied the development of an integrated process planning and production scheduling system in which the problem domains of two-stage process planning and production scheduling are treated as a unified whole. This system generates executable process plans through the creation of detailed routing, scheduling and sequencing information by using a six-step heuristic approach based on opportunistic planning. Usher and Fernandes (1996b) proposed an architecture for process planning that supports the integration with scheduling as referred to PARIS (Process planning ARchitecture for Integration with Scheduling). Similarly, the PARIS system employs a two-phased approach to the integration of process planning and scheduling. Saygin and Kilic (1999) proposed a framework that integrates flexible process plans with off-line (predictive) scheduling in flexible manufacturing systems. In order to make rational comparisons with the iterative bidding MAS developed in this study, the same test case is used to simulate the three non-agent systems. Based on the simulation results obtained, Table 6 can be drawn for comparison purposes between the four systems. The highlighted sections indicate the best results between these systems. As for Saygin & Kilic’s approach, before rescheduling takes place, the simulation results are not any better than all other approaches. After rescheduling,
the results are improved which are the same as the ones obtained in Khoshnevis & Chen’s approach. In conclusion, these results noticeably show that the iterative bidding MAS proposed in this study performs better than these non-agent systems. Not only it is capable of obtaining better solutions but also the way of the system performs (i.e., distributed approach) is well suited to integrate process planning and production scheduling with time- and cost-efficiency. The MAS does not generate a list of process plans and allocate machines to these plans, and subsequently determine the best plan based on certain criteria. It allows agents that represent the machines to decide what the best is for them (e.g. maximise their utilisation) by letting them bid for jobs based on their capability. In this way, a near-optimum solution can be achieved and the utilisation of manufacturing resources can also be optimised. 9. Conclusion This paper introduced a currency-based iterative agent bidding mechanism used as an agent coordination mechanism in a multiagent system (MAS). It is aimed at integrating the activities associated with production planning and control in order to enhance the agility, responsiveness and flexibility of manufacturing systems in coping with dynamic changes in the market and to achieve nearoptimum solutions to integrated process plan and schedule problems. The mechanism enables process planning options and production scheduling options to be evaluated dynamically and
M.K. Lim, Z. Zhang / Expert Systems with Applications 39 (2012) 8259–8273
optimised simultaneously, so as to generate optimised process plans and schedules. The MAS also provides a platform where the possible reconfiguration of manufacturing systems can be assessed and the utilisation of manufacturing resources can be optimised. To facilitate the iterative bidding mechanism, GA optimisation technique was employed to adjust the current values. A test case was used to simulate the agent bidding mechanism and various test runs were executed to evaluate the effectiveness of the proposed GA technique. The simulation results show that as the currency values were adjusted iteratively, the production cost of producing the components was gradually reduced. The results were then compared to the results obtained based on three nonagent integrated process planning and production scheduling systems (Khoshnevis & Chen, 1993; Usher & Fernandes, 1996b, and Saygin & Kilic, 1999). The comparative results show that the MAS performs better than the non-agent systems. The MAS evaluates and optimises process plans and production schedules simultaneously. It allows agents that representing the machines to bid for jobs based on their capability and best performance (e.g. to maximise their machine utilisation). With this approach, a nearoptimum solution can be achieved and the utilisation of manufacturing resources can also be optimised.
References Baker, A. (1996). Market-based control: A paradigm for distributed resource allocation. Singapore: World Scientific, pp. 184–223. Bo, X., Zhiming, W. (2003). Modeling of supply chain: a multi-agent approach. American Control Conference, Denver, CO, United States. Choy, K. L., Lee, W. B. (2002). Multi-agent based virtual enterprise supply chain network for order management. Portland International Conference on Management of Engineering and Technology (PICMET), Portland, USA. De Giovanni, L., & Pezzella, F. (2010). An improved genetic algorithm for the distributed and flexible job-shop scheduling problem. European Journal of Operational Research, 200(2), 395–408. Ferber, J. (1999). Multi-agent systems: An introduction to distributed artificial intelligence. England: Addison-Wesley. Ghiassi, M., & Spera, C. (2003). Defining the internet-based supply chain system for mass customized markets. Computers and Industrial Engineering, 45(1), 17–41. Hajri, S., Liouane, N., Hammadi, S., & Borne, P. (2000). A controlled genetic algorithm by fuzzy logic and belief functions for job-shop scheduling. IEEE Transaction System, Man, Cybernetics, Part B, 30, 812–818. Hall, D. M., & Zhao, W. (1998). Modelling integrated process planning and scheduling for agile manufacturing. Advances in Manufacturing Technology, 12, 461–466. Hicks, C. (2006). A genetic algorithm tool for optimising cellular of functional layouts in the capital goods industry. International Journal of Production Economics, 104, 598–614. Huang, H., Mei, J., & Zhang, H. (1993). An integrated model for process planning and production scheduling. In Proceedings of the 1993 NSF Design and Manufacturing Systems Conference (Vol. 2, pp. 1373–1377). Kempenaers, J., Pinte, J., Detend, J., & Kruth, J. P. (1996). A collaborative process planning and scheduling system. Advances in Engineering Software, 25, 3–8. Khoshnevis, B., & Chen, Q. (1993). Scheduling with flexible process plan. Production Planning and Control, 4(4), 333–343. Khoshnevis, B., & Chen, Q. (1989). Integration of process planning and scheduling functions. In IEE Integrated Systems Conference and Society for Integrated Manufacturing Conference Proceedings (pp. 415–420). Khoshnevis, B., & Chen, Q. (1990). Integration of process planning and scheduling functions. Journal of Intelligent Manufacturing, 1, 165–176. Kim, H. J., Chiotellis, S., & Seliger, G. (2009). Dynamic process planning control of hybrid disassembly systems. International Journal of Advanced Manufacturing Technology, 40(9–10), 1016–1023. Krothapalli, N. K. C., & Deshmukh, A. V. (1999). Design of negotiation protocols for multi-agent manufacturing systems. International Journal of Production Research, 37(7), 1601–1624. Larsen, N. E., & Alting, L. (1990). Simultaneous engineering within process and production planning. Pacific Conference on Manufacturing, Sydney and Melbourne, 1024–1031. Li, T., & Fong, Z. (2003). A system architecture for agent based supply chain management platform. In Proceedings of the 2003 Canadian Conference on Electrical and Computer Engineering (CCECE): Toward a Caring and Humane Technology, Montreal, Canada.
8273
Li, X. Y., Shao, X. Y., Gao, L., & Qian, W. R. (2010). An agent-based approach for integrated process planning and scheduling. Expert Systems with Applications, 37(2), 1256–1264. Lin, G. Y., & Solberg, J. J. (1992). Integrated shop floor control using autonomous agents. IEE Transactions, 24, 57–71. Liu, S. H., Fu, L. C., & Yang, J. H. (1998). Multi-agent based control kernel for flexible automated product system. In IEEE International Conference on Robotics and Automation (Vol. 3, pp. 2134–2139). Mei, Q., & Khoshnevis, B. (1993). Scheduling with flexible process plan. Production Planning and Control, 4(4), 333–343. Mamalis, A. G., Malagardis, I., & Kambouris, K. (1996). On-line integration of a process planning module with production scheduling. International Journal of Advanced Manufacturing Technology, 12(5), 330–338. Moon, C., Lee, Y. H., Jeong, C. S., & Yun, Y. S. (2009). Integrated process planning and scheduling in a supply chain. Computer and Industrial Engineering, 57(4). 1484– 1484. Ouelhadj, D., Hanachi, C., Bouzouia, B. (1998). Multi-agent system for dynamic scheduling and control in manufacturing cells. In IEEE International Conference on Robotics and Automation (Vol. 3, pp. 2128–2133). Rajkumar, R., & Shahabudeen, P. (2009). Bi-criteria improved genetic algorithm for scheduling in flowshops to minimise makespan and total flowtime of jobs. International Journal of Computer Integrated Manufacturing, 22(10), 987–998. Saygin, C., & Kilic, S. E. (1999). Integrating flexible process plans with scheduling in flexible manufacturing systems. International Journal of Advanced Manufacturing Technology, 15(4), 268–280. Shen, W. (2002). Genetic algorithms in agent-based manufacturing scheduling systems. Integrated Computer-Aided Engineering, 9(3), 207–217. Srihari, K., & Emerson, C. R. (1990). Petri nets in dynamic process planning. Computers and Industrial Engineering, 19(1–4), 447–451. Ssemakula, M. E., & Wesley, J. C. (1994). Functional specification of a dynamic process planning system. Computers and Industrial Engineering, 27(1-4), 99–102. Tonshoff, H. K., Beckendorff, U., Anders, N. (1989). FLEXPLAN: A concept for intelligent process planning and scheduling. In Proceedings of CIRP International Workshop on CAPP (pp. 87–106). Tseng, L. Y., & Lin, Y. T. (2010). A hybrid genetic algorithm for no-wait flowshop scheduling problem. International Journal of Production Economics, 128(1), 144–152. Usher, J. M., & Fernandes, K. (1996a). A two-phased approach to dynamic process planning. Computers and Industrial Engineering, 31(1/2), 173–176. Usher, J. M., & Fernandes, K. (1996b). Dynamic process planning – The static phase. Journal of Material Processing Technology, 61, 53–58. Valluri, A., & Croson, D. C. (2005). Agent learning in supplier selection models. Decision Support Systems, 39(2), 219–240. Wang, J., Zhang, Y. F., & Nee, A. Y. C. (2009). Reducing tardy jobs by integrating process planning and scheduling functions. International Journal of Production Research, 47(21), 6069–6084. Wang, L. H., Feng, H. Y., & Cai, N. X. (2003). Architecture design for distributed process planning. Journal of Manufacturing Systems, 22(2), 99–115. Wang, X., Li, Z., Liu, C., & Tian, W. (1995). Process planning under job shop environment. SPIE, 2620, 143–148. Wang, Y. F., Zhang, Y., & Fuh, J. Y. H. (2011). Job rescheduling by exploring the solution space of process planning for machine breakdown/arrival problems. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 225(2), 282–296. Wong, T. N., Leung, C. W., Mak, K. L., & Fung, R. Y. K. (2006). Dynamic shopfloor scheduling in multi-agent manufacturing systems. Expert Systems with Applications, 31, 486–494. Wooldridge, M. (1998). Agent-based computing. Interoperable Communication Networks, 1, 71–97. Wooldridge, M. (1997). Agent-based software engineering. IEE Proceedings on Software Engineering, 144(1), 26–37. Wu, X., Chu, C. H., Wang, Y., & Yan, W. (2007). A genetic algorithm for cellular manufacturing design and layout. European Journal of Operational Research, 181, 156–167. Yandra, H. T. (2007). A new multiobjective genetic algorithm with heterogeneous population for solving flowshop scheduling problems. International Journal of Computer Integrated Manufacturing, 20(5), 465–477. Zhang, Y. F., Huang, G. Q., Qu, T., & Ho, O. (2010). Agent-based workflow management for RFID-enabled real-time reconfigurable manufacturing. International Journal of Computer Integrated Manufacturing, 23(2), 101–112. Zhang, D., Anosike, A., Lim, M. K., & Akanle, O. (2007). Dynamically Integrated Manufacturing Systems (DIMS) – A multi-agent approach. IEEE Transactions on Systems, Man and Cybernetics, Part A, 37(5), 824–850. Zhang, H. (1993). IPPM – A prototype to integrate process planning and job shop scheduling functions. CIRP, 42(1), 513–518. Zhao, C., & Wu, Z. (2001). A genetic algorithm approach to the scheduling of FMS’s with multiple routes. International Journal of Flexible Manufacturing System, 13, 71–88.