Dear Ajeng Dewi, You can not do this exactly. You can do the following: if u < 0 then x=0, and if u>0 then x=1, but int he case of u==0, x should remain "undefined". (Suppose, that You could do what You asked for, and then add the constraint y=1. This would basically enforce u>0, that is not possible in LP)
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. 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); if u > 0 then the second is satisfied, and the first can be satisfied only if x==1. Similarly, if u < 0, the first is satisfied, and the second needs x to be 0. And again, if u==0, x can be either 0 or 1. Best regards, Mate On 08/24/2012 04:47 AM, [email protected] 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 > How can I write this problem? > Thanks in advance > Ajeng Dewi Citra Langeni > Industrial Engineering > Institut Teknologi Bandung > +6285 641 91 000 1 > > > _______________________________________________ > Help-glpk mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/help-glpk >
<<attachment: hegyhati.vcf>>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Help-glpk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-glpk
