In this chapter I cover some of the tricks optimizers have developed over the years to twist models and cajole solvers into providing solutions for problems that do not easily fit the Procrustean rules of mathematical optimization.
Some of these techniques involve iteratively solving a sequence of partial models, converging to the solution we seek. Some involve the creative use of layers upon layers of decision variables, each abstracting an additional level of details. Some involve the inspection of an invalid model to gain insight into an improved ...