In this article, we devise two dual based methods for obtaining very good solution to a single stage un-capacitated minimum cost flow problem. These methods are an improvement to the methods already developed by Sharma and Saxena [1]. We further develop a method to extract a very good primal solution from a given dual solution. We later demonstrate the efficacies and the significance of these methods on 150 random problems.
Un-capacitated min cost flow problem is a special case of min cost flow problem in which arc capacities are assumed to be infinite. Weintraub [
Successive shortest path algorithm was developed by Busakar and Gowan [
Sharma and Saxena [
We next present the mathematical formulation of the primal problem and dual problem respectively.
as a fraction of total market demand. Hence we have
transshipment nodes.
In this formulation we assume flows only in the forward direction. Equation (1) ensures that entire supply is transported to meet the demand, which is valid for the balanced problem. Equation (2) ensures that the total demand is met by the supply. Equations (3) and (4) ensure that individual supply and demand constraints are satisfied, while Equation (4) ensures that no inventory is built at any transshipment node.
In this section we present the dual of the problem P. We associate
DP
DP-source
DP-sink
We start with development of the heuristic for the dual solution, and then move on to develop the heuristic for the primal. Computational attractiveness of these results will be demonstrated in the later sections through empirical testing. Well known dual based approaches (Orlin [
SPS = {SPik:SPik is the shortest path between i and k}.
Problem (TP)
and
Theorem 1: Optimal solution of problem TP is equal to optimal solution to problem P.
Proof: Since upper value of the flow is unbounded, hence optimal flow for a pair of source node and sink node will be on SPik. This ensures that any further reduction in the objective value is not possible. Therefore problem TP gives the optimal solution to problem P. Hence proved.
DP-source and DP-sink are equivalent in structure to DRP1 in Sharma and Murlidhar [
Step 1. DP-source and DP-sink can be rewritten as under
DP-source
DP-sink
Step 2. Find
DP-source
Maximize:
s.t
DP-sink
Maximize:
s.t.
Step 3. We sort the values of
Step 4. Since
We repeat the whole procedure for different increases in values of Wj " all j and retain the best solution.
It may be noted that when we increase/decrease the value of Wj " j, DP-source increases while DP-sink decreases as per the structure of DP-source and DP-sink. Actually all four possibilities are there for a general case. Our algorithm here intends to balance value of Wj for the best trade-off possible.
Result 1: Computational complexity of A1 is O(n2).
Proof: Complexity of algorithm is dominated by step 2 which can be solved in O(n2) time.
In the previous algorithm, we tinkered with value of
Step 0: Set Wj = 0 ∀ j = 1, …, J.
Step 1: Compute max_value of DP_source and DP_sink, set current_best_DP = objective function value of (DP source + DP-sink), set j = 0.
Step 2: j = j + 1; if j > J then stop or else go to step 3.
Step 3: Increase value of Wj in steps and compute for each value of Wj: max_value of DP-source and DP-sink.
Step 4: Set current_DP = objective function value of (DP-source + DP-sink).
If current_DP > current_best_DP then current_best_DP = current_DP go to step 3, else go to step 2.
Result 2: Heuristic 2 runs in O(n3) time.
Proof: Complexity of the step is heuristic is dominated by step 3 which can be completed in O(n3) steps.
In this section we will develop a primal heuristic by utilizing the complimentary slackness condition. This heuristic extracts a good primal solution from a good dual solution by utilizing complimentary slackness condition. Let us denote the solution of DP by
Vsso, Vssi,
sink slacks respectively,
then referred to as deviation number. If SPik = 0, then we can send a positive flow along this arc without violating the Complimentary slackness property. However if SPik > 0, then flow along this has to be zero if complimentary slackness property is not to be violated. As we are working with good dual solution (and not optimal dual solution), we may have to send positive flow along a path (i,k) even if SPik > 0. But the heuristic so described tries to minimize DNik and hence keep complementary slackness violations as low as possible to get good primal solution. If at the end of execution of algorithm DN = 0, then we have the optimal primal solution. In this way DNik is similar to Kilter number (ref OUT-OF-KILTER algorithm (a primal dual approach) [
We find shortest path from every source node ‘i’ to every sink node ‘k’ 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 = 0, Si1k1 = 0 "all i, j and k.
Step 1: Compute Sik = Sso + Ssi "all j and particular i and k.
And Sik’ = Sso’ + Ssi’ "j’ ¹ j for the same i, k.
If Sik’ < Sik then Si1k1 = Sik’, Repeat the step "i, j and k.
Step 2: Find i and k: dk > 0 and bi > 0.
If Si1k1 < Si2k2: i1 ¹ i2 or k1 ¹ k "all i and k then Xij = Xjk = Si1k1 = min(bi, dk) = a*, bi = bi − a*, dk = dk − a*.
Step 3: Stop.
Result 3: Heuristic H2 runs in O(n2) time.
Proof: Complexity is dominated by the step 1 which is sorting and can be solved in O(n2).
We have solved 150 random problems of varying sizes using methods proposed in this article and the ones developed by Sharma and Saxena [
In this work we have developed computationally efficient dual based method to achieve good solution to un-capacitated transshipment problem. As stated earlier, available primal and dual based approaches are capable of solving un-capacitated transshipment problem in O(n3 log(n)) and O(m3 log(n)) time respectively. Computational complexities of H1, H2 and H3 are O(n2), O(n3) and O(n2) respectively. Later we intend to extend this work to General Minimum Cost Flow Problem which would have additional capacity constraints on the arcs.
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. http://dx.doi.org/10.4236/ajor.2016.66043
Results of 150 Problems.