|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectedu.jhu.bme.smile.commons.optimize.LevenbergMarquardt
public class LevenbergMarquardt
This optimizer uses the Levenberg Marquardt method in order to find the minimum of a function. You can choose an initial starting point to start the optimization from. Code adapted from http://www.mathworks.com/matlabcentral/fx_files/22778/1/content/optimization/seeMe.htm
| Constructor Summary | |
|---|---|
LevenbergMarquardt()
Default constructor for LM. |
|
LevenbergMarquardt(int maxIter)
Constructor to let you set the maximum number of iterations. |
|
| Method Summary | |
|---|---|
double[] |
getExtrema()
Gets the extrema that was found. |
int |
getIterations()
Gets the number of iterations done. |
java.util.ArrayList<double[][]> |
getLog()
Gets the logged data |
void |
initialize(OptimizableNDContinuousDifferentiable function)
Initializes the optimizer with a differentiable ND function. |
void |
initialize(OptimizableNDContinuousDifferentiable function,
double[] init)
Initializes the optimizer with a differentiable ND function. |
void |
logData(boolean turnOn,
int maxSteps)
Turns on logging for each iteration of the optimization. |
boolean |
optimize(boolean findMinima)
Optimizes the function. |
void |
setGamma(double lamInit,
double lamMax)
Sets the initial and maximum lambda values. |
java.lang.String |
statusMessage()
Gets the status message. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LevenbergMarquardt()
public LevenbergMarquardt(int maxIter)
maxIter - maximum number of iterations| Method Detail |
|---|
public void logData(boolean turnOn,
int maxSteps)
turnOn - true if logging, false if notmaxSteps - maximum number of steps to logpublic java.util.ArrayList<double[][]> getLog()
public double[] getExtrema()
getExtrema in interface OptimizerNDContinuousDifferentiablepublic int getIterations()
getIterations in interface OptimizerNDContinuousDifferentiable
public void setGamma(double lamInit,
double lamMax)
lamInit - initial lambda valuelamMax - maximum lambda value
public void initialize(OptimizableNDContinuousDifferentiable function,
double[] init)
function - function to minimizeinit - starting pointpublic void initialize(OptimizableNDContinuousDifferentiable function)
initialize in interface OptimizerNDContinuousDifferentiablefunction - function to optimizepublic boolean optimize(boolean findMinima)
optimize in interface OptimizerNDContinuousDifferentiablefindMinima - true if minimizing, false if maximizing
public java.lang.String statusMessage()
statusMessage in interface OptimizerNDContinuousDifferentiable
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||