You are on page 1of 22

Applied Mathematics and Computation 171 (2005) 464–485

www.elsevier.com/locate/amc

A manufacturing supply chain


optimization model for distilling process q
a,*,1
Jiangtao Mo , Liqun Qi b, Zengxin Wei c

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

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 integrated
plan 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 consists
of 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 one
material 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 the
raw 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 a
minimum 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 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.,

xij ¼ aki xi0 i 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 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 Þ:

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:
X X
xij  xji ¼ bi 8i 2 N  M;
j2LðiÞ j2EðiÞ

where bi is a constant such that


8
< P 0; if i 2 N0 ;
>
bi ¼ 0; if i 2 M;
>
:
6 0; if i 2 [qk¼1 Nk :
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:
X
min cij xij
ði;jÞ2A

s:t: 0 6 xij 6 uij 8ði; jÞ 2 A;


X X ð3Þ
xij  xji ¼ bi 8i 2 N  M;
j2LðiÞ j2EðiÞ

xij ¼ aki xi0 i 8i 2 M; j ¼ ik ; k ¼ 1; . . . ; q:


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
X
q X X
aki ¼ 1 8i 2 M; aki bi ¼  bi k ¼ 1; . . . ; q: ð5Þ
k¼1 i2N0 i2Nk

By (1) and (2), it is easy to verify that


X X
xij  xji ¼ 0 8i 2 M;
j2LðiÞ j2EðiÞ

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
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

and from (5) and (6), we obtain


X l
bi ¼ 0 l ¼ 1; 2; . . . ; p: ð7Þ
i2N

For each i 2 M, let


X
q  
uiik
ci ¼ aki ciik and ui ¼ min :
k¼1
16k6q aki
Then
0 6 x i 6 ui 8i 2 M:
Let G e be the network ðN; f AÞ, where f A ¼ A  Aþ , and let
e ¼ fj : ðj; iÞ 2 f
EðiÞ Ag; e LðiÞ ¼ fj : ði; jÞ 2 f
Ag, 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:
X X
p
min cij xij þ cl xl
ði;jÞ2e
l¼1
A

s:t: 0 6 xij 6 uij 8ði; jÞ 2 f A;


ð8Þ
X X X l
p
xij  xji þ bi xl ¼ bi 8i 2 N;
e
j2 L ðiÞ e
j2 E ðiÞ
l¼1

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

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 at
least 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].

b corresponding to constraints (8)


Theorem 1. The rank of the coefficient matrix A
is equal to n  q.

b can be written as follows:


Proof. By the assumption, the matrix A
0 1
A0 0 0  0 b0
B C
B 0 A1 0  0 b1 C
B C
B C
b
A¼B A2  b2 C
B 0 0 0 C;
B C
B     C
@ A
0 0 0  Aq bq

where 0 is a matrix of conformal dimensions with all entries zero, Ak is the


node-arc incidence matrix of Gk and
0 1
b1nk þ1 b2nk þ1    bpnk þ1
B C
bk ¼ B
@     C
A
b1nkþ1 b2nkþ1  bpnkþ1

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

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 f A, whose associated
vectors in matrix A b are linearly independent and also independent of those
of variables x1, . . . , xv.
In order to get n  q  v linearly independent vectors in A, b 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
X q
0 6 tk 6 nkþ1  nk  1; k ¼ 0; . . . ; q and tk ¼ v  1: ð9Þ
k¼0

If we remove tk arcs, Tk is separated into tk + 1 node-disjoint trees T 1k ; . . . ; T tkk þ1 .


Thus, the basic variables can be viewed as a forest F formed by the collection
of trees T 10 ; . . . ; T 0t0 þ1 ; T 11 ; . . . ; T 1t1 þ1 ; . . . ; T 1q ; . . . ; T qtq þ1 that together spans all
nodes in network G. e As in [11], we refer to this structure as a spanning forest.
Let B b denote the submatrix of A b associated with the spanning forest F and
V1, . . . , Vv be vectors associated with variables x1, . . . , xv, let B b 0 be the matrix as
follows:
b 0 ¼ ðB
B b V 1 V 2    V v Þ:
Let D be a v · v matrix
0 1
a
BD C
B 1C
D ¼ B C; ð10Þ
@A
Dq
J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 471

