Need Help With BARON

We are trying to run BARON with this simple code but everytime it reports "Cannot handle function ‘log2’ " This code below is a sample code which is different from our original problem.

variables x, y, z;
x.lo = 1; x.up = 4;
y.lo = 4; y.up = 4;
equations o;
o… z =e= power(x,3) - sqr(2y) + log2(x) + log2(10y+2);
Option MINLP = BARON;
model m / o /;
solve m using minlp min z;
Display x.l, y.l;


I’m hoping that someone might know a work around for solving a MINLP problem involving Log2(x) function.


To view this discussion on the web visit https://groups.google.com/d/msg/gamsworld/-/DjPJWRCZ4f0J.
To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Richard,

BARON does not have a log2() function, but it has a log. If you use a
macro you can easily convert log2 to the natural logarithm. Just add
this line to the start of your model. BARON handles it OK then.

$macro log2(x) (log(x)/log(2))

-Steve

On Tue, Sep 25, 2012 at 5:10 AM, Richard O. Afolabi
wrote:

We are trying to run BARON with this simple code but everytime it reports
"Cannot handle function ‘log2’ " This code below is a sample code which is
different from our original problem.

variables x, y, z;
x.lo = 1; x.up = 4;
y.lo = 4; y.up = 4;
equations o;
o… z =e= power(x,3) - sqr(2y) + log2(x) + log2(10y+2);
Option MINLP = BARON;
model m / o /;
solve m using minlp min z;
Display x.l, y.l;

I’m hoping that someone might know a work around for solving a MINLP problem
involving Log2(x) function.


“gamsworld” group.
To view this discussion on the web visit
https://groups.google.com/d/msg/gamsworld/-/DjPJWRCZ4f0J.
To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to
gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/gamsworld?hl=en.



– Steven Dirkse, Ph.D. GAMS Development Corp., Washington DC Voice: (202)342-0180 Fax: (202)342-0181 sdirkse@gams.com http://www.gams.com

Hello
That’s strange, I thought that GAMS evaluated the function, gradient and hessian values, and send them to external solvers based on the external solver requests. After the receiving these information from GAMS, the solver (in this case, Baron), calculates a new step and/or search direction and “ask” for equations evaluation to GAMS again.
Can anyone explains how the information flows with GAMS and external sovers works?
Regards.


2012/9/26 Steven Dirkse

Richard,

BARON does not have a log2() function, but it has a log. If you use a
macro you can easily convert log2 to the natural logarithm. Just add
this line to the start of your model. BARON handles it OK then.

$macro log2(x) (log(x)/log(2))

-Steve

On Tue, Sep 25, 2012 at 5:10 AM, Richard O. Afolabi
wrote:

We are trying to run BARON with this simple code but everytime it reports
"Cannot handle function ‘log2’ " This code below is a sample code which is
different from our original problem.

variables x, y, z;
x.lo = 1; x.up = 4;
y.lo = 4; y.up = 4;
equations o;
o… z =e= power(x,3) - sqr(2y) + log2(x) + log2(10y+2);
Option MINLP = BARON;
model m / o /;
solve m using minlp min z;
Display x.l, y.l;

I’m hoping that someone might know a work around for solving a MINLP problem
involving Log2(x) function.


“gamsworld” group.
To view this discussion on the web visit
https://groups.google.com/d/msg/gamsworld/-/DjPJWRCZ4f0J.
To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to
gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/gamsworld?hl=en.




Steven Dirkse, Ph.D.
GAMS Development Corp., Washington DC
Voice: (202)342-0180 Fax: (202)342-0181
sdirkse@gams.com
http://www.gams.com


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.



\

Edson Valle
edsoncv@gmail.com


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.

Edson

Many solvers behave as you describe. These solvers get local information about the function, compute a step and repeat. Baron is a global solver. To do its work it needs full info on the functional form and algebra used to describe the problem. It accepts a limited number of functions in this problem description. Log is ok but log2 not. Other global solvers behave similarly but each has it’s own list of allowed functions.

Steve

Sent from my iPhone

On Sep 27, 2012, at 3:03 AM, Edson Cordeiro do Valle wrote:

      Hello
That's strange, I thought that GAMS evaluated the function, gradient and hessian values, and  send them to external solvers based on the external solver requests.   After the receiving these information from GAMS, the solver (in this case, Baron),  calculates a new step and/or search direction and "ask" for equations evaluation to GAMS again.

Can anyone explains how the information flows with GAMS and external sovers works?
Regards.

2012/9/26 Steven Dirkse

Richard,

BARON does not have a log2() function, but it has a log.  If you use a
macro you can easily convert log2 to the natural logarithm.  Just add
this line to the start of your model.  BARON handles it OK then.

$macro log2(x) (log(x)/log(2))

-Steve

On Tue, Sep 25, 2012 at 5:10 AM, Richard O. Afolabi
 wrote:
> We are trying to run BARON with this simple code but everytime it reports
> "Cannot handle function 'log2' " This code below is a sample code which is
> different from our original problem.
>
>> variables x, y, z;
>> x.lo = 1;  x.up = 4;
>> y.lo = 4;  y.up = 4;
>> equations o;
>> o..  z =e= power(x,3) - sqr(2*y) + log2(x) + log2(10*y+2);
>>  Option MINLP  = BARON;
>>  model m / o /;
>>  solve m using minlp min z;
>>  Display x.l, y.l;
>
>
> I'm hoping that someone might know a work around for solving a MINLP problem
> involving Log2(x) function.
>
> --
> "gamsworld" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/gamsworld/-/DjPJWRCZ4f0J.
> To post to this group, send email to <gamsworld@googlegroups.com>.
> To unsubscribe from this group, send email to
> <gamsworld+unsubscribe@googlegroups.com>.
> For more options, visit this group at
> http://groups.google.com/group/gamsworld?hl=en.



--
Steven Dirkse, Ph.D.
GAMS Development Corp.,  Washington DC
Voice: (202)342-0180     Fax: (202)342-0181
<sdirkse@gams.com>
http://www.gams.com

--
To post to this group, send email to <gamsworld@googlegroups.com>.
To unsubscribe from this group, send email to <gamsworld+unsubscribe@googlegroups.com>.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.


Edson Valle
edsoncv@gmail.com


To post to this group, send email to gamsworld@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.