.. _preprocessing_lower_bounds: ============ Lower Bounds ============ A common preprocessing method for binary quadratic models (BQM) is finding the lower bound of their energy. Roof Duality ------------ `dwave-preprocessing` contains an implementation of roof duality, an algorithm used for finding a lower bound for the minimum of a quadratic boolean function, as well as minimizing assignments for some of the boolean variables; these fixed variables take the same values in all, or some, optimal solutions [#BHT]_ [#BH]_. .. [#BHT] Boros, E., P.L. Hammer, G. Tavares. Preprocessing of Unconstraint Quadratic Binary Optimization. Rutcor Research Report 10-2006, April, 2006. .. [#BH] Boros, E., P.L. Hammer. Pseudo-Boolean optimization. Discrete Applied Mathematics 123, (2002), pp. 155-225. .. autofunction:: dwave.preprocessing.lower_bounds.roof_duality The roof duality algorithm may also be accessed through the :class:`~dwave.preprocessing.composites.FixVariablesComposite`.