[Bonmin] does cpu time limit change the result?

Giuseppe Aprea giuseppe.aprea at gmail.com
Tue Jul 7 08:59:11 EDT 2009


Hi Pierre, thanks for your answers.


>> - max_cpu_time only stops a single Ipopt iteration so
>> if each iteration had duration less than max_cpu_time bonmin
>> would never stop
>
> Correct.
> That's why there is bonmin.time_limit.
> Really imposing a time limit to Ipopt in Bonmin or imposing a time_limit of
> 1sec to Bonmin does not have much sense. If you are not certain that you
> have plenty of time to solve the continuous relaxation you should not expect
> Bonmin to find the integral optimum to the problem. Bonmin is based on Ipopt
> being able to solve continuous relaxations to optimality.

In the past test I was also trying limits of 1 sec but just to
understand the relation between
time_limit and and overall time. As I said I have the problem of the
wall time in the queues
I use so I can't go over 12 hours.

If I understand I should expect:

bonmin.time_limit  (3600*10)-(60*15)
max_cpu_time 7200

to give enough time to ipopt to solve each single iteration and the
overall process ends in less than 12 hours
(even if ipopt starts the last iteration just one second before
bonmin.time_limit is reached and even if bonmin
can't stop ipopt during computation, everything will finish at least
15 minutes before the queue time limit).
Is it right?


>> if the answer to both previous question is yes:
>>
>> is there a method to retrieve the last good solution?
>
> If bonmin finds one good solution it will be available.


are you sure bestSolution() keeps the best solution ever found and not
the last iteration solution?

>>
>> is there an option, other than max_cpu_time, to stop the process and
>> which does not give infeasibility?
>
> If you are not willing to give Ipopt time to solve problem to optimality
> there is none.

What about using option bonmin.iteration_limit instead? I am trying
with this now (with max_cpu_time 7200)

thanks

giuseppe



More information about the Bonmin mailing list