  Logic-based Benders decomposition (LBBD) is a substantial generalization of
classical Benders decomposition that, in principle, allows the subproblem to be
any optimization problem rather than specifically a linear or nonlinear
programming problem. It is amenable to a wide variety large-scale problems that
decouple or otherwise simplify when certain decision variables are fixed. This
chapter presents the basic theory of LBBD and explains how classical Benders
decomposition is a special case. It also describes branch and check, a variant
of LBBD that solves the master problem only once. It illustrates in detail how
Benders cuts and subproblem relaxations can be developed for some planning and
scheduling problems. It then describes the role of LBBD in three large-scale
case studies. The chapter concludes with an extensive survey of the LBBD
literature, organized by problem domain, to allow the reader to explore how
Benders cuts have been developed for a wide range of applications.
