Solving combinatorial problems is an interplay between search and inference. In this thesis, we focus on search and investigate its important aspects. We start with complete search procedures and consider binary search, which is frequently used to augment a feasibility solver to handle optimization problems. In this setting, we often observe that negative trials (i.e., showing that a certain solution quality cannot be achieved) are significantly harder than positive trials. We consider a simple cost model where negative trials cost a constant factor more than positive trials and show how binary search can be biased optimally to achieve optimal worst-case and average-case performance. Next, as a complementary approach, we turn to incomplete search procedures. We propose Hegel and Fichte’s dialectic as a local search meta-heuristic. Dialectic is an appealing mental concept for local search as it allows developing functions for search space exploration and exploitation independently. We illustrate dialectic search, its simplicity and great efficiency on problems from highly different problem domains. We then study variable and value selection heuristics, and propose a simple modification to impact-based search strategy. We present computational results on constraint satisfaction problems that show improvements in the search performance. Finally, we look at the interaction between search and inference. In particular, we investigate incrementality during tree search interleaved with constraint propagation. We first consider constraints based on context-free grammars for which we devise a time-and space-efficient filtering algorithm. We then look at constraints that enforce the same-relation for every pair of variables in binary constraint satisfaction problems. We show that achieving generalized arcconsistency in special graphs such as cliques, complete bipartite, and directed acyclic graphs is
Read full abstract