Skip to content

Unexpected behavior of stopping criterion: maxeval  #570

@fmkroci

Description

@fmkroci

Hello,

I noticed some unexpected behavior when disabling the 'maxeval' stopping criterion in the python interface in combination with the opt.LD_LBFGS algorithm.

1.) using a large upper number of max. evaluations

If I use opt.set_maxeval(very_large_integer) the optimization works as expected.
I get 'neval << very_large_integer' when the optimization is done.

2.) disabling with -1
If I try to disable the maximum number of evaluations completely using opt.set_maxeval(-1), I noticed very long optimization times in some settings. The number of function evaluation increases even though the number of function evaluation was much lower than 'very_large_integer' before.

3.) disabling with 0
If I, however, use opt.set_maxeval(0) the optimization works as expected and the number of function evaluations remains basically the same as when using a large upper limit.

From the documentation I would have expected both opt.set_maxeval(0) and opt.set_maxeval(-1) to behave identically.
To me it seems like setting it to a negative value additionally changes the behavior of other parameters. (Maybe some maximum number of line search steps?)
Maybe I missed a detail in the documentation, if so I am sorry for opening this issues.

Thank you very much in advance already!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions