Abstract
In this paper, we discuss a new combinatorial certifying algorithm for the problem of checking linear feasibility in Unit Two Variable Per Inequality (UTVPI) constraints. A UTVPI constraint has at most two non-zero variables and the coefficients of the non-zero variables belong to the set \(\{+1,\ -1\}\). These constraints occur in a number of application domains, including but not limited to program verification, abstract interpretation, and operations research. The proposed algorithm runs in \(O(m\cdot n)\) time and \(O(m+n)\) space on a UTVPI system with n variables and m constraints. Observe that these resource bounds match the bounds of the fastest strongly polynomial algorithm for difference constraints. Inasmuch as UTVPI constraints subsume difference constraints, it is clear that the resource requirements of our algorithm are optimal. Additionally, our algorithm is certifying, in that it produces a satisfying assignment when presented with a feasible instance, and a refutation, otherwise. At the heart of our algorithm is a new constraint network representation for UTVPI constraints.






















Similar content being viewed by others
References
Bagnara, R., Hill, P.M., Zaffanella, E.: An improved tight closure algorithm for integer octagonal constraints. In: 9th International Conference on Verification, Model Checking, and Abstract Interpretation, pp. 8–21 (2008)
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the Sixth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 238–252 (1977)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001)
Chandrasekaran, R., Subramani, K.: A combinatorial algorithm for horn programs. Discret. Optim. 10, 85–101 (2013)
Gerber, R., Pugh, W., Saksena, M.: Parametric dispatching of hard real-time tasks. IEEE Trans. Comput. 44(3), 471–479 (1995)
Karmarkar, N.K.: A new polynomial-time algorithm for linear programming. In: Proceedings of the 16th Annual ACM Symposium on Theory of Computing, pp. 302–311 (1984)
Khachiyan, L.G.: A polynomial algorithm in linear programming. Doklady Akademiia Nauk SSSR 224, 1093–1096 (1979). English Translation: Soviet Mathematics Doklady 20, 1093–1096
Lahiri, S.K., Musuvathi, M.: An efficient decision procedure for UTVPI constraints. In: Proceedings of the 5th International Workshop on the Frontiers of Combining Systems, September 19–21, Vienna, Austria, pp. 168–183. Springer, New York (2005)
McConnell, R.M., Mehlhorn, K., Näher, S., Schweitzer, P.: Certifying algorithms. Comput. Sci. Rev. 5(2), 119–161 (2011)
Miné, A.: The octagon abstract domain. Higher-Order Symb. Comput. 19(1), 31–100 (2006)
Nieuwenhuis, R., Oliveras, A.: DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic. In: 17th International Conference on Computer Aided Verification, pp. 321–334 (2005)
Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, New York (1994)
Revesz, P.Z: Tightened transitive closure of integer addition constraints. In: The Eighth Symposium on Abstraction, Reformulation and Approximation (2009)
Rubinfield, R.: A Mathematical Theory of Self-Checking, Self-Testing and Self-Correcting Programs. PhD thesis, Computer Science Division, University of California, Berkeley (1990)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1987)
Schutt, A., Stuckey, P.J.: Incremental satisfiability and implication for UTVPI constraints. INFORMS J. Comput. 22(4), 514–527 (2010)
Tardos, E.: A strongly polynomial algorithm to solve combinatorial linear programs. Oper. Res. 34(2), 250–256 (1986)
Vaidya, P.M.: An algorithm for linear programming which requires \({O}(((m+n)n^2+(m+n)^{1.5}n){L})\) arithmetic operations. In: Aho, A. (ed.) Proceedings of the 19th Annual ACM Symposium on Theory of Computing, pp. 29–38. ACM Press, New York City (1987)
Acknowledgments
This research was conducted primarily in the School of Computer Science, Carnegie Mellon University, where the first author was an Invited Professor.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the National Science Foundation through Award CCF-1305054.
Rights and permissions
About this article
Cite this article
Subramani, K., Wojciechowski, P. A Combinatorial Certifying Algorithm for Linear Feasibility in UTVPI Constraints. Algorithmica 78, 166–208 (2017). https://doi.org/10.1007/s00453-016-0131-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-016-0131-1