Available online at www.sciencedirect.com
Mathematics and Computers in Simulation 79 (2008) 937–946
An optimisation-oriented model of distributed supply-chain Marco Ghirardi a,∗ , Giuseppe Menga a , Nicola Sacco b b
a Department of Control and Computer Sciences, Polytechnic of Turin, c.so Duca degli Abruzzi 24, 10129 Turin, Italy Department of Fluid Machines, Energy Systems, and Transportation, University of Genoa, Via Montallegro 1, 16145 Genoa, Italy
Available online 13 February 2008
Abstract In this paper, a suitable model of distributed supply-chains (DSCs) is presented with the aim of providing a tool for DSC decentralised optimisation. To cope with this challenge, in the first part of the paper, a general model for distributed supply-chain including suppliers, processing units, assemblers, and transportation systems is presented with the aim of keeping the framework as general as possible. In the second part of the paper, an optimisation algorithm is also discussed. © 2008 IMACS. Published by Elsevier B.V. All rights reserved. Keywords: Supply-chain; Distributed optimisation; Lagrangian relaxation
1. Introduction In the last decades, due to the new technologies in the fields of computer science and telecommunication, global automation (see [2]) has transferred and extended classical process control and factory automation ideas to geographically distributed environments. In this framework, distributed supply-chains (DSCs) result to be networks of autonomous components, operating in a competitive or cooperative environment, in which no hierarchy in decision making is enforced and where the initiatives to reach a common goal are taken by each partner. Then, while in the relevant literature there are many centralized approaches to the optimisation of integrated production–transportation systems by means of integer programming (see [3] or [12]), or partially distributed algorithms based on lagrangian relaxation (see [6]), in the era of Internet many researchers devoted their attention to the interconnections of autonomous agents (see [1], [4], [5], [7] or [10]) and decentralised decision modules which are able to guarantee that no hierarchy in the decision making is enforced. The main result of this work is the formalisation of an effective model for decentralised control problems which is able to take into account both the production and transportation costs of each element of the supply-chain and the cost due to earliness and tardiness of the external orders of the DSC. 2. The model In this section, the model of the considered distributed supply-chain is presented with the aim of describing the general framework of the interactions between the nodes. In particular, after introducing the considered supply-chain structure, the communication protocols between the nodes will be analysed. ∗
Corresponding author. Tel.: +39 011 090 7025; fax: +39 011 090 7198. E-mail addresses:
[email protected] (M. Ghirardi),
[email protected] (G. Menga),
[email protected] (N. Sacco).
0378-4754/$32.00 © 2008 IMACS. Published by Elsevier B.V. All rights reserved. doi:10.1016/j.matcom.2008.02.005
938
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
Fig. 1. An example of distributed supply-chain. IOs represent the internal orders and communication messages exchanged by the nodes of the supply-chain. EOs represent the orders coming from the end user which interact with the supply-chain.
2.1. The general distributed supply-chain structure Consider the general scheme represented in Fig. 1, where the interactions between the nodes of the DSC are shown together with the interactions between the nodes of the supply-chain and the external customers. Formally, the elements of the supply-chain belong to the sets: • E = {e1 , . . . , eE } of E end users, i.e., the set of the external customers which interact with the DSC by generating the external orders; • EO = {EOi,j }, i.e., the set of the external orders (EOs) exchanged by the nodes of the supply chain and the end users; • S = {s1 , . . . , sS } of S suppliers which provide raw materials to the net; • A = {a1 , . . . , aA } of A assemblers. Note that assemblers always have two or more upstream nodes which provide them parts or raw materials; • M = {m1 , . . . , mM } of M manufacturers which perform some kind of activity on parts; • T = {t1 , . . . , tT } of T transportation systems which manage the handling of parts in the net. In this framework, the transportation nodes may simply represent the delays due to the distances between the nodes, or make more complex operations such as pickup and delivery operations between their input and output nodes; • IO = {IOi,j }, i.e., the set of the internal orders (IOs) exchanged among the nodes of the sets A, M, T, or S. In this formulation, each generic node i belonging to the sets A, M, or T, may be both input or output of the other nodes. On the other hand, suppliers can only be inputs of the supply-chain while end users can only be outputs of the supply-chain. In other words, suppliers do not have upstream nodes and end users do not have downstream nodes. Finally, to the aim of simplifying the notation, the sets INi and OUTi , which gather the indices of the input and output nodes of any generic element i, respectively, are introduced. With this notation, the indices gathered in the set INi may be associated with elements of the sets S, A, M, and T, while the indices gathered in the set OUTi may be associated with elements of the sets A, M, T, and E. 2.2. The modularity of the modelling approach The general structure above introduced allows to easily build large networks of nodes. In effect, the model of any complex systems can be represented by simply joining several elements of the sets S, A, M, T, and E. As an example consider the net depicted in Fig. 1, which represents a quite simple DSC composed by an assembler, a manufacturer, five transportation systems, three suppliers, and three end users. The end-users interact with the manufacturer m, the assembler a and the transportation node t5 . In such a figure it is also pointed out that any node of the net may have more than one input as, for instance, the nodes t1 and a, or more than one output as, for instance, the node m. Moreover, it is worth underlining that, in a distributed framework, such a modular paradigm guarantees: (i) large flexibility in the chain structure, being very easy to add/remove nodes to/from the net; (ii) the capability of designing decentralised algorithm for the DSC optimisation, as discussed in the following sections.
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
939
Fig. 2. Inventories of a generic node i.
2.3. The model of nodes In this section, after an introduction about the adopted notation, the mathematical model of the elements of the sets S, A, M, and T will be described in detail. As a general feature, it is worth saying here that each node of the net is characterised by an inventory for the incoming parts and by an inventory for the outgoing parts, which usually represent costs, in general different for the node. A representation of such inventories is depicted in Fig. 2. Note that due to these inventories, in the most general formulation it is possible to take into account “fluidified” productions by simply considering demands of production of batches instead of parts. Then, for a generic node i and a generic job j, the adopted notation is: • Ji : the set of jobs in the generic node i; • I(j): the set of the nodes from which the job j ∈ Ji comes from. Such a set gathers more than one elements if and only if the node i is an assembler or there are two or more nodes which compete in providing the raw parts for j to i; • O(j): the node towards which the job j ∈ Ji goes; in : waiting time for the job j ∈ J in the inventory of the incoming parts between node i and its input node • Wi,k,j i k ∈ I(j); out : waiting time for job j ∈ J in the inventory of the outgoing parts of the node i going to node k ∈ O(j); • Wi,k,j i in in in the cost function; • ωi,k,j : weight of Wi,k,j out : weight of W out in the cost function; • ωi,k,j i,k,j • CEi,j : earliness of job j at node i with respect to orders coming from end users; E : weight of earliness C • ωi,j Ei,j in the cost function; • CTi,j : tardiness of job j at node i with respect to orders coming from end users; T : weight of tardiness C • ωi,j Ti,j in the cost function; • ddi,j : due date of job j requested to the node i by an end-user; • ci,j completion time of the job j at node i; • Qi,j : quantity of job j ordered at node i; • αi,j : unitary processing time of the job j at node i; • duri,j = αi,j Qi,j : processing time of job j at node i; j • rddk,i : “requested due date” asked for the job j to the node i by its downstream node k ∈ OUTi ; j
• tddi,k : “tentative delivery date” of job j proposed by the node i to its downstream node k ∈ OUTi . It coincides with the completion time ci,j of the job j at the node i. In the following sections the general cost functions which characterise the optimisation problems of each kind of node will be described. Such costs consist of the local inventory costs and of the sum of functions weighting the earliness/tardiness costs. These last terms take into account the earliness/tardiness costs with respect to the end-users or with respect to the upstream/downstream nodes of the net. In this last case, such costs are used to propagate, throughout the supply-chain, an “index” of the whole DSC performance, as it will be clarified in the following. On the other hand, for what concerns the constraints of the “local” optimisation problems, since they partially depend of the particular structure of the node (for instance in the case of a manufacturer they change whether the manufacturer is a flow shop, a job shop, etc.) only the most general part of them will be described.
940
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
2.4. The supplier model As said above, suppliers are those nodes which introduce raw materials in the net. Due to their characteristic of being only inputs of the net, suppliers have not inventories for the incoming parts and there are no release time for their jobs. Then the local optimisation problem of the supplier i is j out out min ωi,O(j),j (1) Wi,O(j),j + f1 ci,j , rddO(j),i j ∈ Ji
j
out out Wi,O(j),j represents the inventory costs of the job j in the node i, and the function f1 (ci,j , rddO(j),i ) where the term ωi,O(j),j weights the earliness/tardiness of any job j with respect to its requested due date. Such a problem is subjected to the constraints j
out Wi,O(j),j ≥ rddO(j),i − ci,j ,
∀ j ∈ Ji
(2)
ci,h − duri,h ≥ ci,j ∨ ci,j − duri,j ≥ ci,h , ci,j ≥ duri,j ,
∀ j, h ∈ Ji
(3)
∀ j ∈ Ji .
(4)
In this problem, the constraint (2) defines the waiting time of the job j in the inventory of the outgoing parts of node i, whereas the constraint (3) guarantees that there is only one job processed at a time. Finally, the constraint (4) guarantees that any job j is processed at least for its processing time duri,j . 2.5. The manufacturer model Any manufacturer is characterised by both the inventories for the incoming and outgoing parts, and can be input nodes of end users. Then, the local optimisation problem of a generic manufacturer i can be stated as in in out out E T min ωi,I(j),j + ωi,j Wi,I(j),j + ωi,O(j),j Wi,O(j),j CEi,j + ωi,j CTi,j j ∈ Ji
+
j ∈ Ji |O(j)∈ε /
j
j ∈ Ji |O(j) ∈ ε
f1 ci,j , rddO(j),i + f2 ci,j − duri,j , tddiI(j),i
in in where the terms ωi,I(j),j Wi,I(j),j
out out and ωi,O(j),j Wi,O(j),j j f1 (ci,j , rddO(j),i )
(5)
represent the inventory costs of the job j j
and f2 (ci,j − duri,j , tddI(j),i ) weight the earliin the node i, and the functions ness/tardiness of the job j with respect to its requested due dates, or with respect to its release times, respectively. Such a problem is subjected to the constraints j
in Wi,I(j),j ≥ ci,j − duri,j − tddI(j),i , j
out ≥ rddO(j),i − ci,j , Wi,I(j),j
j ∈ Ji
(6)
j ∈ Ji |O(j) ∈ /E
(7)
CEi,j = max{0, ddi,j − ci,j },
j ∈ Ji |O(j) ∈ E
(8)
CTi,j = max{ci,j − ddi,j , 0},
j ∈ Ji |O(j) ∈ E
(9)
ci,h − duri,h ≥ ci,j ∨ ci,j − duri,j ≥ ci,h , ci,j ≥ duri,j ,
∀ j ∈ Ji .
∀ j, h ∈ Ji
(10) (11)
In addition, the constraints (6) and (7) define the waiting times of the job j in the inventories of the incoming and outgoing parts of the node i (i.e., the waiting times of the internal orders) respectively, whereas the constraints (8) and (9) define the earliness and tardiness costs with respect to the external orders. Moreover, the constraint (10) guarantees
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
941
that only one job is processed at a time, and the constraint (11) guarantees that any job j is processed, at least, for its processing time duri,j . 2.6. The assembler model Assemblers can be thought as more general kinds of manufacturers, which wait for parts coming from several input nodes before starting the job processing. Hence, dim{I(j)} > 1 is the number of different inventories for the incoming raw materials. The model of a general assembler i is: ⎡ ⎤ in in out out E T ⎣ ⎦+ min ωi,k,j + ωi,O(j),j ωi,j Wi,k,j Wi,O(j),j CEi,j + ωi,j CTi,j j ∈ Ji
+
j ∈ Ji |O(j) ∈ ε
k ∈ I(j)
⎡
⎣f1
j ∈ Ji |O(j)∈ε /
j ci,j , rddO(j),i
+
f2
k ∈ I(j)
j ci,j − duri,j , tddk,i
⎤ ⎦
(12)
It is easy to note that the cost function of an assembler, given by Eq. (12), differs from the cost function of in W in , which sum the inventory costs of all the a manufacturer, given by Eq. (5), only for the term k ∈ I(j) ωi,k,j i,k,j j components necessary to assemble the job j, and for the term k ∈ I(j) f2 (ci,j − duri,j , tddk,i ) which weights the earliness/tardiness costs of the release times of such components with respect to the tentative due dates specified by their suppliers. Such a problem is subjected to the constraints j
in Wi,k,j ≥ ci,j − duri,j − tddk,i , j
out Wi,I(j),j ≥ rddi,O(j) − ci,j ,
j ∈ Ji ,
k ∈ I(j)
j ∈ Ji |O(j) ∈ /E
(13) (14)
CEi,j = max{0, ddi,j − ci,j },
j ∈ Ji |O(j) ∈ E
(15)
CTi,j = max{ci,j − ddi,j , 0},
j ∈ Ji |O(j) ∈ E
(16)
ci,h − duri,h ≥ ci,j ∨ ci,j − duri,j ≥ ci,h , ci,j ≥ duri,j ,
∀ j ∈ Ji .
∀ j, h ∈ Ji
(17) (18)
Analogously, the only constraint which changes in the assembler model is the one defined by (13), which was a single inequality for each job j in the manufacturer model, and now has to be replicated for each supplier k ∈ I(j). 2.7. The transportation node model A transportation node is a system able to schedule the movements of a transportation fleet in order to pickup goods from a set of source nodes and deliver them to a set of destination nodes. The classical vehicle routing problems (VRP), with pickup and delivery, has been proposed in literature with many possible variants. For a complete survey of the models and solution methods for these kind of problems see, for instance, [11]. The model proposed in this work is able to include any variant of the pickup and delivery problem which takes into account earliness and tardiness costs, both on pickups and deliveries (which are, in effect, relaxations of the problems with fixed pickup dates and delivery dates or time-windows). 3. The dynamic behaviour of the supply-chain In the above sections, the models of the nodes of a DSC have been introduced, and the meanings of “tentative delivery dates” and “requested due dates” have been described. Now, in this section the dynamic behaviour of the net and the communication protocols between the nodes are considered. In this framework, it is worth saying that there are two ways the nodes can dynamically interact:
942
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
Fig. 3. (A) A generic node i with a single input and a single output. (B) A generic node i with two upstream input nodes a and b and a single output node.
(i) They can share a common goal and cooperate to reach it. In this cooperative case some elements of the supplychain might “pay” higher production costs rather than if they were alone, while the whole systems has a global benefit, for instance in terms of earliness and tardiness of jobs with respects of the orders of end users. (ii) The whole system still has the same goal of the cooperative case, but some elements of the net compete with each other trying to maximise their own benefit. A typical example of this competitive case, is when two or more elements of a supply-chain try to satisfy a demand coming from a common output node on their own. Unfortunately, in most cases, the global performance and the local goals are in opposition since minimising, for instance, the global earliness and tardiness or the capability of quickly schedule additional orders, requires high inventory levels, which represent costs for the single nodes (see Eqs. (1), (5) and (12)). However, it is clear that, if each node i is not, in some way, “forced” in taking into account the common goal, for instance by means of additional constraints or by means of additional terms in its cost function, it simply tries to minimise its own costs. In the presented model this feature is faced by means of the functions f1 and f2 , added to each local objective function of the nodes. In the following sections, the interaction protocols between the nodes will be described with the aim of underlining the differences between the cooperative and the competitive cases. 3.1. General framework The main idea is that all the nodes exchange information about their “desired” release and completion times for each job j which minimise their own production costs. In general, optimal release times (resp., optimal completion times) of a node i does not coincide with optimal completion times (resp., optimal release times) of its upstream (resp., downstream) nodes. Then, it is necessary to define a “contract algorithm” which tries to force their convergence. Note that it is not guaranteed that the algorithm converge to a solution in which tentative due the dates of jobs are less than the requested ones, meaning that the “global” solution may be unfeasible. However, the contract net protocol defined in this work is able to reduce the gaps between requested and tentative due dates, while run-time rules used during the simulations are able to eliminate the infeasibility of the solution. 3.2. General case: Sequence of nodes Consider the basic structure reported in Fig. 3.A, where a generic node i of the sets M or T is depicted together with its upstream and downstream nodes. The node i in such “sequence of nodes” can also represent a supplier of the set S if the node I(j) is cut. Moreover, in such a structure, there is no difference between the competitive and collaborative cases. Then, as regards the communication protocol used in such a structure to reach a common production plan, it is given by the following Algorithm 1: Algorithm 1. General Contract Net Protocol (CPN) Algorithm (i) set the iteration counter k = 0;
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946 j
943 j
(ii) given, ∀ j ∈ Ji , the requested due dates rddO(j),i from the node O(j) and the tentative due dates tddI(j),i from the node I(j), the node i finds its optimal schedule accordingly with its structure. As previously said, the node i takes into account, by means of the functions f1 and f2 , the mismatch between the rdd of the downstream nodes and the tdd of the upstream nodes, with respect to its completion times and desired release time; j j (iii) i submits the tentative due date tddi,O(j) = ci,j to the downstream node O(j), and the requested due date rddi,I(j) = ci,j − duri,j to the upstream node I(j); j j j j (iv) if tddi,O(j) rddO(j),i and rddi,I(j) tddI(j),i then the nodes I(j), i, and O(j) have reached a common production plan and the algorithm stops; (iv) otherwise, if k is less than the maximum admissible number of iterations Kmax , set k = k + 1, and let the process restart from step (ii). 3.3. The contract net protocol for assemblers Whenever the node i is an assembler, the contract protocol has to be modified since the set I(j) of the upstream nodes of i gathers two or more elements, as in the example depicted in Fig. 3.B, for which I(j) = {a, b}. In this case, the CPN algorithm becomes: Algorithm 2. (Assembler Contract Net Protocol Algorithm) (i) set the iteration counter k = 0; j j (ii) given, ∀ j ∈ Ji , the requested due dates rddO(j),i from the node O(j) and the tentative due dates tddI(j),i from all the nodes k ∈ I(j), the node i solves its local optimisation problem, accordingly with its structure. As in the general case, thanks to the functions f1 and f2 , the node i takes into account the mismatch between the rdd of the downstream nodes and the tdd of the upstream nodes, with respect to its completion times and desired release times; j (iii) i submits the tentative due date tddi,O(j) = ci,j to the downstream node O(j), and the same requested due date j
rddi,I(j) = ci,j − duri,j to every upstream node in I(j); j
j
j
j
(iv) if tddi,O(j) rddO(j),i and rddi,h tddh,i ∀ h ∈ I(j), then the nodes h ∈ I(j), i, and O(j) have reached a common production plan and the algorithm stops; (v) otherwise, if k is less than the maximum admissible number of iterations Kmax , set k = k + 1, and let the process restart from step (ii). 3.4. The contact net protocol for competitors In this section, the case of competition among different nodes is described. Although, the structure of the DSC is quite similar to the assembly structure of Fig. 3.B, the contract protocol is significantly different. In facts: • the node i ∈ T, M or A, communicates different information to all its “potential suppliers” and, at the end of the contract net protocol, has to select which nodes will become its real input nodes for the job j; • at each iteration k, the node i may change the quantities Qh,j of parts required to its potential suppliers by increasing j j those relevant to such suppliers for which rddi,h tddh,i , and reducing those relevant to the suppliers for which j
j
j
j
rddi,h tddh,i or rddi,h tddh,i , ∀ h ∈ I(j). In other words, i increases the quantities requested to those node which are able to satisfy the demand and decreases the quantities to those node which lead to high waiting times or infeasibility; • in such a case, at the end of the contract net protocol, some nodes in I(j) may be excluded from the production plan, since their quantities have become null. Then, due to this considerations, the CPN above introduced can be rewritten as: Algorithm 3. (Competition Contract Net Protocol Algorithm)
944
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
(i) set the iteration counter k = 0; j j (ii) given, ∀ j ∈ Ji , the requested due dates rddO(j),i from the node O(j) and the tentative due dates tddI(j),i from each node in the set of suppliers I(j), the node i solves its local optimisation problem; (iii) the node i use its own decision policies in order to change the quantities requested by the nodes in I(j), as above described; j (iv) i submits the tentative due date tddi,O(j) = ci,j to the downstream node O(j), and the relevant requested due dates j
rddi,I(j) = ci,j − duri,j and quantities Qh,j to the upstream nodes in ∀ h ∈ I(j); j
j
j
j
(v) if tddi,O(j) rddO(j),i and rddi,h tddh,i ∀ h ∈ I(j), then the nodes h ∈ I(j), i, and O(j) have reached a common production plan and the algorithm stops; (vi) otherwise, if k is less than the maximum admissible number of iterations Kmax , set k = k + 1, and let the process restart from step (ii). 3.5. Convergence rules As said before, the above algorithms do not guarantee that tentative e requested delivery dates converge to a unique value. Hence, the global solution obtained by the contract net protocol may be feasible although containing “high gaps” j j j j j j between tentative and requested due dates (rddi,h tddh,i or tddi,l rddl,i ) or it may be unfeasible (rddi,h < tddh,i j
j
or tddi,l > rddl,i ) for some upstream/downstream node. Then, to face this last case, some “distributed” rules have to be applied, in order to make the solution globally feasible. Moreover, such rules must be different for the cooperative and the competitive case. Suppose, for instance, that a manufacturer i (the rules are similar for the other node types) asks for a job j to the j j node k, with a requested due date R = rddk,i , and suppose that the node k answers with a tentative due date T = tddi,k . • If R > T the solution is globally feasible, but we have to decide if job j will be stored in the output inventory of node k or in the input inventory of job i. In a collaborative environment, the job will be stored in the less expensive inventory, while in a competitive environment the real delivery date will be fixed at time T + R/2. • If R < T the solution is not globally feasible. In this case, the competitive and collaborative cases use the same rules, and the real delivery dates will be fixed “as soon as possible”, hence at time T. j
Summarising, the complete rule to compute the real delivery date dki between supplier k and customer node i is the following: ⎧ in < ωout , cooperative case T if : R > T, ωi,k,j ⎪ k,i,j ⎪ ⎪ ⎪ in ≥ ωout , cooperative case ⎪ ⎨R if : R > T, ωi,k,j k,i,j j dki = T + R ⎪ ⎪ if : R > T , competitive case ⎪ ⎪ 2 ⎪ ⎩ T if : T ≤ R, both competitive and cooperative cases 3.6. The convergence algorithm j
j
As said before, the functions f1 (ci,j , rddO(j),i ) and f2 (ci,j − duri,j , tddh,i ), ∀ h ∈ I(j), weight the earliness/tardiness of the job j with respect to the requested due dates coming from a customer node O(j) or with respect to the desired release times specified by the tentative delivery dates of the suppliers h ∈ I(j), respectively. Such functions are the key of a successful convergence of the algorithm, since they affect the behaviour of the overall convergence algorithm. The simplest choice is to use linear functions, defined as follows: j
j
j
f1 (ci,j , rddO(j),i ) = λi,O(j) (ci,j − rddO(j),i ) j
j
(19) j
f2 (ci,j − duri,j , tddh,i ) = λh,i (ci,j − duri,j − tddh,i )
∀ h ∈ I(j)
(20)
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
945
It is worth to point out that with this choice for the functions f1 and f2 , the proposed model is equivalent to the model obtained by lagrangian relaxation from a centralised mixed integer linear programming model which includes the costs functions and the constraints for all the nodes of the supply-chain. In fact in a centralised environment the following precedence constraints ci,j ≤ ci+1,j − duri+1,j
(21)
ci,j − duri,j ≥ ci−1,j
(22)
must be specified. It is easy to note that such constraints are the only ones which couple the problems on the different nodes, and their relaxation lead to the terms specified in Eqs. (19) and (20), since in the proposed formulation ci+1,j − j j duri+1,j = rddO(j),i and ci,j − duri,j = tddI(j),i . As described in the relevant literature, the lagrangian relaxation technique can be used in order to move constraints into the cost function (see, for instance, [9]), thus obtaining several decomposed local problems, each for a node of the j j supply-chain, coupled two-by-two by the lagrangian multipliers values λi,O(j) and λI(j),i , the proposed due dates and the tentative delivery dates. The quality of the production plan produced by the algorithm strongly depends on the values assigned to lagrangian multipliers. In order to optimise the so called “lagrangian dual problem”, it is possible to use a subgradient based method, where the multiplier values are updated, at each iteration of the convergence algorithm, in the direction given by the normalised difference between the requested due date and the tentative due date. This update is computed immediately after each node has performed its local optimisation. For a node i, a job j, and its suppliers h ∈ I(j) the update step is the following: j j j j λh,i (k + 1) = λh,i (k) + step rddh,i (k) − tddh,i (k), k being step a function which depends on the difference between requested and tentative due dates. Moreover, step usually decreases with k. Furthermore, it is always possible to find conditions which the lagrangian multipliers must respect in order to keep the optimal solutions of the local problems bounded, and to ensure the stability of the overall algorithm. In fact the objective functions of any local problem i has the structure ai,j ci,j min j
where ai,j is a function of the multipliers. Hence, to ensure the stability of the algorithm, it has to be fulfilled the constraint ai,j > 0 for all jobs j. In reference [8], it has been shown how to use these additional constraint on the multiplier values in order to build an algorithm for a simple case study (a flow shop problem with earliness, tardiness and intermediate inventory costs). The simulation results, described in such a paper, shows that the proposed decentralised algorithm is able to find good solutions for the considered problem. 4. Conclusions In this paper, a detailed model of distributed supply-chain has been presented and the characteristics of modularity and optimisation-oriented modelling approach have been pointed out. In particular, the internal model of each single node has been discussed together with the contract protocols of the communications between all the nodes of the DSC. Future works will focus on the creation of medium and large sized networks to be used as case studies, in order to test the effectiveness of the introduced models. Acknowledgment This work has been supported by the Italian research project PRIN 2003.
946
M. Ghirardi et al. / Mathematics and Computers in Simulation 79 (2008) 937–946
References [1] A.D. Baker, A survey of factory control algorithms that can be implemented in a multi-agent heterarchy: dispatching, scheduling and pull, J. Manuf. Syst. 14 (4) (1998) 297–320. [2] D. Brugali, G. Menga, Architectural models for global automation systems, IEEE Trans. Robot. Automat. 18 (4) (2002) 487–493. [3] K. Bulbul, P. Kaminsky, C. Yano, Flow shop scheduling with earliness, tardiness and intemediate inventory holding costs, Naval Res. Logist. (2004) 407–445. [4] C. Cubillos, F. Guidi Polanco, G. Menga, The agent-based GAP: a framework for global automation systems, in: 13th IEEE Int. Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, WET ICE 2004, 2004, pp. 53–58. [5] F. Della Croce, G. Menga, R. Tadei, M. Cavalotto, L. Petri, Cellular control of manufacturing systems, Eur. J. Operat. Res. 69 (1993) 498–509. [6] L. Fang, P.B. Luh, K. Narimatsu, T. Moriya, T. Shimanda, Y. Zhang, A marco-level scheduling method using Lagrangian relaxation, IEEE Trans. Robot. Automat. 17 (1) (2001) 70–79. [7] M.S. Fox, M. Barbuceanu, R. Teigen, Agent-oriented supply-chain management, in: The International Journal of Flexible Manufacturing Systems, vol. 12, Kluwer Academic Publishers, 2000, pp. 165–188. [8] M. Ghirardi, G. Menga, N. Sacco, Decentralized optimization of distributed supply-chain, Proc. IEEE Int. Conf. Robot. Automat. (2006) 1450–1455. [9] J.F. Shapiro, A survey of Lagrangian techniques for discrete optimization, Ann. Discrete Math. 5 (1) (1979) 113–138. [10] R. Smith, The contract net protocol: high level communication and control in distributed problem solver, IEEE Trans. Comput. 29 (1980) 1104–1113. [11] P. Toth, D. Vigo, The vehicle routing problem, SIAM Monogr. Discrete Math. Appl. (2002). [12] N. Viswanadham, R.S. Gaonkar, Pattern selection and synchronized planning in dynamic manufacturing networks, IEEE Trans. Robot. Automat. 19 (1) (2003) 117–130.