  We present novel mixed-integer programming (MIP) formulations for
optimization over nonconvex piecewise linear functions. We exploit recent
advances in the systematic construction of MIP formulations to derive new
formulations for univariate functions using a geometric approach, and for
bivariate functions using a combinatorial approach. All formulations are
strong, small (so-called logarithmic formulations), and have other desirable
computational properties. We present extensive experiments in which they
exhibit substantial computational performance improvements over existing
approaches. To accompany these advanced formulations, we present
PiecewiseLinearOpt, an extension of the JuMP modeling language in Julia that
implements our models (alongside other formulations from the literature)
through a high-level interface, hiding the complexity of the formulations from
the end-user.
