On Thursday, April 11, 2013 12:24:57 PM UTC-7, d.inf...@gmail.com wrote: > I have an integer linear programming problem as follows: > > > > The constraints are either > > > > > > x >= 0 > > y = u > > z = x + v > > > > > > or > > > > x < 0 > > y = u - x > > z = v > > > > > > where y, z, u, v range over non-negative integers. There are other unrelated constraints associated with u, v, y, z. > > > > > > What's the most simple way to encode the disjunctive case? Does any linear encoding where all co-efficients are -1, 0, 1 exist? > > > > Thank you!
If x is real valued (or even rational) the strict inequality x < 0 cannot be modelled exactly; instead, one must replace it by x <= =e, where e > 0 is "small". If x is also integer (<>0) then, of course, x < 0 is the same as x <= -1, so that is again OK.