Algorithms for unconstrained quadratic 0-1 programming and related problems on contemporary computer architectures
Gregory P. Rodgers
Abstract
Unconstrained quadratic zero-one programming belongs to the class of NP-complete problems. It is therefore considered computationally intractable. Much research has been done in trying to find subsets of unconstrained quadratic 0-1 programs that can be solved in polynomial time. However, for the general problem, nonpolynomial methods must be used, resulting in limitations on the size of problems that can be solved. Branch and bound is a computational method that implicitly enumerates all possible solutions. Research on branch and bound algorithms is vast. Due to the computational complexity of the algorithm, efficient implementations are necessary in order to solve even moderate size problems. It is natural to expect that any implementation of a branch and bound algorithm may consume large amounts of computer resources due to the nature of the algorithm. Therefore, it is desirable to exploit contemporary high performance computers. In this thesis, efficiencies in the implementation of new 0-1 branch and bound algorithms on contemporary computer architectures are studied. Though not primarily designed for combinatorial problems, it is shown that many contemporary architectures, including distributed and shared memory multiprocessors, are capable of increasing the scope of solvable discrete programming problems. An application of unconstrained quadratic 0-1 programming is the maximum clique problem. It is shown that the variable selection rule in the proposed algorithm is equivalent to a nongreedy vertex selection rule for the maximum clique problem. This rule enhances the use of preprocessing rules that are applied to all branch and bound subproblems. By using this rule and by exploiting efficient data structures, maximum clique problems are solved for graphs of up to 1,000 vertices and 150,000 edges.