Professional Documents
Culture Documents
www.elsevier.com/locate/amc
a
School of Science, Xian Jiaotong University, Xian, Shanxi, China
b
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.
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: mjt@gxu.edu.cn (J. Mo), maqlq@plyu.edu.hk (L. Qi), zxwei@gxu.edu.cn
(Z. Wei).
1
This work was done when the author visited Department of Mathematics and Statistics, Curtin
University of Technology, Perth, Australia.
0096-3003/$ - see front matter 2005 Elsevier Inc. All rights reserved.
doi:10.1016/j.amc.2005.01.041
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
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 nodes
represent 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Þ ¼ fi0 g and LðiÞ ¼ fi1 ; i2 ; . . . ; iq g 8i 2 M; ð1Þ
and the flow value on an output arc is proportional to flow value on input arc,
i.e.,
where aki is the amount of product k produced by plant i with one unit of raw
material.
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þ ¼ [i2M fði; ik Þ :
k ¼ 1; . . . ; qg, i.e., the node set N and the arc set A of G are
N ¼ [qk¼0 Nk and A ¼ Aþ [ ð[qk¼0 Ak Þ:
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
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
8
< 1;
> if i 2 M and i ¼ l;
l k
bi ¼ al ; if i ¼ lk and k ¼ 1; 2; . . . ; q;
>
:
0; otherwise:
It follows that
X l X
bi ¼ 1; bli ¼ akl l ¼ 1; . . . ; p and k ¼ 1; . . . ; q; ð6Þ
i2N0 i2Nk
0 6 x l 6 ul l ¼ 1; 2; . . . ; p;
where bi = 0 for all i 2 M.
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 469
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 k þ2 ; ank k þ3 ; . . . ; ank kþ1 are
linearly independent, thus matrix A k , whose row vectors are ank þ2 ; . . . ; ankþ1 , has
k k
row full rank, i.e., rankðA k Þ ¼ 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
zfflfflfflffl}|fflfflfflffl{m
yields the vector ð0; . . . ; 0 ; ak1 ; ak2 ; ; akp Þ, for k = 1, . . . , q, where m is the
number of arcs in G. e Then the (nk + 1)th row to nk+1th row of A b becomes
470 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
0 1
0 0 0 ak1 ak2 akp
B b1nk1 þ2 b2nk1 þ2 bpnk1 þ2 C
B C
B k C
@0 A 0 A
b1nk b2nk p
bnk
for k = 0, 1, 2, . . . , p and a01 ¼ a02 ¼ ¼ a0p ¼ 0.
Pq
b is
Hence, by (4), the rank of matrix A k¼0 rankðAk Þ þ 1 ¼ n q. This
completes the proof of the theorem. h
b 0 is a basis
The following result gives a suitable condition that guarantees B
of problem (8).
Theorem 2. The rank of the matrix B b 0 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 fnl1
k þ 1; . . . ; nlk g, where l = 1, 2, . . . , tk + 1, k = 0, 1, . . . , q and
nk ¼ n0k < n1k < n2k < < ntkk < ntkk þ1 ¼ nkþ1 :
b 0 can be written as
Then the block from (nk + 1)th row to nk+1th row of B
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 lk and
0 1 1
bnl1 þ1 b2nl1 þ1 bvnl1 þ1
B k k k C
B b1 b 2
b v C
l B nl1 þ2 nl1 þ2 n l1 þ2 C
Dk ¼ B k k k C
B C
@ A
1 2 v
bnl bnl bnl
k k k
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 ntkk þl th yields the vector
472 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485
m
zfflfflfflffl}|fflfflfflffl{
ð0; . . . ; 0; ak1 ; ak2 ; . . . ; akv Þ;
where a0j ¼ 0, j = 1, . . . , v. Adding the rows from ðnl1
k þ 1Þth to nlk th yields the
vector
m
zfflfflfflffl}|fflfflfflffl{
ð0; . . . ; 0; d lk;1 ; d lk;2 ; . . . ; d lk;v Þ;
where d lk;j is defined as in (11) and l = 2, . . . , tk + 1. Thus (12) is equivalent to
the following matrix:
where
0 1 0 1
0 0 0 d lk;1 d lk;2 d lk;v
B 1 B 1 C
C B
l ¼ B bnl1 b2nl1 þ2 bvnl1 þ2 C
l ¼ B
A B
C
C; D k
þ2 k k C;
k
@ A k B C
@ A
0 0 1 b1nl b2nl bnlv
k k k
¼ n v q þ rankðDÞ;
b 0 Þ ¼ n q holds iff
where the last equal follows from (9). So rankð B
rank(D) = v. This completes the proof. h
Now we are ready to characterize the structure of basis solution of (8). To
this end, the following definition is needed.
In this section, we first give a detailed description of the main steps and then
present the network simplex algorithm for (8).
is the network with the node set N0 ¼ N0 [ fs0 ; sg, the arc set
A0 ¼ A0 [ ð[i2M fðj; s0 Þ : j 2 EðiÞgÞ; Gj is the network with the node T set
Nj ¼ Nj [ fsj g, the arc set Aj ¼ Aj [ ð[i2M fðsj ; lÞ : l 2 LðiÞ Nk gÞ,
j = 1, 2, . . . , q.
It is easy to verify that problems (8) associated with G e 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 ð¼ xs0 s Þ, where the tree T0 is a
spanning tree of G0 that contains all arcs (j, s0) for each j 2 E(i), for all
i 2 M, T the tree Tk is a spanning tree of Gk that contains arcs (sk, l) for
l 2 LðiÞ Nk and i 2 M, k = 1, . . . , q.
Theorem 5. The value of the basic variables x1, . . . , xv is the solution of the
following linear system:
DX ¼ b
b; ð14Þ
b b b T
where D is the matrix defined as in (10), X = (x1, . . . , xv) and b ¼ ð b 1 ; ; b v Þ , T
8 Pt1 þ1 l
>
> b; if i ¼ 1;
> i l¼1 1
<
b b 0 ; if 2 6 i 6 t0 þ 1;
bi ¼
> it0 tðk1Þ
> kP
1 P
k
>
: bk ; if tj þ 2 6 i 6 tj þ 1 and k ¼ 1; . . . ; q;
j¼0 j¼0
Proof. After fixing the value of non-basic variables, each constraint in (8) can
be reformulated as
X X Xv
xij xji þ bji xj ¼ b0i ; i 2 N;
j:ði;jÞ2Ba j:ðj;iÞ2Ba j¼1
P P P
where b0i ¼ bi j:ði;jÞ2U uij þ j:ðj;iÞ2U uji j
j2U 0 bi uj .
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 each
node 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
cb
p
ij ¼ 0; 8ði; jÞ 2 Ba and cb
p
j ¼ 0; 8j 2 Bv :
p satisfy cb
Proof. It can be easily verified that node potentials b p
ij ¼ 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
q X
X tk þ1 X q X
X t0 þ1 X
X
cb
p
j ¼ cj bji b
p i ¼ cj bji b
pi bji b
pi
k¼0 l¼1 i2T l k¼0 i2T 1 l¼2 i2T l
k k 0
X
t1 þ1 X q X
X tk þ1 X X t1 þ1 X
X
bji b
pi bji b
p i ¼ cj bji pi bji r1
l¼2 i2T l k¼2 l¼2 i2T l i2N l¼1 i2T l
1 k 1
X
t0 þ1 X X
t1 þ1 X q X
X tk þ1 X
bji rl bji rðt0 þlÞ bji rðt0 þþtðk1Þ þlÞ ¼ cj
l¼2 i2T l l¼2 i2T l k¼2 l¼2 i2T l
0 1 k
X X
t0 þ1 q X
X tk þ1
bji pi ða1j Þr1 d l0;j rl d lk;j rðt0 þþtðk1Þ þlÞ ¼ cpj
i2N l¼2 k¼1 l¼2
0 1
r1
tq þ1 @
ðaj ; d 0;j ; . . . ; d 0;j ; d 1;j ; . . . ; d 1;j ; . . . ; d q;j ; . . . ; d q;j Þ A
1 2 t0 þ1 2 t1 þ1 2
rv
¼ 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
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].
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.
ð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 xij
or 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
Step 1. Calculate the flow x associated with the basis, and the node potentials
p.
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
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 b11 ¼ b22 ¼ b33 ¼ 1; bli ¼ 0, i = 1, . . . , 10,
l = 1, 2, 3 and i 5 l, b111 ¼ 0:7; b116 ¼ 0:3; b112 ¼ b113 ¼ b114 ¼ b115 ¼ b117 ¼
b118 ¼ b119 ¼ b120 ¼ 0; b211 ¼ 0:7; b217 ¼ 0:3; b212 ¼ b213 ¼ b214 ¼ b215 ¼ b216 ¼
b218 ¼ b219 ¼ b220 ¼ 0; b312 ¼ 0:7; b317 ¼ 0:3; b311 ¼ b313 ¼ b314 ¼ b315 ¼ b316 ¼
b318 ¼ b319 ¼ 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
X
min cij xij þ 11:8x1 þ 10:8x2 þ 2:8x3
ði;jÞ2e
A
6.1. Iteration 1
6.2. Iteration 2
As in Fig. 3, the current basis structure is a 5-spanning forest plus x1, x2 and
x3, where tree T 10 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 contains
nodes {16, 17, 18, 19, 20}.
Note that b10 ¼ 8; b20 ¼ 10; b30 ¼ 8; b11 ¼ 18:2; b12 ¼ 7:8, and
0 1
0:7 0:7 0:7
B C
D¼@ 0 1 0 A:
0 0 1
6.3. Iteration 3
The current basic structure is a 5-spanning forest plus variables x1, x2 and x3
(Fig. 5), where tree T 10 contains nodes {1, 3, 4, 5, 7, 8, 10}, T 20 contains nodes
{2, 6, 9}, T 11 contains nodes {11, 12, 13}, T 21 contains {12, 15} and T 12 contains
nodes {16, 17, 18, 19, 20}.
obtain r1 ¼ 145 7
, r2 = 0.7 and r3 ¼ 132 7
. By (17), we modify p as follows:
p i ¼ pi 7 ; 8i 2 NðT 11 Þ;
b 145
p i ¼ pi 0:7; 8i 2 NðT 20 Þ; b
b p i ¼ pi 137 ; 8i 2
2 1 1
NðT 1 Þ; b p i ¼ pi ; 8i 2 T 0 [ NðT 2 Þ. The new node potentials b p are b p 1 ¼ 0;
b
p 2 ¼ 0:7; b p 3 ¼ 5; b p 4 ¼ 19; b p 5 ¼ 17; b p 6 ¼ 14:3; b p 7 ¼ 17; b p 8 ¼ 15; b p9 ¼
11:3; b
p 10 ¼ 15; b p 11 ¼ 1247
; b
p 12 ¼ 13
7
; b
p 13 ¼ 145
7
; b
p 14 ¼ 131
7
; b
p 15 ¼
347 ; bp 16 ¼ 2; b p 17 ¼ 13; b p 18 ¼ 0; b p 19 ¼ 1; b p 20 ¼ 0.
We choose x17,20 entering basis for cb p
17;20 ¼ 1 < 0. We apply Case 1 for
1 1
node 17 in T 2 and node 20 in T 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 of
the trees T 10 ; T 20 ; T 11 ; 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.
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
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.