^{1}

^{*}

^{1}

^{*}

^{1}

^{*}

^{1}

^{*}

We note that the Single Stage Single Period Multi Commodity Warehouse Location Problem (SSSPMCWLP) has been first attempted by Geoffrion and Graves [1], and that they use the weak formulation (in context of contribution of this paper). We give for the first time “strong” formulation of SSSPMCWLP. We notice advantages of strong formulation over weak formulation in terms of better bounds for yielding efficient Branch and Bound solutions. However, the computation time of “strong” formulation was discovered to be higher than that of the “weak” formulation, which was a major drawback in solving large size problems. To overcome this, we develop the hybrid strong formulation by adding only a few most promising demand and supply side strong constraints to the weak formulation of SSSPMCWLP. So, the formulations developed were put to test on various large size problems. Hybrid formulation is able to give better bound than the weak and takes much less CPU time than the strong formulation. So, a kind of trade off is achieved allowing efficiently solving large sized SSSPMCWLP in real times using hybrid formulation.

Warehousing is a key component of today’s business supply chain. It is not just a place to store finished goods but involves various value added functions like consolidation, packing and shipment of orders to customers. Organizations produce several commodities at various manufacturing sites, and generally it is not economical to get these commodities directly from plants to markets owing to distant market locations, associated demand disparities and uncertainties. Therefore, warehouses are installed at various locations between plants and markets to consolidate the localized customer demand. There can be more than one stage of the warehouse located between plants and the markets (Multistage Warehouse Location Problem). Among all considerations for securing a warehouse premise, the most important features are the space the warehouse can offer and its location. Generally, the sole objective in warehouse allocation problem is to minimize the total cost of transporting the goods from the manufacturing sites to the end customers via these warehouses.

