In this section, we report our computational outcomes for a sets of randomly generated test problems. In this set, the locations of target nodes and Steiner nodes are randomly generated in Euclidean space with coordinates from the interval [0, 1000]. Euclidean distances are used because they are documented to provide the most difficult instances of classical randomly generated Steiner Tree problems (Chopra and Rao, 1994). The fixed cost of selecting a Steiner node is generated randomly from the interval [10,1000], which provides the most difficult tradeoff with the other parameters selected (Lee et al., 1996).
We generate 21 test problems whose dimensions are as follows. We first set the value of n (the number of Steiner nodes) to 100, 125, 150, 175 and 200 respectively. For each fixed n, we generate three problems by setting m (the number of target nodes) equal to n, n+50 and n+100 respectively. Therefore, 15 test problems with the above dimensions are generated. Furthermore, we generate six additional problems which are designed to be particularly hard. These problems have dimensions (denoted by m×n) as 250
×
250, 300×
250, 350
×
250, 100×
300, 200×
300 and 300×
300. As established in our previous research (Xu et al., 1996b), these 21 problems are unable to be handled by the exact method (i.e. the branch and cut method by Lee et al. (1996) due to the computing times and memory limitations, and our advanced tabu search algorithm described in section 4.3 is the best heuristic available among the various construction heuristics.4.5.1 Parameter Settings
Our TS method requires a few parameters to be set at the appropriate values. These values are initialized based on our computational experience and common sense, and then fine-tuned using a systematic approach (Xu et al., 1998). First we select an initial solution
produced simply by connecting every target node to its cheapest-link Steiner node, and then constructing a minimum spanning tree on the set of selected Steiner nodes. Then we randomly generate tabu tenures for the three types of moves in the TS procedure from an relatively small interval each time a move is executed. The interval [1,3] is used for constructive moves and the interval [2,5] is used for destructive moves. In the case of swap moves, an interval of [1,3] is used for each of the two elementary moves composing the swap. We execute swaps either once every seven iterations or in a block of five consecutive iterations when no ‘new best’ solution is found during the most recent 200 iterations. The termination condition is effective when min {20000, max {3000, n2}/2}, where n is the number of Steiner nodes. The error correction procedure is executed each time a new best solution is found, and applied to the current solution after every three accumulated moves, not counting destructive moves that drop nodes of degree one. Error correction is also applied every 200 iterations to the priority queue that stores the twenty best solutions.
The other parameters for our TS approach include the iteration counter which triggers the long term memory. It is set to 500. The long term memory penalty is calculated as 300*f/F for constructive and destructive moves, where f denotes the frequency of the move under consideration and F denotes the maximum of all such frequencies. For a swap move, the penalty is calculated as 150*(f1+f2)/F where f1 and f2 are the respective frequencies for the two constituent constructive and destructive moves. In probabilistic move selection, we choose the probability of acceptance p = 0.3. In addition, we restrict the candidate list for the probabilistic rule to contain the ten best moves (adjusted for tabu penalties). We also pair up the ten best destructive moves and the ten best constructive moves to construct a candidate list for swap moves. The fine-tuned selection probability function as mentioned in section 4.3, is defined as 0.3r−0.15. Finally, we assign the following parameters for implementing the restart/recovery strategy. We recover 40 solutions in total. For each recovered solution, a block of 30 iterations is executed. Thus, the first recovery occurs at iteration 1200, and is executed every 30 iterations thereafter.
Now we describe the parameter setting for our SS method. Unlike the TS algorithm, our SS method contains very few parameters. First, we use an extremely trivial solution which sets all Steiner nodes active as the initial solution. The maximum number of solutions in the reference set, bMax, is set to be 30. The value of the threshold, u, which is used to map the points of the trial solution to binary variables, is set at 0.75. In addition, we set the parameter h* in the diversification generators to 5. The maximum iteration in SS is set to 10. Finally, to speed up SS for our current preliminary testing, we skip subsets type 2 and 3, thus only subsets type 1 and 4 are evaluated.
4.5.2 Numerical Test Results for SS
We test both our TS and SS methods on the 21 benchmark problems. The TS method is coded in C and the SS approach in C++. The computational results on the 21 benchmark problems are provided in Table 4.3 as follows. For ease of comparison, we mark the SS solutions which are better than their TS counterparts by (+). Similarly, the SS solutions which are worse than their TS counterparts are marked by (-). The CPU times reported represent the execution time on a HP D380 machine with SPECint_rate95 of 111–211.
Table 4.3 Test results for TS and SS. solutions, but the differences are truly marginal (less than 0.1%). Given the fact that our TS approach has been documented as the best heuristic available for the STS problem, and that it has produced optimal solutions for all test problems with up to 100 Steiner nodes (Xu et al., 1996b), the quality of our SS method is quite high.
We observe from Table 4.3 that our SS approach takes the same order of CPU time as TS for problems with up to 200 Steiner nodes. Since in practice most problems do not contain more than 200 Steiner nodes, this indicates that the SS algorithm can be employed as an effective decision making tool. However, for problems whose sizes are over 200 Steiner nodes, SS requires significantly greater CPU time than TS. This can be imputed to several factors. First, SS uses simple local search to improve the trial solutions. Statistics show that more than 90% of the CPU time is spent on executing the local search method.
Unlike our TS method, the local search method does not employ a candidate list strategy, and does not take long term memory into consideration. More specifically, our local search pays the same attention to the constructive moves, destructive moves and swap moves.
However, statistics show that the constructive and swap moves are more time consuming and therefore should be executed less frequently to achieve greater speed. The use of a candidate list strategy and long term memory, as is characteristically done in tabu search, appears effective for reducing the number of non-productive moves. Secondly, we employ relatively primitive types of subsets to generate trial points. There are a variety of ways to speed up the process by improving the subsets and solution combination method. As we show in the next subsection, a customary speedup can obtain significant savings on execution times. Thirdly, our solution combination method ignores the existence of
‘strongly determined’ or ‘consistent’ variables in the elite solutions. Again, the long term memory is useful to isolate these variables. Finally, our SS approach is not fine-tuned. Most parameters are set arbitrarily.
4.5.3 Improving the speed of SS
We realize that our foregoing subset generation method and solution combination method are not customized for the STS problem, so they may produce some wasted effort. More specifically, while the solution combination method described in section 4.5 is appropriate for general integer programming where the decision variables are not necessarily 0 and 1, it is less suitably designed for highly discrete 0-1 problem such as STS, where the decision to set variables equal to 0 or 1 is not based on meaningful rounding penalties derived from a fractional relaxed solution. For a 2-element subset (SubSet I), it is often not necessary to generate four trial points. For the other subset (SubSets II, III and IV), our previously identified linear combination will generate trial points fairly close to the overall center of gravity, which is likely to create many duplicate solutions after rounding.
For the 0-1 case, a highly relevant (though not exhaustive) set of combinations and roundings of r reference points consists simply of those equivalent to creating a positive integer threshold t U, and stipulating that the offspring will have its ith component xi = 1 if and only if at least t of the r parents have xi = 1. (Different thresholds can be chosen for different variables, to expand the range of options considered.) In particular, for two parents, a setting of t = 1 gives the offspring that is the union of the 1's in the parents and t = 2 gives the offspring that is the intersection of the 1’s in the parents. The inclusion of negative weights can give offspring that exclude xi = 1 if both parents rec eive this assignment.
To compare with our preceding approach, we tested the following three simple rules that result by using trivial linear combinations and rounding decisions (variables not indicated to receive a value of 1 automatically receive a value of 0):
1. xi = 1 if the ith component of both parents is equal to 1;
2. xi = 1 if the ith component of the first parent, but not of the second, is equal to 1;
3. xi = 1 if the ith component of the second parent, but not of the first, is equal to 1.
The rule that generates the union of 1’s in the parents is excluded because its exploitation in the current setting requires the use of destructive moves to recover the tree structure, and such a recovery process has not been incorporated in this preliminary study.
We report the results from generating the offspring from rules (1), (2) and (3) independently, i.e. producing exactly one offspring for each pair of parents. The three different resulting approaches are labeled SS 1, SS 2 and SS 3 in Table 4.4, and we also provide a comparison with our SS results in the same table. Additionally, we test the strategy which generates all three offspring simultaneously, labeled ‘SS 4’ in Table 4.4.
Table 4.4 Comparisons of results with the simplified solution combination rules.
Problem SS SS 1 SS 2 SS 3 SS 4
(mxn) COST CPU COST CPU COST CPU COST CPU COST CPU
100×100 16166 01:35 16166 43 16166 25 16166 25 16166 2:00 150×100 19359 02:43 19359 1:12 16359 30 16359 30 16359 4:45 200×100 25102 02:52 25102 1:10 25102 36 25102 35 25102 6:16 125×125 16307 03:32 16307 1:34 16307 1:10 16307 1:09 16307 3:22 175×125 21046 06:00 21046 2:37 21046 1:24 21046 1:23 21046 11:26 225×125 26213 07:11 26213 3:17 26213 1:43 26213 1:40 26213 12:41 150×150 19329 10:59 19329 5:07 19329 2:47 19329 2:44 19329 18:45 200×150 24378 15:00 24378 7:01 24378 3:18 24378 3:14 24378 27:38 250×150 28248 15:02 28248 6:35 28248 3:49 28248 3:41 28248 31:20 175×175 20918 28:25 20918 13:13 20918 5:44 20918 5:35 20918 47:02 225×175 25017 34:11 25017 16:37 25017 6:42 25017 6:30 25017 1:02:52 275×175 27672 30:23 27672 14:00 27672 7:48 27672 7:35 27672 55:11 200×200 22880 47:20 22880 23:53 22880 10:57 22880 10:37 22880 1:28:50 250×200 26122 45:13 26122 21:32 26122 13:03 26122 12:39 26122 1:46:10 300×200 29879 1:11:47 29879 31:32 29900(-) 14:18 29900(-) 13:55 29879 2:37:49 250×250 25566 2:52:50 25566 1:30:37 25566 33:49 25566 33:58 25566 5:33:53 300×250 29310 6:22:06 29310 2:23:54 29343(-) 40:30 29343(-) 39:20 29310 10:57:22 350×250 32290 8:08:12 32290 3:49:50 32290 1:50:14 32290 1:41:30 32290 18:34:25 100×300 13119 1:59:37 13119 1:03:52 13119 39:02 13119 37:58 13119 3:33:32 200×300 21238 5:04:01 21238 2:39:34 21238 1:05:52 21238 1:06:21 21238 9:29:04 300×300 28707 20:25:20 28707 9:37:19 28707 3:41:03 28707 4:05:45 28707 36:11:25
Table 4.4 clearly shows that the three simplified rules can effectively reduce the execution time by comparison to the SS method. In particular, SS 1 obtains the same high quality solutions as SS does for all 21 test problems, while improving the CPU times by percentages that range from 46% to 62%. SS 2 and SS 3 further dramatically increase the speed relative to SS, each reducing the CPU times by an amount that ranges from approximately 67% to 89%, at the cost of producing two marginally inferior solutions by both rules. The notable efficiency improvement by SS 2 and SS 3 can be attributed to the fact that the simplified rules (2) and (3) often create more xj = 1 assignments than the simplified rule (1) does, which requires fewer subsequent constructive moves to generate a complete solution. The SS 4 approach precisely matches the solutions produced by SS, but
takes more time (approximately twice as much). This suggests that the offspring produced by SS are quite likely a subset of those produced by SS 4, but a subset that is sufficient to produce the same best solutions. (This outcome could conceivably change for a different set of test problems.) Unexpectedly, SS 4 requires more CPU time than the sum of the CPU times of SS 1, SS 2 and SS 3. Perhaps the most surprising outcome is that the simple
‘intersection rule’ underlying SS 1 is able to produce solutions whose quality matches that of SS – a quality that is nearly as good overall as that obtained by the tabu search approach.
It is to be emphasized that we have only explored the very simplest rules for the solution combination method. The vectors generated as offspring are ‘stripped down’ by comparison with those typically generated by GA combination rules, though it is easy to see that different choices of rounding, as by thresholds that vary for different variables, can produce many more types of offspring than those available by ‘genetic crossover’ – including the variants provided by uniform and Bernoulli crossover (these GA crossovers are incapable of producing even the simple SS 2 and SS 3 types of offspring, for example).
It is novel that the SS 1 rule gives an offspring whose 1’s are components of all the usual GA crossovers, although none of these GA crossovers will produce the outcome of SS 1.
Note that an exception may occur within Bernoulli crossover under those rare circumstances where, by random selection, all 1’s not shared by both parents happen to be excluded from the offspring. Also, from a historical perspective, it may be noted that the types of offspring examined here are special instances of those from the SS framework proposed in the 1970s, and that the ‘refinements’ of GA crossover such as embodied in Bernoulli crossover – which give only a subset of relevant possibilities – did not emerge until nearly a decade later
More refined rules than those we have tested are conspicuously possible, and afford an opportunity to further improve the SS performance, especially in application to subset types that contain more than two reference solutions. Furthermore, as previously observed, there are issues other than the solution combination method, such as the use of candidate lists, strategic oscillation and long term memory, that can also effectively improve the SS approach. These issues will be explored in our future research.
4.6 Conclusions
In this chapter, we have described and studied the Steiner Tree-Star (STS) telecommunications network problem, which has application to leased-line network design.
The problem is to select a subset of hubs to form a backbone network, and then to connect each ‘client’ site to one of the selected hubs, to meet the objective of minimizing total network cost.
The main contribution of this chapter is to develop and test a Scatter Search (SS) algorithm for the STS problem. The components of the SS method, as detailed in preceding sections, include a diversification generator, an improvement method, a reference set update method, a subset generation method, and a solution combination method. The results on 21 benchmark problems show that our SS algorithm is very competitive with the Tabu Search (TS) method, previously documented as the best method available for the STS problem.
Compared with TS, the SS approach produces new best solutions in three cases, ties in 14
cases, and gives worse solutions (by a very small margin) in four cases.
We recognize that our SS approach requires significantly more CPU time than the TS method for ‘extra-large’ problems. Since our SS approach uses strategies that are highly compatible with tabu search, efficiency for larger problems may similarly be improved by incorporating candidate list strategies and frequency-based long-term memory to enhance the method’s performance. In addition, the independent success of both TS and SS suggests that the integration of TS and SS will be a promising avenue for future research.