Skip to main content
Log in

A Combinatorial Certifying Algorithm for Linear Feasibility in UTVPI Constraints

  • Published:
Algorithmica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

References

  1. 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)

  2. 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)

  3. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  4. Chandrasekaran, R., Subramani, K.: A combinatorial algorithm for horn programs. Discret. Optim. 10, 85–101 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  5. Gerber, R., Pugh, W., Saksena, M.: Parametric dispatching of hard real-time tasks. IEEE Trans. Comput. 44(3), 471–479 (1995)

    Article  MATH  Google Scholar 

  6. 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)

  7. 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

  8. 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)

  9. McConnell, R.M., Mehlhorn, K., Näher, S., Schweitzer, P.: Certifying algorithms. Comput. Sci. Rev. 5(2), 119–161 (2011)

    Article  MATH  Google Scholar 

  10. Miné, A.: The octagon abstract domain. Higher-Order Symb. Comput. 19(1), 31–100 (2006)

    Article  MATH  Google Scholar 

  11. 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)

  12. Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, New York (1994)

    MATH  Google Scholar 

  13. Revesz, P.Z: Tightened transitive closure of integer addition constraints. In: The Eighth Symposium on Abstraction, Reformulation and Approximation (2009)

  14. Rubinfield, R.: A Mathematical Theory of Self-Checking, Self-Testing and Self-Correcting Programs. PhD thesis, Computer Science Division, University of California, Berkeley (1990)

  15. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1987)

    MATH  Google Scholar 

  16. Schutt, A., Stuckey, P.J.: Incremental satisfiability and implication for UTVPI constraints. INFORMS J. Comput. 22(4), 514–527 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  17. Tardos, E.: A strongly polynomial algorithm to solve combinatorial linear programs. Oper. Res. 34(2), 250–256 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  18. 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)

Download references

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

Authors

Corresponding author

Correspondence to K. Subramani.

Additional information

This research was supported in part by the National Science Foundation through Award CCF-1305054.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-016-0131-1

Keywords

Navigation