
-
Previous Article
Air-Conditioner Group Power Control Optimization for PV integrated Micro-grid Peak-shaving
- JIMO Home
- This Issue
-
Next Article
C-eigenvalue intervals for piezoelectric-type tensors via symmetric matrices
A model and two heuristic methods for The Multi-Product Inventory-Location-Routing Problem with heterogeneous fleet
Department of Industrial Engineering, Gazi University, Ankara, Turkey |
The Multi-Product Inventory-Location-Routing Problem with heterogeneous fleet considers a supply chain, which comprises multiple producers, potential distribution centers (DCs) with opening capacity levels and geographically scattered retailers each of which has deterministic demand over a discrete planning horizon. The goal is determining a set of DCs with their capacity levels to open, assigning retailers to the opened DCs, finding product quantities to be ordered by and distributed from opened DCs and determining the fleet and routes to satisfy the demands of retailers with minimum cost. A mixed-integer linear programming model is proposed to describe the problem, which is strengthened by two valid inequalities. Since the commercial solver can only solve the very small-sized instances within a reasonable time, two heuristic methods are developed. Results show that the proposed valid inequalities are effective and both methods provide important savings in acceptable run times compared to the commercial solver.
References:
[1] |
D. Ambrosino and M. G. Scutella,
Distribution network design: New problems and related models, European Journal of Operational Research, 165 (2005), 610-624.
doi: 10.1016/j.ejor.2003.04.009. |
[2] |
D. Blanchard, Supply Chain Management Best Practices, John Wiley & Sons, 2010. Google Scholar |
[3] |
T. M. Cioppa and T. W. Lucas,
Efficient nearly orthogonal and space-filling latin hypercubes, Technometrics, 49 (2007), 45-55.
doi: 10.1198/004017006000000453. |
[4] |
A. Ghorbani and M. R. A. Jokar,
A hybrid imperialist competitive-simulated annealing algorithm for a multisource multi-product location-routing-inventory problem, Computers & Industrial Engineering, 101 (2016), 116-127.
doi: 10.1016/j.cie.2016.08.027. |
[5] |
F. Glover and M. Laguna, Tabu search, In Handbook of Combinatorial Optimization, Vol. 3, Kluwer Acad. Publ., Boston, MA, 1998,621–757. |
[6] |
M. G. Granada and C. W. Silva, Inventory Location Routing problem: A column Generation Approach, PhD thesis, Uniandes, 2011. Google Scholar |
[7] |
W. J. Guerrero, C. Prodhon, N. Velasco and C. A. Amaya,
Hybrid heuristic for the inventory location-routing problem with deterministic demand, International Journal of Production Economics, 146 (2013), 359-370.
doi: 10.1016/j.ijpe.2013.07.025. |
[8] |
W. J. Guerrero, C. Prodhon, N. Velasco and C.-A. Amaya,
A relax-and-price heuristic for the inventory-location-routing problem, International Transactions in Operational Research, 22 (2015), 129-148.
doi: 10.1111/itor.12091. |
[9] |
A. Hiassat, A. Diabat and I. Rahwan, A genetic algorithm approach for location-inventory-routing problem with perishable products, Journal of Manufacturing Systems, 42 (2017), 93-103. Google Scholar |
[10] |
A. A. Javid and N. Azad, Incorporating location, routing and inventory decisions in supply chain network design, Transportation Research Part E: Logistics and Transportation Review, 46 (2010), 582-597. Google Scholar |
[11] |
S. C. Liu and C. C. Lin,
A heuristic method for the combined location routing and inventory problem, The International Journal of Advanced Manufacturing Technology, 26 (2005), 372-381.
doi: 10.1007/s00170-003-2005-3. |
[12] |
S. C. Liu and S. B. Lee,
A two-phase heuristic method for the multi-depot location routing problem taking inventory control decisions into consideration, The International Journal of Advanced Manufacturing Technology, 22 (2003), 941-950.
doi: 10.1007/s00170-003-1639-5. |
[13] |
H. Ma and R. Davidrajuh, An iterative approach for distribution chain design in agile virtual environment, Industrial Management & Data Systems, 2005. Google Scholar |
[14] |
N. Nekooghadirli, R. Tavakkoli-Moghaddam, V. R. Ghezavati and S. Javanmard,
Solving a new bi-objective location-routing-inventory problem in a distribution network by meta-heuristics, Computers & Industrial Engineering, 76 (2014), 204-221.
doi: 10.1016/j.cie.2014.08.004. |
[15] |
U. Pasha, A. Hoff and L. M. Hvattum,
Simple heuristics for the multi-period fleet size and mix vehicle routing problem, INFOR: Information Systems and Operational Research, 54 (2016), 97-120.
doi: 10.1080/03155986.2016.1149314. |
[16] |
S. R. Sajjadi, M. Hamidi and S. H. Cheraghi, Multi-product capacitated location routing inventory problem, International Journal of Modern Engineering, 13 (2013). Google Scholar |
[17] |
N. I. Saragih, N. Bahagia, I. Syabri and et al, A heuristic method for location-inventory-routing problem in a three-echelon supply chain system, Computers & Industrial Engineering, 127 (2019), 875-886. Google Scholar |
[18] |
Z.-J. M. Shen and L. Qi,
Incorporating inventory and routing costs in strategic location models, European journal of operational research, 179 (2007), 372-389.
doi: 10.1016/j.ejor.2006.03.032. |
[19] |
Y. Zhang, M. Qi, L. Miao and E. Liu, Hybrid metaheuristic solutions to inventory location routing problem, Transportation Research Part E: Logistics and Transportation Review, 70 (2014), 305-323. Google Scholar |
show all references
References:
[1] |
D. Ambrosino and M. G. Scutella,
Distribution network design: New problems and related models, European Journal of Operational Research, 165 (2005), 610-624.
doi: 10.1016/j.ejor.2003.04.009. |
[2] |
D. Blanchard, Supply Chain Management Best Practices, John Wiley & Sons, 2010. Google Scholar |
[3] |
T. M. Cioppa and T. W. Lucas,
Efficient nearly orthogonal and space-filling latin hypercubes, Technometrics, 49 (2007), 45-55.
doi: 10.1198/004017006000000453. |
[4] |
A. Ghorbani and M. R. A. Jokar,
A hybrid imperialist competitive-simulated annealing algorithm for a multisource multi-product location-routing-inventory problem, Computers & Industrial Engineering, 101 (2016), 116-127.
doi: 10.1016/j.cie.2016.08.027. |
[5] |
F. Glover and M. Laguna, Tabu search, In Handbook of Combinatorial Optimization, Vol. 3, Kluwer Acad. Publ., Boston, MA, 1998,621–757. |
[6] |
M. G. Granada and C. W. Silva, Inventory Location Routing problem: A column Generation Approach, PhD thesis, Uniandes, 2011. Google Scholar |
[7] |
W. J. Guerrero, C. Prodhon, N. Velasco and C. A. Amaya,
Hybrid heuristic for the inventory location-routing problem with deterministic demand, International Journal of Production Economics, 146 (2013), 359-370.
doi: 10.1016/j.ijpe.2013.07.025. |
[8] |
W. J. Guerrero, C. Prodhon, N. Velasco and C.-A. Amaya,
A relax-and-price heuristic for the inventory-location-routing problem, International Transactions in Operational Research, 22 (2015), 129-148.
doi: 10.1111/itor.12091. |
[9] |
A. Hiassat, A. Diabat and I. Rahwan, A genetic algorithm approach for location-inventory-routing problem with perishable products, Journal of Manufacturing Systems, 42 (2017), 93-103. Google Scholar |
[10] |
A. A. Javid and N. Azad, Incorporating location, routing and inventory decisions in supply chain network design, Transportation Research Part E: Logistics and Transportation Review, 46 (2010), 582-597. Google Scholar |
[11] |
S. C. Liu and C. C. Lin,
A heuristic method for the combined location routing and inventory problem, The International Journal of Advanced Manufacturing Technology, 26 (2005), 372-381.
doi: 10.1007/s00170-003-2005-3. |
[12] |
S. C. Liu and S. B. Lee,
A two-phase heuristic method for the multi-depot location routing problem taking inventory control decisions into consideration, The International Journal of Advanced Manufacturing Technology, 22 (2003), 941-950.
doi: 10.1007/s00170-003-1639-5. |
[13] |
H. Ma and R. Davidrajuh, An iterative approach for distribution chain design in agile virtual environment, Industrial Management & Data Systems, 2005. Google Scholar |
[14] |
N. Nekooghadirli, R. Tavakkoli-Moghaddam, V. R. Ghezavati and S. Javanmard,
Solving a new bi-objective location-routing-inventory problem in a distribution network by meta-heuristics, Computers & Industrial Engineering, 76 (2014), 204-221.
doi: 10.1016/j.cie.2014.08.004. |
[15] |
U. Pasha, A. Hoff and L. M. Hvattum,
Simple heuristics for the multi-period fleet size and mix vehicle routing problem, INFOR: Information Systems and Operational Research, 54 (2016), 97-120.
doi: 10.1080/03155986.2016.1149314. |
[16] |
S. R. Sajjadi, M. Hamidi and S. H. Cheraghi, Multi-product capacitated location routing inventory problem, International Journal of Modern Engineering, 13 (2013). Google Scholar |
[17] |
N. I. Saragih, N. Bahagia, I. Syabri and et al, A heuristic method for location-inventory-routing problem in a three-echelon supply chain system, Computers & Industrial Engineering, 127 (2019), 875-886. Google Scholar |
[18] |
Z.-J. M. Shen and L. Qi,
Incorporating inventory and routing costs in strategic location models, European journal of operational research, 179 (2007), 372-389.
doi: 10.1016/j.ejor.2006.03.032. |
[19] |
Y. Zhang, M. Qi, L. Miao and E. Liu, Hybrid metaheuristic solutions to inventory location routing problem, Transportation Research Part E: Logistics and Transportation Review, 70 (2014), 305-323. Google Scholar |




