Package wsh.opt
Class ScalarSolver
- java.lang.Object
-
- wsh.opt.ScalarSolver
-
public class ScalarSolver extends java.lang.ObjectSearch a single variable for a value that minimizes a function
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceScalarSolver.FunctionImplement a function of one variable to be minimized
-
Constructor Summary
Constructors Constructor Description ScalarSolver(ScalarSolver.Function function)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublesolve(double scalarMin, double scalarMax, double okError, double okFraction, int numberIterations, Monitor monitor)Minimize a function of scalar and return the optimum value.
-
-
-
Constructor Detail
-
ScalarSolver
public ScalarSolver(ScalarSolver.Function function)
Constructor- Parameters:
function- Objective function to be minimized.
-
-
Method Detail
-
solve
public double solve(double scalarMin, double scalarMax, double okError, double okFraction, int numberIterations, Monitor monitor)Minimize a function of scalar and return the optimum value.- Parameters:
scalarMin- The minimum value allowed for the argument scalar.scalarMax- The maximum value allowed for the argument scalar.okError- The unknown error in scalar should be less than this fraction of the range: dscalar/(scalarMax-scalarMin) <= okError, where dscalar is the error bound on the returned value of scalar.okFraction- The error in scalar should be less than this fraction of the minimum possible range for scalar: dscalar <= okFraction*(scalar-scalarMin), where dscalar is the error bound on the returned value of scalar.numberIterations- The maximum number of iterations if greater than 6. The optimization performs at least 6 iterations -- the minimum necessary for a genuinely parabolic function. I recommend at least 20.monitor- For reporting progress. Ignored if null.- Returns:
- The optimum value minimizing the function.
-
-