commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Maisonobe <Luc.Maison...@free.fr>
Subject Re: [Math] Optimizers: API for simple bound constraints
Date Thu, 27 Oct 2011 18:07:03 GMT
Le 27/10/2011 14:45, Gilles Sadowski a écrit :
> Hi.
> 
> The BOBYQA optimizer takes simple bound contraints into account:
>   lowerBound(i) <= p(i) <= upperBound(i)    0 <= i < n
> where "n" is the problem dimension.
> 
> The parent class ("BaseMultivariateRealOptimizer") currently mandates the
> following "optimize" method:
> ---CUT---
>     RealPointValuePair optimize(int maxEval,
>                                 FUNC f,
>                                 GoalType goalType,
>                                 double[] startPoint);
> ---CUT---
> 
> I think that the bounds are arguments that should be passed through that
> method. The current method definition is a special case: no bound
> constraints (or, equivalently, all lower bounds = -infinity, all upper
> bounds = +infinity).
> 
> Thus, it seems that adding the following to the API
> ---CUT---
>     RealPointValuePair optimize(int maxEval,
>                                 FUNC f,
>                                 GoalType goalType, 
>                                 double[] startPoint,
>                                 double[] lowerBounds,
>                                 double[] upperBounds);
> ---CUT---
> is all there is to do in order to accomodate algorithms like BOBYQA.

Big +1 here ! This is exactly what I need for some ongoing work.

> 
> I'll then add the boiler plate code the concrete base class
> ("BaseAbstractScalarOptimizer") so that subclasses can access the bounds,
> similar to what is done for the "startPoint" argument.
> The concrete implementation of the first "optimize" will just call the new
> method with "lowerBounds" and "upperBounds" set to null.

Many thanks.
Luc

> 
> 
> Is that OK?
> 
> 
> Best regards,
> Gilles
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message