The optimisers we use are actually hidden in the v3p/netlib directory. We
only wrote the nice c++ wrappers.
The vnl optimiser code calls the optimiser code in netlib once per iteration
so it would be possible from a programming point of view to insert
constraints right there.
However it is very unlikely that such an attempt will lead to the
constrained solution. Optimisation theory suggests that constrained
optimisation is not, in general, solved by constraining an unconstrained
optimiser. And writing constrained optimisers for general cost functions is
very difficult.
Some specific solutions:
1. You might be able to constrain amoeba without any hassles. amoeba is a
pretty stupid, slow, (but remarkably successful) optimiser that can take a
bit of battering. There is probably some discussion of this in the
literature.
2. Your problem might be one for which an constrained optimiser already
exists. e.g. linearly constraints and linear or quadratic costs. We almost
certainly have code for these cases hanging around somewhere.
The usual solution to your problems are
1: work the constraints into your cost function, heavily penalising any
breach in the constraints.
2: Find a transfer function T :[your constrained space]>R^n
and use f(T^1(x)) as your const function instead of f.
All the difficult stuff currently in VNL is either a wrapper around
peerreviewed code, or was based on peerreviewed published papers and
books. The peerreviewers in this case are the maths and numerical computing
community.
Ian.
> Original Message
> From: zunzun@... [mailto:zunzun@...]
> Sent: Tuesday, November 25, 2003 10:22 AM
> To: vxlusers@...
> Subject: [Vxlusers] VNL boundsconstrained optimization question
>
>
> This may be a naive question. For the nonlinear
> VNL optimizers I'd like to add the option of having
> bounds on the values they produce. Is this as
> simple as adding arrays or vectors of boundary
> max/min values that are used as limits for the
> generation of nextiteration coefficients? If
> so, the default values can be MAX_DOUBLE and
> MIN_DOUBLE giving unconstrained optimization
> by default.
>
> If it is that simple, how can I have the code I
> write peer reviewed and added to CVS?
>
> James Phillips
> http://zunzun.com
>
>
>
> 
> This SF.net email is sponsored by: SF.net Giveback Program.
> Does SourceForge.net help you be more productive? Does it
> help you create better code? SHARE THE LOVE, and help us help
> YOU! Click Here: http://sourceforge.net/donate/
> _______________________________________________
> Vxlusers mailing list
> Vxlusers@...
> https://lists.sourceforge.net/lists/listinfo/vxlusers
>
