Article ID Journal Published Year Pages File Type
1141681 Discrete Optimization 2013 17 Pages PDF
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)O(m⋅n2) on a Horn system (Horn program) with mm constraints and nn 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)Ω(m⋅n), the running time of our algorithm is only a factor nn 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)O(m⋅n2) time.

Related Topics
Physical Sciences and Engineering Mathematics Control and Optimization
Authors
, ,