1 Introduction
1.1 Related work
1.2 Memetic algorithms
1.3 Baldwin effect and Lamarckian evolution
1.4 Contribution of this work
2 Euclidean Steiner tree problem
-
Degree property. In a Steiner tree, each Steiner point is incident with exactly three edges thus having the degree of three.
-
Angle property. The three edges incident with a Steiner point make exactly \(120^{\circ }\) with each other.
-
Steiner minimal tree (SMT) for a set of p terminals has at most \(p{-}2\) Steiner points.
-
Each terminal in SMT has at most two edges incident with it.
2.1 Fermat point
2.2 Measure for the quality of the solutions
2.3 Simple heuristic for generation of candidate solutions
3 Memetic algorithm for Euclidean Steiner tree problem on a plane
3.1 Chromosome structure
3.2 The proposed memetic algorithm
3.3 Detailed description of the proposed algorithm
4 Experimental studies
4.1 Description of problems
4.2 Algorithms and settings
Alg. | Evolutionary framework | Local search method | Probability of acceptance of change solution (\(change\_prob\)) |
---|---|---|---|
cp0.0 | Yes | Correction procedure (\(\upvarepsilon =1e{-}5\)) | 0.0 |
cp0.2 | 0.2 | ||
cp0.4 | 0.4 | ||
cp0.6 | 0.6 | ||
cp0.8 | 0.8 | ||
cp1.0 | 1.0 | ||
ip0.0 | Improvement procedure (\({nn}=3, {max\_tries}=100, {max\_iters}=1, \upvarepsilon =1e{-}5\)) | 0.0 | |
ip0.2 | 0.2 | ||
ip0.4 | 0.4 | ||
ip0.6 | 0.6 | ||
ip0.8 | 0.8 | ||
ip1.0 | 1.0 | ||
enorm | None | - | |
nn3 | No | Improvement procedure (\({max\_tries}=100, {max\_iters}=3^*({\vert }T{\vert }-2), \upvarepsilon =1e{-}8\)) | |
nn5 | |||
nn-1 |
4.3 Results for random problems
Algorithm | ip1.0 | cp0.2 | cp0.0 | cp0.4 | cp0.6 | ip0.8 | cp0.8 | cp1.0 | ip0.6 | ip0.4 | ip0.0 | ip0.2 | nn5 | enorm | nn3 | nn-1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rank | 4.175 | 4.55 | 4.6 | 5.875 | 6 | 6.5 | 6.75 | 7.175 | 9.275 | 9.675 | 10.15 | 10.625 | 12.05 | 12.05 | 12.95 | 13.6 |
cp0.2 | cp0.0 | cp0.4 | cp0.6 | ip0.8 | cp0.8 | cp1.0 | ip0.6 | ip0.4 | ip0.0 | ip0.2 | nn5 | enorm | nn3 | nn-1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ip1.0 | 10.561 | 10.561 | 8.283 | 7.450 | 5.146 | 4.186 | 2.639 | 0.057 |
0.021
|
0.007
|
0.002
|
0.000
|
0.000
|
0.000
|
0.000
|
cp0.2 | – | 10.561 | 9.729 | 9.729 | 7.224 | 5.758 | 3.981 | 0.125 | 0.054 |
0.016
|
0.005
|
0.000
|
0.000
|
0.000
|
0.000
|
cp0.0 | – | 9.729 | 9.729 | 7.450 | 5.978 | 4.186 | 0.137 | 0.061 |
0.018
|
0.006
|
0.000
|
0.000
|
0.000
|
0.000
| |
cp0.4 | – | 10.561 | 10.561 | 10.561 | 9.729 | 1.459 | 0.789 | 0.325 | 0.125 |
0.004
|
0.004
|
0.000
|
0.000
| ||
cp0.6 | – | 10.561 | 10.561 | 9.729 | 1.776 | 0.981 | 0.421 | 0.153 |
0.005
|
0.005
|
0.000
|
0.000
| |||
ip0.8 | – | 10.561 | 10.561 | 3.396 | 2.027 | 0.997 | 0.424 |
0.018
|
0.018
|
0.002
|
0.000
| ||||
cp0.8 | – | 10.561 | 4.302 | 2.706 | 1.459 | 0.694 |
0.035
|
0.035
|
0.004
|
0.000
| |||||
cp1.0 | – | 6.196 | 4.356 | 2.696 | 1.338 | 0.095 | 0.095 |
0.011
|
0.002
| ||||||
ip0.6 | – | 10.561 | 10.561 | 9.729 | 3.396 | 3.396 | 0.981 | 0.293 | |||||||
ip0.4 | – | 10.561 | 10.561 | 5.046 | 5.046 | 1.776 | 0.630 | ||||||||
ip0.0 | – | 10.561 | 7.450 | 7.450 | 3.272 | 1.338 | |||||||||
ip0.2 | – | 9.729 | 9.729 | 5.146 | 2.696 | ||||||||||
nn5 | – | 10.561 | 10.561 | 9.400 | |||||||||||
enorm | – | 10.561 | 9.400 | ||||||||||||
nn3 | – | 10.561 |
Algorithm | cp0.0 | cp0.2 | cp0.4 | ip0.6 | ip0.8 | cp0.8 | cp1.0 | ip0.2 | ip0.4 | ip1.0 | nn5 | cp0.6 | nn3 | ip0.0 | nn-1 | enorm |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number of best solutions | 19 | 19 | 19 | 19 | 19 | 18 | 18 | 18 | 18 | 18 | 18 | 17 | 17 | 15 | 15 | 8 |
Algorithm | ip1.0 | ip0.8 | cp0.0 | ip0.6 | ip0.4 | cp0.2 | cp0.4 | ip0.2 | cp0.6 | ip0.0 | cp0.8 | cp1.0 | nn5 | nn3 | enorm | nn-1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rank | 1.65 | 2.975 | 4.85 | 5.8 | 6.325 | 6.725 | 7.5 | 7.9 | 8 | 9 | 9.275 | 9.95 | 11.65 | 14.2 | 15.1 | 15.1 |
ip0.8 | cp0.0 | ip0.6 | ip0.4 | cp0.2 | cp0.4 | ip0.2 | cp0.6 | ip0.0 | cp0.8 | cp1.0 | nn5 | nn3 | enorm | nn-1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ip1.0 | 7.955 | 1.644 | 0.356 | 0.126 | 0.052 |
0.008
|
0.003
|
0.002
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
ip0.8 | - | 6.603 | 2.666 | 1.330 | 0.739 | 0.172 | 0.074 | 0.058 |
0.005
|
0.002
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
cp0.0 | - | 7.955 | 7.658 | 6.603 | 3.292 | 1.968 | 1.711 | 0.356 | 0.201 | 0.051 |
0.001
|
0.000
|
0.000
|
0.000
| |
ip0.6 | - | 7.955 | 7.955 | 7.247 | 5.544 | 5.038 | 1.644 | 1.092 | 0.356 |
0.008
|
0.000
|
0.000
|
0.000
| ||
ip0.4 | - | 7.955 | 7.955 | 7.387 | 7.247 | 3.251 | 2.253 | 0.883 |
0.029
|
0.000
|
0.000
|
0.000
| |||
cp0.2 | - | 7.955 | 7.955 | 7.955 | 4.708 | 3.613 | 1.577 | 0.074 |
0.000
|
0.000
|
0.000
| ||||
cp0.4 | - | 7.955 | 7.955 | 7.658 | 6.914 | 3.939 | 0.356 |
0.001
|
0.000
|
0.000
| |||||
ip0.2 | - | 7.955 | 7.955 | 7.944 | 5.719 | 0.739 |
0.002
|
0.000
|
0.000
| ||||||
cp0.6 | - | 7.955 | 7.955 | 6.248 | 0.859 |
0.003
|
0.000
|
0.000
| |||||||
ip0.0 | - | 7.955 | 7.955 | 3.292 |
0.040
|
0.004
|
0.004
| ||||||||
cp0.8 | - | 7.955 | 4.243 | 0.074 |
0.009
|
0.009
| |||||||||
cp1.0 | - | 7.247 | 0.290 |
0.045
|
0.045
| ||||||||||
nn5 | - | 3.613 | 1.141 | 1.141 | |||||||||||
nn3 | - | 7.955 | 7.955 | ||||||||||||
enorm | - | 7.955 |
Algorithm | ip0.6 | ip1.0 | nn5 | ip0.4 | ip0.2 | ip0.8 | nn3 | cp0.0 | cp0.2 | cp0.6 | cp0.4 | cp0.8 | ip0.0 | cp1.0 | nn-1 | enorm |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number of best solutions | 17 | 17 | 17 | 16 | 15 | 15 | 12 | 8 | 7 | 7 | 6 | 6 | 6 | 4 | 4 | 1 |
Algorithm | ip1.0 | ip0.8 | ip0.6 | ip0.4 | ip0.2 | nn5 | cp0.8 | cp0.6 | cp0.2 | cp0.4 | cp0.0 | cp1.0 | ip0.0 | nn3 | nn-1 | enorm |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rank | 1.05 | 2.05 | 3.4 | 4.25 | 5.95 | 7.7 | 8.55 | 8.9 | 9 | 9 | 10 | 10 | 12.45 | 12.7 | 15 | 16 |
ip0.8 | ip0.6 | ip0.4 | ip0.2 | nn5 | cp0.8 | cp0.6 | cp0.2 | cp0.4 | cp0.0 | cp1.0 | ip0.0 | nn3 | nn-1 | enorm | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ip1.0 | 8.370 | 3.675 | 1.409 | 0.069 |
0.001
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
ip0.8 | – | 8.138 | 3.886 | 0.498 |
0.012
|
0.001
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
0.000
|
ip0.6 | – | 8.370 | 3.161 | 0.249 |
0.042
|
0.018
|
0.014
|
0.014
|
0.001
|
0.001
|
0.000
|
0.000
|
0.000
|
0.000
| |
ip0.4 | – | 6.471 | 1.009 | 0.249 | 0.119 | 0.098 | 0.098 |
0.010
|
0.010
|
0.000
|
0.000
|
0.000
|
0.000
| ||
ip0.2 | – | 6.372 | 3.030 | 1.952 | 1.754 | 1.754 | 0.393 | 0.393 |
0.001
|
0.001
|
0.000
|
0.000
| |||
nn5 | – | 8.370 | 8.145 | 8.145 | 8.145 | 3.798 | 3.798 | 0.098 | 0.059 |
0.000
|
0.000
| ||||
cp0.8 | – | 8.370 | 8.370 | 8.370 | 8.052 | 8.052 | 0.498 | 0.327 |
0.001
|
0.000
| |||||
cp0.6 | – | 8.370 | 8.370 | 8.370 | 8.370 | 0.882 | 0.592 |
0.004
|
0.000
| ||||||
cp0.2 | – | 8.370 | 8.370 | 8.370 | 1.009 | 0.685 |
0.005
|
0.000
| |||||||
cp0.4 | – | 8.370 | 8.370 | 1.009 | 0.685 |
0.005
|
0.000
| ||||||||
cp0.0 | – | 8.370 | 3.421 | 2.771 | 0.059 |
0.005
| |||||||||
cp1.0 | – | 3.421 | 2.771 | 0.059 |
0.005
| ||||||||||
ip0.0 | – | 8.370 | 3.161 | 0.882 | |||||||||||
nn3 | – | 3.798 | 1.221 | ||||||||||||
nn-1 | – | 8.370 |
Algorithm | nn5 | ip1.0 | ip0.8 | ip0.4 | nn3 | cp0.0 | cp0.2 | cp0.4 | cp0.6 | cp0.8 | cp1.0 | enorm | ip0.0 | ip0.2 | ip0.6 | nn-1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number of best solutions | 13 | 4 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |