[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] Variable in logical expression

From: Michael Hennebry
Subject: Re: [Help-glpk] Variable in logical expression
Date: Fri, 24 Aug 2012 11:52:29 -0500 (CDT)
User-agent: Alpine 1.00 (DEB 882 2007-12-20)

On Fri, 24 Aug 2012, Mate Hegyhati wrote:

For the aforementioned case the simplest solution is probably this:

u = pos - neg;
pos <= M * x;
neg <= M * (1-x);

where M is bigger than the maximum of |u|

in this case, at most one of pos or neg is positive. If neg  (u<0), then
x must be 0, if it is the pos that is positive (u>0), then x must be 1.
If both of neg and pos are 0, x can be, however, either 0 or 1.

For a tighter constraint, the two M's should be different:
one should be the upper bound on u,
the other should be the absolute value of the lower bound.

That said, upper(|u|) is better than the old standby, pick something huge.

You can also do this thing without pos and neg as well, in a form like this:

u <= 0 + M * x;
u >= 0 - M * (1-x);

On 08/24/2012 04:47 AM, address@hidden wrote:
I have a problem which has variable named 'u' and 'x'
Variabel x is binary variabel which will have value 0 if u<=0 and  1 if u>0

Michael   address@hidden
"On Monday, I'm gonna have to tell my kindergarten class,
whom I teach not to run with scissors,
that my fiance ran me through with a broadsword."  --  Lily

reply via email to

[Prev in Thread] Current Thread [Next in Thread]