Minimisation method in Java?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Minimisation method in Java?

Gabriel Landini
Hi
I have a function that requires a parameter (p). This is then fitted with a
line and the goodness of fit (the R^2) tells me how good that parameter is
(so the higher the R^2, the better).

I am looking for a minimisation procedure that searches the value of p that
returns the highest R^2.

I can do iterate on a monotonic increase of p, and retain the p that returns
the largest R^2, but this is not as efficient as I would wish as it can take
long depending on the increments of p.

I have been reading/Googling about Brent's method but I cannot find a Java
implementation (and I am not sure that is what I need).

Any suggestions?

Cheers

Gabriel
Reply | Threaded
Open this post in threaded view
|

Re: Minimisation method in Java?

Robert Dougherty
Gabriel,
The US Forest Service offers an implementation of Brent's method. See Fmin
on http://www1.fpl.fs.fed.us/optimization.html.
I have not tried Fmin, but I've had good luck with Uncmin f77 for
multidimensional problems. If you have a good starting point and your
function well behaved, you might get by with the secant method.  It is easy
to test, since it only takes a few lines of code.
Bob

Robert P. Dougherty, Ph.D.
President, OptiNav, Inc.
Phone (425) 990-5912
Fax (425) 467-1119
www.optinav.com
 

> -----Original Message-----
> From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of
> Gabriel Landini
> Sent: Saturday, August 16, 2008 2:10 AM
> To: [hidden email]
> Subject: Minimisation method in Java?
>
> Hi
> I have a function that requires a parameter (p). This is then fitted with
> a
> line and the goodness of fit (the R^2) tells me how good that parameter is
> (so the higher the R^2, the better).
>
> I am looking for a minimisation procedure that searches the value of p
> that
> returns the highest R^2.
>
> I can do iterate on a monotonic increase of p, and retain the p that
> returns
> the largest R^2, but this is not as efficient as I would wish as it can
> take
> long depending on the increments of p.
>
> I have been reading/Googling about Brent's method but I cannot find a Java
> implementation (and I am not sure that is what I need).
>
> Any suggestions?
>
> Cheers
>
> Gabriel