Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terminate with first feasible point #7

Open
ChristophNeumann opened this issue Dec 3, 2019 · 0 comments
Open

Terminate with first feasible point #7

ChristophNeumann opened this issue Dec 3, 2019 · 0 comments

Comments

@ChristophNeumann
Copy link

I hope that this is the right place to post my question/issue. If not, I would be thankful if you pointed me to another place.

I wish to obtain runtimes that Bonmin algorithms (b-hyb, b-oa) need to find a feasible point at least as good as a certain objective value val. I use the pyomo framework and do this by setting the options

  • solution_limit = 1
  • cutoff = val

I would expect the algorithm to terminate with the first feasible point and the query (in the pyomo framework) solver_message.time to give me the runtime of solver (maybe + some model building times?).

Yet, if I set these options e.g. for b-hyb and the MINLPLib instance cvxnonsep_normcon30 with val = -33.04175, I get the output

OA0003I New best feasible of -33.095184 found after 1504.2358 sec and
OA0003I New best feasible of -33.159661 found after 1592.0921 sec and

so the method seems to terminate after the second feasible point, and when I query solver_message.solver.time, I obtain 1656.4675970077515 sec.

Same with OA:

OA0012I After 100.14456.1f seconds, 1003 iterations upper bound -33.0417990g, lower bound -34.4287510g
OA0012I After 200.30932.1f seconds, 1415 iterations upper bound -33.0417990g, lower bound -34.4287510g
OA0012I After 300.42422.1f seconds, 1731 iterations upper bound -33.0417990g, lower bound -34.4287510g
OA0012I After 400.98337.1f seconds, 1917 iterations upper bound -33.0417990g, lower bound -34.4287510g
OA0012I After 501.29921.1f seconds, 2075 iterations upper bound -33.0417990g, lower bound -34.4287510

The options seem to be correctly set, given the output:

Bonmin 1.8.7 using Cbc 2.10.0 and Ipopt 3.12.12
bonmin: bonmin.cutoff=-33.04175
bonmin.solution_limit=1
bonmin.algorithm=b-oa

So, which one is the correct runtime for finding a feasible point of a given objective value? The first that shows up in the log file, or the time when the algorithm terminates?

Cheers,
Christoph

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant