-------- Forwarded Message -------- From: Gustavo Cavalcanti <[email protected]> To: [email protected] Subject: Re: [Help-glpk] fraction with vars Date: Wed, 7 Aug 2013 00:22:06 -0300
Hi, > On Sat, 28 Apr 2012, Michael Hennebry wrote: > >> Another way is to replace the variables by their logarithms: >> >> ln x_suj = ln p_s + ln y_suj - ln w_su >> >> and then, depending on the context, model the exponenta >> >> z = exp(ln z) >> >> by a piecewise linear function using SOS2 constraints; see >> http://lists.gnu.org/archive/html/help-glpk/2007-06/msg00005.html >> http://winglpk.sourceforge.net/media/glpk-sos2_02.pdf > > To me, the other suggestions seem better. > They are a bit smaller and still all-integer. > I think that something similar with fewer variables could be done, > but more analysis would be needed. I'm trying to solve a similar problem: the division of the variable 'a' by the variable 'b'. I couldnt figured out how GLPK's ln() (or log()) and exp() functions work in these cases, which we are appliyng these functions on variables. Is any linearization/transformation necessary? And do the piecewise linear function using SOS2 constraints stand for fractions? I tried to follow the example x * y so i did a * (1 / b) but then I dont know what to do with 1 / b. Also, I cant see how the method appointed by Michael (http://web.archiveorange.com/archive/v/5brOt80Ug9CHEU5WVM6q#6WwvpMWTxhPTY2D) could be applied once we have something like k / w_su - 1 and wouldnt be that a division of the variable 'a' by the variable 'b'? Thanks, Gustavo Cavalcanti _______________________________________________ Help-glpk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-glpk
