Hi.
> > [...]
> > Yes, but for simple bounds this would not be too much (using a logarithm or
> > exponential).
> > For double bounds, one typically uses a scaled logit function.
> >
> > > If this is the best choice, I'll implement a "conversion" class (for
> > > the
> > > "simple" bound case).
> >
> > It is a simple intermediate solution, but certainly not a best solution.
> > I don't if we should implement it because its simple or if we should already
> > go all the way and implement properly constrained optimization. I'm leaning
> > towards a complete solution.
>
> This utility class would be certainly be useful because constraints are not
> implemented currently. If one needs to use a CM optimizer for optimizing an
> inherently constrained parameter (such as the eccentricity of an elliptic
> orbit), one would need to implement the conversion functionality anyway.
I propose a class along the following lines:
---CUT---
public class Transform {
public static double unconstrain(double x,
double lo,
double hi) {
// ...
}
public static double constrain(double x,
double lo,
double hi) {
// ...
}
}
---CUT---
where [lo, hi] is the interval of allowed values, that will be mapped to the
unconstrained [-inf, +inf] range.
The name "Transform" is too vague. Do you have some suggestions?
> [...]
Gilles
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]