-
Notifications
You must be signed in to change notification settings - Fork 640
Description
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!