Finding the right hybrid algorithm - A combinatorial meta-problem
Benchmark comparisons tend to overlook the most important challenge in solving combinatorial problems: how to design an appropriate algorithm. For example, an early version of Localizer incurred a factor 3 performance penalty when benchmarked against a 'C' implementation of GSAT, but we would recommend implementing a new local search algorithm in Localizer rather than 'C' every time. The ECLiPSe CLP language supports the experimental process of seeking the right hybrid algorithm for the problem at hand. It offers high-level modelling and control features, extensibility and a wide range of constraint solvers which can cooperate in the solving of a problem. We recently sought a new hybrid algorithm for a very unpromising class (SAT problems), and using ECLiPSe we were able to develop an algorithm which showed good performance on some very hard instances. We describe the process of exploring the space of hybrid algorithms for the problem class, and indicate the features of ECLiPSe that enabled us to find previously undiscovered algorithms. How to benchmark the solving of this "meta-problem" remains a topic of future research. We conclude by pointing out the advantages of an extensible platform, such as ECLiPSe, for developing sophisticated hybrid algorithms for large scale industrial combinatorial optimisation problems.
combinatorial clp constraints