Coevolutionary Construction of Parallel Algorithm Portfolio Optimization
摘要
This chapter presents studies we have made towards developing effective approaches for construction of Parallel Algorithm Portfolio solvers for optimization problems. In the introduction section, we first give the general motivation as to why the methodology that employs a parallel portfolio of optimizers has been introduced to provide more effective problem-solving approaches for complex, real-world optimization problems. The development roots of such portfolio optimizers can be traced back to effective automatic algorithm configuration approaches for parameter tuning of a problem-solving algorithm, leading to the development of more general automatic solver construction for a problem-solving application area. In the following section, we propose an adversarial-based procedural approach that simultaneously considers both instance generation and portfolio construction. In particular, the adversarial process addresses issues of scarce and biased training data (problem instances) that is crucial towards automatic construction of portfolio solvers that generalize well across various problem instances. A computational study is carried out to demonstrate the effectiveness of our approach in two widely studied problem domains on the Boolean Satisfiability Problem (SAT) and the Traveling Salesman Problem (TSP). The next section follows up with a theoretical study to demonstrate that the generalization ability of portfolio solvers with respect to problem instances can be enhanced by training portfolio solvers against an augmented set of problem instances that are of increasing difficulty. This motivates us to develop a two-population competitive coevolution framework for automatic construction of portfolio solvers. We conduct a computational study on two problems, TSP and Vehicle Routing Problem with Simultaneous Pickup-Delivery and Time Windows (VRPSPDTW), and demonstrate that a population of portfolio solvers and another population of problem instances can be competitively coevolved to produce portfolio solvers with good generalization and requiring few training problem instances. We close the chapter with brief remarks about the competitive coevolutionary framework for such higher-order problem solving of automatically constructing portfolio solvers and further design developments.