Question about time limit of BONMIN (MINLP)?

295 views
Skip to first unread message

Kuo-Shih Tseng

unread,
Aug 20, 2014, 8:09:07 PM8/20/14
to opti-tool...@googlegroups.com
Hi all,

I adopt BONMIN (algorithm: B-OA) to solve a MINLP problem.
The computational time of solving my MINLP problem is around 4 sec ~ 100 msec.
I need  to fix the computational time smaller than 250 mec.
My application is able to bear larger error instead of longer computational time.

I read the BONMIN_UserManual.pdf. I found the following information.
"
For example, we may want to run a maximum of 60 seconds of FP for MINLP
until 6 solutions are found at the beginning of the hybrid algorithm. To do so
we set the following option in bonmin.opt
bonmin.algorithm B-Hyb
bonmin.pump_for_minlp yes #Tells to run fp for MINLP
pump_for_minlp.time_limit 60 #set a time limit for the pump
pump_for_minlp.solution_limit 6 # set a solution limit

"

It seems that user can set up the maximal computational time for the solver.
However, I cannot find bonmin.opt in my OPTI folder.
Does any one know how to set it in MATLAB or in BONMIN source code?
Thank you!



Jonathan Currie

unread,
Aug 20, 2014, 9:45:55 PM8/20/14
to Kuo-Shih Tseng, opti-tool...@googlegroups.com

Hi, use bonminset(), as per the example below:

 

http://i2c2.aut.ac.nz/Wiki/OPTI/index.php/Advanced/Opts#sOpts

 

Jonathan

--
You received this message because you are subscribed to the Google Groups "OPTI Toolbox Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to opti-toolbox-fo...@googlegroups.com.
To post to this group, send email to opti-tool...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kuo-Shih Tseng

unread,
Aug 21, 2014, 10:49:27 AM8/21/14
to opti-tool...@googlegroups.com, seab...@gmail.com
Hi Jonathan,

I tried it.
there is no "maxtime" parameter in bonminset.
I use  optiset('maxtime',0.2);
It works! I will do more tests.
Thank you!

Kuo-Shih

To unsubscribe from this group and stop receiving emails from it, send an email to opti-toolbox-forum+unsub...@googlegroups.com.

Kuo-Shih Tseng

unread,
Aug 21, 2014, 3:33:43 PM8/21/14
to opti-tool...@googlegroups.com, seab...@gmail.com
Hi Jonathan,

If I set maxtime is 0.2sec, it will take more than the 0.2sec.
So, I found that the minimum number of "maxtime" is 1 sec.
Is it correct?


Best,
Kuo-Shih
On Wednesday, August 20, 2014 8:45:55 PM UTC-5, Jonathan Currie wrote:

To unsubscribe from this group and stop receiving emails from it, send an email to opti-toolbox-forum+unsub...@googlegroups.com.

Jonathan Currie

unread,
Aug 21, 2014, 5:06:36 PM8/21/14
to Kuo-Shih Tseng, opti-tool...@googlegroups.com

Hi Kuo-Shih,

 

I apologize I didn’t read your initial email carefully enough. Bonmin (as with many other solvers) cannot guarantee to finish within a specified time. The max-time is simply used  (as far as I know) to check if the current execution time is >= max time, and therefore exit. It is likely that in a user callback (i.e. your nonlinear function), a sub-solver (e.g. CBC/CLP) or a BLAS/LAPACK routine that the solver passes the maximum execution time, and it is only checked once back in Bonmin’s main solver loop, thus going ‘over-time’ in your application.

 

In addition, I’m not sure whether Bonmin only uses integers for setting the max time, or accepts fractions of a second (check the manual). Optiset() attempts to set the correct maximum time options within the solver, but it is not guaranteed.

To unsubscribe from this group and stop receiving emails from it, send an email to opti-toolbox-fo...@googlegroups.com.


To post to this group, send email to opti-tool...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--

You received this message because you are subscribed to the Google Groups "OPTI Toolbox Forum" group.

To unsubscribe from this group and stop receiving emails from it, send an email to opti-toolbox-fo...@googlegroups.com.

Reply all
Reply to author
Forward
0 new messages