This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Parameter vectors declared as const in minimized functions


Hi,

Thanks for your answer! :)

> My opinion is that you should be very careful by doing in this way. I 
> think that gsl provides only unconstrained optimization approaches 
> (correct me if I am wrong), but you artificially introduces bounds 
> constraints. The descent directions can then lie in the unfeasible 
> region, so the optimization procedure could behave poorly, or simply 
> break down. Moreover, you can have problems by computing gradients 
> components at or near the bounds constraints. This again could 
> introduces difficulties for the optimization. While I am not involved in
> the development of gsl, it seems therefore reasonable to me to use the 
> const indentifier.

Indeed; however, the NMS is derivativeless method, so the gradients are
not problematic. The problem is that sometimes the model may yield
unphysical results simply because the fit to observations is better.
That's why it would be useful to at least partially constrain it. Namely,
I'm modeling binary stars; the model may sometimes be better off joining
both stars into one although that clearly cannot be the case. That's why
I'd like to constrain the distance between both stars to be larger than,
say, the sum of both stellar radii.

> You should check if there is any bounds-constrained solver, or try a 
> barrier approach to force the iterates to be feasible at each step of 
> the optmization.

That's another problem; you see, I practically never have a fully
constrained simplex, so I can't deploy constrained minimization of any
kind. NMS is pretty promising for my needs, I only need to restrict the
minimization in several dimensions to get physical results. But rest
assured, I agree with you when you say one should be extra careful by
doing it this way.

Thanks for your opinion,

Andrej


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]