[SciPy-Dev] Optimization success threshold?

Gyro Funch gyromagnetic at gmail.com
Mon Aug 10 12:39:53 EDT 2015


On 8/9/2015 10:31 PM, ryan wrote:
> I actually think it was misunderstood yes, I will try to improve my explanation.
> 
> The ftol and xtol parameters halt the optimizer when the objective isn't changing very much (it thinks it has converged).  But for my application (microwave filter design), cost function evaluations are very expensive, up to a couple seconds on simple models, and up to even 10 min + for electromagnetic simulations.  We have some notion of what a "good enough" objective function value is (e.g. reflected power below -20dB) and we want the optimizer to stop as soon as it finds some parameters that satisfy this criteria so that it doesn't keep running long simulations for no reason.  I would call it something like a success threshold option.
> 
> This seems like a reasonable feature, especially for expensive cost functions or non convex problems - which is why I'm posting in scipy-dev.  Although even though there is no explicit option for specifying a success threshold, there may be a reasonable idiom for doing this that I am just unaware of.
> 
> -RK
> 
> 


I may be misunderstanding, but can't the objective function be
recast to take into account this threshold?

For instance, instead of

f(x) = 0,

use something like

f(x) - threshold = 0.

-gyro








More information about the SciPy-Dev mailing list