New complementarity formulations for root-finding and optimization of piecewise-affine functions in abs-normal form
Yulan Zhang, Kamil A. Khan
TL;DR
The paper tackles solving root-finding and optimization for continuous piecewise-affine functions expressed in abs-normal form by deriving new complementarity-based reformulations. It shows that root-finding can be cast as a mixed linear complementarity problem (MLCP) and, under mild regularity, reduced to a linear complementarity problem (LCP); optimization is formulated as a linear program with complementarity constraints (LPCC) or MILP via big-M, with existence checks via horizon functions. A Julia prototype demonstrates automatic construction of the requisite auxiliary ANF quantities and solves the reformulated problems with PATH and BARON solvers, highlighting advantages over prior Griewank-style approaches, especially in higher dimensions. These contributions broaden the practical utility of abs-normal forms for nonsmooth analysis and optimization, suggesting paths for integration with AD-based ANF generation and potential applications to neural networks and other discrete-continuous systems.
Abstract
Nonsmooth functions have been used to model discrete-continuous phenomena such as contact mechanics, and are also prevalent in neural network formulations via activation functions such as ReLU. At previous AD conferences, Griewank et al. showed that nonsmooth functions may be approximated well by piecewise-affine functions constructed using an AD-like procedure. Moreover, such a piecewise-affine function may always be represented in an "abs-normal form", encoding it as a collection of four matrices and two vectors. We present new general complementarity formulations for root-finding and optimization of piecewise-affine functions in abs-normal form, with significantly fewer restrictions than previous approaches. In particular, piecewise-affine root-finding may always be represented as a mixed-linear complementarity problem (MLCP), which may often be simplified to a linear complementarity problem (LCP). We also present approaches for verifying existence of solutions to these problems. A proof-of-concept implementation in Julia is discussed and applied to several numerical examples, using the PATH solver to solve complementarity problems.
