Upload
jiangtao-mo
View
217
Download
1
Embed Size (px)
Citation preview
Applied Mathematics and Computation 171 (2005) 464–485
www.elsevier.com/locate/amc
A manufacturing supply chainoptimization model for distilling processq
Jiangtao Mo a,*,1, Liqun Qi b, Zengxin Wei c
a School of Science, Xian Jiaotong University, Xian, Shanxi, Chinab Department of Applied Mathematics, Hong Kong Polytechnic University, Kowloon, Hong Kong
c School of Mathematics and Information Science, Guangxi University, Guangxi, China
Abstract
In this paper, the model of an integrated manufacturing supply chain where multiple
products are manufactured across multiple manufacturing plants with distilling process
is considered. This kind of supply chain often arises in such manufacturing scenarios
where the products are distilled from one raw material. To solve the problem, we refor-
mulate it as a minimum cost flow problem plus several bounded variables. Based on this
reformulation, we show that the basis of the reformulated problem is closely related
with the minimum cost flow problem and design a kind of network simplex method
to get the integrated optimal solution of the problem. The efficiency of the method is
also tested by our numerical experiments.
� 2005 Elsevier Inc. All rights reserved.
0096-3003/$ - see front matter � 2005 Elsevier Inc. All rights reserved.
doi:10.1016/j.amc.2005.01.041
q Supported by the Research Grant Council of Hong Kong, Australia Research Council, and the
Natural Science Foundation of Guangxi (No. 0135004).* Corresponding author. Present address: School of Mathematics and Information Science,
Guangxi University, Guangxi, China.
E-mail addresses: [email protected] (J. Mo), [email protected] (L. Qi), [email protected]
(Z. Wei).1 This work was done when the author visited Department of Mathematics and Statistics, Curtin
University of Technology, Perth, Australia.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 465
Keywords: Supply chain; Optimization model; Minimum cost flow; Network simplex algorithm;
Distilling process
1. Introduction
A supply chain is an integrated network of suppliers, manufacturing plants
and distributing channels which are organized to acquire raw materials, to
convert those raw materials to final products, and then to distribute those
products to customers. In the supply chain, there are several organizations
which are responsible for purchasing and manufacturing the raw materials,
and distributing the final production, respectively. Although these organiza-
tions are owned by a single firm, they always operate independently and
sometimes they may conflict. That is, there may not be a single and integratedplan for the firm. Based on this observation, we attempt to present an inte-
grated model of production–distribution system with distilling process in this
paper.
To our knowledge, a large number of manufacturing models have been pro-
posed for the design and planning supply chain network, see [1–4] and the pa-
pers cited therein. In [5], Cohen and Lee developed a comprehensive modelling
framework which links material management activities throughout the mate-
rial production–distribution supply chain, in which the framework consistsof four stochastic sub-models and the optimal solution for each sub-model is
solved individually under certain assumptions. However, it would be hard to
find an optimal solution if all sub-models are integrated. Later, Cohen et al.
[6] considered the operation of a network of supplier, producers and markets,
which includes material requirement balance constraints. Cohen and Lee [7]
presented a simplified version of the model in [5].
Recently, more complicated manufacturing network is considered, such as
the synthesis of different materials to one product and/or the distilling of onematerial to many different products. To model this manufacturing scenarios,
Fang and Qi [9] described a generalized network model which consists of the
operation of a network of suppliers, producers and customers. In this model,
the producer has two production modes: distillation and combination. By
using a simplified version of the model which is called distribution network,
the authors of [9] proposed a network simplex method to solve the problem.
In this paper, we consider a manufacturing supply chain model with distill-
ing process. The model consists of several sub-networks which deal with theraw material and productions separately. Motivated by the work of Ahuja
et al. [10] and Calvete [11], we will give a new method to solve the model so
that the optimal solution of integrated all sub-networks can be found effi-
ciently. Using a similar technique, we reformulate the model as a minimum
466 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
cost problem plus several bounded variables. A modified network simplex
method which exploits the special structure of basis is presented and we can
perform the computations on the network.
The rest of this paper is organized as follows. In Section 2, we would give
descriptions of the manufacturing supply chain with distilling process and pres-
ent its mathematics formulation; in Section 3, we reformulate the problem as aminimum cost flow problem plus several bounded variables and characterizes
some the properties; in Section 4, we discuss the structure of basis; in Section 5,
we would give a network simplex method to solve this supply chain model, and
in the last section, we would give a numerical experiment to the proposed
algorithm.
2. A manufacturing supply chain
We now consider the following manufacturing scenarios: A firm has p man-
ufacture plants that produces q products. The production process starts with
the supply of raw material, the raw material are distilled into q products in
the next step of the process, and distribution and sales are done in the final
step. Our aim is to make an integrated decision which minimizes the total cost
of raw material, production and distribution.
For simplify, in network G with node set N and arc set A, the set of enter-ing and leaving nodes at each i 2 N will be denoted by E(i) and L(i),
respectively:
EðiÞ ¼ fj 2 N : ðj; iÞ 2 Ag and LðiÞ ¼ fj 2 N : ði; jÞ 2 Ag:
First, we give a description of the overall network structure. Let G0 be the sup-
ply sub-network where the nodes represent suppliers, transit points or manu-
facturing plants, and Gj be the distribution sub-network where the nodesrepresent customers/demand or transit points of product j, j = 1, . . . ,q. Further-more, we assume that these sub-networks are independent from each other.
Let M � N0 be the set of manufacturing plants. We characterize the distill-
ing process at each i 2 M: There is only one entering node i0 in N0 and one
leaving node ik in Nk for k = 1, . . . ,q, i.e.,
EðiÞ ¼ fi0g and LðiÞ ¼ fi1; i2; . . . ; iqg 8i 2 M; ð1Þ
and the flow value on an output arc is proportional to flow value on input arc,
i.e.,
xij ¼ aki xi0i 8i 2 M and j ¼ ik; k ¼ 1; . . . ; q; ð2Þ
where aki is the amount of product k produced by plant i with one unit of rawmaterial.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 467
Clearly, the network model G for manufacturing supply chain with distilling
process consists of network Gi, i = 0, . . . ,k, and arcs in Aþ ¼ [i2Mfði; ikÞ :k ¼ 1; . . . ; qg, i.e., the node set N and the arc set A of G are
N ¼ [qk¼0Nk and A ¼ Aþ [ ð[q
k¼0AkÞ:
We also assume that each arc satisfies a capacity constraint:
0 6 xij 6 uij 8ði; jÞ 2 A;
where uij P 0, and each node in N�M satisfies the mass balance constraint:Xj2LðiÞ
xij �Xj2EðiÞ
xji ¼ bi 8i 2 N�M;
where bi is a constant such that
bi
P 0; if i 2 N0;
¼ 0; if i 2 M;
6 0; if i 2 [qk¼1Nk:
8><>:
We refer to node i as a transition if bi = 0, a supplier if bi > 0, and a customer if
bi < 0.
Finally, a network flow formulation of the manufacturing supply chain with
distilling process is as follows:
minX
ði;jÞ2Acijxij
s:t: 0 6 xij 6 uij 8ði; jÞ 2 A;Xj2LðiÞ
xij �Xj2EðiÞ
xji ¼ bi 8i 2 N�M;
xij ¼ aki xi0i 8i 2 M; j ¼ ik; k ¼ 1; . . . ; q:
ð3Þ
In this paper, we assume that each plant produces the same amount of prod-
uct k with one unit of raw material, i.e.,
aki ¼ akj 8i; j 2 M and i 6¼ j; k ¼ 1; . . . ; q; ð4Þ
and Xq
k¼1
aki ¼ 1 8i 2 M; akiXi2N0
bi ¼ �Xi2Nk
bi k ¼ 1; . . . ; q: ð5Þ
By (1) and (2), it is easy to verify thatXj2LðiÞ
xij �Xj2EðiÞ
xji ¼ 0 8i 2 M;
i.e., the mass balance equation also holds for each node i 2 M.
468 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
3. Problem reformulation and properties
In this section, we first give a reformulation of the problem (3) and then
present a result which plays an important role in our algorithm.
For simplicity, we give some notation. Without loss of generality, we assume
that M ¼ f1; 2; . . . ; pg, and Nk, the node set of network Gk, contains nodes{nk + 1, . . . ,nk+1}, k = 0,1, . . . ,q and 0 = n0 < p < n1 < � � � < nq+1 = n.
For l = 1,2, . . . ,p, if i 2 N0, let
bli ¼
1; if i 2 M and i ¼ l;
�akl ; if i ¼ lk and k ¼ 1; 2; . . . ; q;
0; otherwise:
8><>:
It follows thatXi2N0
bli ¼ 1;
Xi2Nk
bli ¼ �akl l ¼ 1; . . . ; p and k ¼ 1; . . . ; q; ð6Þ
and from (5) and (6), we obtainXi2N
bli ¼ 0 l ¼ 1; 2; . . . ; p: ð7Þ
For each i 2 M, let
ci ¼Xq
k¼1
aki ciik and ui ¼ min16k6q
uiikaki
� �:
Then
0 6 xi 6 ui 8i 2 M:
Let eG be the network ðN;fAÞ, where fA ¼ A�Aþ, and leteEðiÞ ¼ fj : ðj; iÞ 2 fAg; eLðiÞ ¼ fj : ði; jÞ 2 fAg, for i 2 N. Now, we give a
reformulation of problem (3): Substituting xij ¼ aki xi for each i 2 M and
j = ik, k = 1,2, . . . ,q, into (3) gives the following statement of the model for
manufacturing supply chain with distilling process:
minXði;jÞ2eA cijxij þ
Xp
l¼1
clxl
s:t: 0 6 xij 6 uij 8ði; jÞ 2 fA;Xj2eLðiÞ xij �
Xj2eEðiÞ xji þ
Xp
l¼1
bli xl ¼ bi 8i 2 N;
0 6 xl 6 ul l ¼ 1; 2; . . . ; p;
ð8Þ
where bi = 0 for all i 2 M.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 469
Now, we only need to consider problem (8). We assume that p < n � q
holds. Note that this assumption is necessary, since otherwise, as we shall prove
in Theorem 1, there will be many basic feasible solutions of problem (8) involv-
ing only variables from {x1, . . . ,xp}, and hence our algorithm will fail to find a
solution.
Without loss of generality, we assume that each sub-network Gk contains atleast one spanning tree, k = 0,1, . . . ,q; otherwise, we can add artificial arcs with
sufficiently large costs.
Finally, we give a result about the rank of constraint matrix associated to
constraints (8) which is an extension of Lemma 6 in [11].
Theorem 1. The rank of the coefficient matrix bA corresponding to constraints (8)
is equal to n � q.
Proof. By the assumption, the matrix bA can be written as follows:
bA ¼
A0 0 0 � � � 0 b0
0 A1 0 � � � 0 b1
0 0 A2 � � � 0 b2
� � � � � � � � � � � �
0 0 0 � � � Aq bq
0BBBBBBBB@
1CCCCCCCCA;
where 0 is a matrix of conformal dimensions with all entries zero, Ak is the
node-arc incidence matrix of Gk and
bk ¼b1nkþ1 b2
nkþ1 � � � bpnkþ1
� � � � � � � � � � � �b1nkþ1
b2nkþ1
� � � bpnkþ1
0BB@
1CCA
for k = 0,1, . . . ,q.Let aik be the ith row vector of matrix Ak, i = nk + 1, . . . ,nk+1. By the
assumption, Gk contains a spanning tree, thus rank(Ak) = nk+1 � nk � 1, k = 0,
1, . . . ,p. Without loss of generality, we assume that ankþ2k ; ankþ3
k ; . . . ; ankþ1
k are
linearly independent, thus matrix �Ak, whose row vectors are ankþ2k ; . . . ; ankþ1
k , has
row full rank, i.e., rankð�AkÞ ¼ nkþ1 � nk � 1, k = 0,1, . . . ,q. By (7) and the
property of node-arc incidence matrix, summing up all the rows of A up yields a
zero vector. By (6), summing up the rows from (nk + 1)th row to nk+1th row
yields the vector ð0; . . . ; 0zfflfflfflffl}|fflfflfflffl{m
;�ak1;�ak2; � � � ;�akpÞ, for k = 1, . . . ,q, where m is the
number of arcs in eG. Then the (nk + 1)th row to nk+1th row of bA becomes
470 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
0 0 0 �ak1 �ak2 � � � �akpb1nk�1þ2 b2
nk�1þ2 � � � bpnk�1þ2
0 �Ak 0 � � � � � � � � � � � �b1nk
b2nk
� � � bpnk
0BBB@
1CCCA
for k = 0,1,2, . . . ,p and a01 ¼ a02 ¼ � � � ¼ a0p ¼ 0.
Hence, by (4), the rank of matrix bA isPq
k¼0rankð�AkÞ þ 1 ¼ n� q. This
completes the proof of the theorem. h
4. Structure of the basis
According to the theorem in last section, problem (8) is a linear program-
ming problem with bounded variables whose coefficient matrix has rank
n � q. Therefore, basic feasible solutions are composed by n � q basic variables
and the rest of the variables are fixed at their lower or upper bound.Let us consider that v variables in {x1, . . . ,xp} are basic, 1 6 v 6 p. For sim-
plicity, we assume that these variables are x1, . . . ,xv. Then, to get a basic solu-
tion, we should select n � q � v variables xij, ði; jÞ 2 fA, whose associated
vectors in matrix bA are linearly independent and also independent of those
of variables x1, . . . ,xv.In order to get n � q � v linearly independent vectors in bA, we select a span-
ning tree Tk in Gk, k = 0, . . . ,q, and remove v � 1 arcs from trees T0, . . . ,Tq. Let
tk be an integer satisfying
0 6 tk 6 nkþ1 � nk � 1; k ¼ 0; . . . ; q andXq
k¼0
tk ¼ v� 1: ð9Þ
If we remove tk arcs, Tk is separated into tk + 1 node-disjoint trees T 1k ; . . . ; T
tkþ1k .
Thus, the basic variables can be viewed as a forest F formed by the collection
of trees T 10; . . . ; T
t0þ10 ; T 1
1; . . . ; Tt1þ11 ; . . . ; T 1
q; . . . ; Ttqþ1q that together spans all
nodes in network eG. As in [11], we refer to this structure as a spanning forest.
Let bB denote the submatrix of bA associated with the spanning forest F and
V1, . . . ,Vv be vectors associated with variables x1, . . . ,xv, let bB0 be the matrix asfollows:bB0 ¼ ðbB V 1 V 2 � � � V vÞ:
Let D be a v · v matrix
D ¼
a
D1
� � �Dq
0BBB@
1CCCA; ð10Þ
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 471
where a ¼ ð�a11;�a12; . . . ;�a1vÞ and
Dk ¼
d2k;1 d2
k;2 � � � d2k;v
d3k;1 d3
k;2 � � � d3k;v
� � � � � � � � � � � �dtkþ1k;1 dtkþ1
k;2 � � � dtkþ1k;v
0BBBB@
1CCCCA; k ¼ 1; 2; . . . ; p:
dlk;j ¼
Xi2T l
k
bji j ¼ 1; 2; . . . ; p and l ¼ 1; 2; . . . ; tk þ 1: ð11Þ
The following result gives a suitable condition that guarantees bB0 is a basis
of problem (8).
Theorem 2. The rank of the matrix bB0 is equal to n � q if and only if the matrix
D has full rank, i.e., rank(D) = v.
Proof. Without loss of generality, we assume that the nodes set of tree T lk con-
tains nodes fnl�1k þ 1; . . . ; nlkg, where l = 1,2, . . . , tk + 1, k = 0,1, . . . ,q and
nk ¼ n0k < n1k < n2k < � � � < ntkk < ntkþ1k ¼ nkþ1:
Then the block from (nk + 1)th row to nk+1th row of bB0 can be written as
follows:
; ð12Þ
where 0 are matrices of the conformal dimensions with all entries equal to zero,
Alk is the node-arc incidence matrix of T l
k and
Dlk ¼
b1nl�1k þ1 b2
nl�1k þ1 � � � bv
nl�1k þ1
b1nl�1k þ2 b2
nl�1k þ2 � � � bv
nl�1k þ2
� � � � � � � � � � � �b1nlk
b2nlk
� � � bvnlk
0BBBBB@
1CCCCCA
for l = 1,2, . . . , tk + 1 and k = 0,1, . . . ,q.Note that every non-singular square sub-matrix of the node-arc incidence
matrix of a directed network is triangular, and summing up all rows yields a
zero vector by (7), for k = 0,1, . . . ,q and l = 1, . . . , tk + 1. By (6), summing up
the rows from ðn0k þ 1Þth to ntkþlk th yields the vector
472 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
ð0; . . . ; 0zfflfflfflffl}|fflfflfflffl{m
;�ak1;�ak2; . . . ;�akvÞ;where a0j ¼ 0, j = 1, . . . ,v. Adding the rows from ðnl�1
k þ 1Þth to nlkth yields the
vector
ð0; . . . ; 0zfflfflfflffl}|fflfflfflffl{m
; dlk;1; d
lk;2; . . . ; d
lk;vÞ;
where dlk;j is defined as in (11) and l = 2, . . . , tk + 1. Thus (12) is equivalent to
the following matrix:
;
where
�Alk ¼
0 0 � � � 0
�1 � � � � �� � � � � � � � � � � �0 0 � � � �1
0BBB@
1CCCA; �D
lk ¼
dlk;1 dl
k;2 � � � dlk;v
b1nl�1k þ2 b2
nl�1k þ2 � � � bv
nl�1k þ2
� � � � � � � � � � � �b1nlk
b2nlk
� � � bvnlk
0BBBB@
1CCCCA;
±1 indicates that the corresponding entry is either +1 or �1.
Since rankðAlkÞ ¼ nlk � nl�1
k � 1, l = 1,2, . . . , tk + 1 and k = 0,1, . . . ,q, it holdsthat
rankðbB0Þ ¼Xq
k¼0
Xtkþ1
l¼1
rankðAlkÞ þ rankðDÞ
¼Xq
k¼0
fðnkþ1 � nkÞ � ðtk þ 1Þg þ rankðDÞ
¼ n� v� qþ rankðDÞ;
where the last equal follows from (9). So rankðbB0Þ ¼ n� q holds iff
rank(D) = v. This completes the proof. h
Now we are ready to characterize the structure of basis solution of (8). Tothis end, the following definition is needed.
Definition 3. An (v + q)-spanning forestF in eG is a good forest with respect to
the variables {xj}j2J, J � {1,2, . . . ,p}, jJj = v, if rank(D) = v, where D ¼ ðdlk;jÞ isan (v · v)-matrix defined as in (10).
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 473
Theorem 4. A basic solution of the problem (8) is constituted by an (v + q)-span-
ning forest F in eG, 1 6 v 6 p, plus a set of v variables {xj}j2J, J � {1, . . . , p},jJj = v, such that F is a good (v + q)-forest with respect to {xj}j2J.
Proof. It is clear from the proceeding developments. h
5. Network simplex algorithm
In this section, we first give a detailed description of the main steps and then
present the network simplex algorithm for (8).
5.1. The initial basic feasible solution
In the beginning of the algorithm, we can obtain an initial basis structure by
adding some nodes and arcs as follows:
We introduce additionally a D-node s and (q + 1) O-nodes: s0, s1, . . . , sq, andthen add arc (s0, s), arcs (j, s0) for each node j 2 E(i), for all i 2 M, and arcs
(sk, l) for each l 2 LðiÞTNk, for all i 2 M and k = 1, . . . ,q. We set the cost
and the capacity of these additional arcs equal to C, where C is a sufficientlylarge number, and their flow values are as follows:
xssk ¼ ak1xs0s; k ¼ 1; 2; . . . ; q:
Let G� be the network which consists of network G�j , j = 0,1, . . . ,q, where G�
0
is the network with the node set N�0 ¼ N0 [ fs0; sg, the arc set
A�0 ¼ A0 [ ð[i2Mfðj; s0Þ : j 2 EðiÞgÞ; G�
j is the network with the node set
N�j ¼ Nj [ fsjg, the arc set A�
j ¼ Aj [ ð[i2Mfðsj; lÞ : l 2 LðiÞTNkgÞ,
j = 1,2, . . . ,q.It is easy to verify that problems (8) associated with eG and that with G� have
the same optimal solution. In the latter problem, the initial basis is a (q + 1)-
spanning forest: T0,T1, . . . ,Tq, plus variable xsð¼ xs0sÞ, where the tree T0 is aspanning tree of G�
0 that contains all arcs (j, s0) for each j 2 E(i), for all
i 2 M, the tree Tk is a spanning tree of G�k that contains arcs (sk, l) for
l 2 LðiÞTNk and i 2 M, k = 1, . . . ,q.
5.2. Computing the value of the basic variables
From now on we assume that the basis is given by a good (v + q)-forest
F ¼ fT 10; � � � ; T
t0þ10 ; T 1
1; � � � ; Tt1þ11 ; � � � ; T 1
q; � � � ; T tqþ1q g
plus variables of x1,x2, . . . ,xv. Let Ba denote the set of arcs ði; jÞ 2 fA such that
xij is a basic variable, and Bv denote the set of j 2 M such that xj is a basic
variable.
474 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
Let L ¼ fði; jÞ 2 fA � Ba : xij ¼ 0Þ and U ¼ fði; jÞ 2 fA � Ba : xij ¼ uijg;L0 ¼ fj 2 M� Bv : xj ¼ 0g and U 0 ¼ fj 2 M� Bv : xj ¼ ujg.
For k = 0,1, . . . ,q and l = 1,2, . . . , tk + 1, let
blk ¼Xi2T l
k
bi �X
ði;jÞ2V lk;1
uij �X
ði;jÞ2V lk;2
uij
0@
1A�
Xi2T l
k
Xj2U0
bji uj; ð13Þ
where V lk;1 ¼ fði; jÞ 2 U : i 2 T l
k; j 62 T lkg and V l
k;2 ¼ fði; jÞ 2 U : i 62 T lk; j 2 T l
kg.The following Theorem guarantees that the value of variables x1, . . . ,xv is
solvable.
Theorem 5. The value of the basic variables x1, . . . ,xv is the solution of the
following linear system:
DX ¼ bb; ð14Þwhere D is the matrix defined as in (10), X = (x1, . . . ,xv)
T and bb ¼ ðbb1; � � � ; bbvÞT,
bbi ¼
Pt1þ1
l¼1 bl1; if i ¼ 1;
bi0; if 2 6 i 6 t0 þ 1;
bi�t0�����tðk�1Þk ; if
Pk�1
j¼0
tj þ 2 6 i 6Pkj¼0
tj þ 1 and k ¼ 1; . . . ; q;
8>>><>>>:
where blk is defined as in (13).
Proof. After fixing the value of non-basic variables, each constraint in (8) can
be reformulated asXj:ði;jÞ2Ba
xij �X
j:ðj;iÞ2Ba
xji þXv
j¼1
bji xj ¼ b0i; i 2 N;
where b0i ¼ bi �P
j:ði;jÞ2Uuij þP
j:ðj;iÞ2Uuji �P
j2U0bji uj.
Since uij vanishes if i 2 T lk; j 2 T l
k and (i, j) 2 U,Xi2T l
k
b0i ¼Xi2T l
k
bi �X
i2T lk ;j 62T
lk ;ði;jÞ2U
uij þX
i62T lk ;j2T
lk ;ði;jÞ2U
uij �Xi2T l
k
Xj2U0
bji xj
¼Xi2T l
k
bi �X
ði;jÞ2V lk;1
uij þX
ði;jÞ2V lk;2
uij �Xi2T l
k
Xj2U0
bji xj ¼ blk:
Similar to the proof of Theorem 1, to obtain the value of variables x1, . . . ,xv,we may solve the linear system (14). So the proof is complete.
After computing all the variables x1,x2, . . . ,xv, the supply or demand of eachnode should be adjusted accordingly. Then, the general procedure of the
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 475
network simplex algorithm is applied to determine the flow values for arcs in
each tree T lk, l = 1,2, . . . , tk + 1 and k = 0,1, . . . ,q. h
5.3. Computing node potentials for a basis structure
After getting a basic feasible solution, we should verify if it is optimal. For
this purpose, we should calculate node potentials p ¼ fpj : j 2 Ng satisfying
that
cpij ¼ 0 8ði; jÞ 2 Ba and cpj ¼ 0 8j 2 Bv;
where
cpij ¼ cij � pi þ pj 8ði; jÞ 2 fA; ð15Þ
and
cpj ¼ cj �Xi2N
bjipi j ¼ 1; . . . ; p: ð16Þ
We first determine a set of node potentials p so that cpij ¼ 0 for each
(i, j) 2 Ba. This can be done as in the network simplex algorithm.
Next we compute cpj by (16). If cpj ¼ 0, j = 1, . . . ,v, then p are the node poten-
tials; otherwise, we obtain new node potentials bp as follows:
bpi ¼
pi þ r1; if i 2 T 11;
pi þ rl; if i 2 T l0; l ¼ 2; . . . ; t0 þ 1;
pi þ r1 þ rðt0þlÞ; if i 2 T l1; l ¼ 2; . . . ; t1 þ 1;
pi þ rðt0þt1þ���þtðk�1ÞþlÞ; if i 2 T lk; l ¼ 2; . . . ; tk þ 1; k ¼ 2; . . . ; q;
pi; if i 2 T 1k ; k ¼ 0; 2; 3; . . . ; q;
8>>>>>>>><>>>>>>>>:
ð17Þwhere r = (r1,r2, . . . ,rv)
T is the solution of the following linear system:
DTr ¼ cp; ð18Þwhere DT is the transposition of matrix D which is defined as in (10) and
cp ¼ ðcp1 ; cp2 ; . . . ; cpv ÞT.
Lemma 6. The node potentials bp ¼ fbpi : i 2 Ng satisfies
cbpij ¼ 0; 8ði; jÞ 2 Ba and cbpj ¼ 0; 8j 2 Bv:
Proof. It can be easily verified that node potentials bp satisfy cbpij ¼ 0 for each
(i, j) 2 Ba, so for j 2 Bv, it holds that
476 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
cbpj ¼ cj �Xq
k¼0
Xtkþ1
l¼1
Xi2T l
k
bjibpi ¼ cj �
Xq
k¼0
Xi2T 1
k
bjibpi �
Xt0þ1
l¼2
Xi2T l
0
bjibpi
�Xt1þ1
l¼2
Xi2T l
1
bjibpi �
Xq
k¼2
Xtkþ1
l¼2
Xi2T l
k
bjibpi ¼ cj �
Xi2N
bjipi �
Xt1þ1
l¼1
Xi2T l
1
bjir1
�Xt0þ1
l¼2
Xi2T l
0
bjirl �
Xt1þ1
l¼2
Xi2T l
1
bjirðt0þlÞ �
Xq
k¼2
Xtkþ1
l¼2
Xi2T l
k
bjirðt0þ���þtðk�1ÞþlÞ ¼ cj
�Xi2N
bjipi � ð�a1j Þr1 �
Xt0þ1
l¼2
dl0;jrl �
Xq
k¼1
Xtkþ1
l¼2
dlk;jrðt0þ���þtðk�1ÞþlÞ ¼ cpj
� ð�a1j ; d20;j; . . . ; d
t0þ10;j ; d2
1;j; . . . ; dt1þ11;j ; . . . ; d2
q;j; . . . ; dtqþ1q;j Þ
r1
� � �rv
0@
1A
¼ cpj � cpj ¼ 0;
where the third equality follows from (17), and the fourth equality follows from
(11) and (6), so the proof is complete. h
5.4. Optimization testing and selecting entering variable
Since the problem (8) is a linear program, the optimality conditions can be
written as follows:
cpij P 0; 8ði; jÞ 2 L; cpij 6 0; 8ði; jÞ 2 U ; ð19Þ
and
cpj P 0; 8j 2 L0; cpj 6 0; 8j 2 U 0; ð20Þ
where cpij and cpj are defined in (15) and (16).
If the given basis structure satisfies the optimality conditions (19) and (20), it
is optimal and the algorithm terminates. Otherwise, the algorithm selects a
non-basis arc (i, j) in L [ U violating the condition in (19) or a variable xj in
L0 [ U0 violating the condition in (20) according to any usual rules [12].
5.5. Selecting the leaving variable
Suppose that we have selected an entering variable which is equal to its lower
bound. Similar arguments can be made if the variable is equal to its upper
bound.
We determine the rest variables as follows. First, we increase the value of the
entering variable by h units and adjust the value of the basic variables, then find
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 477
the maximum value of h such that the basic variables remains feasible. If the
maximum value of h is zero, the entering variable remains non-basis at its
upper bound. Otherwise, the non-basis variable enters the basis and one basis
variable will leave at its lower or upper bound.
Now, three cases are needed to be considered separately.
Case 1. The entering variable is xij, i 2 T sk; j 2 T s
k, 0 6 k 6 q and
1 6 s 6 tk + 1.
In this case, we can execute the same method on T sk as in the network
simplex algorithm for the minimum cost flow problem because the addition of
the entering variable xij only affects tree T sk. We therefore omit the detailed
discussion for this case.
Case 2. The entering variable is xij, i 2 T lk; j 2 T h
k , where k, l, h are integer
such that 0 6 k 6 q and 1 6 l < h 6 tk + 1.
Suppose that we sent an additional amount of flow h through arc (i, j). Then
the demand of tree T lk decreases in h units and the demand of T h
k increases in hunits. The demand of T j
i is defined as follows:
bjiðhÞ ¼bji � h; if i ¼ k and j ¼ l;
bji þ h; if i ¼ k and j ¼ h;
bji ; otherwise;
8><>:
where bji is defined as in (13), j = 1, . . . , tk + 1 and i = 0,1, . . . ,q.To satisfy the mass balance, the values of variables x1, . . . ,xv will be changed
and the new value can be calculated by solving the following modification of
system (14):
DX ¼ bbðhÞ; ð21Þwhere bbðhÞ ¼ ðbb1ðhÞ; . . . ; bbvðhÞÞT, and
bbiðhÞ ¼
Pt1þ1
l¼1 bl1ðhÞ; if i ¼ 1;
bi0ðhÞ; if 2 6 i 6 t0 þ 1;
bi�Pk�1
j¼0
tj
k ðhÞ; ifPk�1
j¼0
tj þ 2 6 i 6Pkj¼0
tj þ 1 and k ¼ 1; . . . ; q:
8>>>>><>>>>>:
ð22ÞNext, the new value of the remaining basis variables is appropriately calcu-
lated, as indicated in the Section 5.2, and the value of h is increased until xijor one of the basis variables reaches one of its bounds. As in Case 1, if xij reaches
its upper bound, this variable remains non-basic and all basic variables are
adjusted accordingly. Otherwise, xij enters the basis, one basic variable will leave
one its bounds, and the rest of the basic variables are adjusted accordingly.
478 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
Case 3. The entering variable is xj, where r < j 6 p.
By the structure of eG, we assume that j 2 T s0, 1 6 s 6 t0 + 1, and jk 2 T ks
k ,
where jk 2 L(j) and k = 1, . . . ,p, 1 6 ks 6 tk + 1. Suppose that we sent an
additional flow h through variable xj. Then the demand of tree T s0 decreases in
h units and the demand of tree T ksk increases in akjh units, k = 1, . . . ,q. Let bskðhÞ
be the demand of T lk, then
blkðhÞ ¼bl0 � h; if k ¼ 0 and l ¼ s;
blk þ akjh; if l ¼ ks and k ¼ 1; . . . ; q;
blk; otherwise;
8><>:
where blk is defined as in (13), l = 1, . . . , tk + 1 and k = 0,1, . . . ,q.The rest of the procedure follows in the same way as in Case 2.
5.6. Algorithm description
Our network simplex algorithm for problem (8) as follows:
Algorithm 1 (Network Simplex Algorithm). Let ðF; fxjgvj¼1; L;U ; L0;U0Þ be aninitial feasible basis structure of problem (8).
Step 1. Calculate the flow x associated with the basis, and the node potentialsp.
Step 2. Check optimality conditions (19) and (20). If they are satisfied, then
stop; otherwise, go to the next step.
Step 3. Select an entering variable which violates its optimality conditions.
Step 4. Add the entering variable to the basis and determine the leaving
variable.
Step 5. Perform a pivot operation, update the basis structure, flow x, and the
node potentials, return to Step 2.
6. Numerical experiments
In order to illustrate Algorithm 1, let us consider the example presented in
Fig. 1 with p = 3 and q = 2. The number adjacent to any node i denotes bi. The
arc costs cij and capacities uij are shown next to the arcs. Suppose that
a11 ¼ a12 ¼ a13 ¼ 0:7; a21 ¼ a22 ¼ a23 ¼ 0:3.In the network, N0 ¼ f1; . . . ; 10g; N1 ¼ f11; . . . ; 15g; N2 ¼ f16; . . . ; 20g
and A0 ¼ fð4; 5Þ; ð4; 8Þ; ð5; 6Þ; ð5; 8Þ; ð5; 10Þ; ð6; 9Þ; ð6; 10Þ; ð7; 6Þ; ð7; 10Þ; ð8; 1Þ;ð9; 2Þ; ð10; 3Þg; A1 ¼ fð11; 12Þ; ð11; 13Þ; ð11; 15Þ; ð12; 15Þ; ð13; 14Þ; ð14; 11Þ; ð14;
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 479
12Þ; ð15; 14Þg; A2 ¼ fð16; 17Þ; ð16; 18Þ; ð16; 19Þ; ð17; 18Þ; ð17; 20Þ; ð18; 19Þ; ð19;20Þg; Aþ ¼ fð1; 11Þ; ð1; 16Þ; ð2; 11Þ; ð2; 17Þ; ð3; 12Þ; ð3; 17Þg; M ¼ f1; 2; 3g.
By the definition of bli , we have b1
1 ¼ b22 ¼ b3
3 ¼ 1; bli ¼ 0, i = 1, . . . , 10,
l = 1,2,3 and i 5 l, b111 ¼ �0:7; b1
16 ¼ �0:3; b112 ¼ b1
13 ¼ b114 ¼ b1
15 ¼ b117 ¼
b118 ¼ b1
19 ¼ b120 ¼ 0; b2
11 ¼ �0:7; b217 ¼ �0:3; b2
12 ¼ b213 ¼ b2
14 ¼ b215 ¼ b2
16 ¼b218 ¼ b2
19 ¼ b220 ¼ 0; b3
12 ¼ �0:7; b317 ¼ �0:3; b3
11 ¼ b313 ¼ b3
14 ¼ b315 ¼ b3
16 ¼b318 ¼ b3
19 ¼ b320 ¼ 0, c1 = 11.8, c2 = 10.8, c3 = 2.8, u1 = 130/7, u2 = 20, u3 = 60/
7. Thus, the problem (8) associated to the example is
minXði;jÞ2eA cijxij þ 11:8x1 þ 10:8x2 þ 2:8x3
s:t: 0 6 xij 6 uij 8ði; jÞ 2 fA;Xj2eLðiÞ xij �
Xj2eEðiÞ xji þ
X3
l¼1
bli xl ¼ bi 8i 2 N;
0 6 x1 6 130=7; 0 6 x2 6 20; 0 6 x3 6 60=7;
where fA ¼ A0 [A1 [A2.
Fig. 2 displays a 4-spanning forestF ¼ fT 10; T
20; T 1; T 2g plus two variables x1
and x2, where tree T 10 contains nodes {1,4,5,8}, T 2
0 contains nodes {2,3,6,7,
9,10}, T1 contains nodes {11,12,13,14,15}, T2 contains nodes {16,17,18,
19,20} and d20;1 ¼
Pi2T 2
0b1i ¼ 0; d2
0;2 ¼P
i2T 20b2i ¼ 1; D ¼ �0:7 �0:7
0 1
� �. This
is indeed a basic solution because jDj = �0.75 0.
Fig. 1. An example of manufacturing supply chain.
480 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
6.1. Iteration 1
We assume that all non-basic variable are equal to zero. Since
b10 ¼ 8; b20 ¼ 18; b11 ¼ �18:2; b12 ¼ �7:8 and bb1 ¼ �18:2; bb2 ¼ 18, Eq. (14) is
�0:7 �0:7
0 1
� �x1x2
� �¼
�18:2
18
� �:
Hence x1 = 8 and x2 = 18. The value of basic variables are shown in Fig. 2.
We compute the node potentials: p1 = 0, p2 = 0, p3 = 6, p4 = 19, p5 = 17,
p6 = 15, p7 = 18, p8 = 15, p9 = 12, p10 = 16, p11 = 3, p12 = 1, p13 = 0, p14 = 2,
p15 = �2, p16 = 2, p17 = 3, p18 = 0, p19 = 1, p20 = 0. Since cp1 ¼ 14:5 6¼ 0 andcp2 ¼ 13:8 6¼ 0, we solve Eq. (18),
�0:7 0
�0:7 1
� �r1
r2
� �¼
14:5
13:8
� �;
and obtain r1 ¼ � 1457, r2 = �0.7. By (17), we modify p as follows:bpi ¼ pi � 145
7; 8i 2NðT 1
1Þ; bpi ¼ pi � 0:7; 8i 2NðT 20Þ; bpi ¼ pi; 8i 2NðT 1
0Þ[NðT 1
2Þ, where NðT jkÞ is the node set of T j
k. The new potentials bp arebp1 ¼ 0; bp2 ¼ �0:7; bp3 ¼ 5:3; bp4 ¼ 19; bp5 ¼ 17; bp6 ¼ 14:3; bp7 ¼ 17:3; bp8 ¼15; bp9 ¼ 11:3; bp10 ¼ 15:3; bp11 ¼ � 124
7; bp12 ¼ � 138
7; bp13 ¼ � 145
7; bp14 ¼ � 131
7;bp15 ¼ � 159
7; bp16 ¼ 2; bp17 ¼ 3; ðbp18 ¼ 0; bp19 ¼ 1; bp20 ¼ 0.
We choose x3 entering the basis for cbp3 ¼ �15:4 < 0 and apply Case 3.
To compute the new value of x1 and x2, we solve system (21),
�0:7 �0:7
0 1
� �x1x2
� �¼
�18:2þ 0:7h
18� h
� �:
Fig. 2. Basic feasible solution: value of the basic variables.
Fig. 3. Iteration 1: Case 3, variable x4 enters the basis.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 481
Hence x1 = 8 and x2 = 18 � h. Then we update the supply or the demand of
each node and the value of each basis variables. The maximum value of h is8 and x10,6 leaves basis with x10,6 = 0. The value of the basis variables are
shown in Fig. 3.
6.2. Iteration 2
As in Fig. 3, the current basis structure is a 5-spanning forest plus x1, x2 and
x3, where tree T10 contains nodes {1,4,5,8}, T
20 contains nodes {2,6,9}, T
30 con-
tains nodes {3,7,10}, T1 contains nodes {11,12,13,14,15} and T2 containsnodes {16,17,18,19,20}.
Note that b10 ¼ 8; b20 ¼ 10; b30 ¼ 8; b11 ¼ �18:2; b12 ¼ �7:8, and
D ¼�0:7 �0:7 �0:7
0 1 0
0 0 1
0B@
1CA:
We compute the node potentials: p1 = 0, p2 = 0, p3 = 0, p4 = 19, p5 = 17,
p6 = 15, p7 = 12, p8 = 15, p9 = 12, p10 = 10, p11 = 3, p12 = 1, p13 = 0, p14 = 2,
p15 = �2, p16 = 2, p17 = 3, p18 = 0, p19 = 1, p20 = 0.Since cp1 ¼ 14:5 6¼ 0; cp2 ¼ 13:8 6¼ 0 and cp3 ¼ 4:4 6¼ 0, we solve the system
(18),
�0:7 0 0
�0:7 1 0
�0:7 0 1
0B@
1CA
r1
r2
r3
0B@
1CA ¼
14:5
13:8
4:4
0B@
1CA;
482 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
and obtain r1 ¼ � 1457, r2 = �0.7 and r3 = �10.1. By (17), we modify p as
follows:bpi ¼ pi � 1457; 8i 2 NðT 1
1Þ; bpi ¼ pi � 0:7; 8i 2 NðT 20Þ; bpi ¼ pi � 10:1; 8i 2
NðT 30Þ; bpi ¼ pi; 8i 2 NðT 1
0Þ [NðT 12Þ.
The new potentials bp are bp1 ¼ 0; bp2 ¼ �0:7; bp3 ¼ �10:1; bp4 ¼ 19;bp5 ¼ 17; bp6 ¼ 14:3; bp7 ¼ 1:9; bp8 ¼ 15; bp9 ¼ 11:3; bp10 ¼ �0:1; bp11 ¼ � 1247;bp12 ¼ � 138
7; bp13 ¼ � 145
7; bp14 ¼ � 131
7; bp15 ¼ � 159
7; bp16 ¼ 2; bp17 ¼ 3; bp18 ¼
0; bp19 ¼ 1; bp20 ¼ 0.
We choose x5,10 entering basis for cbp5;10 ¼ �15:1 < 0. For node 5 in T 10 and
node 10 in T 30, we apply Case 2. Solving the system (14),
�0:7 �0:7 �0:7
0 1 0
0 0 1
0B@
1CA
x1x2x3
0B@
1CA ¼
�18:2
10
8þ h
0B@
1CA;
we obtain x1 = 8 � h, x2 = 10 and x3 = 8 + h. The change of the supply/demandof the nodes and the flow value of basis variables are shown in Fig. 4. The max-
imum value of h is 267and the leaving variable is x14,12 at its lower bound. The
flow values are displayed in Fig. 5.
6.3. Iteration 3
The current basic structure is a 5-spanning forest plus variables x1, x2 and x3(Fig. 5), where tree T 1
0 contains nodes {1,3,4,5,7,8,10}, T 20 contains nodes
{2,6,9}, T 11 contains nodes {11,12,13}, T 2
1 contains {12,15} and T 12 contains
nodes {16,17,18,19,20}.
Fig. 4. Iteration 2: Case 2, variable x10,5 enters the basis.
Fig. 5. Iteration 2: Case 2, variable x14,12 leaves the basis.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 483
We compute the node potentials p: p1 = 0, p2 = 0, p3 = 5, p4 = 19, p5 = 17,
p6 = 15, p7 = 17, p8 = 15, p9 = 12, p10 = 15, p11 = 3, p12 = 0, p13 = 0, p14 = 2,
p15 = �3, p16 = 2, p17 = 3, p18 = 0, p19 = 1, p20 = 0.
Since cp1 ¼ 14:5 6¼ 0; cp2 ¼ 13:8 6¼ 0 and cp3 ¼ 1:3 6¼ 0, we solve the system
(18), i.e.,
�0:7 0 0
�0:7 1 0
�0:7 0 �0:7
0B@
1CA
r1
r2
r3
0B@
1CA ¼
14:5
13:8
1:3
0B@
1CA
obtain r1 ¼ � 1457, r2 = �0.7 and r3 ¼ 132
7. By (17), we modify p as follows:bpi ¼ pi � 145
7; 8i 2 NðT 1
1Þ; bpi ¼ pi � 0:7; 8i 2 NðT 20Þ; bpi ¼ pi � 13
7; 8i 2
NðT 21Þ; bpi ¼ pi; 8i 2 T 1
0 [NðT 12Þ. The new node potentials bp are bp1 ¼ 0;bp2 ¼ �0:7; bp3 ¼ 5; bp4 ¼ 19; bp5 ¼ 17; bp6 ¼ 14:3; bp7 ¼ 17; bp8 ¼ 15; bp9 ¼
11:3; bp10 ¼ 15; bp11 ¼ � 1247; bp12 ¼ � 13
7; bp13 ¼ � 145
7; bp14 ¼ � 131
7; bp15 ¼
� 347; bp16 ¼ 2; bp17 ¼ 13; bp18 ¼ 0; bp19 ¼ 1; bp20 ¼ 0.
We choose x17,20 entering basis for cbp17;20 ¼ �1 < 0. We apply Case 1 for
node 17 in T 12 and node 20 in T 1
2. The leaving variable is x19,20 at its lower
bound. Fig. 6 shows the flow values.
6.4. Iteration 4
The current basic feasible solution is displayed in Fig. 6. Notice that each ofthe trees T 1
0; T 20; T 1
1; T 21, T2 associates with the current good 5-spanning forest
which contains the same nodes as in the former iteration, so matrix D is the
former one.
Fig. 6. Iteration 3: Case 1, variable x17,20 enters the basis.
484 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
For this solution, optimality conditions (19) and (20) are satisfied, hence this
is an optimal solution.
7. Concluding remarks
In this paper, we present a manufacturing supply chain model for distilla-
tion processing, and we extend previous work on a general equal flow problem
with additional side constraints requiring the flow of arcs in some given sets of
arcs to take on the some value. The proposed approach is a network-based ap-
proach which allows us to benefit from the practical computational advantages
of network models. Based on the new reformulation of the problem, the basesof the problem are characterized as good (r + q)-spanning forest plus r
bounded variables, and this structure is used to develop a simplex primal algo-
rithm which exploits the network structure of the problem and require only
slight modifications of the well-known network simplex algorithm. Finally,
we assume that the manufacture in the paper is a distilling operation. However,
our algorithm can be easily modified to solve the manufacturing supply chain
model with assembly processing.
References
[1] R.G. Askin, C.R. Standridge, Modeling and Analysis of Manufacturing System, John Wiley &
Sons, New York, 1993.
[2] A. Gunasekaren, D.K. Macbeth, R. Lamming, Modeling and analysis of supply chain
management systems: an editorial overview, Journal of Operational Research Society 51 (10)
(2000) 1112–1115.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 485
[3] V.A. Marbert, M.A. Vankataramanan, Special research focus on supply chain linkages:
challenges for design and management in the 21st Century, Decision Science 29 (3) (1998) 537–
552.
[4] S.S. Erengue, N.C. Simpson, A.J. Vakharia, Integrated production distribution planning in
supply chain: an invited review, European Journal of Operation Research 115 (2) (1999) 219–
236.
[5] M.A. Cohen, H.L. Lee, Strategic analysis of integrated production–distribution system:
models and methods, Operations Research 36 (1988) 216–228.
[6] M.A. Cohen, M. Fisher, R. Jaikumar, International manufacturing and distribution networks:
a normative model framework, in: K. Ferdows (Ed.), Managing International Manufacturing,
North-Holland, Amsterdam, 1989, pp. 67–93.
[7] M.A. Cohen, H.L. Lee, Resource development analysis of global manufacturing and
distribution networks, Journal of Manufacturing and Operation Management 2 (1989) 81–104.
[9] S.C. Fang, L. Qi, Manufacturing network flows: a generalized network flow model for
manufacturing process modelling, Optimization Methods and Software 18 (2003) 143–165.
[10] R.K. Ahuja, J.B. Orlin, G.M. Sechi, P. Zuddas, Algorithms for the simple equal flow
problem, Management Science 45 (1999) 1440–1455.
[11] H.I. Calvete, Network simplex algorithm for the general equal flow problem, European
Journal of Operational Research 150 (2003) 585–600.
[12] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows: Theory, Algorithms, and Applica-
tions, Prentice Hall, Englewood Cliffs, NJ, 1993.