We present a generic branch-and-bound algorithm for finding the Pareto solutions of a biobjective mixed-integer linear program. The main contributions are new algorithms for obtaining dual bounds at a node, for checking node fathoming, presolve and duality gap measurement. Our branch-and-bound is predominantly a decision space search method since the branching is performed on the decision variables, akin to single objective problems, although we also sometimes split gaps and branch in the objective space. The various algorithms are implemented using a data structure for storing Pareto sets. Computational experiments are carried out on literature instances and also on a new set of instances that we generate using the MIPLIB benchmark library for single objective problems. We also perform comparisons against the triangle splitting method from literature, which is an objective space search algorithm.
accepted to INFORMS Journal on Computing, April 2021