Study | # of Pe. | # of Pr. | Demand | Fleet | Solution method |
Liu and Lee (2003) | Single | Single | Stochastic | Homo. | Sequential heuristic |
Liu and Lin (2005) | Single | Single | Stochastic | Homo. | Hybrid heuristic |
Ambrosino and Scutella (2005) | Single | Single | Deterministic | Homo. | Com. solver |
Ma and Davidrajuh (2005) | Single | Single | Stochastic | Homo. | Sequential heuristic |
Shen and Qi (2007) | Single | Single | Stochastic | Homo. | Branch & Bound |
Javid and Azad (2010) | Single | Single | Stochastic | Homo. | Tabu search & Sim.Annealing |
Granada and Silva (2012) | Multiple | Single | Deterministic | Homo. | Column generation |
Sajjadi et al. (2013) | Single | Multiple | Deterministic | Homo. | Sequential heuristic |
Guerrero et al. (2013) | Multiple | Single | Deterministic | Homo. | Hybrid heuristic |
Nekooghadirli et al. (2014) | Multiple | Multiple | Stochastic | Hete. | Multi-objective meta-heuristic methods |
Zhang et al. (2014) | Multiple | Single | Deterministic | Homo. | Hybrid heuristic |
Guerrero et al. (2015) | Multiple | Single | Deterministic | Homo. | Relax & Price |
Hiassat et al. (2017) | Multiple | Single | Deterministic | Homo. | Genetic algorithm |
Saragih et al. (2019) | Single | Single | Stochastic | Homo. | Sim.Annealing |
Our study | Multiple | Multiple | Deterministic | Hete. | Sequential heuristic Hybrid heuristic |
Study | # of Pe. | # of Pr. | Demand | Fleet | Solution method |
Liu and Lee (2003) | Single | Single | Stochastic | Homo. | Sequential heuristic |
Liu and Lin (2005) | Single | Single | Stochastic | Homo. | Hybrid heuristic |
Ambrosino and Scutella (2005) | Single | Single | Deterministic | Homo. | Com. solver |
Ma and Davidrajuh (2005) | Single | Single | Stochastic | Homo. | Sequential heuristic |
Shen and Qi (2007) | Single | Single | Stochastic | Homo. | Branch & Bound |
Javid and Azad (2010) | Single | Single | Stochastic | Homo. | Tabu search & Sim.Annealing |
Granada and Silva (2012) | Multiple | Single | Deterministic | Homo. | Column generation |
Sajjadi et al. (2013) | Single | Multiple | Deterministic | Homo. | Sequential heuristic |
Guerrero et al. (2013) | Multiple | Single | Deterministic | Homo. | Hybrid heuristic |
Nekooghadirli et al. (2014) | Multiple | Multiple | Stochastic | Hete. | Multi-objective meta-heuristic methods |
Zhang et al. (2014) | Multiple | Single | Deterministic | Homo. | Hybrid heuristic |
Guerrero et al. (2015) | Multiple | Single | Deterministic | Homo. | Relax & Price |
Hiassat et al. (2017) | Multiple | Single | Deterministic | Homo. | Genetic algorithm |
Saragih et al. (2019) | Single | Single | Stochastic | Homo. | Sim.Annealing |
Our study | Multiple | Multiple | Deterministic | Hete. | Sequential heuristic Hybrid heuristic |
Procedure: solveSeq |
1: S |
2: for repNum = 1 to numOfReps do // for all replications |
3: S |
4: S |
5: Save the S |
Procedure: solveSeq |
1: S |
2: for repNum = 1 to numOfReps do // for all replications |
3: S |
4: S |
5: Save the S |
Procedure: findSeqSolWithoutRoutes |
1: S |
2: S |
3: S |
4: return S |
Procedure: findSeqSolWithoutRoutes |
1: S |
2: S |
3: S |
4: return S |
Procedure: findAllRoutes(sol) |
1: for i = 1 to sol.getNumOfOpenDCs() do // For all open DCs in the solution |
2: Assign the next open DC to openDC |
3: for t = 1 to numOfPeriods do // For all periods |
4: If there is a distribution (dist.) to openDC |
5: Find the routes for openDC |
6: Add the fleet of openDC |
7: for strInd = 1 to numOfStrategies do //For all of the fleet finding strategies |
8: Find a new fleet (newFleetForOpenDC |
9: If newFleetForOpenDC |
10: Add newFleetForOpenDC |
11: for t = 1 to numOfPeriods do // For all periods |
12: Ifthere is a distribution to openDC |
13: If the fleet of openDC |
14: Find and assign routes to openDC |
15: If all of the new routes of openDC |
16: Ifdist. plus fixed cost of new routesfor openDC |
17: Assign the new routes to openDC |
Procedure: findAllRoutes(sol) |
1: for i = 1 to sol.getNumOfOpenDCs() do // For all open DCs in the solution |
2: Assign the next open DC to openDC |
3: for t = 1 to numOfPeriods do // For all periods |
4: If there is a distribution (dist.) to openDC |
5: Find the routes for openDC |
6: Add the fleet of openDC |
7: for strInd = 1 to numOfStrategies do //For all of the fleet finding strategies |
8: Find a new fleet (newFleetForOpenDC |
9: If newFleetForOpenDC |
10: Add newFleetForOpenDC |
11: for t = 1 to numOfPeriods do // For all periods |
12: Ifthere is a distribution to openDC |
13: If the fleet of openDC |
14: Find and assign routes to openDC |
15: If all of the new routes of openDC |
16: Ifdist. plus fixed cost of new routesfor openDC |
17: Assign the new routes to openDC |
Procedure: findRoutes $ (DC \ openDC_i, short \ t, short[] \ fixedFleet) $ |
1: $S_0$ ← findInitialRoutes(open$DC_i$, t, fixedFleet) |
2: If (isFeasible($S_0$)) // Initialize the best solution if necessary |
3: $S^*=S_0 $ |
4: globalCounter = 6000; sEHCallFreq = 30; // Initialize parameters |
5: beta = PENALTYFACTOR; sEHCallCounter = 0; |
6: while(globalCounter > 0) do // Main loop of tabu search |
7: globalCounter = globalCounter – 1; |
8: updateSEHCallFreqAndTabuTenure(globalCounter); |
9: moveList ← findMoves($S_0$) // Find the available moves |
10: bestMove ← findNonTabuBestMove(moveList); |
11: $S_0$ ← applyMove ($S_0$, bestMove); |
12: updateTabuList(); // Update the tabu list |
13: If(isFeasible($S_0$) && ($S_0$.getCost() < $S^*$.getCost())) |
14: $S^*=S_0$ |
15: If(sEHCallCounter >= sEHCallFreq) |
16: sEHCallCounter = 0 |
17: If(fixedFleet == null) // Apply the appropriate SEH procedure to $S_{0}$ |
18: $S_{0}$ ← SEHWithoutFixedFleet( $S_0$, t) |
19: Else |
20: $S_0$ ← SEHWithFixedFleet($S_0$, t, fixedFleet) |
21: If(isFeasible($S_0$) && ($S_0$.getCost() < $S^*$.getCost())) |
22: $S^*=S_0$ |
23: sEHCallCounter = sEHCallCounter + 1 |
24: If(isFeasible($S_{0}$)) // Update the beta parameter appropriately |
25: beta = beta * (1 - ALFA) |
26: Else |
27: beta = beta * (1 + ALFA) |
28: return $S^*$ |
Procedure: findRoutes $ (DC \ openDC_i, short \ t, short[] \ fixedFleet) $ |
1: $S_0$ ← findInitialRoutes(open$DC_i$, t, fixedFleet) |
2: If (isFeasible($S_0$)) // Initialize the best solution if necessary |
3: $S^*=S_0 $ |
4: globalCounter = 6000; sEHCallFreq = 30; // Initialize parameters |
5: beta = PENALTYFACTOR; sEHCallCounter = 0; |
6: while(globalCounter > 0) do // Main loop of tabu search |
7: globalCounter = globalCounter – 1; |
8: updateSEHCallFreqAndTabuTenure(globalCounter); |
9: moveList ← findMoves($S_0$) // Find the available moves |
10: bestMove ← findNonTabuBestMove(moveList); |
11: $S_0$ ← applyMove ($S_0$, bestMove); |
12: updateTabuList(); // Update the tabu list |
13: If(isFeasible($S_0$) && ($S_0$.getCost() < $S^*$.getCost())) |
14: $S^*=S_0$ |
15: If(sEHCallCounter >= sEHCallFreq) |
16: sEHCallCounter = 0 |
17: If(fixedFleet == null) // Apply the appropriate SEH procedure to $S_{0}$ |
18: $S_{0}$ ← SEHWithoutFixedFleet( $S_0$, t) |
19: Else |
20: $S_0$ ← SEHWithFixedFleet($S_0$, t, fixedFleet) |
21: If(isFeasible($S_0$) && ($S_0$.getCost() < $S^*$.getCost())) |
22: $S^*=S_0$ |
23: sEHCallCounter = sEHCallCounter + 1 |
24: If(isFeasible($S_{0}$)) // Update the beta parameter appropriately |
25: beta = beta * (1 - ALFA) |
26: Else |
27: beta = beta * (1 + ALFA) |
28: return $S^*$ |
Procedure: solveHybrid |
1: S |
2: for repNum = 1 to numOfReps do // For all replications |
3: Empty the triedLocAllocConfigsList |
4: S |
5: Add the location allocation decision of S |
6: S |
7: S |
8: S |
9: diverCounter = 0 // Initialize diversification counter |
10: while (diverCounter < totalNumOfDiversifications) do |
11: S |
12: S |
13: If (S |
14: S |
15: diverCounter = diverCounter + 1 |
16: Save S |
Procedure: solveHybrid |
1: S |
2: for repNum = 1 to numOfReps do // For all replications |
3: Empty the triedLocAllocConfigsList |
4: S |
5: Add the location allocation decision of S |
6: S |
7: S |
8: S |
9: diverCounter = 0 // Initialize diversification counter |
10: while (diverCounter < totalNumOfDiversifications) do |
11: S |
12: S |
13: If (S |
14: S |
15: diverCounter = diverCounter + 1 |
16: Save S |
Procedure: intensify |
1: S |
2: temp = INI_TEMP; // Initialize the temperature used in the simulated annealing |
3: solNotImpAtConsTempCounter = 0 |
4: Initialize the fields used for tabu search |
5: changeAllDCsCapLevMove = false; |
6: optAllDCsOrdersMove = false; // By default make optAllDCSOrdersMove passive |
7: while (temp > FRE_TEMP) do // Main loop of the simulated annealing |
8: preIntPhase = curIntPhase |
9: curIntPhase ← findIntPhase(temp) |
10: setIntParams(curIntPhase, S |
11: If (preIntPhase!= curIntPhase) //If the int. phase has been changed |
12: If(S |
S |
13: changeAllDCsCapLevMove = true |
14: If (curIntPhase % 2 == 0) // If the intensification phase number is even |
15: optAllDCsOrdersMove = true // Make optAllDCsOrdersMove active |
16: solImpAtThisTemp = false // By default make solImpAtThisTemp false |
17: numOfIterAtThisTempCounter = NUM_OF_ITERS_AT_ALL_TEMPS |
18: while (numOfIterAtThisTempCounter > 0) do |
19: Find the move to be applied randomly and apply it to S |
20: deltaCost ← calcDeltaCost(S |
21: If (deltaCost < 0 || Math.exp(-1.0f * deltaCost / temp) > probRegarCost) |
22: S |
23: If (S |
24: S |
25: solImpAtThisTemp = true // Make solImpAtThisTemp true |
26: numOfIterAtThisTempCounter = numOfIterAtThisTempCounter - 1 |
27: Update the fields used for tabu search |
28: If (solImpAtThisTemp == true) |
29: solNotImpAtConsTempsCounter = 0 |
30: Else |
31: solNotImpAtConsTempsCounter = solNotImpAtConsTempsCounter + 1 |
32: If (solNotImpAtConsTempsCounter == NUM_OF_CONS_TEMPS_SOL_NOT_IMP) |
33: solNotImpAtConsTempsCounter = 0 |
34: If(getRandomFloat() <= ASSIGN_THE_BEST_SOL_RATIO) |
35: S |
36: Else |
37: S |
38: If (S |
39: S |
40: temp = temp * COOLING_SPEED // Update the current temperature |
41: findAllRoutes(S |
42: $S^*$← optimizeDCsCapLevelsAndOrders(S*) |
43: return S |
Procedure: intensify |
1: S |
2: temp = INI_TEMP; // Initialize the temperature used in the simulated annealing |
3: solNotImpAtConsTempCounter = 0 |
4: Initialize the fields used for tabu search |
5: changeAllDCsCapLevMove = false; |
6: optAllDCsOrdersMove = false; // By default make optAllDCSOrdersMove passive |
7: while (temp > FRE_TEMP) do // Main loop of the simulated annealing |
8: preIntPhase = curIntPhase |
9: curIntPhase ← findIntPhase(temp) |
10: setIntParams(curIntPhase, S |
11: If (preIntPhase!= curIntPhase) //If the int. phase has been changed |
12: If(S |
S |
13: changeAllDCsCapLevMove = true |
14: If (curIntPhase % 2 == 0) // If the intensification phase number is even |
15: optAllDCsOrdersMove = true // Make optAllDCsOrdersMove active |
16: solImpAtThisTemp = false // By default make solImpAtThisTemp false |
17: numOfIterAtThisTempCounter = NUM_OF_ITERS_AT_ALL_TEMPS |
18: while (numOfIterAtThisTempCounter > 0) do |
19: Find the move to be applied randomly and apply it to S |
20: deltaCost ← calcDeltaCost(S |
21: If (deltaCost < 0 || Math.exp(-1.0f * deltaCost / temp) > probRegarCost) |
22: S |
23: If (S |
24: S |
25: solImpAtThisTemp = true // Make solImpAtThisTemp true |
26: numOfIterAtThisTempCounter = numOfIterAtThisTempCounter - 1 |
27: Update the fields used for tabu search |
28: If (solImpAtThisTemp == true) |
29: solNotImpAtConsTempsCounter = 0 |
30: Else |
31: solNotImpAtConsTempsCounter = solNotImpAtConsTempsCounter + 1 |
32: If (solNotImpAtConsTempsCounter == NUM_OF_CONS_TEMPS_SOL_NOT_IMP) |
33: solNotImpAtConsTempsCounter = 0 |
34: If(getRandomFloat() <= ASSIGN_THE_BEST_SOL_RATIO) |
35: S |
36: Else |
37: S |
38: If (S |
39: S |
40: temp = temp * COOLING_SPEED // Update the current temperature |
41: findAllRoutes(S |
42: $S^*$← optimizeDCsCapLevelsAndOrders(S*) |
43: return S |
Instance | Strategies are passive | Strategies are active | ||||
MinCost | Cost | CPU (s) | MinCost | Cost | CPU (s) | |
5-50-3-3-P6 | 193242.2 | 205648.1 | 0.098 | 170738.0 | 175134.7 | 0.153 |
5-50-3-3-P7 | 180165.0 | 192193.6 | 0.053 | 162587.4 | 164062.5 | 0.139 |
5-50-3-3-P8 | 178610.2 | 188135.7 | 0.041 | 165380.2 | 170228.2 | 0.077 |
5-50-3-3-P9 | 173728.4 | 184784.3 | 0.053 | 150471.2 | 156236.2 | 0.099 |
5-50-3-3-P10 | 157350.8 | 170610.8 | 0.053 | 144801.6 | 148610.9 | 0.105 |
Average | 176619.3 | 188274.5 | 0.060 | 158795.7 | 162854.5 | 0.115 |
Instance | Strategies are passive | Strategies are active | ||||
MinCost | Cost | CPU (s) | MinCost | Cost | CPU (s) | |
5-50-3-3-P6 | 193242.2 | 205648.1 | 0.098 | 170738.0 | 175134.7 | 0.153 |
5-50-3-3-P7 | 180165.0 | 192193.6 | 0.053 | 162587.4 | 164062.5 | 0.139 |
5-50-3-3-P8 | 178610.2 | 188135.7 | 0.041 | 165380.2 | 170228.2 | 0.077 |
5-50-3-3-P9 | 173728.4 | 184784.3 | 0.053 | 150471.2 | 156236.2 | 0.099 |
5-50-3-3-P10 | 157350.8 | 170610.8 | 0.053 | 144801.6 | 148610.9 | 0.105 |
Average | 176619.3 | 188274.5 | 0.060 | 158795.7 | 162854.5 | 0.115 |
Constant (Factor) | Value |
Filling degree threshold (fillingDegreeThres)a | 0.8 |
Call frequency for SEH functions (sEHCallFreq)b | 30 |
Number of iterations in the main loop (globalCounter) b | 6000 |
Extra percentage by which the vehicle capacity can be exceeded (extraLoadPerc) b | 0.6 |
afillingDegreeThres is used in SEHWithFixedFleet and SEHWithoutFixedFleet procedures. bsEHCallFreq, globalCounter and extraLoadPerc are used in findRoutes procedure. |
Constant (Factor) | Value |
Filling degree threshold (fillingDegreeThres)a | 0.8 |
Call frequency for SEH functions (sEHCallFreq)b | 30 |
Number of iterations in the main loop (globalCounter) b | 6000 |
Extra percentage by which the vehicle capacity can be exceeded (extraLoadPerc) b | 0.6 |
afillingDegreeThres is used in SEHWithFixedFleet and SEHWithoutFixedFleet procedures. bsEHCallFreq, globalCounter and extraLoadPerc are used in findRoutes procedure. |
Constant (Factor) | Value |
INI_TEMP | 45 |
FRE_TEMP | 1 |
COOLING_SPEED | 0.93 |
NUM_OF_ITERS_AT_ALL_TEMPS | 400 |
NUM_OF_CONS_TEMPS_SOL_NOT_IMP | 3 |
NUM_OF_PHASES | 12 |
ASSIGN_THE_BEST_SOL_RATIO | 0.75 |
DC_FIL_DEGREE_MAX_LEVEL | 0.85 |
DC_FIL_DEGREE_MIN_LEVEL | 0.70 |
DC_CAP_MULTIPLIER | 0.80-0.85-0.90 a |
a These values are used at the first half, at the second half and at the final phase, respectively. |
Constant (Factor) | Value |
INI_TEMP | 45 |
FRE_TEMP | 1 |
COOLING_SPEED | 0.93 |
NUM_OF_ITERS_AT_ALL_TEMPS | 400 |
NUM_OF_CONS_TEMPS_SOL_NOT_IMP | 3 |
NUM_OF_PHASES | 12 |
ASSIGN_THE_BEST_SOL_RATIO | 0.75 |
DC_FIL_DEGREE_MAX_LEVEL | 0.85 |
DC_FIL_DEGREE_MIN_LEVEL | 0.70 |
DC_CAP_MULTIPLIER | 0.80-0.85-0.90 a |
a These values are used at the first half, at the second half and at the final phase, respectively. |
Move's Name | Application Probabilities | |
Number of Open DCs > 1 | Number of Open DCs = 1 | |
Shift Delivery Move 1 | 0.30 | 0.32 |
Shift Delivery Move 2 | 0.10 | 0.11 |
Shift Delivery Move 3 | 0.40 | 0.45 |
Shift Delivery Move 4 | 0.10 | 0.10 |
Shifting a Retailer Move | 0.05 | - |
Swapping Two Retailers Move | 0.03 | - |
Finding All of the Routes Move | 0.02 | 0.02 |
Move's Name | Application Probabilities | |
Number of Open DCs > 1 | Number of Open DCs = 1 | |
Shift Delivery Move 1 | 0.30 | 0.32 |
Shift Delivery Move 2 | 0.10 | 0.11 |
Shift Delivery Move 3 | 0.40 | 0.45 |
Shift Delivery Move 4 | 0.10 | 0.10 |
Shifting a Retailer Move | 0.05 | - |
Swapping Two Retailers Move | 0.03 | - |
Finding All of the Routes Move | 0.02 | 0.02 |
Constant (Factor) | Value |
CLOSE_OPEN_DC_RATIO | 0.8 |
CLOSED_DCS_PRI_RATIO | 0.7-0.3 a |
ASSIGN_RETA_RATIO | 0.6-0.8 b |
CLOSED_DCS_RAND_OPENING_RATIO | 0.7-0.8 a |
a The value assigned to the relevant parameter changes with the phase currently in. b The value assigned to the relevant parameter is generated randomly in this interval. |
Constant (Factor) | Value |
CLOSE_OPEN_DC_RATIO | 0.8 |
CLOSED_DCS_PRI_RATIO | 0.7-0.3 a |
ASSIGN_RETA_RATIO | 0.6-0.8 b |
CLOSED_DCS_RAND_OPENING_RATIO | 0.7-0.8 a |
a The value assigned to the relevant parameter changes with the phase currently in. b The value assigned to the relevant parameter is generated randomly in this interval. |
M1 |
M1 model | |
Instance | CPU (s) | CPU (s) |
3-5-3-2-P1 | 298.6 | 170.6 |
3-5-3-2-P2 | 1284.2 | 453.7 |
3-5-3-2-P3 | 484.4 | 161.7 |
3-5-3-2-P4 | 739.5 | 559.9 |
3-5-3-2-P5 | 546.2 | 423.9 |
Average | 670.6 | 353.9 |
M1 |
M1 model | |
Instance | CPU (s) | CPU (s) |
3-5-3-2-P1 | 298.6 | 170.6 |
3-5-3-2-P2 | 1284.2 | 453.7 |
3-5-3-2-P3 | 484.4 | 161.7 |
3-5-3-2-P4 | 739.5 | 559.9 |
3-5-3-2-P5 | 546.2 | 423.9 |
Average | 670.6 | 353.9 |
ILOG | SHM | HHM | |||||||||
Instance | GAP (1200s) |
GAP (7200s) |
Cost | CPU (s) |
Cost | GAP ILOG | CPU (s) | Cost | GAP ILOG | GAP SHM | CPU (s) |
3-5-3-2-P1 | 0.0 | 0.0 | 35267.9 | 220 | 36952.5 | 4.6 | 0.1 | 36643.6 | 3.8 | -0.8 | 4.2 |
3-5-3-2-P2 | 0.0 | 0.0 | 30858.4 | 45 | 35045.0 | 11.9 | 0.1 | 33006.8 | 6.5 | -6.2 | 3.0 |
3-5-3-3-P1 | 7.9 | 2.4 | 32273.5 | 3470 | 35081.8 | 8.0 | 0.1 | 33085.3 | 2.5 | -6.0 | 4.1 |
3-5-3-3-P2 | 3.3 | 0.0 | 37305.3 | 800 | 37653.9 | 0.9 | 0.1 | 38002.1 | 1.8 | 0.9 | 2.8 |
3-5-3-3-P3 | 0.0 | 0.0 | 29107.2 | 1379 | 29107.2 | 0.0 | 0.2 | 30585.0 | 4.8 | 4.8 | 3.2 |
3-5-4-2-P1 | 12.2 | 0.0 | 31552.6 | 3750 | 31786.9 | 0.7 | 0.2 | 32877.2 | 4.0 | 3.3 | 4.5 |
3-5-4-2-P2 | 6.8 | 2.0 | 34855.1 | 350 | 38254.0 | 8.9 | 0.2 | 38554.6 | 9.6 | 0.8 | 4.5 |
3-5-4-2-P3 | 10.1 | 3.3 | 33480.8 | 4700 | 36148.7 | 7.4 | 0.1 | 36416.3 | 8.1 | 0.7 | 2.6 |
3-6-3-2-P1 | 14.6 | 9.7 | 38556.4 | 1966 | 47082.1 | 18.1 | 0.1 | 43580.0 | 11.5 | -8.0 | 2.5 |
3-6-4-3-P1 | 28.9 | 14.6 | 35581.4 | 7200 | 41216.3 | 13.7 | 0.2 | 38755.4 | 8.2 | -6.3 | 3.6 |
5-10-4-2-P1 | 76.0 | 56.9 | 84643.5 | 7051 | 66101.1 | -28.1 | 0.3 | 65867.8 | -28.5 | -0.4 | 10.9 |
5-10-5-3-P1 | 73.0 | 60.4 | 114260.7 | 7185 | 91432.5 | -25.0 | 0.9 | 85159.8 | -34.2 | -7.4 | 18.6 |
5-12-4-4-P1 | 78.2 | 69.4 | 139721.1 | 7195 | 78330.1 | -78.4 | 0.5 | 74669.7 | -87.1 | -4.9 | 17.9 |
5-12-5-3-P1 | 79.5 | 72.1 | 143038.5 | 7200 | 76196.6 | -87.7 | 1.1 | 74408.4 | -92.2 | -2.4 | 19.1 |
5-15-3-3-P1 | 79.0 | 74.7 | 154831.3 | 7190 | 87291.8 | -77.4 | 0.2 | 83214.9 | -86.1 | -4.9 | 12.8 |
5-15-4-2-P1 | 80.1 | 76.9 | 156552.6 | 5050 | 71446.8 | -119.1 | 0.4 | 71245.0 | -119.7 | -0.3 | 17.0 |
5-15-4-4-P1 | 89.0 | 74.7 | 174019.7 | 5828 | 90018.0 | -93.3 | 0.9 | 90261.9 | -92.8 | 0.3 | 18.1 |
5-15-4-7-P1 | 86.5 | 78.0 | 251935.1 | 3575 | 113323.5 | -122.3 | 2.1 | 113618.3 | -121.7 | 0.3 | 22.1 |
5-15-5-3-P1 | 84.6 | 84.0 | 243900.1 | 2450 | 77672.0 | -214.0 | 1.2 | 77267.7 | -215.7 | -0.5 | 22.4 |
5-20-6-4-P1 | 100 | 89.9 | 436645.1 | 4805 | 119599.3 | -265.1 | 47.4 | 120897.7 | -261.2 | 1.1 | 62.0 |
Average | 45.5 | 38.4 | 111919.3 | 4070.5 | 61987.0 | -51.8 | 2.8 | 60905.9 | -53.9 | -1.8 | 12.8 |
ILOG | SHM | HHM | |||||||||
Instance | GAP (1200s) |
GAP (7200s) |
Cost | CPU (s) |
Cost | GAP ILOG | CPU (s) | Cost | GAP ILOG | GAP SHM | CPU (s) |
3-5-3-2-P1 | 0.0 | 0.0 | 35267.9 | 220 | 36952.5 | 4.6 | 0.1 | 36643.6 | 3.8 | -0.8 | 4.2 |
3-5-3-2-P2 | 0.0 | 0.0 | 30858.4 | 45 | 35045.0 | 11.9 | 0.1 | 33006.8 | 6.5 | -6.2 | 3.0 |
3-5-3-3-P1 | 7.9 | 2.4 | 32273.5 | 3470 | 35081.8 | 8.0 | 0.1 | 33085.3 | 2.5 | -6.0 | 4.1 |
3-5-3-3-P2 | 3.3 | 0.0 | 37305.3 | 800 | 37653.9 | 0.9 | 0.1 | 38002.1 | 1.8 | 0.9 | 2.8 |
3-5-3-3-P3 | 0.0 | 0.0 | 29107.2 | 1379 | 29107.2 | 0.0 | 0.2 | 30585.0 | 4.8 | 4.8 | 3.2 |
3-5-4-2-P1 | 12.2 | 0.0 | 31552.6 | 3750 | 31786.9 | 0.7 | 0.2 | 32877.2 | 4.0 | 3.3 | 4.5 |
3-5-4-2-P2 | 6.8 | 2.0 | 34855.1 | 350 | 38254.0 | 8.9 | 0.2 | 38554.6 | 9.6 | 0.8 | 4.5 |
3-5-4-2-P3 | 10.1 | 3.3 | 33480.8 | 4700 | 36148.7 | 7.4 | 0.1 | 36416.3 | 8.1 | 0.7 | 2.6 |
3-6-3-2-P1 | 14.6 | 9.7 | 38556.4 | 1966 | 47082.1 | 18.1 | 0.1 | 43580.0 | 11.5 | -8.0 | 2.5 |
3-6-4-3-P1 | 28.9 | 14.6 | 35581.4 | 7200 | 41216.3 | 13.7 | 0.2 | 38755.4 | 8.2 | -6.3 | 3.6 |
5-10-4-2-P1 | 76.0 | 56.9 | 84643.5 | 7051 | 66101.1 | -28.1 | 0.3 | 65867.8 | -28.5 | -0.4 | 10.9 |
5-10-5-3-P1 | 73.0 | 60.4 | 114260.7 | 7185 | 91432.5 | -25.0 | 0.9 | 85159.8 | -34.2 | -7.4 | 18.6 |
5-12-4-4-P1 | 78.2 | 69.4 | 139721.1 | 7195 | 78330.1 | -78.4 | 0.5 | 74669.7 | -87.1 | -4.9 | 17.9 |
5-12-5-3-P1 | 79.5 | 72.1 | 143038.5 | 7200 | 76196.6 | -87.7 | 1.1 | 74408.4 | -92.2 | -2.4 | 19.1 |
5-15-3-3-P1 | 79.0 | 74.7 | 154831.3 | 7190 | 87291.8 | -77.4 | 0.2 | 83214.9 | -86.1 | -4.9 | 12.8 |
5-15-4-2-P1 | 80.1 | 76.9 | 156552.6 | 5050 | 71446.8 | -119.1 | 0.4 | 71245.0 | -119.7 | -0.3 | 17.0 |
5-15-4-4-P1 | 89.0 | 74.7 | 174019.7 | 5828 | 90018.0 | -93.3 | 0.9 | 90261.9 | -92.8 | 0.3 | 18.1 |
5-15-4-7-P1 | 86.5 | 78.0 | 251935.1 | 3575 | 113323.5 | -122.3 | 2.1 | 113618.3 | -121.7 | 0.3 | 22.1 |
5-15-5-3-P1 | 84.6 | 84.0 | 243900.1 | 2450 | 77672.0 | -214.0 | 1.2 | 77267.7 | -215.7 | -0.5 | 22.4 |
5-20-6-4-P1 | 100 | 89.9 | 436645.1 | 4805 | 119599.3 | -265.1 | 47.4 | 120897.7 | -261.2 | 1.1 | 62.0 |
Average | 45.5 | 38.4 | 111919.3 | 4070.5 | 61987.0 | -51.8 | 2.8 | 60905.9 | -53.9 | -1.8 | 12.8 |
SHM | HHM | ||||||
Instance | Cost | CPU (s) |
IM CPU (s) |
PIM (%) |
Cost | GAP SHM | CPU (s) |
5-50-3-3-P1 | 172939.9 | 0.5 | 0.3 | 66.67 | 167457.3 | -3.3 | 66.1 |
5-50-3-3-P2 | 208332.0 | 0.5 | 0.4 | 76.60 | 207016.9 | -0.6 | 67.7 |
5-50-3-3-P3 | 227655.0 | 0.3 | 0.2 | 69.70 | 221462.7 | -2.8 | 65.9 |
5-50-3-3-P4 | 230679.9 | 0.4 | 0.3 | 75.68 | 215962.2 | -6.8 | 66.3 |
5-50-3-3-P5 | 176528.9 | 0.4 | 0.3 | 78.57 | 162825.3 | -8.4 | 65.1 |
Average | 203227.1 | 0.4 | 0.3 | 73.4 | 194944.9 | -4.4 | 66.2 |
15-100-5-5-P1 | 514177.6 | 141.8 | 141.5 | 99.77 | 493879.2 | -4.1 | 414.5 |
15-100-5-5-P2 | 502955.3 | 244.1 | 243.7 | 99.84 | 485170.5 | -3.7 | 393.7 |
15-100-5-5-P3 | 647847.3 | 121.8 | 121.5 | 99.70 | 627396.9 | -3.3 | 422.6 |
15-100-5-5-P4 | 629868.5 | 193.1 | 192.8 | 99.82 | 598746.6 | -5.2 | 433.2 |
15-100-5-5-P5 | 578960.6 | 111.8 | 111.4 | 99.69 | 560799.6 | -3.2 | 428.4 |
Average | 574761.9 | 162.5 | 162.2 | 99.8 | 553198.6 | -3.9 | 418.5 |
20-150-7-7-P1 | 1214217.0 | 3402.7 | 3382.1 | 99.39 | 1129150.2 | -7.5 | 1182.6 |
20-150-7-7-P2 | 1042158.5 | 3602.7 | 3602.1 | 99.98 | 983087.1 | -6.0 | 1294.7 |
20-150-7-7-P3 | 1064822.3 | 3502.9 | 3475.3 | 99.21 | 1023313.9 | -4.1 | 1253.8 |
20-150-7-7-P4 | 1115968.3 | 3627.2 | 3626.6 | 99.98 | 1104168.2 | -1.1 | 1180.7 |
20-150-7-7-P5 | 1041073.8 | 3727.4 | 3696.8 | 99.18 | 1004549.8 | -3.6 | 1182.8 |
Average | 1095648.0 | 3572.6 | 3556.6 | 99.5 | 1048853.8 | -4.5 | 1218.9 |
SHM | HHM | ||||||
Instance | Cost | CPU (s) |
IM CPU (s) |
PIM (%) |
Cost | GAP SHM | CPU (s) |
5-50-3-3-P1 | 172939.9 | 0.5 | 0.3 | 66.67 | 167457.3 | -3.3 | 66.1 |
5-50-3-3-P2 | 208332.0 | 0.5 | 0.4 | 76.60 | 207016.9 | -0.6 | 67.7 |
5-50-3-3-P3 | 227655.0 | 0.3 | 0.2 | 69.70 | 221462.7 | -2.8 | 65.9 |
5-50-3-3-P4 | 230679.9 | 0.4 | 0.3 | 75.68 | 215962.2 | -6.8 | 66.3 |
5-50-3-3-P5 | 176528.9 | 0.4 | 0.3 | 78.57 | 162825.3 | -8.4 | 65.1 |
Average | 203227.1 | 0.4 | 0.3 | 73.4 | 194944.9 | -4.4 | 66.2 |
15-100-5-5-P1 | 514177.6 | 141.8 | 141.5 | 99.77 | 493879.2 | -4.1 | 414.5 |
15-100-5-5-P2 | 502955.3 | 244.1 | 243.7 | 99.84 | 485170.5 | -3.7 | 393.7 |
15-100-5-5-P3 | 647847.3 | 121.8 | 121.5 | 99.70 | 627396.9 | -3.3 | 422.6 |
15-100-5-5-P4 | 629868.5 | 193.1 | 192.8 | 99.82 | 598746.6 | -5.2 | 433.2 |
15-100-5-5-P5 | 578960.6 | 111.8 | 111.4 | 99.69 | 560799.6 | -3.2 | 428.4 |
Average | 574761.9 | 162.5 | 162.2 | 99.8 | 553198.6 | -3.9 | 418.5 |
20-150-7-7-P1 | 1214217.0 | 3402.7 | 3382.1 | 99.39 | 1129150.2 | -7.5 | 1182.6 |
20-150-7-7-P2 | 1042158.5 | 3602.7 | 3602.1 | 99.98 | 983087.1 | -6.0 | 1294.7 |
20-150-7-7-P3 | 1064822.3 | 3502.9 | 3475.3 | 99.21 | 1023313.9 | -4.1 | 1253.8 |
20-150-7-7-P4 | 1115968.3 | 3627.2 | 3626.6 | 99.98 | 1104168.2 | -1.1 | 1180.7 |
20-150-7-7-P5 | 1041073.8 | 3727.4 | 3696.8 | 99.18 | 1004549.8 | -3.6 | 1182.8 |
Average | 1095648.0 | 3572.6 | 3556.6 | 99.5 | 1048853.8 | -4.5 | 1218.9 |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 10, \beta = 1, \theta = 1, \gamma = 1$ | |||||
Instance | TotCapa | TotNumOfOrdersa | TotInvOfDCsb | TotCapa | TotNumOfOrdersa | TotInvOfDCsb |
15-10-5-5-P1 | 5159 | 49 | 643 | 5371 | 43 | 1199 |
15-10-5-5-P2 | 5277 | 46 | 834 | 6087 | 39 | 3303 |
15-10-5-5-P3 | 5410 | 48 | 503 | 6431 | 38 | 2715 |
15-10-5-5-P4 | 5137 | 50 | 0 | 5570 | 45 | 2148 |
15-10-5-5-P5 | 5392 | 48 | 644 | 5958 | 41 | 2894 |
aTotCap: Total capacity provided by open DCs, aTotNumOfOrders: Total number of orders. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 10, \beta = 1, \theta = 1, \gamma = 1$ | |||||
Instance | TotCapa | TotNumOfOrdersa | TotInvOfDCsb | TotCapa | TotNumOfOrdersa | TotInvOfDCsb |
15-10-5-5-P1 | 5159 | 49 | 643 | 5371 | 43 | 1199 |
15-10-5-5-P2 | 5277 | 46 | 834 | 6087 | 39 | 3303 |
15-10-5-5-P3 | 5410 | 48 | 503 | 6431 | 38 | 2715 |
15-10-5-5-P4 | 5137 | 50 | 0 | 5570 | 45 | 2148 |
15-10-5-5-P5 | 5392 | 48 | 644 | 5958 | 41 | 2894 |
aTotCap: Total capacity provided by open DCs, aTotNumOfOrders: Total number of orders. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 10, \theta = 1, \gamma = 1$ | |||||||||
Instance | NumOfOpDCsa | TotCapa | TotNumOfDistsb | TotInvOfDCsc | TotInvOfRetsd | NumOfOpDCsa | TotCapa | TotNumOfDistsb | TotInvOfDCsc | TotInvOfRetsd |
15-10-5-5-P1 | 2 | 5159 | 426 | 643 | 6404 | 3 | 7226 | 322 | 6112 | 13862 |
15-10-5-5-P2 | 2 | 5277 | 415 | 834 | 7056 | 4 | 7847 | 326 | 6419 | 14232 |
15-10-5-5-P3 | 2 | 5410 | 380 | 503 | 8410 | 3 | 7701 | 303 | 6576 | 15643 |
15-10-5-5-P4 | 2 | 5137 | 378 | 0 | 9575 | 3 | 6701 | 299 | 3780 | 14375 |
15-10-5-5-P5 | 2 | 5392 | 390 | 644 | 8052 | 4 | 9031 | 321 | 9346 | 13532 |
aNumOfOpDCs: Number of open DCs, aTotCap: Total capacity provided by open DCs. bTotNumOfDists: Total number of distributions. cTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. dTotInvOfRets: Total amount of products in inventories of retailers comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 10, \theta = 1, \gamma = 1$ | |||||||||
Instance | NumOfOpDCsa | TotCapa | TotNumOfDistsb | TotInvOfDCsc | TotInvOfRetsd | NumOfOpDCsa | TotCapa | TotNumOfDistsb | TotInvOfDCsc | TotInvOfRetsd |
15-10-5-5-P1 | 2 | 5159 | 426 | 643 | 6404 | 3 | 7226 | 322 | 6112 | 13862 |
15-10-5-5-P2 | 2 | 5277 | 415 | 834 | 7056 | 4 | 7847 | 326 | 6419 | 14232 |
15-10-5-5-P3 | 2 | 5410 | 380 | 503 | 8410 | 3 | 7701 | 303 | 6576 | 15643 |
15-10-5-5-P4 | 2 | 5137 | 378 | 0 | 9575 | 3 | 6701 | 299 | 3780 | 14375 |
15-10-5-5-P5 | 2 | 5392 | 390 | 644 | 8052 | 4 | 9031 | 321 | 9346 | 13532 |
aNumOfOpDCs: Number of open DCs, aTotCap: Total capacity provided by open DCs. bTotNumOfDists: Total number of distributions. cTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. dTotInvOfRets: Total amount of products in inventories of retailers comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 1, \theta = 100, \gamma = 1$ | |||
Instance | TotNumOfOrdersa | TotInvOfDCsb | TotNumOfOrdersa | TotInvOfDCsb |
15-10-5-5-P1 | 49 | 643 | 50 | 0 |
15-10-5-5-P2 | 46 | 834 | 50 | 0 |
15-10-5-5-P3 | 48 | 503 | 50 | 0 |
15-10-5-5-P4 | 48 | 644 | 50 | 0 |
15-10-5-5-P5 | 40 | 2315 | 50 | 0 |
aTotNumOfOrders: Total number of orders. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 1, \theta = 100, \gamma = 1$ | |||
Instance | TotNumOfOrdersa | TotInvOfDCsb | TotNumOfOrdersa | TotInvOfDCsb |
15-10-5-5-P1 | 49 | 643 | 50 | 0 |
15-10-5-5-P2 | 46 | 834 | 50 | 0 |
15-10-5-5-P3 | 48 | 503 | 50 | 0 |
15-10-5-5-P4 | 48 | 644 | 50 | 0 |
15-10-5-5-P5 | 40 | 2315 | 50 | 0 |
aTotNumOfOrders: Total number of orders. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 1, \theta = 1, \gamma = 100$ | |||||||
Instance | TotNumOfOrdersa | TotNumOfDistsa | TotInvOfDCsb | TotInvOfRetsc | TotNumOfOrdersa | TotNumOfDistsa | TotInvOfDCsb | TotInvOfRetsc |
15-10-5-5-P1 | 49 | 426 | 643 | 6404 | 46 | 498 | 1980 | 89 |
15-10-5-5-P2 | 46 | 415 | 834 | 7056 | 45 | 500 | 2418 | 7 |
15-10-5-5-P3 | 48 | 380 | 503 | 8410 | 44 | 497 | 2621 | 61 |
15-10-5-5-P4 | 48 | 390 | 644 | 8052 | 45 | 493 | 2492 | 0 |
15-10-5-5-P5 | 40 | 399 | 2315 | 8449 | 39 | 494 | 4159 | 0 |
aTotNumOfOrders: Total number of orders, aTotNumOfDists: Total number of distributions. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. cTotInvOfRets: Total amount of products in inventories of retailers comprising all periods. |
$\alpha = 1, \beta = 1, \theta = 1, \gamma = 1$ | $\alpha = 1, \beta = 1, \theta = 1, \gamma = 100$ | |||||||
Instance | TotNumOfOrdersa | TotNumOfDistsa | TotInvOfDCsb | TotInvOfRetsc | TotNumOfOrdersa | TotNumOfDistsa | TotInvOfDCsb | TotInvOfRetsc |
15-10-5-5-P1 | 49 | 426 | 643 | 6404 | 46 | 498 | 1980 | 89 |
15-10-5-5-P2 | 46 | 415 | 834 | 7056 | 45 | 500 | 2418 | 7 |
15-10-5-5-P3 | 48 | 380 | 503 | 8410 | 44 | 497 | 2621 | 61 |
15-10-5-5-P4 | 48 | 390 | 644 | 8052 | 45 | 493 | 2492 | 0 |
15-10-5-5-P5 | 40 | 399 | 2315 | 8449 | 39 | 494 | 4159 | 0 |
aTotNumOfOrders: Total number of orders, aTotNumOfDists: Total number of distributions. bTotInvOfDCs: Total amount of products in inventories of open DCs comprising all periods. cTotInvOfRets: Total amount of products in inventories of retailers comprising all periods. |
[1] |
Anh Son Ta, Le Thi Hoai An, Djamel Khadraoui, Pham Dinh Tao. Solving Partitioning-Hub Location-Routing Problem using DCA. Journal of Industrial & Management Optimization, 2012, 8 (1) : 87-102. doi: 10.3934/jimo.2012.8.87 |
[2] |
Xuefeng Wang. The heterogeneous fleet location routing problem with simultaneous pickup and delivery and overloads. Discrete & Continuous Dynamical Systems - S, 2019, 12 (4&5) : 1147-1166. doi: 10.3934/dcdss.2019079 |
[3] |
Giuseppe Buttazzo, Serena Guarino Lo Bianco, Fabrizio Oliviero. Optimal location problems with routing cost. Discrete & Continuous Dynamical Systems, 2014, 34 (4) : 1301-1317. doi: 10.3934/dcds.2014.34.1301 |
[4] |
Nurhadi Siswanto, Stefanus Eko Wiratno, Ahmad Rusdiansyah, Ruhul Sarker. Maritime inventory routing problem with multiple time windows. Journal of Industrial & Management Optimization, 2019, 15 (3) : 1185-1211. doi: 10.3934/jimo.2018091 |
[5] |
Shoufeng Ji, Jinhuan Tang, Minghe Sun, Rongjuan Luo. Multi-objective optimization for a combined location-routing-inventory system considering carbon-capped differences. Journal of Industrial & Management Optimization, 2021 doi: 10.3934/jimo.2021051 |
[6] |
Bariş Keçeci, Fulya Altıparmak, İmdat Kara. A mathematical formulation and heuristic approach for the heterogeneous fixed fleet vehicle routing problem with simultaneous pickup and delivery. Journal of Industrial & Management Optimization, 2021, 17 (3) : 1069-1100. doi: 10.3934/jimo.2020012 |
[7] |
Namsu Ahn, Soochan Kim. Optimal and heuristic algorithms for the multi-objective vehicle routing problem with drones for military surveillance operations. Journal of Industrial & Management Optimization, 2021 doi: 10.3934/jimo.2021037 |
[8] |
Ming-Yong Lai, Chang-Shi Liu, Xiao-Jiao Tong. A two-stage hybrid meta-heuristic for pickup and delivery vehicle routing problem with time windows. Journal of Industrial & Management Optimization, 2010, 6 (2) : 435-451. doi: 10.3934/jimo.2010.6.435 |
[9] |
Yaw Chang, Lin Chen. Solve the vehicle routing problem with time windows via a genetic algorithm. Conference Publications, 2007, 2007 (Special) : 240-249. doi: 10.3934/proc.2007.2007.240 |
[10] |
Chia-Chun Hsu, Hsun-Jung Cho, Shu-Cherng Fang. Solving routing and wavelength assignment problem with maximum edge-disjoint paths. Journal of Industrial & Management Optimization, 2017, 13 (2) : 1065-1084. doi: 10.3934/jimo.2016062 |
[11] |
Huai-Che Hong, Bertrand M. T. Lin. A note on network repair crew scheduling and routing for emergency relief distribution problem. Journal of Industrial & Management Optimization, 2019, 15 (4) : 1729-1731. doi: 10.3934/jimo.2018119 |
[12] |
Mingyong Lai, Hongming Yang, Songping Yang, Junhua Zhao, Yan Xu. Cyber-physical logistics system-based vehicle routing optimization. Journal of Industrial & Management Optimization, 2014, 10 (3) : 701-715. doi: 10.3934/jimo.2014.10.701 |
[13] |
Gbeminiyi John Oyewole, Olufemi Adetunji. Solving the facility location and fixed charge solid transportation problem. Journal of Industrial & Management Optimization, 2021, 17 (4) : 1557-1575. doi: 10.3934/jimo.2020034 |
[14] |
Feliz Minhós, T. Gyulov, A. I. Santos. Existence and location result for a fourth order boundary value problem. Conference Publications, 2005, 2005 (Special) : 662-671. doi: 10.3934/proc.2005.2005.662 |
[15] |
Shahede Omidi, Jafar Fathali. Inverse single facility location problem on a tree with balancing on the distance of server to clients. Journal of Industrial & Management Optimization, 2020 doi: 10.3934/jimo.2021017 |
[16] |
Gaidi Li, Zhen Wang, Dachuan Xu. An approximation algorithm for the $k$-level facility location problem with submodular penalties. Journal of Industrial & Management Optimization, 2012, 8 (3) : 521-529. doi: 10.3934/jimo.2012.8.521 |
[17] |
Erfan Babaee Tirkolaee, Alireza Goli, Mani Bakhsi, Iraj Mahdavi. A robust multi-trip vehicle routing problem of perishable products with intermediate depots and time windows. Numerical Algebra, Control & Optimization, 2017, 7 (4) : 417-433. doi: 10.3934/naco.2017026 |
[18] |
Ahmed Tarajo Buba, Lai Soon Lee. Differential evolution with improved sub-route reversal repair mechanism for multiobjective urban transit routing problem. Numerical Algebra, Control & Optimization, 2018, 8 (3) : 351-376. doi: 10.3934/naco.2018023 |
[19] |
Tao Zhang, W. Art Chaovalitwongse, Yue-Jie Zhang, P. M. Pardalos. The hot-rolling batch scheduling method based on the prize collecting vehicle routing problem. Journal of Industrial & Management Optimization, 2009, 5 (4) : 749-765. doi: 10.3934/jimo.2009.5.749 |
[20] |
Mingyong Lai, Xiaojiao Tong. A metaheuristic method for vehicle routing problem based on improved ant colony optimization and Tabu search. Journal of Industrial & Management Optimization, 2012, 8 (2) : 469-484. doi: 10.3934/jimo.2012.8.469 |
2019 Impact Factor: 1.366
Tools
Metrics
Other articles
by authors
[Back to Top]