Core Concepts
FMplex is a novel variable elimination method that combines the strengths of the Fourier-Motzkin and simplex algorithms, reducing the worst-case complexity from doubly to singly exponential while maintaining the ability to perform quantifier elimination.
Abstract
The paper presents FMplex, a new variable elimination method for linear real arithmetic (LRA) constraints. FMplex is derived from the Fourier-Motzkin (FM) variable elimination procedure, but it uses a divide-and-conquer approach to reduce the worst-case complexity from doubly to singly exponential.
The key ideas are:
FMplex performs a case split on the lower or upper bounds of a variable, rather than considering all bound combinations at once as in FM. This avoids certain redundancies that FM might generate.
FMplex has a strong correspondence to the simplex algorithm, providing interesting theoretical insights into the relation between the two established methods.
The authors adapt FMplex for satisfiability modulo theories (SMT) solving, including methods to prune the search tree based on structural observations.
The authors provide a formal theorem connecting FMplex and the simplex algorithm, as well as a comprehensive experimental evaluation.
The paper extends the authors' previous work by providing additional explanations, more detailed examples, and full proofs.