In all the tables below, the number of instances tested in the problem is shown in parentheses after the problem. The solution result is expressed as the average solution time of multiple instances. The best-performing algorithms are highlighted in bold and underlined. Timeout is set to 600 s, indicated by the symbol “**”.
6.1. Performance Comparison of Improved Algorithms
In this section, all algorithms use dom/wdeg heuristics to order variables. For example, for Algorithm 1 maxRPC3
described in
Section 4, when a value a
is deleted due to a constraint, the heuristic changes the weight of the constraint c
.
Table 2 and
Table 3 present the experimental outcomes of algorithm enhancement. The algorithms tested include maxRPC3
, maxRPC3
, lmaxRPC3
, and maxRPC3
. The “time” column represents the duration in seconds taken to solve the problems, while the “node” column indicates the number of nodes.
Table 2 displays the test results on 23 problems, which altogether amount to 244 structured problems. On the other hand,
Table 3 illustrates the test results of 8 problem categories, summing 71 random problem instances.
From
Table 2, we can see that among the 23 structured problems, a total of 10 problems took maxRPC3
the shortest time on average, maxRPC3
took the shortest time for 5 problems, and lmaxRPC3
and maxRPC3
both took the shortest time for 3 problems. However, due to the limitation of the initialization cost of the data structure, all algorithms had a high cost in large instances. Specifically, all algorithms timed out on the qcp-25 and qwh-25 (4) problem class; that is, the data items in the table with the “**” symbol in the table. In particular, lmaxRPC3
timed out on the qcp-20 problem class. In contrast, the new algorithms maxRPC3
and maxRPC3
can be used without timeout, indicating that our new algorithms perform slightly better in large instance problems. Overall, the average performance of algorithms maxRPC3
and maxRPC3
is better than that of algorithm lmaxRPC3
on 76.2% and 66.7% of problem classes, respectively.
maxRPC3 has approximately three times the number of problems with the shortest time spent on them compared to maxRPC3 and lmaxRPC3. maxRPC3 algorithms takes the shortest time on average in the qcp-10, qwh-10, rlfapgraphs, rlfapscens, rlfapGraphsMod, rlfapScens11, hos, bqwh-15-106, queens, and largequeens problems. Among them, the lmaxRPC3 and maxRPC3 algorithms spend on average more than twice and four times as long as maxRPC3 on the qcp-10 problem, respectively. maxRPC3 has almost absolute dominance in the rlfap problem, and has the shortest time spent in rlfapgraphs, the rlfapscens, rlfapGraphsMod, and rlfapScens11, which are the four best problems, while lmaxRPC3 takes about twice as long as maxRPC3 in these problems. In the bqwh-15-106 problem, lmaxRPC3 and maxRPC3 take about two and five times as long as maxRPC3, respectively. lmaxRPC3 takes about two times as long as maxRPC3 on average in the Queens problem, and in the largequeens problem, lmaxRPC3 and maxRPC3 take about three and two times as long as maxRPC3.
In the problems qcp-15, qwh-15, qwh-20, coloring, and queenAttacking, maxRPC3 takes the shortest time except for maxRPC3. In the qwh-15 problem, maxRPC3 and lmaxRPC3 take about twice as long as maxRPC3. In the coloring problem, maxRPC3 and lmaxRPC3 take about three and two times as long as maxRPC3. In the queenAttacking problem, the lmaxRPC3 algorithm takes about twice as long as maxRPC3. Overall, the maxRPC3 algorithm has the best results in most problems.
The number of problems where maxRPC3 works best compared to maxRPC3 and lmaxRPC3 is close to twice the number of problems of maxRPC3 and lmaxRPC3. The maxRPC3 algorithm takes the least amount of time on average in the qcp-15, qwh-15, qwh-20, coloring, and queenAttacking problems. In the qwh-15 problem, the lmaxRPC3 and maxRPC3 algorithms take about twice as long as the maxRPC3 algorithm on average. In qwh-20, the maxRPC3 algorithm takes about 1.5 times as long as maxRPC3. In the coloring problem, the maxRPC3 algorithm and the lmaxRPC3 algorithm take on average more than two and three times as long as maxRPC3, respectively.
The maxRPC3 algorithm is the most effective algorithm except for the maxRPC3 algorithm in the qcp-10, qwh-10, and bqwh-15-106 problems. In the qcp-10 problem, the lmaxRPC3 and maxRPC3 algorithms take about two and four times as long as the maxRPC3 algorithm. In problem qwh-10, the lmaxRPC3 and maxRPC3 algorithms take on average nearly twice and three times as long as maxRPC3, respectively. On the bqwh-15-106 problem, the lmaxRPC3 algorithm and the maxRPC3 algorithm take approximately two and five times as long as the maxRPC3 algorithm. Moreover, we can also see that in the qcp-10, subs, myciel, bqwh-18-141_glb, jobShop-e0ddr1, and queensKnights problems, lmaxRPC3 and maxRPC3 perform better. We speculate that it is because our algorithm is modified based on the symmetry property, and these problems have fewer symmetric structures and are more dependent on the redundant data structures we abandoned. However, the solving time is actually quite similar, and our algorithm saves more storage space because of the reduction in redundant operations.
In the rlfap problem, the maxRPC3 algorithm is absolutely dominant, the maxRPC3 algorithm is not dominant, and the number of nodes is close. The maxRPC3 algorithm has the best result in the Hos problem, and in qcp-15, qwh-20, and coloring, the maxRPC3 algorithm has outstanding performance. Side by side, the maxRPC3 algorithm has an advantage in solving smaller-scale problems, while maxRPC3 has an advantage in many large-scale problems. It can be seen that out of the seven problems with an average time of more than 1 s, the maxRPC3 algorithm has the least amount of time spent in four problems, while there are two problems where all four algorithms time out, and one problem where the best performer is the maxRPC3 algorithm. It shows that our proposed maxRPC3 algorithm has good pruning ability, and at the same time, saves time with simplicity and efficiency.
Table 3 shows the average performance of the algorithms for random instances from the geometric, Ehi-85, composed, random, and frb problems. The average performance of algorithms maxRPC3
and maxRPC3
are both better than that of lmaxRPC3
, except for the Ehi-85 problem. That is, the new algorithms are better than lmaxRPC3
in 85% of problem classes. Moreover, the maxRPC3
algorithm times out in the rand-2-23 and rand-2-24 problems, while none of the other three algorithms time out. Thus, the algorithm maxRPC3
works best on the randomized problem.
Comparing the maxRPC3, lmaxRPC3, and maxRPC3 algorithms, the number of best-performing problems in the maxRPC3 algorithm is two, while there are none for lmaxRPC3 and only one for maxRPC3. In the composed-25-1-2 and composed-25-10-20 problems, maxRPC3 took the least time. In the composed-25-1-2 problem, the lmaxRPC3 and maxRPC3 algorithms took twice and nearly seven times as long as the maxRPC3 algorithm, respectively. In the composed-25-10-20 problem, the lmaxRPC3 algorithm and the maxRPC3 algorithm took three and five times longer than the maxRPC3 algorithm, respectively.
The maxRPC3 algorithm is the most effective algorithm except for the maxRPC3 algorithm in the geom, rand-2-23, rand-2-24, frb30-15, and frb35-17 problems. In particular, the lmaxRPC3 algorithm and the maxRPC3 algorithm took about three times as long as the maxRPC3 algorithm in problem frb30-15. In problem frb35-17, the lmaxRPC3 algorithm and the maxRPC3 algorithm took about twice as long as the maxRPC3 algorithm and about three times as long as the maxRPC3 algorithm, respectively. Algorithm maxRPC3 works much better than the maxRPC3 algorithm and the lmaxRPC3 algorithm.
Comparing the maxRPC3, lmaxRPC3, and maxRPC3 algorithms, the maxRPC3 algorithm works best on all five problems, whereas the maxRPC3 algorithm works well on only one problem and the lmaxRPC3 algorithm does not. The maxRPC3 algorithm works best in the geom, rand-2-23, rand-2-24, frb30-15, and frb35-17 problems. In the frb30-15 problem, the lmaxRPC3 algorithm and the maxRPC3 algorithm took more than three and four times as long as the maxRPC3 algorithm, respectively. In the frb35-17 algorithm, the lmaxRPC3 algorithm and the maxRPC3 algorithm took more than twice and three times as long as the maxRPC3 algorithm, respectively.
The maxRPC3 algorithm is the most effective algorithm except for the maxRPC3 algorithm in both problem classes of the composed problem. In particular, the maxRPC3 algorithm takes approximately four times longer than the maxRPC3 algorithm in the composed-25-1-2 problem, and in the composed-25-10-20 algorithm, the lmaxRPC3 algorithm and the maxRPC3 algorithm take about two and four times longer than the maxRPC3 algorithm, respectively. Overall, the maxRPC3 algorithm has the best results in stochastic problems. We can see from the time that is similar to the structured problems, the maxRPC3 algorithm works well for small-scale problems, and the maxRPC3 algorithm works well for larger-scale problems.
In recent years, very little work has been conducted on the maxRPC algorithm. In Reference [
17], only 15 kinds of problems were tested, while we carried out experiments on 31 kinds of structured problems and random problems. In addition, Reference [
17] showed that the best average performance improved by 65%, while the average performance of algorithm maxRPC3
improved by 82.5% on problem bqwh-15-106, and the average performance of algorithm maxRPC3
improved by 74.4% on problem frb30-15.
6.2. Performance Comparison of Improved Algorithms with Heuristics
Table 4 and
Table 5 compare the performance of algorithms maxRPC3
, maxRPC3
, lmaxRPC3
, and AC3 using different heuristics on nine problem classes, which are randomly selected examples of structured and randomized problems. We include results from dom/ddeg, dom/wdeg, ABS, and our proposed ADW heuristic.
From
Table 4 we can conclude that the ADW heuristic performs best in the structured problems qcp-10 and qcp-20, and the stochastic problem composed-25-10-20 under the execution of the maxRPC3
algorithm. In the qcp-10 problem, the algorithm takes hundreds of times longer to apply dom/ddeg than to apply the ADW heuristic, dom/wdeg takes close to twice as long as ADW, and ABS takes tens of times longer than ADW. In the qcp-20 problem, only the dom/wdeg heuristic and the ADW heuristic did not time out, whereas the other two heuristics did. In the COMPOSED problem, dom/wdeg timed out, while dom/wdeg took about four times as long as ADW. Dom/wdeg worked best in the qwh-15, queens, rlfapgraphs, rlfapScens, coloring, and frb30-15 problems, and dom/ddeg worked best in the rand-2-24 and geom problems, which shows that applying the ADW heuristic to the maxRPC3
algorithm has a good bootstrap ordering of the algorithmic variables, and works better than applying the dom/wdeg heuristic in some problems, and better than applying the dom/ddeg and ABS heuristics in many problems.
In the maxRPC3 algorithm, the application of the ADW heuristic works best in the qcp-10, qcp-20, and composed-25-10-20 problems, the application of the dom/wdeg heuristic works best in the qwh-15, coloring, and frb30-15 problems, the application of the ABS heuristic works best in the queens, rlfapGraphs, and rlfapScens problems, and the Dom/Wdeg heuristic yields the best results in stochastic problems Rand-2-24 and Geom. Taken together, applying dom/wdeg, ABS and ADW can have the best results in a larger number of problems, while applying dom/ddeg has the best results in the stochastic problems rand and geom. Therefore, the application of the improved variable ordering heuristic ADW also works well for variable ordering of the maxRPC3 algorithm and is more efficient than using other heuristics in many problems.
Table 5 shows the results of applying the four heuristics on the lmaxRPC3
algorithm and the AC3 algorithm. When using the lmaxRPC3
algorithm, applying the ADW heuristic worked best in the qcp-10, queens, rlfapGraphs, and composed-25-10-20 problems, the dom/wdeg heuristic was best when applied to the qwh-15, coloring, rand-2-24, and frb30-15 problems, the ABS heuristic was best when applied to the rlfapScens problem, and the dom/wdeg application was best when applied to the geom stochastic problem. Therefore applying the ADW heuristic and dom/wdeg heuristic works best.
When utilizing the AC3 algorithm, the application of the ADW heuristic yielded optimal results in solving the qcp-10, rlfapGraphs, rlfapScens, frb30-15, geom, and composed-25-10-20 problems. Conversely, employing the dom/wdeg heuristic proved to be most effective in addressing the rand-2-24 problem. Furthermore, for resolving the qcp-20, qwh-15, and coloring problems, implementing the dom/wdeg heuristic produced superior outcomes. Notably, when dealing with the queens as well as the rlfapGraphs and rlfapScens problems that required equal time allocation between ADW and ABS heuristics, applying the ABS heuristic demonstrated better performance. In summary, ADW exhibited optimal efficacy when combined with the AC3 algorithm, while both dom/wdeg and ADW heuristics showcased promising results when employed alongside lmaxRPC3.
The overall results show that the total time of algorithms maxRPC3 and AC3 using ADW heuristics is the best, and algorithms maxRPC3 and lmaxRPC3 using ADW heuristics are in second place, but compared with other heuristics, ADW is close to the first heuristics, which means that ADW heuristics have strong robustness. This advantage makes ADW very useful in the case of uncertainty and many kinds of problems. From the industrial point of view, it has great practical significance in practical problems.