| Literature DB >> 27626803 |
Abstract
This paper proposes an optimization algorithm, the dimension-down iterative algorithm (DDIA), for solving a mixed transportation network design problem (MNDP), which is generally expressed as a mathematical programming with equilibrium constraint (MPEC). The upper level of the MNDP aims to optimize the network performance via both the expansion of the existing links and the addition of new candidate links, whereas the lower level is a traditional Wardrop user equilibrium (UE) problem. The idea of the proposed solution algorithm (DDIA) is to reduce the dimensions of the problem. A group of variables (discrete/continuous) is fixed to optimize another group of variables (continuous/discrete) alternately; then, the problem is transformed into solving a series of CNDPs (continuous network design problems) and DNDPs (discrete network design problems) repeatedly until the problem converges to the optimal solution. The advantage of the proposed algorithm is that its solution process is very simple and easy to apply. Numerical examples show that for the MNDP without budget constraint, the optimal solution can be found within a few iterations with DDIA. For the MNDP with budget constraint, however, the result depends on the selection of initial values, which leads to different optimal solutions (i.e., different local optimal solutions). Some thoughts are given on how to derive meaningful initial values, such as by considering the budgets of new and reconstruction projects separately.Entities:
Year: 2016 PMID: 27626803 PMCID: PMC5023175 DOI: 10.1371/journal.pone.0162618
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Algorithms for solving NDPs.
| Problem | Name of the algorithm | Sources |
|---|---|---|
| CNDP | ||
| Sensitivity analysis-based method | [ | |
| Gradient Projection method | [ | |
| Augmented Lagrangian algorithm | [ | |
| Iterative optimization-assignment algorithm | [ | |
| Hooke–Jeeves algorithm | [ | |
| Equilibrium decomposed optimization | [ | |
| Genetic algorithm | [ | |
| Simulated annealing algorithm | [ | |
| Path based mixed-integer linear program | [ | |
| [ | ||
| DNDP | Branch-and-bound techniques | [ |
| Lagrange relaxation and dual ascent process | [ | |
| Decomposition with quasi-optimization | [ | |
| Support function concept | [ | |
| Ant system method | [ | |
| Genetic algorithm | [ | |
| Hybrid meta-heuristic algorithm | [ | |
| Parsimonious heuristic | [ | |
| Global optimization methods | [ | |
| MNDP | mixed-integer linear programming approach | [ |
| Hill Climbing, Simulated Annealing, Tabu Search, Genetic Algorithm, Hybrids of Tabu Search | [ | |
| Scatter Search | [ | |
Fig 1A simple test network.
Link parameters for simple test network.
| link | node | y or u | |||||
|---|---|---|---|---|---|---|---|
| 1 | 1 | 2 | 3 | 1 | 10 | 2 | |
| 2 | 1 | 3 | 10 | 2 | 5 | 3 | |
| 3 | 2 | 1 | 9 | 3 | 3 | 5 | |
| 4 | 2 | 3 | 4 | 4 | 20 | 4 | |
| 5 | 2 | 4 | 3 | 5 | 50 | 9 | |
| 6 | 3 | 1 | 2 | 2 | 20 | 1 | |
| 7 | 3 | 2 | 1 | 1 | 10 | 4 | |
| 8 | 3 | 5 | 10 | 1 | 1 | 3 | |
| 9 | 4 | 2 | 45 | 2 | 8 | 2 | |
| 10 | 4 | 5 | 3 | 3 | 3 | 5 | |
| 11 | 4 | 6 | 2 | 9 | 2 | 6 | |
| 12 | 5 | 3 | 6 | 4 | 10 | 8 | |
| 13 | 5 | 4 | 44 | 4 | 25 | 5 | |
| 14 | 5 | 6 | 20 | 2 | 33 | 3 | |
| 15 | 6 | 4 | 1 | 5 | 5 | 6 | |
| 16 | 6 | 5 | 4.5 | 6 | 1 | 1 | |
| 17 | 3 | 4 | 26 | 4 | 9 | 8 | |
| 18 | 4 | 3 | 21 | 3 | 15 | 9 | |
| 19 | 2 | 5 | 35 | 3 | 11 | 10 | |
| 20 | 5 | 2 | 41 | 4 | 8 | 6 | |
OD matrix for simple test network.
| Node | ||||||
| 0 | 0 | 0 | 3 | 2 | 5 | |
| 0 | 0 | 0 | 0 | 0 | 4 | |
| 0 | 0 | 0 | 0 | 0 | 0 | |
| 0 | 0 | 0 | 0 | 0 | 0 | |
| 2 | 0 | 0 | 0 | 0 | 0 | |
| 10 | 4 | 3 | 0 | 0 | 0 |
Solution of simple test network.
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (0 0 0 0) | y(0) = (0 2.5625 4.0000 3.0000 0 0 0 3.3750 0 0 0 0 0 0 0.1250 16.3750) | 474.9184 |
| 2 | solving DNDP | y(0) = (0 2.5625 4.0000 3.0000 0 0 0 3.3750 0 0 0 0 0 0 0.1250 16.3750) | u(1) = (0 0 1 1) | 424.9987 |
| 3 | solving CNDP | u(1) = (0 0 1 1) | y(1) = (1.5625 1.1250 3.6875 0 0 0.7500 0 0 0 0 0 0 0 0 0 15.1875) | 403.3460 |
| 4 | solving DNDP | y(1) = (1.5625 1.1250 3.6875 0 0 0.7500 0 0 0 0 0 0 0 0 0 15.1875) | u(2) = (0 0 1 1) | 403.346; |
Solution under the fixed u.
| u | y | |
|---|---|---|
| (0 0 0 0) | (0 2.5625 4.0000 3.0000 0 0 0 3.3750 0 0 0 0 0 0 0.1250 16.3750) | 474.9184 |
| (1 0 0 0) | (0 3.1250 4.2500 3.3125 0 0 0 1.6250 0 0 0 0 0 0 0.1250 16.6250) | 471.2424 |
| (0 1 0 0) | (0 3.1875 1.7500 3.3125 0 6.5000 0 3.8125 0 0 0 0 0 0 0 16.2500) | 473.0195 |
| (0 0 1 0) | (1.6250 1.0000 4.2500 0 0 0 0 0 0 0 0 0 0 0 0 16.5625) | 437.4500 |
| (0 0 0 1) | (0 2.8750 4.3125 2.8750 0 0 0 3.3750 0 0 0 0 0 0 0 16.8750) | 440.6147 |
| (1 1 0 0) | (0 3.0625 0.7500 3.3125 0 8.5625 0 1.6250 0 0 0 0 0 0 0 16.5625) | 465.3606 |
| (1 0 1 0) | (0 2.8125 4.1250 0 0 0 0 0 0 0 0 0 0 0 0 16.6250) | 439.0100 |
| (1 0 0 1) | (0 3.2500 4.3750 3.3125 0 0.1250 0 1.6250 0 0 0 0 0 0 0 16.7500) | 439.9451 |
| (0 1 1 0) | (3.0000 0.2500 0.1875 0 0 7.6250 0 0 0 0 0 0 0 0 0.1875 16.5625) | 431.0058 |
| (0 1 0 1) | (0 2.0625 0.7500 3.3125 0 7.7500 0 3.7500 0 0 0 0 0 0 3.50 12.750) | 450.2416 |
| (0 1 1 1) | (3.1250 0.1250 0.8750 0 0 9.1250 0 0 0 0 0 0 0 0 3.2500 11.1250) | 414.8057 |
| (1 0 1 1) | (0.6875 1.5000 3.3750 0 0 1.5000 0 0 0 0 0 0 0 0 0 16.5000) | 406.1308 |
| (1 1 0 1) | (0.1875 2.8750 2.0000 3.3125 0 6.7500 0 1.6250 0 0 0 0 0 0 0 16.6250) | 444.4567 |
| (1 1 1 0) | (2.1250 0.6250 2.3750 0 0 4.2500 0 0 0 0 0 0 0 0 0 16.5625) | 437.6232 |
| (1 1 1 1) | (1.0000 1.5000 1.7500 0 0 5.7500 0 0 0 0 0 0 0 0 0 17.7500) | 410.8002 |
Fig 2Sioux Falls network.
Solution of the Sioux Falls network.
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (0 0 0 0 0) | y(0) = (5.2500 2.7500 5.2500 2.2500 3.2500 1.9375 3.0000 5.0000 3.5000 5.0000) | 81.4238 |
| 2 | solving DNDP | y(0) = (5.2500 2.7500 5.2500 2.2500 3.2500 1.9375 3.0000 5.0000 3.5000 5.0000) | u(1) = (0 1 1 1 1) | 68.7179 |
| 3 | solving CNDP | u(1) = (0 1 1 1 1) | y(1) = (3.2500 1.2500 3.7500 1.2500 0.7500 0.9375 4.2500 1.0000 4.5000 1.0000) | 66.8700 |
| 4 | solving DNDP | y(1) = (3.2500 1.2500 3.7500 1.2500 0.7500 0.9375 4.2500 1.0000 4.5000 1.0000) | u(2) = (0 1 1 1 1) | 66.870; |
Solution under the fixed u.
| u | y | |
|---|---|---|
| (0 0 0 0 0) | (5.25, 2.75, 5.25, 2.25, 3.25, 1.9375, 3, 5, 3.5, 5) | 81.4238 |
| (1 0 0 0 0) | (5.75, 2.25, 5.75, 3, 3, 3, 3.5, 4.5, 3.5, 4.25) | 82.0686 |
| (0 1 0 0 0) | (5.5, 3, 5, 2, 3.25, 3, 4, 5, 4, 5) | 79.2225 |
| (0 0 1 0 0) | (4, 1.5, 4, 1, 2, 2.0625, 3.5, 4, 4, 2.5) | 71.8950 |
| (0 0 0 1 0) | (4.75, 1.5, 4.75, 2.75, 3, 4, 3, 4.5, 3.25, 4.25) | 78.1433 |
| (0 0 0 0 1) | (5, 1.75, 4, 1, 2, 2, 4, 4, 4, 4) | 76.2573 |
| (1 1 0 0 0) | (5.875, 2.625, 5.625, 2.75, 2.5, 2.5, 4, 5.25, 3.375, 5) | 79.7942 |
| (1 0 1 0 0) | (4, 2, 4, 1, 2.375, 3, 4, 4, 4, 4,) | 72.5985 |
| (1 0 0 1 0) | (4.75, 3, 3.875, 2, 3.25, 3.75, 3, 4.5, 3.5, 5) | 78.9416 |
| (1 0 0 0 1) | (5.75, 1.75, 5.75, 3.25, 1.75, 1.25, 3.5, 3.25, 4, 2.5) | 76.9746 |
| (0 1 1 0 0) | (4.5, 1.5, 4.625, 2, 2.5, 2, 3.5, 3, 3.5, 3) | 69.5893 |
| (0 1 0 1 0) | (4.5, 2, 3.75, 2.25, 3, 3.125, 3, 5, 4, 4.5) | 75.7549 |
| (0 1 0 0 1) | (4.875, 1.5, 4.5, 2, 2.5, 2, 4.5, 2.9375, 5, 2.5) | 74.5435 |
| (0 0 1 1 0) | (4.125, 1, 4.125, 1.875, 1.75, 0.875, 4.0625, 3, 4, 3.125) | 70.6418 |
| (0 0 1 0 1) | (4.312, 1.8125, 4.4375, 1.5, 0.0625, 1.875, 3.9375, 3, 3.5, 3) | 69.5012 |
| (0 0 0 1 1) | (3.5, 1.5, 3.5, 1, 2.9375, 3, 4, 4, 4, 4) | 73.3931 |
| (0 0 1 1 1) | (3.75, 1, 3.5, 2, 1, 1, 4, 3, 4.5, 3) | 68.8601 |
| (0 1 0 1 1) | (3.5, 2, 3.9375, 2, 3, 3.5, 4, 2, 3.875, 2) | 71.3405 |
| (0 1 1 0 1) | (4, 1.5, 4, 1, 2.25, 1, 4, 1.5, 4, 1) | 67.3721 |
| (0 1 1 1 0) | (4, 2, 3.875, 1.375, 1, 1, 4, 2.25, 4, 2.25) | 68.3805 |
| (1 0 0 1 1) | (4, 2.25, 4.5, 2, 2.75, 3, 3.75, 4, 4, 4) | 74.4567 |
| (1 0 1 0 1) | (3, 1, 4, 1, 1, 1, 4, 3, 5, 4) | 70.4735 |
| (1 0 1 1 0) | (4.5, 2, 4.5, 1, 1.5, 1, 4, 4, 5, 4) | 71.6735 |
| (1 1 0 0 1) | (5, 2, 5, 2.5, 2, 1, 4, 3, 4, 2.5) | 75.0594 |
| (1 1 0 1 0) | (4.5, 1.5, 4.5, 2.5, 2.5, 4, 4, 5, 4, 5) | 76.6699 |
| (1 1 1 0 0) | (4, 2.5, 4, 1, 3, 1.5, 3.5, 3, 4, 3.5) | 70.4913 |
| (1 0 1 1 1) | (3.5, 2.5, 4, 1.5, 2, 0.25, 4.5, 3.5, 4, 3.5) | 70.0483 |
| (1 1 0 1 1) | (4, 2, 4, 2.5, 3, 3, 4, 2, 4, 1.75) | 72.5345 |
| (1 1 1 0 1) | (3.25, 1.5, 4, 1.0625, 1.75, 1.75, 3.5625, 2, 4, 2) | 68.1968 |
| (1 1 1 1 0) | (4.5, 1.5, 5, 1.5, 1.5, 1, 4, 3, 4, 2) | 69.1941 |
| (1 1 1 1 1) | (3.5, 1.5, 4, 1.5, 0.75, 1, 4, 2, 4, 1) | 67.9265 |
Results when u(0) = (0 0 0 0 0).
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (0 0 0 0 0) | y(0) = (3.9375 1.6875 4.3125 2.9375 2.5000 2.1875 2.9375 4.0000 4.2500 3.8750) | 78.0074 |
| 2 | solving DNDP | y(0) = (3.9375 1.6875 4.3125 2.9375 2.5000 2.1875 2.9375 4.0000 4.2500 3.8750) | u(1) = (0 0 0 0 0) | 78.0074; |
Results when u(0) = (1 0 0 0 1).
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (1 0 0 0 1) | y(0) = (1.6250 0.1875 1.5000 0.7500 0.1250 1.3750 1.2500 1.1250 1.0000 1.0000) | 78.7804 |
| 2 | solving DNDP | y(0) = (1.6250 0.1875 1.5000 0.7500 0.1250 1.3750 1.2500 1.1250 1.0000 1.0000) | u(1) = (0 1 1 0 0) | 70.0644 |
| 3 | solving CNDP | u(1) = (0 1 1 0 0) | y(1) = (2.1250 1.3125 1.5000 0.7500 1.1250 1.3750 1.2500 1.1250 1.0000 1.0000) | 69.2706 |
| 4 | solving DNDP | y(1) = (2.1250 1.3125 1.5000 0.7500 1.1250 1.3750 1.2500 1.1250 1.0000 1.0000) | u(2) = (0 1 1 0 0) | 69.2706; |
Comparison of results of different methods.
| Node | Node | LMILP | DDIA |
|---|---|---|---|
| Expanded links | |||
| 6 | 8 | 3.173 | 4.6250 |
| 7 | 8 | 1.084 | 1.8750 |
| 8 | 6 | 2.919 | 3.0000 |
| 8 | 7 | 1.078 | 1.5000 |
| 9 | 10 | 1.316 | 2.2500 |
| 10 | 9 | 1.564 | 2.2500 |
| 10 | 16 | 3.232 | 3.0000 |
| 13 | 24 | 2.867 | 2.0000 |
| 16 | 10 | 3.232 | 2.0000 |
| 24 | 13 | 2.638 | 2.0000 |
| Potential new links | |||
| 7 | 16 | - | - |
| 9 | 11 | - | - |
| 11 | 9 | - | - |
| 11 | 15 | √ | √ |
| 13 | 14 | - | - |
| 14 | 13 | - | - |
| 15 | 11 | √ | √ |
| 16 | 7 | - | - |
| 19 | 22 | - | - |
| 22 | 19 | - | - |
| Total travel time (103 vehicle hours) | |||
| 68.1955 | 68.6234 | ||
| 67.2430 | |||
| Improvement cost | 4,000,000 | 4,000,000 | |
Note: “√” = addition of new links.
Z’ is the original value of objective function reported in the previous studies.
The results when the budgets of new projects and reconstruction projects are both 2000.
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (0 0 0 0 0) | y(0) = (2.7500 1.6250 4.0000 2.0000 2.5000 1.5000 2.7500 2.3750 2.0000 2.1250) | 82.2871 |
| 2 | solving DNDP | y(0) = (2.7500 1.6250 4.0000 2.0000 2.5000 1.5000 2.7500 2.3750 2.0000 2.1250) | u(1) = (0 0 1 0 0) | 69.1590 |
| 3 | solving CNDP | u(1) = (0 0 1 0 0) | y(1) = (2.6250 1.6250 4.0000 2.1250 2.5000 1.5000 2.7500 2.3750 2.0000 2.1250) | 69.1341 |
| 4 | solving DNDP | y(1) = (2.6250 1.6250 4.0000 2.1250 2.5000 1.5000 2.7500 2.3750 2.0000 2.1250) | u(2) = (0 0 1 0 0) | 69.1341; |
The results under different b1/b2.
| u | y | ||
|---|---|---|---|
| 4000/0 | (0 0 1 0 1) | (0 0 0 0 0 0 0 0 0 0) | 75.9316 |
| 3500/500 | (0 1 1 0 0) | (1.6250 0.3125 1.5000 0.5000 0.7500 0.9375 1.1250 1.5000 1.0000 2.0000) | 69.3925 |
| 3000/1000 | (0 0 1 0 0) | (2.1875 0 2.0000 0.2500 1.9375 0.6250 2.0000 2.0000 2.0000 2.0625) | 71.4529 |
| 2500/1500 | (0 0 1 0 0) | (2.5000 1.1250 2.7500 1.6250 2.0000 2.0000 2.2500 2.2500 2.0000 2.2500) | 69.9314 |
| 2000/2000 | (0 0 1 0 0) | (2.6250 1.6250 4.0000 2.1250 2.5000 1.5000 2.7500 2.3750 2.0000 2.1250) | 69.1341 |
| 1500/2500 | (1 0 0 0 0) | (3.0000 2.2500 3.7500 3.0000 2.3750 1.8750 3.0000 3.0000 2.1250 2.0000) | 80.6477 |
| 0/4000 | (0 0 0 0 0) | (3.9375 1.6875 4.3125 2.9375 2.5000 2.1875 2.9375 4.0000 4.2500 3.8750) | 78.0074 |
Results when u(0) = (0 0 0 0 1).
| Iteration | Fixed value | Solution | ||
|---|---|---|---|---|
| 1 | solving CNDP | u(0) = (0 0 0 0 1) | y(0) = (3.1250 1.8750 3.0000 1.5000 2.5000 2.2500 3.0000 2.0000 2.0000 2.0000) | 74.0121 |
| 2 | solving DNDP | y(0) = (3.1250 1.8750 3.0000 1.5000 2.5000 2.2500 3.0000 2.0000 2.0000 2.0000) | u(1) = (0 0 1 0 0) | 69.2053 |
| 3 | solving CNDP | u(1) = (0 0 1 0 0) | y(1) = (4.6250 1.8750 3.0000 1.5000 2.2500 2.2500 3.0000 2.0000 2.0000 2.0000) | |
| 4 | solving DNDP | y(1) = (4.6250 1.8750 3.0000 1.5000 2.2500 2.2500 3.0000 2.0000 2.0000 2.0000) | u(2) = (0 0 1 0 0) | |