We develop in this work the strong constraints for the multi-commodity case of Single Stage Single Period Capacitated Warehouse Location Problem (SSSPMCWLP). Here, “Capacitated” means that the capacity of a warehouse at a particular location is fixed and limited. This problem can be compared with a real life problem faced by Food Corporation of India (FCI) [

The importance of allocation of warehouses/facility between the production sites and the market can be depicted from the fact that this has been studied in its variant forms by long lists of researchers from last four decades and still remains the crucial decision of today’s supply chain design. Researchers have used several methods/approaches to reach the optimal solution. Warehouse allocation problem can be classified as:

Uncapacitated or Simple Plant Location Problems are those where it is assumed that facility has infinite storage space/handling capacity while the Capacitated Plant Location Problem implies that the capacity of the warehouse is limited and known in advance.

Single commodity means that there is only a single type of commodity and multi-commodity problems dealing with more than one type of commodities to be distributed.

Single stage refers to the real life problems where commodities are stored at one intermediate stage between plants and markets, while in the multi-stage problems, food grain distribution system commodities are stored at multiple stages (

Our problem is multi-commodity single stage single period capacitated warehouse location problem (SSSPMCWLP), whose variants have been attempted by many researchers. An overview of the work done in the field of facility allocation can be found in review work of ReVelle and Eiselt [

blem by a branch-and-bound algorithm. Sharma [

It may be noted that Sharma [

The remainder of this paper is organized as follows. Section 2 gives mathematical formulation of the SSSCPMCWLP based on the existing literature and our modifications. Section 3 provides theoretical framework for using strong formulation, followed by empirical justification of hybrid formulation trade off in relaxed bound values versus computation time. The results from empirical investigation are followed by conclusions in Section 4.

^{**});

^{**}: Even if the volume or density are different for commodities a conversion factor can be introduced to account for them in warehouse capacity constraint (say

Minimize

Subjected to:

Linking constraints

Positive and binary constraints on decision variables:

Relaxed binary constraints

Formulation I: Min (1); s.t. (2) - (5); (6); (9) - (11);

Formulation II: Min (1); s.t. (2) - (5); (7) - (8); (9) - (11).

Theorem 1: LP relaxation of strong formulation (formulation II) gives superior bounds than the LP relaxation of weak formulation (formulation I) of SSSPMCWLP.

Proof: we see the feasible region of LP relaxation of formulation II is much smaller than feasible region of LP relaxation of formulation I, since

Though LP relaxation of weak formulation gives inferior bounds but are computed very fast (as it has linear number of linking constraints). LP relaxation of strong formulation gives superior bounds but it takes more time (as number of linking constraints are of order

The hybrid formulation is developed to take advantage of both (better bound of strong formulation and better computation time of weak formulation) by adding most promising constraints of the strong formulation to the weak formulation of the SSSPMCWLP. Those few ‘strong’ constraints added may be binding in strong formulation, and can carefully be obtained by sorting the demand and supply values and gradually iterating to get the desired result. We started with 20% of strong constraints then reduced to5%, by step size of 5% and later reduced with step size of 1%. In each step, we observed decrease in the bounds obtained by LP relaxation but also simultaneous significant improvement in computational time. After some iteration we arrived at desired/satis- factory level and decided that the top 2% of total “strong” demand and supply constraints were to be added to the “weak” formulation of SSSPMCWLP to get the required hybrid formulation. At this level, the bounds were only a little inferior from weak bounds, but took substantially less computational time compared to strong computational time; significantly improving the overall computational times for solving original SSSPMCWLP. This motivated us to develop the following procedure.

Procedure to build hybrid formulation constraints

Step 1: Sort demand points values in increasing order of demand

Set cut off number

Let the demand associated with this number N and given m be:

Prepare a set of most promising demand points

Now,

Step 2: Sort supply points values in increasing order of demand

Set cut off number

Let the Supply capacity associated with this number N and given m be:

Prepare a set of most promising supply points

Now,

Hybrid formulation (HF) and its relaxation (HFR)

HF: Minimize (1); subject to (2) - (6); (9) - (11); (13); (14);

HFR: Minimize (1); subject to (2) - (6); (9); (10); (12); (13); (14).

GAMS programming is used to show the superiority of formulation (II) over formulation (I) and t-test has been conducted for the statistical significance of the results. To overcome the drawback of higher CPU time for strong formulation (Formulation II), a hybrid formulation is developed by adding the most promising supply and demand side strong linking constraint to the weak formulation. Here we have included 2% of the demand and strong side linking constraints to the weak formulation for which demand and supply are least.

Problem instances of the size 50 × 50 × 50 and 100 × 100 × 100 are solved in GAMS for the following four categories (

1) In each problem instance demand for each commodity in each market is taken as uniformly distributed with lower bound of 100 units and upper bound of 150 units;

Category | Average warehouse capacity | Average supply capacity |
---|---|---|

A. | 30% more than the average demand | 30% more than the average warehouse capacity |

B. | 30% more than the average demand | 125% more than the average warehouse capacity |

C. | 125% more than the average demand | 30% more than the average warehouse capacity |

D. | 125% more than the average demand | 125% more than the average warehouse capacity |

2) Total Supply Capacity of each commodity at any plant and Warehouse Capacity at any location is more than any market average demand and taken as per the above four categories in

3) Warehouse Capacity and Supply Capacity of plants are also uniformly distributed;

4) Cost of carrying one unit from plant to warehouse is normally distributed with mean of 4000 and standard deviation of 300;

5) Cost of carrying one unit from warehouse to market is normally distributed with mean of 5000 and standard deviation of 400;

6) Fixed Cost of locating a warehouse is normally distributed with a mean of 10,000 and standard deviation of 1500.

Samples problems are solved by relaxing the 0 - 1 constraints for the location variable Yj (constraint (12) in place of constraint (11) in formulation I and formulation II).

GAMS code is written to generate the random values for supply capacity, warehouse capacity, demand, costs of transportation and fixed cost of warehouse location as per the above specified criteria. The same code solves both the formulation (I) and formulation (II) with the same input data. Same data is used to solve hybrid formulation, so that we can compare the objective function values and CPU time values for these three formulations. 30 Problems are solved for each of the four categories for each problem size (total number of problem instances solved = 240, 120 of each of the size 50 × 50 × 50 and 100 × 100 × 100) using a Intel (R) Core (TM) i7-4770S CPU @ 3.10GHz.

Objective function values and CPU time for each and every problem instance is recorded and statistical analysis (t-test) is done to check the superiority of formulation (II) over formulation (I) and superiority of hybrid formulation over other formulations with a confidence level of 99.5% (Tables 2-13).

Hypothesis tests are conducted as follows:

I. To check improvement in objective function values of LP relaxed Strong Bound (formulation II) from LP relaxed Weak Formulation (formulation I)

µ_{1}: Percentage increase in objective function value of LP relaxed formulation (II) over LP relaxed formulation (I).

Null hypothesis,

Alternate hypothesis,

From the statistical t-tables we have the critical value for t-stats at

II. To check improvement in objective function values of LP relaxed Hybrid formulation vs. LP relaxed Weak Formulation (formulation I).

µ_{2}: Percentage increase in objective function value of LP relaxed Hybrid formulation over LP relaxed Weak formulation (formulation I).

Null hypothesis,

Alternate hypothesis,

Result: Comparing the calculated t-values with critical t-values, the null hypothesis µ_{2} = 0 is rejected.

III. To check deterioration in CPU time values of LP relaxed Strong bound (formulation (II)) vs. LP relaxed Weak bound (formulation (I)).

t1: Percentage deterioration in CPU time for Strong formulation (II) over weak formulation (I).

Null hypothesis,

Alternate hypothesis,

Problem instance number | Weak bound (relaxed formulation I) | Hybrid formulation bound (relaxed weak formulation with most promising strong linking constraints added) | Strong bound (relaxed formulation II) | |||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 464761657.8 | 0.172 | 464,856,004 | 0.193 | 465252234.1 | 0.203 |

P2 | 465982540.6 | 0.141 | 466,077,974 | 0.160 | 466,479,602 | 0.203 |

P3 | 463307328.6 | 0.141 | 463,406,152 | 0.153 | 463794110.6 | 0.203 |

P4 | 463827848.1 | 0.14 | 463,921,356 | 0.159 | 464328797.5 | 0.187 |

P5 | 462125994.6 | 0.141 | 462,227,246 | 0.156 | 462614855.4 | 0.203 |

P6 | 464303782.3 | 0.141 | 464,405,186 | 0.158 | 464812299.2 | 0.203 |

P7 | 466278050.8 | 0.140 | 466,375,689 | 0.158 | 466787603.6 | 0.203 |

P8 | 463635528.2 | 0.141 | 463,730,203 | 0.152 | 464,121,359 | 0.187 |

P9 | 463313848.7 | 0.141 | 463,413,322 | 0.156 | 463809058.1 | 0.187 |

P10 | 464,843,759 | 0.109 | 464,937,239 | 0.120 | 465335659.3 | 0.187 |

P11 | 464899247.3 | 0.110 | 464,993,389 | 0.119 | 465404355.6 | 0.203 |

P12 | 463364638.6 | 0.109 | 463,457,636 | 0.122 | 463851905.1 | 0.203 |

P13 | 464718283.4 | 0.125 | 464,815,642 | 0.135 | 465205666.3 | 0.203 |

P14 | 461971206.5 | 0.125 | 462,068,220 | 0.142 | 462461413.5 | 0.203 |

P15 | 466460412.4 | 0.109 | 466,557,763 | 0.124 | 466968490.2 | 0.187 |

P16 | 466,121,646 | 0.125 | 466,215,197 | 0.140 | 466623984.1 | 0.203 |

P17 | 466,613,596 | 0.109 | 466,708,832 | 0.118 | 467117668.5 | 0.187 |

P18 | 457,455,118 | 0.125 | 457,547,981 | 0.141 | 457,942,972 | 0.203 |

P19 | 465677481.6 | 0.125 | 465,778,580 | 0.141 | 466196407.9 | 0.203 |

P20 | 464276924.6 | 0.125 | 464,370,012 | 0.142 | 464,767,951 | 0.203 |

P21 | 462941205.5 | 0.125 | 463,035,738 | 0.140 | 463438858.3 | 0.203 |

P22 | 461101747.4 | 0.125 | 461,195,628 | 0.136 | 461599000.9 | 0.203 |

P23 | 465161010.4 | 0.125 | 465,258,415 | 0.135 | 465650542.7 | 0.203 |

P24 | 461900311.9 | 0.125 | 461,998,743 | 0.135 | 462396333.7 | 0.203 |

P25 | 463755031.4 | 0.125 | 463,856,362 | 0.141 | 464258661.5 | 0.203 |

P26 | 459684460.9 | 0.125 | 459,780,121 | 0.134 | 460163496.2 | 0.235 |

P27 | 466716094.5 | 0.110 | 466,811,865 | 0.125 | 467213751.9 | 0.219 |

P28 | 465410474.9 | 0.109 | 465,503,929 | 0.123 | 465913015.5 | 0.203 |

P29 | 465,546,559 | 0.125 | 465,645,488 | 0.141 | 466045992.9 | 0.219 |

P30 | 459281474.2 | 0.141 | 459,377,556 | 0.156 | 459785502.4 | 0.203 |

Problem instance number | Weak bound (relaxed formulation I) | Hybrid formulation bound (relaxed weak formulation with most promising strong linking constraints added) | Strong bound (relaxed formulation II) | |||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 462154595.8 | 0.125 | 462,252,526 | 0.168 | 462647776.5 | 0.203 |

P2 | 463922755.7 | 0.125 | 464,021,386 | 0.172 | 464424535.6 | 0.219 |

P3 | 454902314.7 | 0.094 | 454,995,979 | 0.130 | 455391806.2 | 0.234 |

P4 | 462729689.5 | 0.11 | 462,824,549 | 0.156 | 463237509.7 | 0.203 |

P5 | 463264246.2 | 0.109 | 463,357,548 | 0.159 | 463756427.2 | 0.203 |

P6 | 459871109.2 | 0.109 | 459,967,544 | 0.149 | 460359595.1 | 0.203 |

P7 | 463005259.3 | 0.109 | 463,102,583 | 0.150 | 463499775.1 | 0.203 |

P8 | 461,750,540 | 0.11 | 461,846,630 | 0.154 | 462250609.3 | 0.203 |

P9 | 462513368.3 | 0.109 | 462,607,027 | 0.142 | 463008757.8 | 0.203 |

P10 | 464652116.8 | 0.109 | 464,746,116 | 0.157 | 465,123,264 | 0.203 |

P11 | 465,808,805 | 0.125 | 465,907,370 | 0.174 | 466,306,867 | 0.25 |

P12 | 466659753.5 | 0.14 | 466,754,205 | 0.181 | 467165643.8 | 0.25 |

P13 | 465859563.6 | 0.141 | 465,953,947 | 0.177 | 466,367,333 | 0.234 |

P14 | 460683422.9 | 0.125 | 460,784,405 | 0.158 | 461175212.4 | 0.234 |

P15 | 459791614.3 | 0.125 | 459,888,906 | 0.174 | 460282546.8 | 0.188 |

P16 | 460724495.9 | 0.109 | 460,819,912 | 0.155 | 461231699.5 | 0.172 |

P17 | 461385093.5 | 0.125 | 461,480,185 | 0.158 | 461887513.4 | 0.203 |

P18 | 463032455.3 | 0.125 | 463,126,358 | 0.173 | 463528485.4 | 0.188 |

P19 | 461040271.5 | 0.109 | 461,141,147 | 0.152 | 461544498.2 | 0.25 |

P20 | 461,943,881 | 0.093 | 462,038,256 | 0.134 | 462455999.9 | 0.187 |

P21 | 461975515.3 | 0.11 | 462,077,104 | 0.139 | 462458306.3 | 0.188 |

P22 | 459544615.7 | 0.109 | 459,645,210 | 0.152 | 460,037,834 | 0.187 |

P23 | 461886169.8 | 0.11 | 461,983,905 | 0.146 | 462402129.2 | 0.203 |

P24 | 459427161.6 | 0.109 | 459,522,677 | 0.147 | 459,901,863 | 0.188 |

P25 | 465536812.4 | 0.125 | 465,631,596 | 0.161 | 466,037,225 | 0.234 |

P26 | 461721331.5 | 0.125 | 461,819,032 | 0.173 | 462220540.5 | 0.25 |

P27 | 460304848.7 | 0.11 | 460,396,956 | 0.148 | 460808541.2 | 0.234 |

P28 | 458865037.7 | 0.125 | 458,963,051 | 0.167 | 459365142.4 | 0.218 |

P29 | 461224194.5 | 0.109 | 461,321,005 | 0.153 | 461736086.6 | 0.203 |

P30 | 462191950.1 | 0.109 | 462,287,670 | 0.149 | 462677404.9 | 0.219 |

Problem instance number | Weak bound (relaxed formulation I) | Hybrid formulation bound (relaxed weak formulation with most promising strong linking constraints added) | Strong bound (relaxed formulation II) | |||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 460156810.2 | 0.125 | 460,249,210 | 0.157 | 460647316.2 | 0.25 |

P2 | 461928500.6 | 0.109 | 462,025,737 | 0.154 | 462422695.2 | 0.187 |

P3 | 460184521.6 | 0.094 | 460,277,847 | 0.118 | 460670115.5 | 0.188 |

P4 | 458523854.3 | 0.109 | 458,623,812 | 0.154 | 459015839.3 | 0.188 |

P5 | 461210372.4 | 0.109 | 461,310,363 | 0.146 | 461695917.4 | 0.172 |

P6 | 466736925.2 | 0.109 | 466,839,421 | 0.134 | 467227158.5 | 0.188 |

P7 | 465040652.4 | 0.109 | 465,135,474 | 0.160 | 465533649.4 | 0.188 |

P8 | 465,711,634 | 0.11 | 465,806,825 | 0.132 | 466203952.5 | 0.188 |

P9 | 462,663,898 | 0.093 | 462,758,652 | 0.118 | 463143978.5 | 0.171 |

P10 | 461994675.3 | 0.11 | 462,089,430 | 0.155 | 462501565.4 | 0.188 |

P11 | 463137094.7 | 0.11 | 463,237,318 | 0.158 | 463654765.4 | 0.187 |

P12 | 460644100.8 | 0.11 | 460,736,460 | 0.149 | 461147401.4 | 0.187 |

P13 | 459979852.8 | 0.109 | 460,080,404 | 0.144 | 460480501.1 | 0.172 |

P14 | 465645551.9 | 0.125 | 465,743,431 | 0.180 | 466,147,369 | 0.171 |

P15 | 459540857.4 | 0.109 | 459,641,773 | 0.143 | 460034510.6 | 0.172 |

P16 | 457524145.7 | 0.094 | 457,617,435 | 0.116 | 458003132.4 | 0.187 |

P17 | 463560066.4 | 0.094 | 463,658,619 | 0.129 | 464066716.1 | 0.172 |

P18 | 461800417.3 | 0.125 | 461,896,010 | 0.169 | 462290440.1 | 0.187 |

P19 | 461310140.9 | 0.094 | 461,402,864 | 0.132 | 461809878.3 | 0.172 |

P20 | 463826134.1 | 0.109 | 463,921,172 | 0.137 | 464324355.3 | 0.188 |

P21 | 461729092.8 | 0.125 | 461,826,795 | 0.158 | 462207481.3 | 0.172 |

P22 | 459986245.2 | 0.109 | 460,084,636 | 0.148 | 460465903.5 | 0.187 |

P23 | 466476622.5 | 0.094 | 466,576,728 | 0.126 | 466958243.4 | 0.219 |

P24 | 461750643.4 | 0.094 | 461,844,887 | 0.114 | 462241797.1 | 0.172 |

P25 | 461884416.2 | 0.11 | 461,978,687 | 0.149 | 462377121.9 | 0.172 |

P26 | 462809272.1 | 0.11 | 462,905,999 | 0.162 | 463300162.2 | 0.188 |

P27 | 462,954,846 | 0.109 | 463,050,076 | 0.140 | 463446331.4 | 0.172 |

P28 | 462717628.6 | 0.11 | 462,814,105 | 0.157 | 463207321.1 | 0.172 |

P29 | 461110049.8 | 0.109 | 461,211,171 | 0.160 | 461601038.8 | 0.187 |

P30 | 461842013.8 | 0.125 | 461,938,493 | 0.170 | 462355526.8 | 0.187 |

Problem instance number | Weak bound (relaxed formulation I) | Strong bound (relaxed formulation II) | ||||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 465681644.6 | 0.109 | 465,779,158 | 0.125 | 466164697.7 | 0.188 |

P2 | 457544301.9 | 0.109 | 457,638,693 | 0.128 | 458054151.7 | 0.203 |

P3 | 459974575.7 | 0.093 | 460,067,583 | 0.106 | 460478771.5 | 0.188 |

P4 | 458538365.5 | 0.094 | 458,633,100 | 0.116 | 459024202.6 | 0.187 |

P5 | 460692904.2 | 0.094 | 460,793,612 | 0.111 | 461176844.4 | 0.203 |

P6 | 459,533,942 | 0.094 | 459,626,170 | 0.124 | 460005875.9 | 0.203 |

P7 | 460283567.4 | 0.109 | 460,376,361 | 0.141 | 460778713.3 | 0.187 |

P8 | 461,788,231 | 0.109 | 461,882,251 | 0.131 | 462277760.5 | 0.188 |

P9 | 456723909.6 | 0.125 | 456,816,899 | 0.150 | 457209892.4 | 0.172 |

P10 | 459648712.5 | 0.125 | 459,744,963 | 0.158 | 460163566.7 | 0.172 |

P11 | 456480416.3 | 0.11 | 456,579,336 | 0.127 | 456977922.9 | 0.188 |

P12 | 465421105.4 | 0.109 | 465,520,659 | 0.127 | 465917396.2 | 0.172 |

P13 | 463411618.9 | 0.109 | 463,506,016 | 0.138 | 463903987.7 | 0.188 |

P14 | 462087761.9 | 0.125 | 462,188,543 | 0.160 | 462585844.7 | 0.172 |

P15 | 464393272.7 | 0.109 | 464,494,557 | 0.135 | 464873431.8 | 0.187 |

P16 | 459898122.6 | 0.125 | 459,995,391 | 0.147 | 460381579.4 | 0.172 |

P17 | 460720255.7 | 0.109 | 460,814,657 | 0.145 | 461222610.1 | 0.187 |

P18 | 460516332.1 | 0.125 | 460,613,547 | 0.153 | 461019806.6 | 0.188 |

P19 | 460753982.8 | 0.109 | 460,850,649 | 0.131 | 461254252.7 | 0.187 |

P20 | 459873402.2 | 0.109 | 459,966,067 | 0.144 | 460379360.6 | 0.172 |

P21 | 461661335.6 | 0.125 | 461,757,407 | 0.149 | 462144676.9 | 0.218 |

P22 | 464025496.2 | 0.109 | 464,123,545 | 0.124 | 464,520,012 | 0.172 |

P23 | 456996616.6 | 0.141 | 457,093,226 | 0.184 | 457461190.2 | 0.172 |

P24 | 463178689.2 | 0.125 | 463,280,311 | 0.156 | 463674506.7 | 0.172 |

P25 | 460206278.2 | 0.11 | 460,301,633 | 0.147 | 460708601.5 | 0.188 |

P26 | 462363155.8 | 0.11 | 462,459,743 | 0.130 | 462850313.3 | 0.172 |

P27 | 464172352.1 | 0.11 | 464,268,389 | 0.137 | 464682393.6 | 0.203 |

P28 | 457850163.7 | 0.11 | 457,942,192 | 0.135 | 458357345.2 | 0.188 |

P29 | 462003319.6 | 0.125 | 462,098,030 | 0.148 | 462497026.1 | 0.172 |

P30 | 460635912.7 | 0.11 | 460,733,936 | 0.133 | 461120649.7 | 0.187 |

Problem instance number | Weak bound (relaxed formulation I) | Strong bound (relaxed formulation II) | ||||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 1,365,932,733 | 0.969 | 1,366,215,071 | 1.085 | 1,366,941,579 | 1.562 |

P2 | 1,356,964,622 | 1.062 | 1,357,249,992 | 1.144 | 1,357,960,054 | 1.572 |

P3 | 1,366,670,095 | 1.093 | 1,366,946,572 | 1.248 | 1,367,675,025 | 1.65 |

P4 | 1,364,344,024 | 1.047 | 1,364,630,536 | 1.145 | 1,365,354,097 | 1.578 |

P5 | 1,359,252,277 | 1.109 | 1,359,550,905 | 1.265 | 1,360,243,625 | 1.578 |

P6 | 1,362,703,027 | 1.031 | 1,362,989,604 | 1.137 | 1,363,687,229 | 1.547 |

P7 | 1,357,648,342 | 1.094 | 1,357,931,004 | 1.248 | 1,358,646,263 | 1.532 |

P8 | 1,361,734,440 | 1.078 | 1,362,015,230 | 1.234 | 1,362,771,012 | 1.578 |

P9 | 1,363,335,394 | 1.094 | 1,363,626,057 | 1.226 | 1,364,326,431 | 1.578 |

P10 | 1,354,662,978 | 1.062 | 1,354,940,548 | 1.126 | 1,355,672,184 | 1.625 |

P11 | 1,359,010,784 | 1.031 | 1,359,297,671 | 1.111 | 1,360,015,221 | 1.578 |

P12 | 1,360,290,820 | 1.031 | 1,360,566,551 | 1.118 | 1,361,275,760 | 1.484 |

P13 | 1,359,813,107 | 1.015 | 1,360,106,147 | 1.136 | 1,360,804,455 | 1.516 |

P14 | 1,360,229,705 | 1.094 | 1,360,524,059 | 1.190 | 1,361,194,499 | 1.563 |

P15 | 1,357,065,375 | 1 | 1,357,352,530 | 1.080 | 1,358,068,651 | 1.485 |

P16 | 1,366,116,379 | 1.063 | 1,366,414,875 | 1.185 | 1,367,101,877 | 1.797 |

P17 | 1,354,295,387 | 1.016 | 1,354,575,049 | 1.166 | 1,355,307,736 | 1.547 |

P18 | 1,362,453,698 | 1.093 | 1,362,753,165 | 1.196 | 1,363,466,065 | 1.656 |

P19 | 1,351,212,750 | 1.047 | 1,351,506,098 | 1.133 | 1,352,228,221 | 1.594 |

P20 | 1,354,546,726 | 1.062 | 1,354,825,085 | 1.156 | 1,355,567,185 | 1.593 |

P21 | 1,361,671,542 | 1.078 | 1,361,968,932 | 1.167 | 1,362,652,718 | 1.515 |

P22 | 1,365,090,355 | 1.031 | 1,365,366,240 | 1.125 | 1,366,081,015 | 1.531 |

P23 | 1,353,711,255 | 1.015 | 1,353,984,975 | 1.125 | 1,354,692,174 | 1.594 |

P24 | 1,359,167,606 | 1.078 | 1,359,454,798 | 1.239 | 1,360,142,833 | 1.547 |

P25 | 1,354,759,090 | 1.078 | 1,355,052,259 | 1.185 | 1,355,756,040 | 1.546 |

P26 | 1,360,824,145 | 0.984 | 1,361,122,302 | 1.101 | 1,361,829,294 | 1.594 |

P27 | 1,357,519,457 | 1.047 | 1,357,817,161 | 1.210 | 1,358,490,606 | 1.516 |

P28 | 1,355,437,009 | 1.047 | 1,355,724,226 | 1.148 | 1,356,416,967 | 1.562 |

P29 | 1,360,832,833 | 0.985 | 1,361,119,561 | 1.126 | 1,361,815,955 | 1.578 |

P30 | 1,349,511,932 | 1.062 | 1,349,797,353 | 1.191 | 1,350,507,838 | 1.578 |

Problem instance number | Weak bound (relaxed formulation I) | Strong bound (relaxed formulation II) | ||||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 1,347,812,101 | 0.984 | 1,348,043,655 | 1.099 | 1,348,824,104 | 1.437 |

P2 | 1,353,943,093 | 0.875 | 1,354,165,275 | 1.037 | 1,354,916,518 | 1.5 |

P3 | 1,353,589,922 | 0.797 | 1,353,818,814 | 0.918 | 1,354,572,437 | 1.406 |

P4 | 1,348,651,591 | 0.875 | 1,348,874,253 | 0.988 | 1,349,651,010 | 1.438 |

P5 | 1,353,236,978 | 0.859 | 1,353,454,443 | 0.970 | 1,354,223,675 | 1.422 |

P6 | 1,345,291,759 | 0.859 | 1,345,512,522 | 0.954 | 1,346,286,225 | 1.5 |

P7 | 1,354,089,798 | 0.875 | 1,354,306,453 | 0.976 | 1,355,101,717 | 1.578 |

P8 | 1,350,526,131 | 0.89 | 1,350,746,131 | 1.032 | 1,351,547,781 | 1.562 |

P9 | 1,347,779,924 | 0.844 | 1,348,003,925 | 0.939 | 1,348,783,579 | 1.563 |

P10 | 1,352,052,432 | 0.968 | 1,352,282,416 | 1.141 | 1,353,075,218 | 1.547 |

P11 | 1,348,474,977 | 0.875 | 1,348,704,892 | 0.998 | 1,349,452,863 | 1.531 |

P12 | 1,358,050,071 | 0.859 | 1,358,285,014 | 1.010 | 1,358,999,314 | 1.61 |

P13 | 1,360,492,873 | 0.875 | 1,360,727,422 | 0.989 | 1,361,471,188 | 1.563 |

P14 | 1,347,055,192 | 0.86 | 1,347,287,155 | 0.949 | 1,348,053,275 | 1.578 |

P15 | 1,346,813,104 | 0.86 | 1,347,032,769 | 0.957 | 1,347,825,533 | 1.409 |

P16 | 1,351,598,681 | 0.859 | 1,351,818,451 | 0.990 | 1,352,597,768 | 1.556 |

P17 | 1,352,634,141 | 0.844 | 1,352,873,693 | 0.938 | 1,353,614,996 | 1.438 |

P18 | 1,347,143,013 | 0.828 | 1,347,368,659 | 0.928 | 1,348,101,467 | 1.422 |

P19 | 1,347,578,203 | 0.844 | 1,347,811,739 | 0.996 | 1,348,549,057 | 1.375 |

P20 | 1,354,172,979 | 0.86 | 1,354,405,219 | 1.024 | 1,355,188,299 | 1.407 |

P21 | 1,353,131,970 | 0.844 | 1,353,350,636 | 0.974 | 1,354,106,286 | 1.407 |

P22 | 1,352,195,677 | 0.875 | 1,352,423,658 | 1.000 | 1,353,198,611 | 1.437 |

P23 | 1,354,067,995 | 0.875 | 1,354,309,967 | 1.036 | 1,355,054,115 | 1.532 |

P24 | 1,348,354,628 | 0.828 | 1,348,587,758 | 0.950 | 1,349,338,895 | 1.478 |

P25 | 1,348,863,378 | 0.86 | 1,349,093,359 | 1.030 | 1,349,868,041 | 1.578 |

P26 | 1,350,507,863 | 0.984 | 1,350,725,025 | 1.156 | 1,351,509,090 | 1.516 |

P27 | 1,351,696,314 | 1 | 1,351,938,538 | 1.191 | 1,352,686,083 | 1.453 |

P28 | 1,348,216,115 | 1 | 1,348,458,524 | 1.139 | 1,349,190,279 | 1.469 |

P29 | 1,349,155,465 | 0.969 | 1,349,378,346 | 1.123 | 1,350,167,144 | 1.406 |

P30 | 1,355,404,108 | 0.968 | 1,355,636,560 | 1.078 | 1,356,383,297 | 1.422 |

Problem instance number | Weak bound (relaxed formulation I) | Strong bound (relaxed formulation II) | ||||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 1,356,765,481 | 1 | 1,356,988,805 | 1.028 | 1,357,747,787 | 1.375 |

P2 | 1,348,578,687 | 0.906 | 1,348,784,480 | 0.934 | 1,349,566,313 | 1.375 |

P3 | 1,350,776,977 | 0.89 | 1,351,005,393 | 0.910 | 1,351,787,791 | 1.391 |

P4 | 1,356,692,279 | 0.89 | 1,356,918,304 | 0.913 | 1,357,678,393 | 1.337 |

P5 | 1,359,305,911 | 0.953 | 1,359,517,283 | 0.975 | 1,360,284,488 | 1.39 |

P6 | 1,349,187,512 | 0.922 | 1,349,390,565 | 0.951 | 1,350,173,750 | 1.359 |

P7 | 1,347,497,209 | 0.953 | 1,347,721,702 | 0.979 | 1,348,495,827 | 1.406 |

P8 | 1,351,561,595 | 0.922 | 1,351,780,684 | 0.943 | 1,352,539,359 | 1.39 |

P9 | 1,352,908,377 | 0.906 | 1,353,135,936 | 0.935 | 1,353,917,629 | 1.375 |

P10 | 1,355,180,785 | 0.906 | 1,355,411,030 | 0.928 | 1,356,176,036 | 1.359 |

P11 | 1,349,471,170 | 0.968 | 1,349,679,258 | 0.990 | 1,350,467,442 | 1.422 |

P12 | 1,347,863,661 | 0.922 | 1,348,079,993 | 0.948 | 1,348,867,681 | 1.422 |

P13 | 1,354,473,571 | 0.922 | 1,354,688,119 | 0.947 | 1,355,463,506 | 1.359 |

P14 | 1,350,205,726 | 0.922 | 1,350,433,235 | 0.948 | 1,351,193,519 | 1.344 |

P15 | 1,349,060,862 | 0.922 | 1,349,290,067 | 0.945 | 1,350,041,009 | 1.375 |

P16 | 1,347,587,320 | 0.859 | 1,347,789,863 | 0.886 | 1,348,577,355 | 1.453 |

P17 | 1,351,522,612 | 0.813 | 1,351,733,179 | 0.839 | 1,352,521,657 | 1.359 |

P18 | 1,348,302,161 | 0.828 | 1,348,510,204 | 0.847 | 1,349,326,170 | 1.422 |

P19 | 1,357,334,766 | 0.828 | 1,357,545,560 | 0.852 | 1,358,323,179 | 1.406 |

P20 | 1,346,200,443 | 0.844 | 1,346,428,489 | 0.867 | 1,347,193,192 | 1.485 |

P21 | 1,356,509,204 | 0.828 | 1,356,734,656 | 0.852 | 1,357,494,571 | 1.391 |

P22 | 1,350,745,322 | 0.829 | 1,350,970,356 | 0.852 | 1,351,735,380 | 1.438 |

P23 | 1,356,703,210 | 0.812 | 1,356,919,469 | 0.832 | 1,357,678,909 | 1.422 |

P24 | 1,357,978,256 | 0.844 | 1,358,191,187 | 0.864 | 1,358,962,351 | 1.5 |

P25 | 1,349,813,482 | 0.828 | 1,350,026,212 | 0.848 | 1,350,818,186 | 1.422 |

P26 | 1,354,216,441 | 0.937 | 1,354,434,470 | 0.963 | 1,355,225,303 | 1.516 |

P27 | 1,354,135,174 | 0.844 | 1,354,343,981 | 0.871 | 1,355,144,688 | 1.344 |

P28 | 1,345,665,627 | 0.844 | 1,345,879,453 | 0.869 | 1,346,652,596 | 1.407 |

P29 | 1,353,034,625 | 0.859 | 1,353,261,123 | 0.883 | 1,354,003,682 | 1.375 |

P30 | 1,352,589,054 | 0.844 | 1,352,793,971 | 0.869 | 1,353,593,395 | 1.343 |

Problem instance number | Weak bound (relaxed formulation I) | Strong bound (relaxed formulation II) | ||||
---|---|---|---|---|---|---|

Value | CPU time | Value | CPU time | Value | CPU time | |

P1 | 1,349,044,304 | 0.953 | 1,349,310,336 | 1.076 | 1,350,052,277 | 1.328 |

P2 | 1,341,330,308 | 0.891 | 1,341,585,965 | 1.079 | 1,342,364,193 | 1.344 |

P3 | 1,357,367,491 | 0.875 | 1,357,634,078 | 1.040 | 1,358,357,501 | 1.313 |

P4 | 1,344,761,701 | 0.907 | 1,345,022,451 | 1.072 | 1,345,749,092 | 1.312 |

P5 | 1,353,950,432 | 0.906 | 1,354,231,377 | 1.065 | 1,354,948,263 | 1.343 |

P6 | 1,345,725,674 | 0.86 | 1,345,986,206 | 1.060 | 1,346,727,389 | 1.328 |

P7 | 1,350,064,031 | 0.875 | 1,350,340,929 | 0.991 | 1,351,070,255 | 1.344 |

P8 | 1,349,599,349 | 0.859 | 1,349,856,043 | 1.048 | 1,350,587,142 | 1.312 |

P9 | 1,347,042,608 | 0.875 | 1,347,306,898 | 1.071 | 1,348,010,275 | 1.328 |

P10 | 1,359,202,269 | 0.891 | 1,359,485,934 | 1.034 | 1,360,184,283 | 1.313 |

P11 | 1,347,843,751 | 0.875 | 1,348,111,163 | 1.080 | 1,348,840,103 | 1.328 |

P12 | 1,347,079,789 | 0.859 | 1,347,339,910 | 0.996 | 1,348,069,301 | 1.344 |

P13 | 1,345,959,280 | 0.875 | 1,346,232,645 | 1.005 | 1,346,948,448 | 1.36 |

P14 | 1,352,533,674 | 0.844 | 1,352,817,571 | 0.995 | 1,353,537,564 | 1.359 |

P15 | 1,344,792,939 | 0.891 | 1,345,071,043 | 1.021 | 1,345,811,206 | 1.312 |

P16 | 1,346,897,235 | 0.828 | 1,347,173,079 | 1.006 | 1,347,857,811 | 1.344 |

P17 | 1,335,591,579 | 0.765 | 1,335,869,115 | 0.905 | 1,336,633,363 | 1.344 |

P18 | 1,352,021,379 | 0.813 | 1,352,281,103 | 0.976 | 1,353,033,815 | 1.344 |

P19 | 1,340,538,436 | 0.828 | 1,340,813,112 | 0.994 | 1,341,534,569 | 1.375 |

P20 | 1,358,293,736 | 0.796 | 1,358,553,985 | 0.893 | 1,359,285,053 | 1.329 |

P21 | 1,349,182,387 | 0.828 | 1,349,458,565 | 0.983 | 1,350,197,272 | 1.343 |

P22 | 1,350,465,764 | 0.844 | 1,350,736,127 | 0.978 | 1,351,464,235 | 1.328 |

P23 | 1,342,712,142 | 0.828 | 1,342,975,448 | 0.978 | 1,343,717,026 | 1.344 |

P24 | 1,349,696,083 | 0.812 | 1,349,955,090 | 0.925 | 1,350,685,192 | 1.312 |

P25 | 1,344,666,743 | 0.813 | 1,344,942,265 | 0.967 | 1,345,654,739 | 1.281 |

P26 | 1,349,872,300 | 0.812 | 1,350,155,773 | 0.941 | 1,350,889,585 | 1.328 |

P27 | 1,346,328,212 | 0.797 | 1,346,606,633 | 0.951 | 1,347,349,390 | 1.344 |

P28 | 1,349,420,910 | 0.812 | 1,349,697,811 | 0.919 | 1,350,411,598 | 1.359 |

P29 | 1,350,343,978 | 0.828 | 1,350,602,029 | 1.010 | 1,351,345,376 | 1.313 |

P30 | 1,358,015,527 | 0.828 | 1,358,295,142 | 0.945 | 1,359,024,827 | 1.313 |

Problem category | Problem size (50 × 50 × 50) | Problem size (100 × 100 × 100) |
---|---|---|

t-values | t-values | |

A. | 338.16 | 331.84 |

B. | 264.68 | 281.77 |

C. | 278.69 | 135.03 |

D. | 225 | 289.06 |

Problem category | Problem size (50 × 50 × 50) | Problem size (100 × 100 × 100) |
---|---|---|

t-values | t-values | |

A. | 192.01 | 201.35 |

B. | 202.02 | 161.58 |

C. | 215.59 | 247.58 |

D. | 203.49 | 202.31 |

Problem Category | Problem size (50 × 50 × 50) | Problem size (100 × 100 × 100) |
---|---|---|

t-values | t-values | |

A. | 17.11 | 40.46 |

B. | 21..74 | 29.08 |

C. | 19.85 | 28.51 |

D. | 15.55 | 38.59 |

Problem category | Problem size (50 × 50 × 50) | Problem size (100 × 100 × 100) |
---|---|---|

t-values | t-values | |

A. | 17.76 | 37.72 |

B. | 16.69 | 29.2 |

C. | 10.45 | 41.63 |

D. | 11.46 | 31.07 |

Result: Comparing the calculated t-values with critical t-values, the null hypothesis t_{1} = 0 is rejected.

IV. To check improvements in CPU time values of Hybrid Formulation vs. Strong Formulation (Formulation I).

As we have added only 2% most promising demand and supply side strong linking constraint to the weak formulation to form hybrid formulation, therefore we expect the improvement in CPU time i.e. CPU time for Hybrid Formulation must be less than the CPU time for Strong Formulation. We conduct the following hypothesis test:

t_{2}: Percentage improvement in CPU time i.e. decrement in the CPU time for hybrid formulation from Strong formulation.

Null hypothesis,

Alternate hypothesis,

Result: Comparing the calculated t-values with critical t-values, the null hypothesis t_{2} = 0 is rejected.

Looking at the t-tests done on the empirical results, we see all the null hypotheses have been rejected, implying differences in relaxed formulations results; strong constraints gave the superior bounds than the weak constraints. However, the CPU time for computation for LP relaxed strong formulations were significantly higher than the CPU time for LP relaxed weak formulations, which meant that the benefit of better bounds using stronger formulations is somewhat compromised by their higher computational time. Hybrid formulation values were intermediate between strong and weak formulations with significant improvement in bound values.

The SSSPMCWLP is often encountered in distribution networks which include cross-docks with known manufacturer and customer demand points. We develop strong and hybrid formulation for the SSSPMCWLP for the first time and show its merits over prevalent weak formulation in literature. The idea behind the hybrid formulation is to get advantages of both weak and strong formulation in terms of bound and computational time.

Computational study is done for a variety of problems of different sizes. We find that hybrid formulations of SSSPMCWLP is a good compromise, as it gives better bounds while not incurring greater computation burden.