where a ¼ ða11 ; a12 ; . . . ; a1v Þ and


0 2 1
d k;1 d 2k;2  d 2k;v
B 3 C
B d k;1 3
d k;2  d 3k;v C
Dk ¼ BB
C;
C k ¼ 1; 2; . . . ; p:
@      A
tk þ1 tk þ1 tk þ1
d k;1 d k;2  d k;v
X
d lk;j ¼ bji j ¼ 1; 2; . . . ; p and l ¼ 1; 2; . . . ; tk þ 1: ð11Þ
i2T lk

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

±1 indicates that the corresponding entry is either +1 or 1.


Since rankðAlk Þ ¼ nlk  nl1
k  1, l = 1, 2, . . . , tk + 1 and k = 0, 1, . . . , q, it holds
that
q X
X tk þ1
b 0Þ ¼
rankð B rankðAlk Þ þ rankðDÞ
k¼0 l¼1
X
q
¼ fðnkþ1  nk Þ  ðtk þ 1Þg þ rankðDÞ
k¼0

¼ 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.

Definition 3. An (v + q)-spanning forest F in G e is a good forest with respect to


the variables {xj}j2J, J  {1, 2, . . . , p}, jJj = v, if rank(D) = v, where D ¼ ðd lk;j Þ is
an (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 G,e 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, and
T (j, s0) for each node j 2 E(i), for all i 2 M, and arcs
then add arc (s0, s), arcs
(sk, l) for each l 2 LðiÞ Nk , 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 sufficiently
large number, and their flow values are as follows:
xssk ¼ ak1 xs0 s ; k ¼ 1; 2; . . . ; q:
Let G be the network which consists of network Gj , j = 0, 1, . . . , q, where G0


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.

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 0t0 þ1 ; T 11 ;    ; T 1t1 þ1 ;    ; T 1q ;    ; T qtq þ1 g
f such that
plus variables of x1, x2, . . . , xv. Let Ba denote the set of arcs ði; jÞ 2 A
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 f A  Ba : xij ¼ 0Þ and U ¼ fði; jÞ 2 f A  Ba : xij ¼ uij g;


L0 ¼ fj 2 M  Bv : xj ¼ 0g and U 0 ¼ fj 2 M  Bv : xj ¼ uj g.
For k = 0, 1, . . . , q and l = 1, 2, . . . , tk + 1, let
0 1
X X X XX j
blk ¼ bi  @ uij  uij A  bi uj ; ð13Þ
i2T lk ði;jÞ2V lk;1 ði;jÞ2V lk;2 i2T lk j2U 0

where V lk;1 ¼ fði; jÞ 2 U : i 2 T lk ; j 62 T lk g and V lk;2 ¼ fði; jÞ 2 U : i 62 T lk ; j 2 T lk g.


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 ¼ 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

where blk is defined as in (13).

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 .

Since uij vanishes if i 2 T lk ; j 2 T lk and (i, j) 2 U,


X X X X XX j
b0i ¼ bi  uij þ uij  bi xj
i2T lk i2T lk i2T lk ;j62T lk ;ði;jÞ2U i62T lk ;j2T lk ;ði;jÞ2U i2T lk j2U 0
X X X XX
¼ bi  uij þ uij  bji xj ¼ blk :
i2T lk ði;jÞ2V lk;1 ði;jÞ2V lk;2 i2T lk j2U 0

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

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 f
A; ð15Þ
and
X
cpj ¼ cj  bji pi j ¼ 1; . . . ; p: ð16Þ
i2N

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 b p as follows:
8
1
>
> pi þ r1 ; if i 2 T 1 ;
>
>
>
>
>
> p þ rl ; if i 2 T l0 ; l ¼ 2; . . . ; t0 þ 1;
< i
p i ¼ pi þ r1 þ rðt0 þlÞ ;
b if i 2 T l1 ; l ¼ 2; . . . ; t1 þ 1;
>
>
>
> pi þ rðt0 þt1 þþtðk1Þ þlÞ ; if i 2 T lk ; l ¼ 2; . . . ; tk þ 1; k ¼ 2; . . . ; q;
>
>
>
>
:
pi ; if i 2 T 1k ; k ¼ 0; 2; 3; . . . ; q;
ð17Þ
T
where r = (r1, r2, . . . , rv) is the solution of the following linear system:
D T r ¼ cp ; ð18Þ
T
where D is the transposition of matrix D which is defined as in (10) and
T
cp ¼ ðcp1 ; cp2 ; . . . ; cpv Þ .

Lemma 6. The node potentials b


p ¼ fb
p i : i 2 Ng satisfies

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

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 sk , 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 hk , 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 hk increases in h
units. The demand of T ji is defined as follows:
8 j
< bi  h; if i ¼ k and j ¼ l;
>
j
bi ðhÞ ¼ bji þ h; if i ¼ k and j ¼ h;
>
: j
bi ; otherwise;
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 ¼ b bðhÞ; ð21Þ
b b b T
where bðhÞ ¼ ð b 1 ðhÞ; . . . ; b v ðhÞÞ , and
8 Pt1 þ1 l
>
> l¼1 b1 ðhÞ; if i ¼ 1;
>
>
>
< bi0 ðhÞ; if 2 6 i 6 t0 þ 1;
b
b i ðhÞ ¼ P
k 1
>
> i tj
>
> kP
1 P
k
>
: bk
j¼0
ðhÞ; if tj þ 2 6 i 6 tj þ 1 and k ¼ 1; . . . ; q:
j¼0 j¼0

ð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

Case 3. The entering variable is xj, where r < j 6 p.


By the structure of G,e we assume that j 2 T s , 1 6 s 6 t0 + 1, and jk 2 T ks ,
0 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 kks increases in akj h units, k = 1, . . . , q. Let bsk ðhÞ
be the demand of T lk , then
8 l
< b0  h;
> if k ¼ 0 and l ¼ s;
l l k
bk ðhÞ ¼ b k þ a j h; if l ¼ k s and k ¼ 1; . . . ; q;
>
: l
bk ; otherwise;

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; fxj gvj¼1 ; L; U ; L0 ; U 0 Þ be an


initial feasible basis structure of problem (8).

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

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 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

s:t: 0 6 xij 6 uij 8ði; jÞ 2 f


A;
X X X
3
xij  xji þ bli xl ¼ bi 8i 2 N;
j2e j2e
l¼1
L ðiÞ E ðiÞ

0 6 x1 6 130=7; 0 6 x2 6 20; 0 6 x3 6 60=7;


where f A ¼ A0 [ A1 [ A2 .
Fig. 2 displays a 4-spanning forest F ¼ fT 10 ; T 20 ; T 1 ; T 2 g plus two variables x1
and x2, where tree T 10 contains nodes {1, 4, 5, 8}, T 20 contains nodes {2, 3, 6, 7,
9, 10}, T1 contains nodes {11, 12, 13, 14, 15}, T2 contains  nodes {16,17, 18,
P P 0:7 0:7
19, 20} and d 20;1 ¼ i2T 2 b1i ¼ 0; d 20;2 ¼ i2T 2 b2i ¼ 1; D ¼ . This
0 0 0 1
is indeed a basic solution because jDj = 0.7 5 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 b
b 1 ¼ 18:2; b
b 2 ¼ 18, Eq. (14) is
    
0:7 0:7 x1 18:2
¼ :
0 1 x2 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 and
cp2 ¼ 13:8 6¼ 0, we solve Eq. (18),
    
0:7 0 r1 14:5
¼ ;
0:7 1 r2 13:8
and obtain r1 ¼  145 7
, r2 = 0.7. By (17), we modify p as follows:
1
p i ¼ pi  145
b 7
; 8i 2 NðT p i ¼ pi  0:7; 8i 2 NðT 20 Þ; b
1 Þ; b p i ¼ pi ; 8i 2 NðT 10 Þ[
1 j j
NðT 2 Þ, where NðT k Þ is the node set of T k . The new potentials b p are
b
p 1 ¼ 0; b p 2 ¼ 0:7; b p 3 ¼ 5:3; b p 4 ¼ 19; bp 5 ¼ 17; b p 6 ¼ 14:3; b p 7 ¼ 17:3; bp8 ¼
15; b p 9 ¼ 11:3; b p 10 ¼ 15:3; b p 11 ¼  124
7
; b
p 12 ¼  138
7
; b
p 13 ¼  145
7
; b
p 14 ¼  131
7
;
159
b
p 15 ¼  7 ; b p 16 ¼ 2; b p 17 ¼ 3; ðb p 18 ¼ 0; bp 19 ¼ 1; b p 20 ¼ 0.
We choose x3 entering the basis for cb p
3 ¼ 15:4 < 0 and apply Case 3.
To compute the new value of x1 and x2, we solve system (21),
    
0:7 0:7 x1 18:2 þ 0:7h
¼ :
0 1 x2 18  h

Fig. 2. Basic feasible solution: value of the basic variables.


J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 481

Fig. 3. Iteration 1: Case 3, variable x4 enters the basis.

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 is
8 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 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

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 10 1 0 1
0:7 0 0 r1 14:5
B CB C B C
@ 0:7 1 0 A@ r2 A ¼ @ 13:8 A;
0:7 0 1 r3 4:4
482 J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485

and obtain r1 ¼  145 7


, r2 = 0.7 and r3 = 10.1. By (17), we modify p as
follows:
p i ¼ pi  145
b 7
; 8i 2 NðT 11 Þ; b p i ¼ pi  0:7; 8i 2 NðT 20 Þ; b p i ¼ pi  10:1; 8i 2
3
NðT 0 Þ; b p i ¼ pi ; 8i 2 NðT 0 Þ [ NðT 12 Þ.
1

The new potentials b p are b p 1 ¼ 0; b p 2 ¼ 0:7; b p 3 ¼ 10:1; b p 4 ¼ 19;


b
p 5 ¼ 17; b p 6 ¼ 14:3; b p 7 ¼ 1:9; b p 8 ¼ 15; b p 9 ¼ 11:3; b p 10 ¼ 0:1; b p 11 ¼  124 7
;
p 12 ¼  138
b 7
; b
p 13 ¼  145
7
; b
p 14 ¼  131
7
; b
p 15 ¼  159
7
; b
p 16 ¼ 2; b
p 17 ¼ 3; b
p 18 ¼
0; bp 19 ¼ 1; b p 20 ¼ 0.
We choose x5,10 entering basis for cb p
5;10 ¼ 15:1 < 0. For node 5 in T 0 and
1
3
node 10 in T 0 , we apply Case 2. Solving the system (14),
0 10 1 0 1
0:7 0:7 0:7 x1 18:2
B CB C B C
@ 0 1 0 A@ x2 A ¼ @ 10 A;
0 0 1 x3 8þh
we obtain x1 = 8  h, x2 = 10 and x3 = 8 + h. The change of the supply/demand
of the nodes and the flow value of basis variables are shown in Fig. 4. The max-
imum value of h is 267 and 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 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}.

Fig. 4. Iteration 2: Case 2, variable x10,5 enters the basis.


J. Mo et al. / Appl. Math. Comput. 171 (2005) 464–485 483

Fig. 5. Iteration 2: Case 2, variable x14,12 leaves the basis.

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 10 1 0 1
0:7 0 0 r1 14:5
B CB C B C
@ 0:7 1 0 A@ r2 A ¼ @ 13:8 A
0:7 0 0:7 r3 1:3

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

Fig. 6. Iteration 3: Case 1, variable x17,20 enters the basis.

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 bases
of 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.

You might also like