On the Relation between Solution Quality and Computing Times of Intelligent Algorithms − A Comparative Study for Standard Cell Placement in VLSI Design Karl Kurbel Europe University Viadrina Frankfurt (Oder), Business Informatics, POB 776, D-15207 Frankfurt (Oder), Germany; E-mail: [email protected] Abstract Many heuristic methods for NP hard optimization problems were developed in the past. Recently several new approaches based on analogies to processes of nature have been proposed. Considering the variety of methods available, a crucial question is which one to choose in practice. The behavior of any method depends strongly on parameters. Furthermore, time constraints often play an important role and the stability of a method may be a relevant factor to consider. In this paper, some assistance for the decision which method to select will be given. The methods under investigation are: simulated annealing, tabu search, threshold accepting, genetic algorithms, and a hybrid called parallel recombinative simulated annealing (PRSA). The findings reported in this paper were derived from a large number of tests. About 220,000 test runs were performed over a time period of about 8 months. 1 Introduction Many real-world optimization problems are NP hard. Examples of such problems are job-shop scheduling in short-term production planning [7], placement of standard cells in the design of VLSI chips [12], and the traveling salesman problem [9]. Exact optimization is usually not feasible when problems of practical size are attacked. Therefore heuristic methods have been developed in large numbers. In the eighties and nineties, several heuristics derived by analogy from nature have been proposed for optimization problems. Some of those heuristics are based on the principles of evolution and selection whereas others use analogies to physical processes. The methods under study in this paper are: • Simulated annealing, • Tabu search, • Threshold accepting, • Genetic algorithms, • Parallel recombinative simulated annealing (PRSA). When new methods emerge, promises and expectations are often quite high. For users in practice, exposed to a variety of new approaches, it is interesting to know how the methods are in relation to each other and of course, which method is the best one. Asking for the "best" method is somewhat ambiguous, however. Is the best method, in practice, the one which computes the best value of the objective function, or is it the fastest one, or is it the most stable one? For example, is method I better than method II if it has given excellent solutions in very few cases but quite bad ones many other times? Solution quality, runtime and stability all are criteria to be taken into consideration when judging a method. Furthermore, those criteria are not independent of each other. An obvious trade-off to be made, for example, is the one between solution quality and runtime. All methods have parameters (to be set by the user), and the parameter values have severe impact on both solution quality and runtime. It will be shown later that all methods can be made fast or slow, making solutions "bad" or "good", respectively. Therefore, the effects of parameter settings will be discussed in section 3. An important question for practical use of the methods will be addressed in section 4: How do the methods behave when a time constraint to achieve a solution is imposed? This means, for example, is it better to run a fast method very often or to run a slow method only few times within the same given time limit? Finally, the stability of the methods will be analyzed in section 5. Stability is also a practical concern. It means: Can the user reasonably expect to get the same quality of solutions and the same runtimes "as always" when the same method is applied the next time? The findings reported in this paper were derived from a large number of tests. About 220,000 test runs were per- formed over a time period of about 8 months (elapsed computing time on four Sun SparcStations20 running in parallel). 2 The Underlying Test Problem The problem used for our tests is placement of standard cells on VLSI chips. The process of chip design goes through several steps [13]. One of them is physical design. In this stage, standard cells have to be placed in given rows on a chip as shown in figure 1. Standard cells are logic modules with pre-designed internal layout. The cells are of the same height but their widths vary depending on their functionalities. Interconnections between cells are pre-defined by so-called netlists. A netlist consists of nets which in turn are made up of those cells that are to be connected by wires. For a given number of cells with their dimensions (height and widths) and a given netlist, the task is to place the cells on the given layout in such a way that the total length of interconnecting wires will be minimal [11, 12]. The sum of the wire-lengths of all nets thus constitutes the objective function. in terco n n e ctio n fe ed th ro u g h c ell ro u tin g c h an n el b o n d p ad m ac ro b lo ck sta n d ard ce ll w asted sp a ce Fig. 1: Chip layout after standard cell placement [8] For all the methods discussed subsequently, the layout of figure 1 was mapped to a rather simple representation. Since the positions of macro blocks are already given in this stage, they do not need to be considered explicitly. Therefore just the order of cells and their positions on the chip (indicated by coordinates, in a given unit of measurement) have to be mapped. The corresponding information is represented by a list of triplets as shown in the example of figure 2. The order in the list defines the order of the cells on the layout. Obviously cells A to E are in one row as they all have the same y coordinate. A set of eight standard cell placement scenarios was used for the tests. Those scenarios comprise placement problems of various sizes (from 20 to 100 cells) and various complexities (from simple to complicated netlists). Cell A B C D E F G H I J X 0 20 50 75 90 0 30 55 70 95 Y 0 0 0 0 0 50 50 50 50 50 Fig. 2: Representation of standard cell positions as a list (example) 3 Parameters of the Methods under Study and their Impact on Solution Quality and Runtime An extensive study of the effects of parameter settings on both solution quality (i.e. value of the objective function) and computing times has been presented elsewhere [6]. The most important findings of that study are summarized subsequently. 3.1 Simulated Annealing The simulated annealing (SA) algorithm starts with an initial feasible solution and a very high temperature. Then a flip operator is used to interchange two randomly chosen cells in the list representation as in figure 2. The new solution is accepted if its wire-length is less than the previous one; otherwise it might be accepted with a probability that depends on the temperature. Then the next pair of cells is selected and treated in the same way. In each iteration, the temperature is lowered by a small amount. This process continues until the temperature reaches a value near zero or until some other termination criterion is satisfied. Parameters the user has to set refer to the cooling schedule. The most important one is the cooling factor. In our tests we used factors of 0.99 (SA-1), 0.999 (SA-2), 0.9999 (SA-3), and 0.99999 (SA-4). Each SA version was run 20 times for each of the 8 scenarios. Both the solution quality and the computing times exhibit a wide distribution. SA-1 and SA-2 are quite fast, whereas SA3 and SA-4 take rather long. However, the solutions calculated by the latter ones are much better. This effect is shown in figure 3. The underlying scenario is a fairly complex one (70 cells, typical netlist). The points of the figure represent average values from the 20 runs of each version of SA. Note that the runtimes are given on a logarithmic scale. Obviously there is a trade-off between solution quality and computing time. While SA-1 is quite fast, its solutions are very bad. On the other hand, SA-4 gave excellent solutions, but the average runtimes where by orders Wire-length of magnitude larger (2:42 minutes versus 4:12:49 hours). 6300 6200 6100 6000 5900 5800 5700 5600 5500 100 SA-1 SA-2 SA-3 SA-4 1000 10000 CPU-time [s] 100000 Fig. 3: Relation between solution quality, computing time, and cooling factor in simulated annealing (scen. 6) 3.2 Tabu Search Tabu search is an exhanced local search method. To get out of local minima, tabu search generates and explores several solutions at a time. Then it chooses the best one for further search, even if that solution is not better than the currently best solution. In this way, not only new points of the solution space but also old ones, i.e. points which have been visited before, can be reached again. To avoid repetition of the same search steps, the concept of a tabu list is used. Whenever a new solution is chosen for further search, the moves applied to the old solution in order to generate the new one are entered into the tabu list. If the tabu list is full and a new move has to be recorded, the oldest entry is deleted. This means that some solutions which were tabu before can be reached again and thus new regions of the search space may be explored. Important parameters are the number n of neighbors to be searched in one iteration and the length l of the tabu list [4, 15]. Furthermore, the number c of iterations without change (i.e. after how many iterations in which no improvement of the current solution has been found should the algorithm terminate?) has to be set. We tested six combinations of parameter values because parameters here are not independent from each other (see [6] for details). Again, some versions were found to produce very good solutions but were quite slow whereas others were by orders of magnitude faster but came out with bad results. (The best average solutions were obtained by versions with n = 50 - 100, l = 15 - 45, and c = 10,000.) A similar trade-off as in figure 3 was observed. 3.3 Threshold Accepting Threshold accepting [3] starts with an initial solution and tries to improve that solution step by step. A socalled threshold value is used to decide whether a new solution will be kept or not. If the difference between the old value of the objective function and the new one is less than the threshold, the new solution is accepted. Afterwards the threshold is reduced by a given factor. The initial threshold t is a parameters which has to be set. Like tabu search, threshold accepting searches the neighborhood of the currently best solution. Thus the number of neighbors to be examined (n) has to be fixed. The number of iterations without any change of the objective function (c) serves as a stopping criterion as in tabu search. Seven combinations of parameters were tested (see [6] for details). The best solutions were obtained by the version with n = 1,500, t = 500, and c = 1,000. This version was very slow. On the other hand, the fast versions gave bad results. The strongest influence on solution quality was found to come from the number of neighbors to be examined in one iteration (n), as in tabu search. A larger n means that more solutions will be checked, thus the probability to find a better solution than the current one will also increase. 3.4 Genetic Algorithms The number of parameters of a genetic algorithm [2, 5] is quite big. First of all, different types of cross-over, mutation, and inversion operators may be chosen. Second, the respective rates − to how much percent of a population will cross-over, mutation and inversion be applied in each generation? − have to be set. Third, the population size (number of individuals) has to be fixed. Fourth, a maximum number of generations to be processed may also be predefined if the algorithm is desired to terminate before complete convergence of the population. In our tests, three of those parameters were considered: the cross-over rate cr, the population size s, and the number of generations m. Based on combinations of the parameters, four versions were tested: Parameter s m cr GA-1 32 1 500 0.9 GA-2 64 2 000 0.975 GA-3 64 2 500 0.99 GA-4 128 2 000 0.975 All of them performed relatively badly, but the trade-off between solution quality and computing time can still be observed in figure 4. In that table, the best results rowwise are boldfaced and the worst results are underlined. Scenario Result quality GA-1 GA-2 GA-3 GA-4 Wire-length CPU-time Wire-length CPU-time Wire-length CPU-time Wire-length best 3810 00:01:56 3780 00:05:43 3840 00:07:12 3750 CPU-time 00:12:14 1 worst 4080 00:01:58 3930 00:05:54 3960 00:07:28 3990 00:17:03 (20 cells) average 3936 00:01:57 3863 00:05:49 3888 00:07:22 3873 00:14:23 best 3000 00:01:53 2940 00:05:36 2940 00:07:07 2940 00:11:49 2 worst 3210 00:01:55 3150 00:05:51 3179 00:07:18 3240 00:16:54 (20 cells) average 3139 00:01:54 3056 00:05:43 3075 00:07:13 3072 00:14:19 best 3600 00:01:53 3570 00:05:43 3600 00:07:16 3450 00:11:41 3 worst 3870 00:01:58 3840 00:06:18 3690 00:07:26 3660 00:16:53 (20 cells) average 3693 00:01:56 3644 00:05:52 3639 00:07:21 3611 00:13:47 best 2138 00:06:04 2062 00:17:29 2024 00:22:29 1980 00:35:43 4 worst 2495 00:06:14 2381 00:18:14 2411 00:23:23 2317 00:53:21 (40 cells) average 2284 00:06:08 2217 00:17:55 2246 00:22:54 2177 00:41:42 best 3185 00:06:00 3157 00:17:37 3221 00:22:53 3093 00:36:13 5 worst 3696 00:06:16 3516 00:18:34 3494 00:23:40 3427 00:39:27 (40 cells) average 3451 00:06:11 3344 00:18:10 3335 00:23:25 3272 00:37:37 best 6523 00:16:56 6390 00:49:59 6446 01:04:49 6162 01:39:22 6 worst 7221 00:17:38 6868 00:51:53 6927 01:06:26 6753 01:46:50 (70 cells) average 6812 00:17:16 6617 00:51:10 6679 01:05:31 6408 01:42:18 best 7339 00:16:42 7278 00:50:02 7260 01:04:56 7000 01:40:25 7 worst 8024 00:17:49 7828 00:52:12 7988 01:06:34 7735 01:30:34 (70 cells) average 7756 00:17:16 7550 00:51:22 7617 01:05:43 7391 01:43:34 best 3333 00:31:08 3048 01:33:40 3089 01:57:12 2825 01:33:29 8 worst 4378 00:35:07 4032 01:38:25 3988 02:07:40 3566 04:35:52 (100 cells) average 3758 00:32:50 3535 01:36:15 3516 02:04:44 3179 03:27:38 Fig. 4: Results of genetic algorithms with different parameter settings 3.5 Parallel Recombinative Simulated Annealing (PRSA) The name PRSA indicates that this method uses both the population concept, including recombination operators, from genetic algorithms and features like cooling from simulated annealing [10]. PRSA generates new individuals by applying genetic recombination (cross-over) and mutation (flip) operators. New populations are constructed by selection from old and new individuals with the help of Boltzmann trials [1]. In contrast to normal genetic algorithms, the selection process is controlled by the temperature. In this hybrid method, the number of parameters and parameter combinations is very high. However, most parameters had been tested with the respective methods before, and their effects in PRSA were expected to be more or less the same. Therefore our investigations focussed on the selection strategy. This parameter represents very well the basic idea of PRSA, namely combining SA and GA features for generating new solutions. In principle, both old (parent) and new (child) individuals could be considered as candidates for the next population. Therefore they compete against each other in PRSA, two children and two parents at a time. Four types of competition were tested: 1. Children compete against the worst parents. 2. Each child competes against one of its own two parents. 3. Children and parents compete in reverse order of their fitness values: the best child against the worst individual from the set of all parents, the second-best child against the second-worst parent, etc. 4. Each child competes against one random individual from the set of parents. The winners of each competition are then selected for the next generation with a certain probability (Boltzmann criterion). Out of the four selection strategies, the second one gave the best solutions. This was somewhat counter-intuitive because we had expected that a strategy which replaces explicitly bad individuals, like a) or c), would be superior. Again the runtimes of the best version were much longer than those of the worse versions. In relation to each other, the methods behaved as follows (for details see [6]): 1. Simulated annealing was the overall best method, both from the solution quality and the runtime point of view. 2. Tabu search came relatively close, with the exception that two of the six versions tested gave the overall worst solutions. 3. Threshold accepting had similar results as the first two methods, with solutions approximately 5 % worse. 4. PRSA produced good solutions, even a little better than threshold accepting, but runtimes were by far the longest ones of all methods under study. 5. The genetic algorithms gave the worst solutions of all methods, excepting the two version of tabu search mentioned above. Method Simulated annealing Tabu search Version fast SA-0 slow SA-4 fast TS-1 slow TS-6 Threshold accepting fast slow TA-2 TA-7 Genetic algorithm fast GA-1 slow GA-4 fast slow PRSA-0 PRSA-4 PRSA 4 Impact of a Given Time Constraint on the Behavior of the Methods Parameters cooling factor 0.98 cooling factor 0.99999 n = 10, l = 6, c = 1000 n = 75, l = 45, c = 10000 n = 8, t = 500, c = 1000 n = 1500, t = 500, c = 1000 s = 32, m = 1500, cr = 0.9 s = 128, m = 2000, cr = 0.975 s = 16, strategy a) s = 64, strategy b) In the first series of tests, each version of each method ran exactly 20 times. When the same time limit was allowed in the second series, all methods ran more often (with the exception of PRSA-2). The impact of the same time on the number of runs is quite remarkable. Figure 5 shows the distribution of runs that were actually carried out. Some very fast versions ran several thousand times − in the same time in which PRSA-2 ran only around 10 and SA-4 between 22 and 44 times. In this section, the question of how time constraints, or more general, how fixed time budgets affect the above ordering will be discussed. In section 3, the findings were derived from a uniform number of 20 runs for each version of each method. This is not really a fair basis for comparison if practical constraints are taken into consideration, because some versions/methods take hours or days whereas others need only seconds. Therefore a second series of test runs was designed. For all methods except PRSA-2, the effect was observed that increasing the number of runs improved the solution quality. The results of both test series are presented in figure 6. For each version/method, the data from the "same runtime" tests are given in the respective left column and the data from the "20 runs" test are given in the respective right column, set in italics for distinction. As before, best results are set in bold face and worst results are underlined. In this series, all methods were given the same amount of time, implying that a "fast" method could run more often than 20 times whereas a "slow" method would probably run less often. However, each method should be able to run a certain minimum number of times so that random effects would be eliminated to some extent. For this purpose, the average runtime recorded for the slowest method was taken for each scenario and multiplied by 10 (i.e. the minimum number of times each method ran was approximately 10). A look at the respective two columns of each version reveals that there are both improvements and changes to the worse regarding the wire-lengths in the new versions. Most versions now found better solutions than before. For example, SA-0, the fast version of simulated annealing, performed better or the same as before in all scenarios (see rows "best"). The reason is obviously that it ran far more often than just 20 times (e.g for scenario In the second set of test runs, only one fast version and one slow version per method were selected. As discussed above, the fast versions usually gave bad results and the slow versions usually gave good results. The following versions were used for the comparisons: Scenario SA-0 SA-4 TS-1 TS-6 TA-2 TA-7 PRSA-0 PRSA-2 GA-1 1 (20 cells) 9946 22 3616 62 3621 21 80 9 178 GA-4 29 2 (20 cells) 10468 24 3656 70 3809 22 82 8 152 25 3 (20 cells) 12085 27 4358 79 4422 25 97 12 202 33 4 (40 cells) 7856 29 8752 103 7026 59 115 12 193 33 5 (40 cells) 7752 28 8444 93 6565 56 96 10 243 41 6 (70 cells) 5420 44 19569 179 7275 133 104 12 621 108 7 (70 cells) 5389 44 18811 182 7184 131 100 10 689 118 8 (100 cells) 3814 32 32226 316 7485 229 146 11 433 74 Fig. 5: Distribution of runs executed within the same time Scen. Res. qual. PRSA-0 PRSA-2 SA-0 SA-4 GA-1 GA-4 TS-1 TS-6 TA-2 TA-7 same 20 same 20 same 20 same 20 same 20 same 20 same 20 same 20 same 20 same 20 time times time times time times time times time times time times time times time times time times time times runs runs runs runs runs runs runs runs runs runs 1 (20 c.) 2 (20 c.) 3 (20 c.) 4 (40 c.) 5 (40 c.) 6 (70 c.) 7 (70 c.) 8 best 3750 3780 3750 3750 3750 3810 3750 3750 3750 3810 3750 3750 3780 3780 3750 3750 3750 3840 3780 3780 worst 4050 4050 3840 3810 4170 4050 3780 3750 4170 4080 3960 3990 3990 3960 3930 3930 4320 4140 3930 3930 average 3874 3863 3777 3771 3907 3959 3753 3750 3931 3936 3864 3873 3900 3887 3780 3791 4009 3999 3839 3839 best 2940 2940 2940 2940 2940 2940 2940 2940 2940 3000 2940 2940 2940 3000 2940 2940 2940 3030 2940 2940 worst 3240 3120 3000 3030 3330 3210 2940 2940 3330 3210 3179 3240 3210 3180 3060 2970 3480 3300 3060 3090 average 3050 3039 2966 2948 3068 3074 2940 2940 3122 3139 3049 3072 3080 3101 2958 2957 3165 3192 3004 2997 best 3450 3450 3450 3450 3450 3450 3450 3450 3509 3600 3450 3450 3450 3510 3450 3450 3450 3600 3450 3450 worst 3780 3720 3540 3600 3840 3690 3450 3450 3870 3870 3750 3660 3750 3690 3600 3600 4020 3900 3630 3660 average 3613 3620 3480 3510 3628 3621 3450 3450 3677 3693 3627 3611 3639 3629 3518 3552 3729 3717 3554 3557 best 1976 2047 1967 1891 1894 2086 1857 1911 2065 2138 2005 1980 2167 2346 1913 1916 1955 2166 1925 1974 worst 2365 2309 2085 2080 2578 2384 2006 1991 2600 2495 2336 2317 2589 2483 2129 2129 2756 2487 2186 2103 average 2166 2166 2012 2001 2199 2196 1940 1942 2305 2284 2168 2177 2392 2410 1994 1991 2264 2279 2036 2037 best 2927 3065 2885 2907 2952 3069 2859 2885 3121 3185 3081 3093 3264 3425 2859 2885 2942 3171 2877 2877 worst 3409 3375 3047 3068 3736 3425 2983 2976 3764 3696 3461 3427 3747 3648 3244 3103 3829 3645 3215 3180 average 3192 3217 2950 3001 3275 3266 2904 2927 3437 3451 3279 3272 3539 3515 2998 3010 3341 3376 3042 3040 best 5722 5971 5639 5539 5688 5994 5452 5367 6276 6523 6068 6162 6632 6820 5486 5541 5740 6147 5604 5637 worst 6498 6397 5924 6024 6695 6344 5775 5761 7515 7221 6841 6753 7471 7202 6028 5911 6954 6788 6101 6227 average 6093 6136 5789 5806 6200 6154 5578 5558 6826 6812 6474 6408 7075 7051 5660 5682 6321 6397 5858 5827 best 6700 6776 6515 6568 6600 6838 6325 6349 7159 7339 7024 7000 7609 7803 6343 6422 6693 6985 6458 6458 worst 7478 7360 6917 6875 7644 7501 6656 6646 8347 8024 7733 7735 8469 8205 6902 6834 7876 7731 7112 7027 average 7067 7102 6718 6736 7135 7099 6454 6467 7766 7756 7378 7391 8038 8020 6607 6658 7278 7363 6771 6778 best 2434 2428 2218 2160 2255 2335 1982 2059 2801 3333 2705 2825 3918 4222 1971 1949 2300 2682 2097 2255 worst 3340 3413 2580 2654 3458 3130 2205 2193 4657 4378 3767 3566 5210 4812 2424 2253 3997 3439 2949 2725 (100 c.) average 2859 2870 2368 2404 2787 2809 2095 2115 3767 3758 3214 3179 4570 4577 2154 2115 3039 2989 2483 2487 Fig. 6: Results of test series 1 and 2 1 it ran actually 9,946 times). However, the worst solutions also became much worse. Apparently the variance increased. The average wire-lengths did not change significantly overall. SA-4, the slow version, did not only remain the best one as before but still improved somewhat. In four out of five scenarios it found better solutions (for scenarios 1 to 3 it had already reached the optimum before). The averages also improved. SA-4 obtained the best solutions on average both in the sameruntime and in the 20-times runs. The second question asked in section 1 can be answered now. In particular: a) Does the same-time constraint have any effect on the decision which method is the best one? b) Will the solutions be better if a fast version of a method is run very often or if a slow version is run only a few times? Looking at the result tables, question a) is easy to answer. Although almost all methods became better in the sense that better solutions were found, SA-4 proved to be by far the best one in the second test series as well. Therefore simulated annealing, with very slow cooling, is the overall winner. The time constraint did not change this situation. The second question may be put as follows: Is it better to set the parameters in a way that, even though one individual solution is unlikely to be very good, among the large number of solutions obtained within the given time hopefully there will be an outstanding one? Or is it better to tune the parameters so that better solutions are likely to be computed from the beginning on but due to the time limit there will only be a few ones to select from? Our results show that in none of the cases a "bad" version of a method from the 20-times test series became better than the corresponding "good" version by running very often. As can be seen from figure 6, the differences in the numbers of runs are quite big. However, although in some cases (e.g. simulated annealing, tabu search) the fast versions were run 100 times more often than the respective slow versions, the latter ones still found better solutions. The answer to the second question is therefore that, according to our test results, it is better to run slow versions, with good parameter settings, only a few times instead of fast versions many times. only once the probability that the result will be as good as the average result is quite high. 5 Stability of the Methods The final question to be discussed is related to the problem examined in the previous section. For a prospective user in an application field, stability of the results obtained by a method is an important factor to consider. This means: can the user expect that the solutions computed for one particular problem will be approximately of the same quality and need the same runtime "as always"? The results given in sections 3 and 4 have shown that the variances of the wire-lengths and runtimes are sometimes quite big. For the purpose of comparison of the methods, the coefficients of variation were computed [14]. Such a coefficient indicates the standard deviation of the results relative to the average. A small coefficient implies that application of the corresponding method is likely to produce a result close to the average. In figure 7, the coefficients of variation are shown both for the average wire-lengths and for the average runtimes obtained. For each method, one fast and one slow version was considered. The basis for calculation is the results of the 20-times runs given in section 2. 4,00% 3,50% 3,29% 3,14% 3,00% 2,89% 2,87% 2,85% 2,38% 2,50% 2,04% 2,00% 1,83% 1,65% 1,50% 0,88% 1,00% 0,50% SA-4 TS-1 TS-6 PRSA-2 TA-7 PRSA-0 SA-0 GA-4 TA-2 0,00% GA-1 Coefficient of variation [%] Coefficients of variation for wire-length Method SA-4 TS-1 TS-6 PRSA-2 TA-7 PRSA-0 SA-0 GA-4 TA-2 45,00% 37,27% 40,00% 32,57% 35,00% 30,73% 30,00% 26,13% 25,00% 18,48% 20,00% 15,35% 15,00% 10,01% 10,00% 2,95% 5,00% 1,22% 1,29% 0,00% GA-1 Coefficient of variation [%] Coefficients of variation for CPU-time Method Fig. 7: Coefficients of variation for wire-length and CPU time [14] The coefficients of variation for wire-length are not very big. They are between 0.88% (SA-4) and 3.29% (GA-1), i.e. solutions are mostly around the average. From these values it may be concluded that when a method runs On the other hand, the coefficients of variation for CPU time vary significantly. For the slow version of tabu search (TS-6) the coefficient is 37.27% but for the fast genetic algorithm (GA-1) it is only 1.22%. Thus the runtime of TS-6 may vary quite a lot from one run to another. In contrast to this, methods like simulated annealing with slow cooling (SA-4), the fast genetic algorithm (GA-1), and the slow version of threshold accepting (TA-7) most probably will take almost the same amount of CPU-time in different runs for the same problem. From the stability point of view, simulated annealing in version SA-4 again exhibited the best behavior. The runtimes for all scenarios were very close to the respective average runtimes, and the final values of the objective function were also quite near together. This means that the user does not need to fear random effects but may expect a good solution in an average time. 6 Summary and Conclusions The purpose of this paper was to evaluate several heuristic methods for sequencing problems which have been proposed in the past years. Those methods are simulated annealing, tabu search, threshold accepting, genetic algorithms, and PRSA (parallel recombinative simulated annealing). The focus of the investigation was set on questions that arise when the methods are to be applied in practice: How to set the parameters? Should they be set in a way that a method becomes slow and hence can only run few times within a given time limit? Or is it better to make a method fast and run it many times instead? Furthermore, can the user expect that the results of a certain method will be of the same quality as before when the method runs the next time? Answers to those questions were derived from a large number of test runs with different parameter settings for each method. The general findings may be summarized as follows. Appropriate parameter settings are of outstanding importance. Any method can behave very well or very badly depending on the values and combinations of its parameters. The user has to make a trade-off between solution quality and runtime. Usually it is better to choose good parameter values, knowing that those values will slow the method down and permit only few runs to be carried out within a certain time limit. In none of the test scenarios we found any indication that the random effect of running the "bad" version of a method very often would allow some extraordinarily good solution to be captured on the way. Most likely the "bad" versions get stuck in local minima from which they can- not escape due to the parameter settings. Furthermore, in no case the fast version of a method outperformed the respective slow method in terms of solution quality by running a large number of times. son, D.W., Steele, N.C., Albrecht, R.F. (eds.), Artificial Neural Nets and Genetic Algorithms − Proceedings of the International Conference in Ales, France; Vienna 1995, pp. 491-494. The best method of both test series was simulated annealing, when the parameter controlling the cooling schedule was set in a way that the method became very slow (SA-4). How strong the impact of the cooling schedule is had been observed in our first experiments where we employed a cooling factor of 0.98. The method was extremely fast but the solutions were so bad that at the first moment we even considered not to use simulated annealing any more! [9] Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., Shmoys, D.B.: The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization; New York, NY 1985. Simulated annealing with very slow cooling (SA-4, cooling factor 0.99999) proved to be the most stable method as well. Both solution quality and computing time were always very close to the respective averages. Based on the results from the two test series, SA-4 may be considered as the best method for the underlying test problem. References [1] Aarts, E.H.L., Korst, J.H.M.: Simulated Annealing and Boltzmann Machines − A Stochastic Approach to Combinatorial Optimization and Neural Computing; Chichester, New York, et al. 1989. [2] Davis, L.: Handbook of Genetic Algorithms; New York, NY et al. 1991. [3] Dueck, G., Scheuer, T.: Threshold Accepting: A General Purpose Optimization Algorithm Appearing Superior to Simulated Annealing; Journal of Computational Physics 90 (1990), pp. 161-175. [4] Glover, F.: Tabu Search − Part I; ORSA Journal on Computing 1 (1989) 3, pp. 190-206. [5] Goldberg, D. E.: Genetic Algorithms in Search, Optimization, and Machine Learning; Reading, MA 1989. [6] Kurbel, K.: A Computational Study of the Effects of Parameters on the Performance of Intelligent Algorithms; in: Proceedings of Fourth World Congress on Expert Systems 1998, Mexico City (to appear). [7] Kurbel, K., Ruppel, A.: Integrating Intelligent Jobscheduling into a Real-world Production-scheduling System; Journal of Intelligent Manufacturing 7 (1996), pp. 373-377. [8] Kurbel, K., Schneider, B., Singh, K.: VLSI Standard Cell Placement by Parallel Hybrid Simulated-Annealing and Genetic Algorithm; in: Pear- [10] Mahfoud, S.W., Goldberg, D.E.: Parallel Recombinative Simulated Annealing; IlliGAL Report No. 92002 (Illinois Genetic Algorithms Laboratory), University of Illinois, Urbana, IL 1992, pp. 1-27. [11] Sait, S.M., Youssef, H.: VLSI Physical Design Automation − Theory and Practice; London, New York et al. 1995. [12] Shahookar, K., Mazumder, P.: VLSI Placement Techniques; ACM Computing Surveys 23 (1991) 2, pp. 143-220. [13] Sherwani, N.: Algorithms for VLSI Physical Design Automation; Boston, MA 1993. [14] Singh, K., Bochynek, R.: Comparison of Heuristic Search Methods for Sequencing Problems − A Computational Study; in: First International Conference on Operations and Quantitative Management, Proceedings: Volume II; Jaipur, India, Janu-ary 5-8, 1997, pp. 451-458. [15] Werra, de D., Hertz, A.: Tabu Search Techniques: A Tutorial and an Application to Neural Networks; Operations Research Spektrum 4 (1989) 11, pp. 131-141.
© Copyright 2026 Paperzz