Example usage for org.apache.commons.math.optimization MultivariateRealOptimizer setConvergenceChecker

List of usage examples for org.apache.commons.math.optimization MultivariateRealOptimizer setConvergenceChecker

Introduction

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

Prototype

void setConvergenceChecker(RealConvergenceChecker checker);

Source Link

Document

Set the convergence checker.

Usage

From source file:com.martinkampjensen.thesis.minimization.NelderMeadMinimizer.java

private MultivariateRealOptimizer createOptimizer() {
    final MultivariateRealOptimizer optimizer = new NelderMead(_reflection, _expansion, _contraction,
            _shrinkage);/*from  w ww . j a v a2s.  c om*/

    optimizer.setConvergenceChecker(_convergence);
    optimizer.setMaxEvaluations(_maxEvaluations);
    optimizer.setMaxIterations(_maxIterations);

    return optimizer;
}

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

/**
 * {@inheritDoc}/*  w  w  w .ja va  2 s. c o m*/
 */
@Override
public void optimizeMultiParam(final StrategyGroup strategyGroup, final String[] parameters,
        final double[] starts) {

    Validate.notNull(parameters, "Parameter is null");
    Validate.notNull(starts, "Starts is null");

    RealPointValuePair result;
    try {
        MultivariateRealFunction function = new MultivariateFunction(this, strategyGroup, parameters);
        MultivariateRealOptimizer optimizer = new MultiDirectional();
        optimizer.setConvergenceChecker(new SimpleScalarValueChecker(0.0, 0.01));
        result = optimizer.optimize(function, GoalType.MAXIMIZE, starts);
        if (RESULT_LOGGER.isInfoEnabled()) {
            for (int i = 0; i < result.getPoint().length; i++) {
                RESULT_LOGGER.info("optimal value for {}={}", parameters[i],
                        format.format(result.getPoint()[i]));
            }
            RESULT_LOGGER.info("functionValue: {} needed iterations: {})", format.format(result.getValue()),
                    optimizer.getEvaluations());
        }
    } catch (MathException ex) {
        throw new SimulationExecutorException(ex);
    }
}