public final class OptimizationUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static org.apache.commons.math3.optim.MaxEval |
DEFAULT_MAX_EVAL |
protected static org.apache.commons.math3.optim.univariate.BrentOptimizer |
DEFAULT_OPTIMIZER |
Modifier and Type | Method and Description |
---|---|
static double |
argmax(java.util.function.Function<java.lang.Double,java.lang.Double> function,
double min,
double max,
double guess) |
static double |
argmax(java.util.function.Function<java.lang.Double,java.lang.Double> function,
double min,
double max,
double guess,
double relativeTolerance,
double absoluteTolerance,
int maxEvaluations) |
static double |
singleNewtonArgmaxUpdate(java.util.function.Function<java.lang.Double,java.lang.Double> function,
double min,
double max,
double guess) |
static double |
singleNewtonArgmaxUpdate(java.util.function.Function<java.lang.Double,java.lang.Double> function,
double min,
double max,
double guess,
double epsilon,
double derivativeThreshold)
One iteration of Newton's method for univariate optimization (i.e.
|
protected static final org.apache.commons.math3.optim.MaxEval DEFAULT_MAX_EVAL
protected static final org.apache.commons.math3.optim.univariate.BrentOptimizer DEFAULT_OPTIMIZER
public static double argmax(java.util.function.Function<java.lang.Double,java.lang.Double> function, double min, double max, double guess)
public static double argmax(java.util.function.Function<java.lang.Double,java.lang.Double> function, double min, double max, double guess, double relativeTolerance, double absoluteTolerance, int maxEvaluations)
public static double singleNewtonArgmaxUpdate(java.util.function.Function<java.lang.Double,java.lang.Double> function, double min, double max, double guess, double epsilon, double derivativeThreshold)
function
- the function to maximizemin
- minimum allowable valuemax
- maximum allowable valueguess
- current guessepsilon
- infinitesimal for numerical first and second derivativesderivativeThreshold
- first derivative below which current guess is considered stationarypublic static double singleNewtonArgmaxUpdate(java.util.function.Function<java.lang.Double,java.lang.Double> function, double min, double max, double guess)