ISSN Online: 2160-8849 ISSN Print: 2160-8830
DOI: 10.4236/ajor.2018.84016 Jul. 3, 2018 281 American Journal of Operations Research
Efficient Heuristic Based Methods for
Two-Stage Transshipment Problem
Priyank Sinha, Renduchintala Raghavendra Kumar Sharma
Industrial and Management Engineering Department, IIT Kanpur, Kanpur, India
Abstract
In this article, we propose efficient methods for solving two stage transship-ment problems. Transshiptransship-ment problem is the special case of Minimum cost flow problem in which arc capacities are infinite. We start by proposing a novel problem formulation for a two stage transshipment problem. Later, spe-cial structure of our problem formulation is utilized to devise two dual based heuristics solutions with computational complexity of O (n2), and O (n3) re-spectively. These methods are motivated by the methods developed by Sharma and Saxena [1], Sinha and Sharma [2]. Our methods differ in the initialization and the subsequent variation of the dual variables associated with the trans-shipment nodes along the shortest path. Lastly, a method is proposed to ex-tract a very good primal solution from the given dual solutions with a com-putational complexity of O (n2). Efficacy of these methods is demonstrated by our numerical analysis on 200 random problems.
Keywords
Two Stage Transshipment Problem, Min Cost Flow, Transportation Problem, Dual, Primal
1. Introduction
Minimum cost flow problem can be described as a preparation of minimum cost plan for the transportation of certain number of units from source to sink to sa-tisfy the demand at each sink. One or more layers of transshipment nodes are present between the sources and sinks, which act as buffer. Weintraub [3] is at-tributed with the development of one of the first primal based algorithms to solve minimum cost flow problem with convex costs. A variant of negative cycle algorithm is used which aims to identify most negative cycle and subsequently induces it iteratively into the feasible flow. Plotkin and Tardos [4] later proposed How to cite this paper: Sinha, P. and
Sharma, R.R.K. (2018) Efficient Heuristic Based Methods for Two-Stage Transship-ment Problem. American Journal of Oper-ations Research, 8, 281-293.
https://doi.org/10.4236/ajor.2018.84016
Received: May 21, 2018 Accepted: June 30, 2018 Published: July 3, 2018
Copyright © 2018 by authors and Scientific Research Publishing Inc. This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
DOI: 10.4236/ajor.2018.84016 282 American Journal of Operations Research a polynomial time algorithm for min cost flow with computational complexity of O (m4). Pseudo flow is maintained by the algorithm such that it satisfies the complimentary slackness conditions while performing flow augmentation from the nodes with positive excess to nodes with negative excess. Algorithm is ter-minated when all the excesses are reduced to zero. Ahuja et al. [5] has employed advanced data structures to solve primal simplex algorithm for min-cost flow. They have further documented that transshipment problem can be solved by enhanced capacity scaling algorithm in O (n log (n) S (n, m)) time, where n and m are the number of nodes and number of arcs in a network respectively. S (n, m) refers to running time of shortest path problem with n nodes and m arcs. Enhanced capacity scaling algorithm and repeated capacity scaling algorithm runs in O (n3 log (n)) and O (n2 log (n) S (n, m)) time respectively (Ahuja et al.
[5]). Further cost scaling algorithm can be used to solve min cost flow problem in O (n3 log (n)). Hence, best primal based approach solves the transshipment problem with the time complexity of O (n3 log (n)). Recently Juman and Hoque
[6] have proposed an efficient heuristic with O (n3) running time to solve unca-pacitated balanced transportation problem. Performance of this heuristic is bet-ter than Vogel’s Approximation Method (VAM), which is one of the most pop-ular primal based methods to obtain a very good initial basic feasible solution.
Next, we review some popular dual based procedures to solve min cost flow problem. Busakar and Gowan [7] are attributed for developing successive short-est path algorithm. It successively identifies the least cost paths between the source and sink and allocates the maximum capacity on the residual network while maintaining the dual feasibility. Algorithm terminates when residual net-work contains no admissible path between the source and the sink or when the flow is maximal (primal feasibility is achieved). First polynomial time algorithm to solve min cost flow problem was proposed by Edmonds and Karp [8]. It is a specific implementation of Ford-Fulkerson algorithm in which breadth first search is used to find the shortest path in intermediate stages. Computational complexity of the algorithm is O ((n + m) log U). Helgason and Kennington [9]
has used linear programming formulation of the network flow problem to ana-lyze dual simplex method. Plotkin and Tardos [4] had proposed an efficient pi-voting strategy with complexity of O (m2n) for the dual simplex method pro-posed by Orlin [10]. This reduces the number of pivoting steps required for dual simplex method. According to Ali et al. [11], efficient execution of each pivot in dual based methods requires less number of iterations when compared with primal based algorithm. However, each pivot operation may require higher computational effort.
DOI: 10.4236/ajor.2018.84016 283 American Journal of Operations Research an existing dual solution. These methods are motivated by Sharma and Saxena
[1], and Sinha and Sharma [2]. Solution proposed by these methods can be used as an initial basic feasible solution to get an advanced start for the exact methods proposed by Orlin [10], Plotkin and Tardos [4], and Ali et al.[11]. Next we give problem formulation for two stage transshipment problem.
2. Problem Formulation
We next present the mathematical formulation of the primal problem and dual problem respectively.
2.1. Constants of the Problem
l
D refers to the absolute demand at the lth demand node, while
l
d is the de-mand at market l as a fraction of total market demand. Hence we have
1 L
l l l
l
d D D
=
=
∑
and 1 1L l l= d
=
∑
,where L is the total number of demand nodes. Similarly Si refers to to absolute
number of units available for transportation at the source node i and
1 L
i i l
l
s S D
=
=
∑
. If the problem is balanced, then we have 1 1I L
i l
i= s l= d
=
∑
∑
, I is thetotal number of supply nodes. C C1 , 2 , 3ij jk C kl is the cost of transporting
1
L l l= D
∑
units from node i to j, j to k and k to l respectively.2.2. Decision Variables
1 , 2 , 3ij jk kl
x x x is the absolute number of units transported from node i to j, j to k and k to l respectively. We further have
1 1 1
1ij 1ij L l , 2jk 2jk L l , 3kl 3kl L l
l l l
X x D X x D X x D
= = =
= = =
∑
∑
∑
Primal of the problem can be formulated as under –
2.3. Primal (P)
Minimize:
1 1 1 1 1 1 2 2 1 1 3 3
I J J K K L
ij ij jk jk kl kl
i= j=C X j= k= C X k= =l C X
+ +
∑∑
∑∑
∑∑
(1)Subject to:
1 1 1 1 ,
I J ij
i= j= X i I j J
= ∀ ∈ ∈
∑∑
(2)1 1 2 1 ,
J K jk j k
X j J k K
= =
= ∀ ∈ ∈
∑∑
(3)1 1 3 1 ,
K L kl
k= l= X k K l L
= ∀ ∈ ∈
DOI: 10.4236/ajor.2018.84016 284 American Journal of Operations Research
( )
; , 1ij i
j i j N∈ X s i I
−
∑
≥ − ∀ ∈ (5)( )
; , 3kl l
k k l N∈ X d l L
−
∑
≥ − ∀ ∈ (6)( ) ( )
; , 2jk ; , 1ij 0
k j k N i i j N
X X j J
∈ ∈
− = ∀ ∈
∑
∑
(7)( ) ( )
; , 3kl ; , 2jk 0
l k l N∈ X j j k N∈ X k K
− = ∀ ∈
∑
∑
(8)1 , 2 , 3ij jk kl 0 , ,
X X X ≥ ∀ ∈i I j J k K∈ ∈ and l L∈ (9)
In this formulation we assume forward unidirectional flows. Equation (1) mi-nimizes the cost of transportation of units from source nodes to sink nodes while satisfying the supply and demand constraints. Equation (2) ensures that entire supply is transported from supply nodes to meet the demand, which is va-lid for the balanced problem. Equation (3) and Equation (4) ensures that the en-tire supply is transported between the layers of transshipment nodes and de-mand nodes respectively. Equation (5) and Equation (6) are supply and dede-mand constraints respectively. Equation (7) and equation (8) ensures that no inventory is accumulated on any transshipment nodes. Equation (9) is the non-negativity constraint.
2.4. Dual of the Problem (DP)
In this section we present the dual of the problem P. We associate 1, 2, 3, , , 1 , 2i l j k
V V V U V W W as the dual variables corresponding to (2), (3), (4), (5), (6), (7) and (8) respectively. We first state the dual of the problem as DP and then divide it into two parts as DP1 and DP2 for computational simplicity.
1) DP Maximize:
1 2 3 i i l l
i I l L
V V V sU d V
∈ ∈
+ + −
∑
−∑
(10)Subject to:
1 i 1j 1ij ,
V U W− − ≤C ∀ ∈i I j J∈ (11)
2 1j 2k 2jk ,
V +W −W ≤C ∀ ∈j J k K∈ (12)
3 l 2k 3kl ,
V − +V W ≤C ∀ ∈k K l L∈ (13)
, 0
i l
U V ≥ , V V V W W1, 2, 3, 1 , 2j k unrestricted (14)
2) DP1 Maximize:
1 2 i i
i I
V V sU
∈
+ −
∑
(15)Subject to:
1 i 1j 1ij ,
V U W− − ≤C ∀ ∈i I j J∈ (16)
2 1j 2k 2jk ,
DOI: 10.4236/ajor.2018.84016 285 American Journal of Operations Research 0
i
U ≥ , V V W W1, 2, 1 , 2j k unrestricted (18)
3) DP2 Maximize:
3 l l
l L
V d V
∈
−
∑
(19)Subject to:
3 l 2k 3kl ,
V − +V W ≤C ∀ ∈k K l L∈ (20) 0
l
V ≥ , V W3, 2k unrestricted (21)
3. Theoretical Results
We start with the development of the heuristic for the dual solution, and then move on to develop heuristic for the primal. Let SPil denote the length of
shortest path from i to l such that
SP
il=
λ
ij+
λ
jk+
λ
kl, such that kljk ij
λ
λ
λ
,
,
denotes the length of path from i to j, j to k and k to l in a shortest path SPil.SPS = {SPil: SPil is the shortest path between i and l} ∀ ∈i I l L, ∈
Problem TP Minimize:
, il il
i l X SP
∑
(22)Subject to:
il i l L∈ X s i I
= ∀ ∈
∑
(23)il l
i I∈ X d l L
= ∀ ∈
∑
(24)0 ,
il
X ≥ ∀ ∈i I l L∈ (25) Theorem 1: Problem P and Problem TP are equivalent.
Proof: Since all the arcs capacities are unbounded in the transshipment prob-lem, hence optimal flow for a pair of source and sink nodes will always be on
il
SP . This ensures that any further reduction in the objective function value is not possible. Therefore optimal solution to problem TP gives the optimal solution to problem P and hence problem TP and P are equivalent. Hence proved.
4. Solution Procedures
4.1. Description of Heuristic 1 (H1)
We extend this heuristic from our previous article on single stage transshipment Sinha and Sharma [2] problem to two stage transshipment problem. Unlike heu-ristic developed for single stage transshipment problem, we will decrease the
1j
W along the shortest path after substituting Ui = ∀ ∈0 i I. We next describe this heuristic in detail.
Step 1: Sort SP i I j Jil∀ ∈ , ∈ in the ascending order and select the SPil
DOI: 10.4236/ajor.2018.84016 286 American Journal of Operations Research Step 2: Assign V1=λij, 2V =λjk, 3V =λkl, and W1j =maxj
(
V1−C1ij)
∀ ∈j JStep 3: W2k=maxj
(
V2+W1j−C2jk)
∀ ∈k K(
)
max 1 1 1
i j j ij
U = V W− −C ∀ ∈i I
(
)
max 3 2 3
l k k kl
V = V +W −C ∀ ∈l L
Step 4: Evaluate DP = DP1 + DP2 and retain the best solution. Step 5: Repeat step 3 by decreasing value of W1j in steps ∀ ∈j J.
Step 6: Goto step 1 and repeat the entire process for all SPil from the sorted
list.
Result 1: Computational complexity of the algorithm is O (n2).
Proof: Complexity of this algorithm is dominated by the step 1 which can be solved in O (n2) time.
4.2. Description of Heuristic 2 (H2)
In the previous algorithm, we tinkered with value of W1j along SPil ∀ ∈l L.
There is no reason as to why we cannot tinker with the values of U V Wi, , 2k k
along SPil. We define
(
C1ij−V1+U Wi+ 1j)
,(
C2jk−V2+W2k−W1j)
and(
C3kl −V3+ −V Wl 2k)
as source slack, transshipment slack and sink slack re-spectively (S S S1, 2, 3). Next we describe this heuristic in detail.Step 0: Sort values of SPil in SPS in ascending order and set SPil*=
( )
SPil min,1
j= .
Step 1: Set 1 max
(
1 1 , 1)
*, 2 *, 3 *j j ij ij jk kl
W = V −C V =λ V =λ V =λ such that
*, ,* * ij jk kl
λ λ λ
belongs to * ilSP ∀ ∈j J.
Step 2: Compute max_value of DP1 and DP2 by increasing value of , , 2
i l k
U V W and retain the maximum value of (DP1 + DP2). Step 3: Decrease the value of W1j in steps and repeat the step 2.
Step 4: j= +j 1, If j J> , then goto step 5 else goto step 1. Step 5: Stop
Result 2: Heuristic 2 runs in O (n3) time.
Proof: Complexity of the heuristic is dominated by step 2 which can be com-pleted in O (n3) steps.
4.3. Description of Heuristic 2 (H2)
We refer Sharma and Prasad [12] for developing a heuristic to get a good primal solution after having yielded a good dual solution. This is due to the structural similarity between the two problems. Solution to dual problem DP can be ex-pressed asDP V V V U, 1, 2, 3, =
{
U ii∀ ∈( )
1,I V}
, ={
V ll∀ =( )
i L,}
. Slack1, 2, 3
S S S is defined as following:
1 1ij 1 i 1j
S = C −V +U W+ , S2= C2jk−V2−W1j+W2k ,
3 3kl 3 l 2k
S = C −V + −V W ∀ ∈i
( )
1, ,I j∈( )
1, ,J k∈( )
1,K . If S1 0, 2 0= S =and S3 0= , then X1ij≥0, X2jk≥0 add X3kl≥0. In other words primal
variables for the arc
( ) ( ) ( )
i j, , , , ,j k k l (i.e. X1 , 2 , 3ij X jk X kl) can assumeme-DOI: 10.4236/ajor.2018.84016 287 American Journal of Operations Research thod to extract good primal solution from an existing dual solution. Let SPil
denote the total slack for a shortest path between node i and node li.e.
,
, , ,
min 1 2 3
il j k
i j j k k l
SP = S + S + S
∑
∑
∑
.We further define deviation number as DNil =SP Xil* il. According to
compli-mentary slackness condition, for a primal optimal solution, we have 0
il i I l L∈ ∈ DN
=
∑∑
.If SPil=0, positive flow can be allocated to the corresponding path without vi-olating the complimentary slackness property. Further, positive flow cannot be allocated to the path with SPil >0. As we are working with good dual solution (and not optimal dual solution), we may have to send positive flow along a path even if corresponding SPil >0. But the heuristic described below, tries to mi-nimize DNil and hope to keep complementary slackness violations as low as
possible to get good primal solution. If algorithm terminates with 0
il i I l L∈ ∈ DN
=
∑∑
,then we have the optimal primal solution. DNil is similar to Kilter number
(Clasen [13]) for solving general min-cost-flow problem.
We find shortest path from every source node “i” to every sink node “l” using these slacks as weights, and then make the allocations according to shortest path available. Detailed heuristic is described as under:
Step 0: Xij=Xjk=Xkl = ∀ ∈0, i I j J k K l L, ∈ , ∈ , ∈
Step 1: Compute Sil =minj k, S1ij+S2jk+S3kl. Let min be at j* and k*
, , ,
i I j J k K l L
∀ ∈ ∈ ∈ ∈ .
1 1 1 1 , 2 2 2 1 2 , 3 3 3 3
ij ij i j
jk jk j k
kl kl l k
S C V U W
S C V W W
S C V V W
= − + +
= − − +
= − + −
Step 2: Sort all Sil in increasing order.
Step 3: Choose Sil from the top of the list such that dl >0 and si>0 and
goto step 4, if all Sil are processed then goto step 5
Step 4: Xij*=Xj k* *=Xk*l =min ,
(
s di l)
=a s s a d*, i = −i *, l =d al− * , remove ilS from the list then goto step 3. Step 5: Stop.
Result 3: Computational complexity of the algorithm is O (n2).
Proof: Complexity of this algorithm is dominated by the step 2 which can be solved in O (n2) time.
5. Numerical Analysis and Conclusions
DOI: 10.4236/ajor.2018.84016 288 American Journal of Operations Research
Table 1. Numerical analysis.
S. No.
Optimal Solution Heuristic Solutions
Value Iterations No. of
H1 H2 H3
DOI: 10.4236/ajor.2018.84016 289 American Journal of Operations Research Continued
DOI: 10.4236/ajor.2018.84016 290 American Journal of Operations Research Continued
DOI: 10.4236/ajor.2018.84016 291 American Journal of Operations Research Continued
DOI: 10.4236/ajor.2018.84016 292 American Journal of Operations Research Continued
169 30.206 1690 29.525 97.75 924 29.786 98.61 1148 30.683 98.42 170 29.53 1904 28.175 95.41 983 29.142 98.69 1251 30.241 97.59 171 28.866 2099 27.465 95.15 1022 28.497 98.72 1063 29.962 96.2 172 30.471 1844 29.125 95.58 1013 30.116 98.83 1152 30.899 98.6 173 27.792 1925 26.911 96.83 1075 27.284 98.17 1288 28.518 97.39 174 30.604 1613 29.843 97.51 1046 30.265 98.89 1169 31.232 97.95 175 30.074 1796 29.029 96.53 916 29.263 97.3 1195 30.437 98.79 176 31.811 1868 30.529 95.97 954 31.036 97.56 1080 32.345 98.32 177 29.53 1925 28.805 97.54 991 29.178 98.81 1041 30.377 97.13 178 30.074 2083 28.801 95.77 1066 29.306 97.45 1235 31.112 96.55 179 30.869 1919 29.589 95.85 927 30 97.18 952 31.952 96.49 180 29.132 2088 28.527 97.92 943 28.324 97.23 990 30.496 95.32 181 35.685 1690 34.545 96.81 1012 35.057 98.24 1062 37.088 96.07 182 33.814 2034 32.961 97.48 1019 33.378 98.71 1128 34.447 98.13 183 36.879 2022 35.037 95.01 1095 36.445 98.82 1417 37.817 97.46 184 36.216 1620 34.491 95.24 1032 35.826 98.92 1243 37.65 96.04 185 33.271 2002 32.55 97.83 1030 32.451 97.54 1079 33.854 98.25 186 34.08 1758 32.565 95.55 1074 33.42 98.06 1393 35.392 96.15 187 35.274 1891 33.892 96.08 1080 34.277 97.17 1323 36.225 97.3 188 32.873 2086 31.872 96.95 928 32.105 97.66 1086 33.52 98.03 189 28.734 2032 28.011 97.48 934 28.154 97.98 1126 28.784 99.83 190 31.944 1978 30.427 95.25 1049 31.009 97.07 1201 32.8 97.32 191 28.866 2012 28.272 97.94 968 28.319 98.11 1230 29.195 98.86 192 30.471 1810 29.861 98 1046 30.158 98.97 1249 31.487 96.67 193 27.792 2088 27.171 97.77 988 27.048 97.32 1078 27.85 99.79 194 30.604 1643 29.799 97.37 1083 29.753 97.22 1324 30.702 99.68 195 30.074 2005 28.642 95.24 977 29.371 97.66 1075 30.22 99.51 196 31.811 1891 31.098 97.76 967 31.208 98.1 1145 32.195 98.79 197 29.53 1692 28.792 97.5 1050 29.006 98.23 1300 30.518 96.65 198 30.074 1786 28.779 95.69 975 29.507 98.11 1033 31.367 95.7 199 30.869 1981 30.046 97.33 1034 30.071 97.41 1394 30.943 99.76 200 29.132 1879 28.038 96.24 998 28.819 98.93 1206 29.394 99.1
DOI: 10.4236/ajor.2018.84016 293 American Journal of Operations Research
References
[1] Sharma, R.R.K. and Saxena, A. (2002) Dual Based Procedures for the Special Case of Transshipment Problem. Operation Research, 39, 177-188.
[2] Sinha, P. and Sharma, R.R.K. (2016) Dual Based Procedures for Un-Capacitated Minimum Cost Flow Problem. American Journal of Operations Research, 6, 468-479.
https://doi.org/10.4236/ajor.2016.66043
[3] Weintraub, A. (1974) A Primal Algorithm to Solve Network Flow Problems with Convex Costs. Management Science, 21, 87-97.
https://doi.org/10.1287/mnsc.21.1.87
[4] Plotkin, S.A. and Tardos, E. (1990) Improved Dual Network Simplex. Proceedings of the 1st Annual ACM-SIAM Symposium on Discrete Algorithms, Society for In-dustrial and Applied Mathematics,San Francisco, 367-376.
http://delivery.acm.org/10.1145/330000/320222/p367-plotkin.pdf?ip=14.139.38.9&i d=320222&acc=ACTIVE%20SERVICE&key=045416EF4DDA69D9%2E6454B2DF DB9CC807%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&__acm__=15264489
27_7f6da1e85e11c5cff23e4cbeb14d250d
[5] Ahuja, R.K. (1993) Network Flows. Ph.D. Thesis, Technische Hochshule Darmstadt, Darmstadt.
https://volyubemw.updog.co/dm9seXViZW13MDEzNjE3NTQ5WA.pdf
[6] Juman, Z.A.M.S. and Hoque, M.A. (2015) An Efficient Heuristic to Obtain a Better Initial Feasible Solution to the Transportation Problem. Applied Soft Computing, 34, 813-826. https://doi.org/10.1016/j.asoc.2015.05.009
[7] Busaker, R.G. and Gowen, P.J. (1961) A Procedure for Determining Minimal-Cost Flow Network Patterns. Tech. Rep. ORO-15, Operational Research Office, Johns Hopkins University, Baltimore.
[8] Edmonds, J. and Karp, R.M. (1972) Theoretical Improvements in Algorithmic Effi-ciency for Network Flow Problems. Association for Computing Machinery Journal, 19, 248-264. https://doi.org/10.1145/321694.321699
[9] Helgason, R.V. and Kennington, J.L. (1977) An Efficient Procedure for Implement-ing a Dual Simplex Network Flow Algorithm. AIIE Transactions, 9, 63-68.
https://doi.org/10.1080/05695557708975122
[10] Orlin, J.B. (1984) Genuinely Polynomial Simplex and Non-Simplex Algorithms for Minimum Cost Problems. Technical Report 1615-84, Sloan School of Management, MIT, Cambridge.
https://dspace.mit.edu/bitstream/handle/1721.1/48015/genuinelypolynom00orli.pdf ?sequence=1
[11] Ali, A.I., Padman, R. and Thiagarajan, H. (1989) Dual Algorithms for Pure Network Problems. Operations Research, 37, 159-171. https://doi.org/10.1287/opre.37.1.159
[12] Sharma, R.R.K. and Prasad, S. (2003) Obtaining a Good Primal Solution to the Un-capacitated Transportation Problem. European Journal of Operational Research, 144, 560-564. https://doi.org/10.1016/S0377-2217(01)00396-4
[13] Clasen, R.J. (1968) The Numerical Solution of Network Problems Using the Out-of-Kilter Algorithm. No. RM-5456-PR. RAND CORP Santa Monica.