A combinatorial algorithm for Horn programs

20Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

In this paper, we design and analyze a simple, greedy algorithm for checking the linear and integer feasibility of a class of linear programs called Horn programs. This algorithm, which we term the "Lifting Algorithm", runs in time O(mṡn2) on a Horn system (Horn program) with m constraints and n variables. The Lifting Algorithm is a variant of the Stressing Algorithm which was proposed for checking the feasibility of Difference Constraint systems. Inasmuch as Horn constraints subsume difference constraints, and all known algorithms for the problem of checking feasibility of Difference Constraint Systems run in time Ω(mṡn), the running time of our algorithm is only a factor n worse than the best known running time for checking the feasibility of Difference Constraint Systems. Horn programs arise in a number of application areas including econometrics and program verification; consequently, their study is well-motivated. An important feature of our algorithm is that it uses only one operator, viz., addition. We also show that our algorithm can identify the linear and lattice point feasibility of Extended Horn Systems in O(mṡn2) time. © 2013 Elsevier B.V. All rights reserved.

Cite

CITATION STYLE

APA

Chandrasekaran, R., & Subramani, K. (2013). A combinatorial algorithm for Horn programs. Discrete Optimization, 10(2), 85–101. https://doi.org/10.1016/j.disopt.2012.11.001

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free