Date: Apr 12, 2013 3:56 AM
Author: RGVickson@shaw.ca
Subject: Re: disjunctive constraints in integer linear programming

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.