A new method for reducing algebraic programs to polynomial programs
Muhammad Maaz, Adam W. Strzeboński
TL;DR
This work introduces algebraic programming, a generalization of polynomial optimization where algebraic functions appear in objectives and constraints. The authors develop a two-step reformulation: (i) compute a defining polynomial for each radical expression and (ii) isolate the corresponding algebraic function via polynomial inequalities inspired by Thom encodings. By requiring only one new variable per algebraic function, the approach can significantly reduce the size of the resulting polynomial program and accelerate sum-of-squares (SOS) relaxations, achieving substantial speedups on modified benchmark problems. While facing potential scalability limits from degree growth and component complexity, the method offers a principled pathway to extend powerful polynomial optimization techniques to a broader class of algebraic problems with practical impact.
Abstract
We consider a generalization of polynomial programs: algebraic programs, which are optimization or feasibility problems with algebraic objectives or constraints. Algebraic functions are defined as zeros of multivariate polynomials. They are a rich set of functions that includes polynomials themselves, but also ratios and radicals, and finite compositions thereof. When an algebraic program is given in terms of radical expressions, a straightforward way of reformulating into a polynomial program is to introduce a new variable for each distinct radical that appears. Hence, the rich theory and algorithms for polynomial programs, including satisfiability via cylindrical algebraic decomposition, infeasibility certificates via Positivstellensatz theorems, and optimization with sum-of-squares programming directly apply to algebraic programs. We propose a different reformulation, that in many cases introduces significantly fewer new variables, and thus produces polynomial programs that are easier to solve. First, we exhibit an algorithm that finds a defining polynomial of an algebraic function given as a radical expression. As a polynomial does not in general define a unique algebraic function, additional constraints need to be added that isolate the algebraic function from others defined by the same polynomial. Using results from real algebraic geometry, we develop an algorithm that generates polynomial inequalities that isolate an algebraic function. This allows us to reformulate an algebraic program into a polynomial one, by introducing only a single new variable for each algebraic function. On modified versions of classic optimization benchmarks with added algebraic terms, our formulation achieves speedups of up to 50x compared to the straightforward reformulation.
