Example usage for org.apache.commons.math.optimization UnivariateRealOptimizer optimize

List of usage examples for org.apache.commons.math.optimization UnivariateRealOptimizer optimize

Introduction

In this page you can find the example usage for org.apache.commons.math.optimization UnivariateRealOptimizer optimize.

Prototype

double optimize(UnivariateRealFunction f, GoalType goalType, double min, double max)
        throws ConvergenceException, FunctionEvaluationException;

Source Link

Document

Find an optimum in the given interval.

Usage

From source file:ch.algotrader.simulation.SimulationExecutorImpl.java

/**
 * {@inheritDoc}//from w  w  w. j  av a  2 s.  c om
 */
@Override
public OptimizationResultVO optimizeSingleParam(final StrategyGroup strategyGroup, final String parameter,
        final double min, final double max, final double accuracy) {

    Validate.notEmpty(parameter, "Parameter is empty");

    try {
        UnivariateRealFunction function = new UnivariateFunction(this, strategyGroup, parameter);
        UnivariateRealOptimizer optimizer = new BrentOptimizer();
        optimizer.setAbsoluteAccuracy(accuracy);
        optimizer.optimize(function, GoalType.MAXIMIZE, min, max);
        OptimizationResultVO optimizationResult = new OptimizationResultVO();
        optimizationResult.setParameter(parameter);
        optimizationResult.setResult(optimizer.getResult());
        optimizationResult.setFunctionValue(optimizer.getFunctionValue());
        optimizationResult.setIterations(optimizer.getIterationCount());

        return optimizationResult;
    } catch (MathException ex) {
        throw new SimulationExecutorException(ex);
    }
}