mirror of
https://github.com/apache/commons-math.git
synced 2025-02-06 10:09:26 +00:00
MATH-707
Changed "...MultivariateRealFunction" to "...MultivariateFunction". git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1206889 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
306130bb5f
commit
b789d44c4c
@ -18,12 +18,12 @@
|
||||
package org.apache.commons.math.analysis;
|
||||
|
||||
/**
|
||||
* Extension of {@link MultivariateRealFunction} representing a differentiable
|
||||
* Extension of {@link MultivariateFunction} representing a differentiable
|
||||
* multivariate real function.
|
||||
* @version $Id$
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface DifferentiableMultivariateRealFunction extends MultivariateRealFunction {
|
||||
public interface DifferentiableMultivariateFunction extends MultivariateFunction {
|
||||
|
||||
/**
|
||||
* Returns the partial derivative of the function with respect to a point coordinate.
|
||||
@ -37,7 +37,7 @@ public interface DifferentiableMultivariateRealFunction extends MultivariateReal
|
||||
* derivative is computed
|
||||
* @return the partial derivative function with respect to k<sup>th</sup> point coordinate
|
||||
*/
|
||||
MultivariateRealFunction partialDerivative(int k);
|
||||
MultivariateFunction partialDerivative(int k);
|
||||
|
||||
/**
|
||||
* Returns the gradient function.
|
@ -220,7 +220,7 @@ public class FunctionUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a MultivariateRealFunction h(x[]) defined by <pre> <code>
|
||||
* Returns a MultivariateFunction h(x[]) defined by <pre> <code>
|
||||
* h(x[]) = combiner(...combiner(combiner(initialValue,f(x[0])),f(x[1]))...),f(x[x.length-1]))
|
||||
* </code></pre>
|
||||
*
|
||||
@ -229,10 +229,10 @@ public class FunctionUtils {
|
||||
* @param initialValue Initial value.
|
||||
* @return a collector function.
|
||||
*/
|
||||
public static MultivariateRealFunction collector(final BivariateRealFunction combiner,
|
||||
public static MultivariateFunction collector(final BivariateRealFunction combiner,
|
||||
final UnivariateFunction f,
|
||||
final double initialValue) {
|
||||
return new MultivariateRealFunction() {
|
||||
return new MultivariateFunction() {
|
||||
/** {@inheritDoc} */
|
||||
public double value(double[] point) {
|
||||
double result = combiner.value(initialValue, f.value(point[0]));
|
||||
@ -245,7 +245,7 @@ public class FunctionUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a MultivariateRealFunction h(x[]) defined by <pre> <code>
|
||||
* Returns a MultivariateFunction h(x[]) defined by <pre> <code>
|
||||
* h(x[]) = combiner(...combiner(combiner(initialValue,x[0]),x[1])...),x[x.length-1])
|
||||
* </code></pre>
|
||||
*
|
||||
@ -253,7 +253,7 @@ public class FunctionUtils {
|
||||
* @param initialValue Initial value.
|
||||
* @return a collector function.
|
||||
*/
|
||||
public static MultivariateRealFunction collector(final BivariateRealFunction combiner,
|
||||
public static MultivariateFunction collector(final BivariateRealFunction combiner,
|
||||
final double initialValue) {
|
||||
return collector(combiner, new Identity(), initialValue);
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ package org.apache.commons.math.analysis;
|
||||
* @version $Id$
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface MultivariateRealFunction {
|
||||
public interface MultivariateFunction {
|
||||
|
||||
/**
|
||||
* Compute the value for the function at the given point.
|
@ -21,7 +21,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math.exception.NoDataException;
|
||||
import org.apache.commons.math.exception.NullArgumentException;
|
||||
@ -37,7 +37,7 @@ import org.apache.commons.math.util.FastMath;
|
||||
* @version $Id$
|
||||
*/
|
||||
public class MicrosphereInterpolatingFunction
|
||||
implements MultivariateRealFunction {
|
||||
implements MultivariateFunction {
|
||||
/**
|
||||
* Space dimension.
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
package org.apache.commons.math.analysis.interpolation;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.NotPositiveException;
|
||||
import org.apache.commons.math.exception.NotStrictlyPositiveException;
|
||||
import org.apache.commons.math.random.UnitSphereRandomVectorGenerator;
|
||||
@ -83,7 +83,7 @@ public class MicrosphereInterpolator
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public MultivariateRealFunction interpolate(final double[][] xval,
|
||||
public MultivariateFunction interpolate(final double[][] xval,
|
||||
final double[] yval) {
|
||||
final UnitSphereRandomVectorGenerator rand
|
||||
= new UnitSphereRandomVectorGenerator(xval[0].length);
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
package org.apache.commons.math.analysis.interpolation;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
/**
|
||||
* Interface representing a univariate real interpolating function.
|
||||
@ -46,5 +46,5 @@ public interface MultivariateRealInterpolator {
|
||||
* @throws org.apache.commons.math.exception.NullArgumentException if
|
||||
* the arguments are {@code null}.
|
||||
*/
|
||||
MultivariateRealFunction interpolate(double[][] xval, double[] yval);
|
||||
MultivariateFunction interpolate(double[][] xval, double[] yval);
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ package org.apache.commons.math.optimization;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.MathIllegalStateException;
|
||||
import org.apache.commons.math.exception.NotStrictlyPositiveException;
|
||||
import org.apache.commons.math.exception.NullArgumentException;
|
||||
@ -40,7 +40,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
|
||||
public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateFunction>
|
||||
implements BaseMultivariateRealOptimizer<FUNC> {
|
||||
/** Underlying classical optimizer. */
|
||||
private final BaseMultivariateRealOptimizer<FUNC> optimizer;
|
||||
@ -60,7 +60,7 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
|
||||
*
|
||||
* @param optimizer Single-start optimizer to wrap.
|
||||
* @param starts Number of starts to perform. If {@code starts == 1},
|
||||
* the {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
|
||||
* the {@link #optimize(int,MultivariateFunction,GoalType,double[])
|
||||
* optimize} will return the same solution as {@code optimizer} would.
|
||||
* @param generator Random vector generator to use for restarts.
|
||||
* @throws NullArgumentException if {@code optimizer} or {@code generator}
|
||||
@ -85,13 +85,13 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
|
||||
|
||||
/**
|
||||
* Get all the optima found during the last call to {@link
|
||||
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize}.
|
||||
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize}.
|
||||
* The optimizer stores all the optima found during a set of
|
||||
* restarts. The {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
|
||||
* restarts. The {@link #optimize(int,MultivariateFunction,GoalType,double[])
|
||||
* optimize} method returns the best point only. This method
|
||||
* returns all the points found at the end of each starts,
|
||||
* including the best one already returned by the {@link
|
||||
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize} method.
|
||||
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize} method.
|
||||
* <br/>
|
||||
* The returned array as one element for each start as specified
|
||||
* in the constructor. It is ordered with the results from the
|
||||
@ -99,14 +99,14 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
|
||||
* objective value (i.e in ascending order if minimizing and in
|
||||
* descending order if maximizing), followed by and null elements
|
||||
* corresponding to the runs that did not converge. This means all
|
||||
* elements will be null if the {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
|
||||
* elements will be null if the {@link #optimize(int,MultivariateFunction,GoalType,double[])
|
||||
* optimize} method did throw an exception.
|
||||
* This also means that if the first element is not {@code null}, it
|
||||
* is the best point found across all starts.
|
||||
*
|
||||
* @return an array containing the optima.
|
||||
* @throws MathIllegalStateException if {@link
|
||||
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize}
|
||||
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize}
|
||||
* has not been called.
|
||||
*/
|
||||
public RealPointValuePair[] getOptima() {
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
/**
|
||||
* This interface is mainly intended to enforce the internal coherence of
|
||||
@ -33,7 +33,7 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
public interface BaseMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
|
||||
public interface BaseMultivariateRealOptimizer<FUNC extends MultivariateFunction>
|
||||
extends BaseOptimizer<RealPointValuePair> {
|
||||
/**
|
||||
* Optimize an objective function.
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
/**
|
||||
* This interface is mainly intended to enforce the internal coherence of
|
||||
@ -33,7 +33,7 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
public interface BaseSimpleBoundsMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
|
||||
public interface BaseSimpleBoundsMultivariateRealOptimizer<FUNC extends MultivariateFunction>
|
||||
extends BaseMultivariateRealOptimizer<FUNC> {
|
||||
/**
|
||||
* Optimize an objective function.
|
||||
|
@ -17,11 +17,11 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
|
||||
/**
|
||||
* This interface represents an optimization algorithm for
|
||||
* {@link DifferentiableMultivariateRealFunction scalar differentiable objective
|
||||
* {@link DifferentiableMultivariateFunction scalar differentiable objective
|
||||
* functions}.
|
||||
* Optimization algorithms find the input point set that either {@link GoalType
|
||||
* maximize or minimize} an objective function.
|
||||
@ -33,4 +33,4 @@ import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface DifferentiableMultivariateRealOptimizer
|
||||
extends BaseMultivariateRealOptimizer<DifferentiableMultivariateRealFunction> {}
|
||||
extends BaseMultivariateRealOptimizer<DifferentiableMultivariateFunction> {}
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math.linear.RealMatrix;
|
||||
|
||||
/** This class converts {@link MultivariateVectorialFunction vectorial
|
||||
* objective functions} to {@link MultivariateRealFunction scalar objective functions}
|
||||
* objective functions} to {@link MultivariateFunction scalar objective functions}
|
||||
* when the goal is to minimize them.
|
||||
* <p>
|
||||
* This class is mostly used when the vectorial objective function represents
|
||||
@ -37,7 +37,7 @@ import org.apache.commons.math.linear.RealMatrix;
|
||||
* This class computes a possibly weighted squared sum of the residuals, which is
|
||||
* a scalar value. The residuals are the difference between the theoretical model
|
||||
* (i.e. the output of the vectorial objective function) and the observations. The
|
||||
* class implements the {@link MultivariateRealFunction} interface and can therefore be
|
||||
* class implements the {@link MultivariateFunction} interface and can therefore be
|
||||
* minimized by any optimizer supporting scalar objectives functions.This is one way
|
||||
* to perform a least square estimation. There are other ways to do this without using
|
||||
* this converter, as some optimization algorithms directly support vectorial objective
|
||||
@ -47,13 +47,13 @@ import org.apache.commons.math.linear.RealMatrix;
|
||||
* This class support combination of residuals with or without weights and correlations.
|
||||
* </p>
|
||||
*
|
||||
* @see MultivariateRealFunction
|
||||
* @see MultivariateFunction
|
||||
* @see MultivariateVectorialFunction
|
||||
* @version $Id$
|
||||
* @since 2.0
|
||||
*/
|
||||
|
||||
public class LeastSquaresConverter implements MultivariateRealFunction {
|
||||
public class LeastSquaresConverter implements MultivariateFunction {
|
||||
|
||||
/** Underlying vectorial function. */
|
||||
private final MultivariateVectorialFunction function;
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.random.RandomVectorGenerator;
|
||||
|
||||
/**
|
||||
@ -32,7 +32,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
|
||||
* @since 2.0
|
||||
*/
|
||||
public class MultiStartDifferentiableMultivariateRealOptimizer
|
||||
extends BaseMultiStartMultivariateRealOptimizer<DifferentiableMultivariateRealFunction>
|
||||
extends BaseMultiStartMultivariateRealOptimizer<DifferentiableMultivariateFunction>
|
||||
implements DifferentiableMultivariateRealOptimizer {
|
||||
/**
|
||||
* Create a multi-start optimizer from a single-start optimizer.
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.random.RandomVectorGenerator;
|
||||
|
||||
/**
|
||||
@ -32,7 +32,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
|
||||
* @since 2.0
|
||||
*/
|
||||
public class MultiStartMultivariateRealOptimizer
|
||||
extends BaseMultiStartMultivariateRealOptimizer<MultivariateRealFunction>
|
||||
extends BaseMultiStartMultivariateRealOptimizer<MultivariateFunction>
|
||||
implements MultivariateRealOptimizer {
|
||||
/**
|
||||
* Create a multi-start optimizer from a single-start optimizer.
|
||||
|
@ -17,10 +17,10 @@
|
||||
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
/**
|
||||
* This interface represents an optimization algorithm for {@link MultivariateRealFunction
|
||||
* This interface represents an optimization algorithm for {@link MultivariateFunction
|
||||
* scalar objective functions}.
|
||||
* <p>Optimization algorithms find the input point set that either {@link GoalType
|
||||
* maximize or minimize} an objective function.</p>
|
||||
@ -31,4 +31,4 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
* @since 2.0
|
||||
*/
|
||||
public interface MultivariateRealOptimizer
|
||||
extends BaseMultivariateRealOptimizer<MultivariateRealFunction> {}
|
||||
extends BaseMultivariateRealOptimizer<MultivariateFunction> {}
|
||||
|
@ -24,7 +24,7 @@ import java.io.Serializable;
|
||||
* This class holds a point and the value of an objective function at this point.
|
||||
* <p>This is a simple immutable container.</p>
|
||||
* @see VectorialPointValuePair
|
||||
* @see org.apache.commons.math.analysis.MultivariateRealFunction
|
||||
* @see org.apache.commons.math.analysis.MultivariateFunction
|
||||
* @version $Id$
|
||||
* @since 2.0
|
||||
*/
|
||||
|
@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.NotStrictlyPositiveException;
|
||||
import org.apache.commons.math.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math.exception.ZeroException;
|
||||
@ -202,7 +202,7 @@ public abstract class AbstractSimplex {
|
||||
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
|
||||
* if the algorithm fails to converge.
|
||||
*/
|
||||
public abstract void iterate(final MultivariateRealFunction evaluationFunction,
|
||||
public abstract void iterate(final MultivariateFunction evaluationFunction,
|
||||
final Comparator<RealPointValuePair> comparator);
|
||||
|
||||
/**
|
||||
@ -240,7 +240,7 @@ public abstract class AbstractSimplex {
|
||||
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
|
||||
* if the maximal number of evaluations is exceeded.
|
||||
*/
|
||||
public void evaluate(final MultivariateRealFunction evaluationFunction,
|
||||
public void evaluate(final MultivariateFunction evaluationFunction,
|
||||
final Comparator<RealPointValuePair> comparator) {
|
||||
// Evaluate the objective function at all non-evaluated simplex points.
|
||||
for (int i = 0; i < simplex.length; i++) {
|
||||
|
@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.MathIllegalStateException;
|
||||
import org.apache.commons.math.exception.NumberIsTooSmallException;
|
||||
import org.apache.commons.math.exception.OutOfRangeException;
|
||||
@ -50,7 +50,7 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
|
||||
* @since 3.0
|
||||
*/
|
||||
public class BOBYQAOptimizer
|
||||
extends BaseAbstractSimpleBoundsScalarOptimizer<MultivariateRealFunction>
|
||||
extends BaseAbstractSimpleBoundsScalarOptimizer<MultivariateFunction>
|
||||
implements MultivariateRealOptimizer {
|
||||
/** Minimum dimension of the problem: {@value} */
|
||||
public static final int MINIMUM_PROBLEM_DIMENSION = 2;
|
||||
|
@ -21,7 +21,7 @@ import org.apache.commons.math.util.Incrementor;
|
||||
import org.apache.commons.math.exception.MaxCountExceededException;
|
||||
import org.apache.commons.math.exception.TooManyEvaluationsException;
|
||||
import org.apache.commons.math.exception.NullArgumentException;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.BaseMultivariateRealOptimizer;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.ConvergenceChecker;
|
||||
@ -38,7 +38,7 @@ import org.apache.commons.math.optimization.SimpleScalarValueChecker;
|
||||
* @version $Id$
|
||||
* @since 2.2
|
||||
*/
|
||||
public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateRealFunction>
|
||||
public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateFunction>
|
||||
implements BaseMultivariateRealOptimizer<FUNC> {
|
||||
/** Evaluations counter. */
|
||||
protected final Incrementor evaluations = new Incrementor();
|
||||
@ -49,7 +49,7 @@ public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateRealF
|
||||
/** Initial guess. */
|
||||
private double[] start;
|
||||
/** Objective function. */
|
||||
private MultivariateRealFunction function;
|
||||
private MultivariateFunction function;
|
||||
|
||||
/**
|
||||
* Simple constructor with default settings.
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.BaseMultivariateRealOptimizer;
|
||||
import org.apache.commons.math.optimization.BaseSimpleBoundsMultivariateRealOptimizer;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
@ -39,7 +39,7 @@ import org.apache.commons.math.exception.NumberIsTooLargeException;
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
public abstract class BaseAbstractSimpleBoundsScalarOptimizer<FUNC extends MultivariateRealFunction>
|
||||
public abstract class BaseAbstractSimpleBoundsScalarOptimizer<FUNC extends MultivariateFunction>
|
||||
extends BaseAbstractScalarOptimizer<FUNC>
|
||||
implements BaseMultivariateRealOptimizer<FUNC>,
|
||||
BaseSimpleBoundsMultivariateRealOptimizer<FUNC> {
|
||||
|
@ -21,7 +21,7 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.MultiDimensionMismatchException;
|
||||
import org.apache.commons.math.exception.NoDataException;
|
||||
import org.apache.commons.math.exception.NotPositiveException;
|
||||
@ -81,7 +81,7 @@ import org.apache.commons.math.util.MathArrays;
|
||||
*/
|
||||
|
||||
public class CMAESOptimizer
|
||||
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
|
||||
extends BaseAbstractScalarOptimizer<MultivariateFunction>
|
||||
implements MultivariateRealOptimizer {
|
||||
/** Default value for {@link #checkFeasableCount}: {@value}. */
|
||||
public static final int DEFAULT_CHECKFEASABLECOUNT = 0;
|
||||
|
@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.RealPointValuePair;
|
||||
|
||||
/**
|
||||
@ -152,7 +152,7 @@ public class MultiDirectionalSimplex extends AbstractSimplex {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void iterate(final MultivariateRealFunction evaluationFunction,
|
||||
public void iterate(final MultivariateFunction evaluationFunction,
|
||||
final Comparator<RealPointValuePair> comparator) {
|
||||
// Save the original simplex.
|
||||
final RealPointValuePair[] original = getPoints();
|
||||
@ -191,7 +191,7 @@ public class MultiDirectionalSimplex extends AbstractSimplex {
|
||||
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
|
||||
* if the maximal number of evaluations is exceeded.
|
||||
*/
|
||||
private RealPointValuePair evaluateNewSimplex(final MultivariateRealFunction evaluationFunction,
|
||||
private RealPointValuePair evaluateNewSimplex(final MultivariateFunction evaluationFunction,
|
||||
final RealPointValuePair[] original,
|
||||
final double coeff,
|
||||
final Comparator<RealPointValuePair> comparator) {
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.UnivariateFunction;
|
||||
import org.apache.commons.math.analysis.function.Logit;
|
||||
import org.apache.commons.math.analysis.function.Sigmoid;
|
||||
@ -28,7 +28,7 @@ import org.apache.commons.math.util.FastMath;
|
||||
import org.apache.commons.math.util.MathUtils;
|
||||
|
||||
/**
|
||||
* <p>Adapter for mapping bounded {@link MultivariateRealFunction} to unbounded ones.</p>
|
||||
* <p>Adapter for mapping bounded {@link MultivariateFunction} to unbounded ones.</p>
|
||||
*
|
||||
* <p>
|
||||
* This adapter can be used to wrap functions subject to simple bounds on
|
||||
@ -55,7 +55,7 @@ import org.apache.commons.math.util.MathUtils;
|
||||
* {@link #boundedToUnbounded(double[])} before providing them to the optimizer.
|
||||
* For the same reason, the point returned by the {@link
|
||||
* org.apache.commons.math.optimization.BaseMultivariateRealOptimizer#optimize(int,
|
||||
* MultivariateRealFunction, org.apache.commons.math.optimization.GoalType, double[])}
|
||||
* MultivariateFunction, org.apache.commons.math.optimization.GoalType, double[])}
|
||||
* method is unbounded. So to convert this point to bounded, users must call
|
||||
* {@link #unboundedToBounded(double[])} by themselves!</p>
|
||||
* <p>
|
||||
@ -70,16 +70,16 @@ import org.apache.commons.math.util.MathUtils;
|
||||
* variables.
|
||||
* </p>
|
||||
*
|
||||
* @see MultivariateRealFunctionPenaltyAdapter
|
||||
* @see MultivariateFunctionPenaltyAdapter
|
||||
*
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
|
||||
public class MultivariateRealFunctionMappingAdapter implements MultivariateRealFunction {
|
||||
public class MultivariateFunctionMappingAdapter implements MultivariateFunction {
|
||||
|
||||
/** Underlying bounded function. */
|
||||
private final MultivariateRealFunction bounded;
|
||||
private final MultivariateFunction bounded;
|
||||
|
||||
/** Mapping functions. */
|
||||
private final Mapper[] mappers;
|
||||
@ -95,7 +95,7 @@ public class MultivariateRealFunctionMappingAdapter implements MultivariateRealF
|
||||
* @exception MathIllegalArgumentException if lower and upper bounds are not
|
||||
* consistent, either according to dimension or to values
|
||||
*/
|
||||
public MultivariateRealFunctionMappingAdapter(final MultivariateRealFunction bounded,
|
||||
public MultivariateFunctionMappingAdapter(final MultivariateFunction bounded,
|
||||
final double[] lower, final double[] upper) {
|
||||
|
||||
// safety checks
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math.exception.MathIllegalArgumentException;
|
||||
import org.apache.commons.math.exception.NumberIsTooSmallException;
|
||||
@ -25,7 +25,7 @@ import org.apache.commons.math.util.FastMath;
|
||||
import org.apache.commons.math.util.MathUtils;
|
||||
|
||||
/**
|
||||
* <p>Adapter extending bounded {@link MultivariateRealFunction} to an unbouded
|
||||
* <p>Adapter extending bounded {@link MultivariateFunction} to an unbouded
|
||||
* domain using a penalty function.</p>
|
||||
*
|
||||
* <p>
|
||||
@ -57,16 +57,16 @@ import org.apache.commons.math.util.MathUtils;
|
||||
* is used, and the optimizer may converge without ever entering the range.
|
||||
* </p>
|
||||
*
|
||||
* @see MultivariateRealFunctionMappingAdapter
|
||||
* @see MultivariateFunctionMappingAdapter
|
||||
*
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
|
||||
public class MultivariateRealFunctionPenaltyAdapter implements MultivariateRealFunction {
|
||||
public class MultivariateFunctionPenaltyAdapter implements MultivariateFunction {
|
||||
|
||||
/** Underlying bounded function. */
|
||||
private final MultivariateRealFunction bounded;
|
||||
private final MultivariateFunction bounded;
|
||||
|
||||
/** Lower bounds. */
|
||||
private final double[] lower;
|
||||
@ -121,7 +121,7 @@ public class MultivariateRealFunctionPenaltyAdapter implements MultivariateRealF
|
||||
* scales are not consistent, either according to dimension or to bounadary
|
||||
* values
|
||||
*/
|
||||
public MultivariateRealFunctionPenaltyAdapter(final MultivariateRealFunction bounded,
|
||||
public MultivariateFunctionPenaltyAdapter(final MultivariateFunction bounded,
|
||||
final double[] lower, final double[] upper,
|
||||
final double offset, final double[] scale) {
|
||||
|
@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.apache.commons.math.optimization.RealPointValuePair;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
/**
|
||||
* This class implements the Nelder-Mead simplex algorithm.
|
||||
@ -184,7 +184,7 @@ public class NelderMeadSimplex extends AbstractSimplex {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public void iterate(final MultivariateRealFunction evaluationFunction,
|
||||
public void iterate(final MultivariateFunction evaluationFunction,
|
||||
final Comparator<RealPointValuePair> comparator) {
|
||||
// The simplex has n + 1 points if dimension is n.
|
||||
final int n = getDimension();
|
||||
|
@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
import org.apache.commons.math.util.FastMath;
|
||||
import org.apache.commons.math.util.MathArrays;
|
||||
import org.apache.commons.math.analysis.UnivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.NumberIsTooSmallException;
|
||||
import org.apache.commons.math.exception.NotStrictlyPositiveException;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
@ -46,7 +46,7 @@ import org.apache.commons.math.optimization.univariate.UnivariateRealPointValueP
|
||||
* @since 2.2
|
||||
*/
|
||||
public class PowellOptimizer
|
||||
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
|
||||
extends BaseAbstractScalarOptimizer<MultivariateFunction>
|
||||
implements MultivariateRealOptimizer {
|
||||
/**
|
||||
* Minimum relative tolerance.
|
||||
|
@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.NullArgumentException;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.ConvergenceChecker;
|
||||
@ -54,7 +54,7 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
|
||||
* be called prior to calling the {@code optimize} method.
|
||||
* </p>
|
||||
* <p>
|
||||
* Each call to {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
|
||||
* Each call to {@link #optimize(int,MultivariateFunction,GoalType,double[])
|
||||
* optimize} will re-use the start configuration of the current simplex and
|
||||
* move it such that its first vertex is at the provided start point of the
|
||||
* optimization. If the {@code optimize} method is called to solve a different
|
||||
@ -71,20 +71,20 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
|
||||
* optimization with simple bounds, so for such optimizations, either a more
|
||||
* dedicated method must be used like {@link CMAESOptimizer} or {@link
|
||||
* BOBYQAOptimizer}, or the optimized method must be wrapped in an adapter like
|
||||
* {@link MultivariateRealFunctionMappingAdapter} or {@link
|
||||
* MultivariateRealFunctionPenaltyAdapter}.
|
||||
* {@link MultivariateFunctionMappingAdapter} or {@link
|
||||
* MultivariateFunctionPenaltyAdapter}.
|
||||
* </p>
|
||||
*
|
||||
* @see AbstractSimplex
|
||||
* @see MultivariateRealFunctionMappingAdapter
|
||||
* @see MultivariateRealFunctionPenaltyAdapter
|
||||
* @see MultivariateFunctionMappingAdapter
|
||||
* @see MultivariateFunctionPenaltyAdapter
|
||||
* @see CMAESOptimizer
|
||||
* @see BOBYQAOptimizer
|
||||
* @version $Id$
|
||||
* @since 3.0
|
||||
*/
|
||||
public class SimplexOptimizer
|
||||
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
|
||||
extends BaseAbstractScalarOptimizer<MultivariateFunction>
|
||||
implements MultivariateRealOptimizer {
|
||||
/** Simplex. */
|
||||
private AbstractSimplex simplex;
|
||||
@ -130,8 +130,8 @@ public class SimplexOptimizer
|
||||
|
||||
// Indirect call to "computeObjectiveValue" in order to update the
|
||||
// evaluations counter.
|
||||
final MultivariateRealFunction evalFunc
|
||||
= new MultivariateRealFunction() {
|
||||
final MultivariateFunction evalFunc
|
||||
= new MultivariateFunction() {
|
||||
public double value(double[] point) {
|
||||
return computeObjectiveValue(point);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization.general;
|
||||
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.optimization.DifferentiableMultivariateRealOptimizer;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
@ -34,7 +34,7 @@ import org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer;
|
||||
* @since 2.0
|
||||
*/
|
||||
public abstract class AbstractScalarDifferentiableOptimizer
|
||||
extends BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
|
||||
extends BaseAbstractScalarOptimizer<DifferentiableMultivariateFunction>
|
||||
implements DifferentiableMultivariateRealOptimizer {
|
||||
/**
|
||||
* Objective function gradient.
|
||||
@ -70,7 +70,7 @@ public abstract class AbstractScalarDifferentiableOptimizer
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public RealPointValuePair optimize(int maxEval,
|
||||
final DifferentiableMultivariateRealFunction f,
|
||||
final DifferentiableMultivariateFunction f,
|
||||
final GoalType goalType,
|
||||
final double[] startPoint) {
|
||||
// Store optimization problem characteristics.
|
||||
|
@ -36,11 +36,11 @@
|
||||
* UnivariateRealOptimizer} for {@link org.apache.commons.math.analysis.UnivariateFunction
|
||||
* univariate real functions}</li>
|
||||
* <li>{@link org.apache.commons.math.optimization.MultivariateRealOptimizer
|
||||
* MultivariateRealOptimizer} for {@link org.apache.commons.math.analysis.MultivariateRealFunction
|
||||
* MultivariateRealOptimizer} for {@link org.apache.commons.math.analysis.MultivariateFunction
|
||||
* multivariate real functions}</li>
|
||||
* <li>{@link org.apache.commons.math.optimization.DifferentiableMultivariateRealOptimizer
|
||||
* DifferentiableMultivariateRealOptimizer} for {@link
|
||||
* org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction
|
||||
* org.apache.commons.math.analysis.DifferentiableMultivariateFunction
|
||||
* differentiable multivariate real functions}</li>
|
||||
* <li>{@link org.apache.commons.math.optimization.DifferentiableMultivariateVectorialOptimizer
|
||||
* DifferentiableMultivariateVectorialOptimizer} for {@link
|
||||
@ -53,7 +53,7 @@
|
||||
* Despite there are only four types of supported optimizers, it is possible to optimize a
|
||||
* transform a {@link org.apache.commons.math.analysis.MultivariateVectorialFunction
|
||||
* non-differentiable multivariate vectorial function} by converting it to a {@link
|
||||
* org.apache.commons.math.analysis.MultivariateRealFunction non-differentiable multivariate
|
||||
* org.apache.commons.math.analysis.MultivariateFunction non-differentiable multivariate
|
||||
* real function} thanks to the {@link
|
||||
* org.apache.commons.math.optimization.LeastSquaresConverter LeastSquaresConverter} helper class.
|
||||
* The transformed function can be optimized using any implementation of the {@link
|
||||
|
@ -35,7 +35,7 @@ import org.apache.commons.math.analysis.function.Min;
|
||||
import org.apache.commons.math.analysis.function.Max;
|
||||
import org.apache.commons.math.analysis.function.Pow;
|
||||
import org.apache.commons.math.analysis.function.Log;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@ -161,7 +161,7 @@ public class FunctionUtilsTest {
|
||||
@Test
|
||||
public void testCollector() {
|
||||
BivariateRealFunction bi = new Add();
|
||||
MultivariateRealFunction coll = FunctionUtils.collector(bi, 0);
|
||||
MultivariateFunction coll = FunctionUtils.collector(bi, 0);
|
||||
Assert.assertEquals(10, coll.value(new double[] {1, 2, 3, 4}), EPS);
|
||||
|
||||
bi = new Multiply();
|
||||
|
@ -21,7 +21,7 @@ package org.apache.commons.math.analysis;
|
||||
*
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SumSincFunction implements DifferentiableMultivariateRealFunction {
|
||||
public class SumSincFunction implements DifferentiableMultivariateFunction {
|
||||
private static final DifferentiableUnivariateFunction sinc = new SincFunction();
|
||||
private static final UnivariateFunction sincDeriv = sinc.derivative();
|
||||
|
||||
@ -54,8 +54,8 @@ public class SumSincFunction implements DifferentiableMultivariateRealFunction {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public MultivariateRealFunction partialDerivative(final int k) {
|
||||
return new MultivariateRealFunction() {
|
||||
public MultivariateFunction partialDerivative(final int k) {
|
||||
return new MultivariateFunction() {
|
||||
public double value(double[] point) {
|
||||
return sincDeriv.value(point[k]);
|
||||
}
|
||||
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
package org.apache.commons.math.analysis.interpolation;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.util.FastMath;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@ -34,7 +34,7 @@ public final class MicrosphereInterpolatorTest {
|
||||
*/
|
||||
@Test
|
||||
public void testLinearFunction2D() {
|
||||
MultivariateRealFunction f = new MultivariateRealFunction() {
|
||||
MultivariateFunction f = new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
if (x.length != 2) {
|
||||
throw new IllegalArgumentException();
|
||||
@ -60,7 +60,7 @@ public final class MicrosphereInterpolatorTest {
|
||||
}
|
||||
}
|
||||
|
||||
MultivariateRealFunction p = interpolator.interpolate(x, y);
|
||||
MultivariateFunction p = interpolator.interpolate(x, y);
|
||||
|
||||
double[] c = new double[dim];
|
||||
double expected, result;
|
||||
@ -86,7 +86,7 @@ public final class MicrosphereInterpolatorTest {
|
||||
*/
|
||||
@Test
|
||||
public void testParaboloid2D() {
|
||||
MultivariateRealFunction f = new MultivariateRealFunction() {
|
||||
MultivariateFunction f = new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
if (x.length != 2) {
|
||||
throw new IllegalArgumentException();
|
||||
@ -112,7 +112,7 @@ public final class MicrosphereInterpolatorTest {
|
||||
}
|
||||
}
|
||||
|
||||
MultivariateRealFunction p = interpolator.interpolate(x, y);
|
||||
MultivariateFunction p = interpolator.interpolate(x, y);
|
||||
|
||||
double[] c = new double[dim];
|
||||
double expected, result;
|
||||
|
@ -19,8 +19,8 @@ import java.util.Arrays;
|
||||
import junit.framework.Assert;
|
||||
import org.apache.commons.math.MathRuntimeException;
|
||||
import org.apache.commons.math.TestUtils;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.exception.util.LocalizedFormats;
|
||||
import org.apache.commons.math.optimization.direct.BOBYQAOptimizer;
|
||||
@ -792,17 +792,17 @@ public class BatteryNISTTest {
|
||||
}
|
||||
|
||||
/* generic test runner */
|
||||
private double[] run(MultivariateRealOptimizer optim, DifferentiableMultivariateRealFunction func, double[] start) {
|
||||
private double[] run(MultivariateRealOptimizer optim, DifferentiableMultivariateFunction func, double[] start) {
|
||||
return (optim.optimize(1000000, func, GoalType.MINIMIZE, start).getPointRef());
|
||||
}
|
||||
/* generic test runner for AbstractScalarDifferentiableOptimizer */
|
||||
private double[] run(AbstractScalarDifferentiableOptimizer optim, DifferentiableMultivariateRealFunction func, double[] start) {
|
||||
private double[] run(AbstractScalarDifferentiableOptimizer optim, DifferentiableMultivariateFunction func, double[] start) {
|
||||
return (optim.optimize(1000000, func, GoalType.MINIMIZE, start).getPointRef());
|
||||
}
|
||||
|
||||
/* base objective function class for these tests */
|
||||
private abstract static class nistMVRF implements DifferentiableMultivariateRealFunction {
|
||||
protected final MultivariateRealFunction[] mrf;
|
||||
private abstract static class nistMVRF implements DifferentiableMultivariateFunction {
|
||||
protected final MultivariateFunction[] mrf;
|
||||
protected final MultivariateVectorialFunction mvf = new MultivariateVectorialFunction() {
|
||||
|
||||
public double[] value(double[] point) throws IllegalArgumentException {
|
||||
@ -829,10 +829,10 @@ public class BatteryNISTTest {
|
||||
this.gradient = new double[nparams];
|
||||
this.nparams = nparams;
|
||||
this.data = data;
|
||||
mrf = new MultivariateRealFunction[nvars];
|
||||
mrf = new MultivariateFunction[nvars];
|
||||
for (int i = 0; i < nvars; i++) {
|
||||
final int idx = i;
|
||||
mrf[i] = new MultivariateRealFunction() {
|
||||
mrf[i] = new MultivariateFunction() {
|
||||
|
||||
private int myIdx = idx;
|
||||
|
||||
@ -847,7 +847,7 @@ public class BatteryNISTTest {
|
||||
return mvf;
|
||||
}
|
||||
|
||||
public MultivariateRealFunction partialDerivative(int k) {
|
||||
public MultivariateFunction partialDerivative(int k) {
|
||||
return mrf[k];
|
||||
}
|
||||
|
||||
|
@ -21,8 +21,8 @@ package org.apache.commons.math.optimization;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.optimization.general.ConjugateGradientFormula;
|
||||
import org.apache.commons.math.optimization.general.NonLinearConjugateGradientOptimizer;
|
||||
@ -68,7 +68,7 @@ public class MultiStartDifferentiableMultivariateRealOptimizerTest {
|
||||
Assert.assertEquals(3.1267527, optimum.getValue(), 1.0e-8);
|
||||
}
|
||||
|
||||
private static class Circle implements DifferentiableMultivariateRealFunction {
|
||||
private static class Circle implements DifferentiableMultivariateFunction {
|
||||
|
||||
private ArrayList<Point2D.Double> points;
|
||||
|
||||
@ -129,8 +129,8 @@ public class MultiStartDifferentiableMultivariateRealOptimizerTest {
|
||||
};
|
||||
}
|
||||
|
||||
public MultivariateRealFunction partialDerivative(final int k) {
|
||||
return new MultivariateRealFunction() {
|
||||
public MultivariateFunction partialDerivative(final int k) {
|
||||
return new MultivariateFunction() {
|
||||
public double value(double[] point) {
|
||||
return gradient(point)[k];
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
||||
package org.apache.commons.math.optimization;
|
||||
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.direct.NelderMeadSimplex;
|
||||
import org.apache.commons.math.optimization.direct.SimplexOptimizer;
|
||||
import org.apache.commons.math.random.GaussianRandomGenerator;
|
||||
@ -53,7 +53,7 @@ public class MultiStartMultivariateRealOptimizerTest {
|
||||
Assert.assertTrue(optimum.getValue() < 8.0e-4);
|
||||
}
|
||||
|
||||
private static class Rosenbrock implements MultivariateRealFunction {
|
||||
private static class Rosenbrock implements MultivariateFunction {
|
||||
private int count;
|
||||
|
||||
public Rosenbrock() {
|
||||
|
@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
import java.util.Arrays;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.DimensionMismatchException;
|
||||
import org.apache.commons.math.exception.TooManyEvaluationsException;
|
||||
import org.apache.commons.math.exception.NumberIsTooLargeException;
|
||||
@ -241,7 +241,7 @@ public class BOBYQAOptimizerTest {
|
||||
* @param maxEvaluations Maximum number of evaluations.
|
||||
* @param expected Expected point / value.
|
||||
*/
|
||||
private void doTest(MultivariateRealFunction func,
|
||||
private void doTest(MultivariateFunction func,
|
||||
double[] startPoint,
|
||||
double[][] boundaries,
|
||||
GoalType goal,
|
||||
@ -290,7 +290,7 @@ public class BOBYQAOptimizerTest {
|
||||
return boundaries;
|
||||
}
|
||||
|
||||
private static class Sphere implements MultivariateRealFunction {
|
||||
private static class Sphere implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -300,7 +300,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Cigar implements MultivariateRealFunction {
|
||||
private static class Cigar implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
Cigar() {
|
||||
@ -319,7 +319,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Tablet implements MultivariateRealFunction {
|
||||
private static class Tablet implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
Tablet() {
|
||||
@ -338,7 +338,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class CigTab implements MultivariateRealFunction {
|
||||
private static class CigTab implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
CigTab() {
|
||||
@ -358,7 +358,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class TwoAxes implements MultivariateRealFunction {
|
||||
private static class TwoAxes implements MultivariateFunction {
|
||||
|
||||
private double factor;
|
||||
|
||||
@ -378,7 +378,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class ElliRotated implements MultivariateRealFunction {
|
||||
private static class ElliRotated implements MultivariateFunction {
|
||||
private Basis B = new Basis();
|
||||
private double factor;
|
||||
|
||||
@ -399,7 +399,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Elli implements MultivariateRealFunction {
|
||||
private static class Elli implements MultivariateFunction {
|
||||
|
||||
private double factor;
|
||||
|
||||
@ -419,14 +419,14 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class MinusElli implements MultivariateRealFunction {
|
||||
private static class MinusElli implements MultivariateFunction {
|
||||
private final Elli elli = new Elli();
|
||||
public double value(double[] x) {
|
||||
return 1.0 - elli.value(x);
|
||||
}
|
||||
}
|
||||
|
||||
private static class DiffPow implements MultivariateRealFunction {
|
||||
private static class DiffPow implements MultivariateFunction {
|
||||
// private int fcount = 0;
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -441,7 +441,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class SsDiffPow implements MultivariateRealFunction {
|
||||
private static class SsDiffPow implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = Math.pow(new DiffPow().value(x), 0.25);
|
||||
@ -449,7 +449,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Rosen implements MultivariateRealFunction {
|
||||
private static class Rosen implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -460,7 +460,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Ackley implements MultivariateRealFunction {
|
||||
private static class Ackley implements MultivariateFunction {
|
||||
private double axisratio;
|
||||
|
||||
Ackley(double axra) {
|
||||
@ -486,7 +486,7 @@ public class BOBYQAOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Rastrigin implements MultivariateRealFunction {
|
||||
private static class Rastrigin implements MultivariateFunction {
|
||||
|
||||
private double axisratio;
|
||||
private double amplitude;
|
||||
|
@ -21,7 +21,7 @@ import java.util.Random;
|
||||
|
||||
import org.apache.commons.math.Retry;
|
||||
import org.apache.commons.math.RetryRunner;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.exception.MultiDimensionMismatchException;
|
||||
import org.apache.commons.math.exception.NoDataException;
|
||||
import org.apache.commons.math.exception.NotPositiveException;
|
||||
@ -360,7 +360,7 @@ public class CMAESOptimizerTest {
|
||||
* @param maxEvaluations Maximum number of evaluations.
|
||||
* @param expected Expected point / value.
|
||||
*/
|
||||
private void doTest(MultivariateRealFunction func,
|
||||
private void doTest(MultivariateFunction func,
|
||||
double[] startPoint,
|
||||
double[] inSigma,
|
||||
double[][] boundaries,
|
||||
@ -404,7 +404,7 @@ public class CMAESOptimizerTest {
|
||||
return boundaries;
|
||||
}
|
||||
|
||||
private static class Sphere implements MultivariateRealFunction {
|
||||
private static class Sphere implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -414,7 +414,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Cigar implements MultivariateRealFunction {
|
||||
private static class Cigar implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
Cigar() {
|
||||
@ -433,7 +433,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Tablet implements MultivariateRealFunction {
|
||||
private static class Tablet implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
Tablet() {
|
||||
@ -452,7 +452,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class CigTab implements MultivariateRealFunction {
|
||||
private static class CigTab implements MultivariateFunction {
|
||||
private double factor;
|
||||
|
||||
CigTab() {
|
||||
@ -472,7 +472,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class TwoAxes implements MultivariateRealFunction {
|
||||
private static class TwoAxes implements MultivariateFunction {
|
||||
|
||||
private double factor;
|
||||
|
||||
@ -492,7 +492,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class ElliRotated implements MultivariateRealFunction {
|
||||
private static class ElliRotated implements MultivariateFunction {
|
||||
private Basis B = new Basis();
|
||||
private double factor;
|
||||
|
||||
@ -513,7 +513,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Elli implements MultivariateRealFunction {
|
||||
private static class Elli implements MultivariateFunction {
|
||||
|
||||
private double factor;
|
||||
|
||||
@ -533,14 +533,14 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class MinusElli implements MultivariateRealFunction {
|
||||
private static class MinusElli implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
return 1.0-(new Elli().value(x));
|
||||
}
|
||||
}
|
||||
|
||||
private static class DiffPow implements MultivariateRealFunction {
|
||||
private static class DiffPow implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -551,7 +551,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class SsDiffPow implements MultivariateRealFunction {
|
||||
private static class SsDiffPow implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = Math.pow(new DiffPow().value(x), 0.25);
|
||||
@ -559,7 +559,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Rosen implements MultivariateRealFunction {
|
||||
private static class Rosen implements MultivariateFunction {
|
||||
|
||||
public double value(double[] x) {
|
||||
double f = 0;
|
||||
@ -570,7 +570,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Ackley implements MultivariateRealFunction {
|
||||
private static class Ackley implements MultivariateFunction {
|
||||
private double axisratio;
|
||||
|
||||
Ackley(double axra) {
|
||||
@ -596,7 +596,7 @@ public class CMAESOptimizerTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Rastrigin implements MultivariateRealFunction {
|
||||
private static class Rastrigin implements MultivariateFunction {
|
||||
|
||||
private double axisratio;
|
||||
private double amplitude;
|
||||
|
@ -18,20 +18,20 @@
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.RealPointValuePair;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class MultivariateRealFunctionMappingAdapterTest {
|
||||
public class MultivariateFunctionMappingAdapterTest {
|
||||
|
||||
@Test
|
||||
public void testStartSimplexInsideRange() {
|
||||
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
|
||||
final MultivariateRealFunctionMappingAdapter wrapped =
|
||||
new MultivariateRealFunctionMappingAdapter(biQuadratic,
|
||||
final MultivariateFunctionMappingAdapter wrapped =
|
||||
new MultivariateFunctionMappingAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper());
|
||||
|
||||
@ -56,8 +56,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
|
||||
public void testOptimumOutsideRange() {
|
||||
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0, 1.0, 3.0, 2.0, 3.0);
|
||||
final MultivariateRealFunctionMappingAdapter wrapped =
|
||||
new MultivariateRealFunctionMappingAdapter(biQuadratic,
|
||||
final MultivariateFunctionMappingAdapter wrapped =
|
||||
new MultivariateFunctionMappingAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper());
|
||||
|
||||
@ -84,8 +84,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0,
|
||||
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY,
|
||||
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
|
||||
final MultivariateRealFunctionMappingAdapter wrapped =
|
||||
new MultivariateRealFunctionMappingAdapter(biQuadratic,
|
||||
final MultivariateFunctionMappingAdapter wrapped =
|
||||
new MultivariateFunctionMappingAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper());
|
||||
|
||||
@ -112,8 +112,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 4.0,
|
||||
1.0, Double.POSITIVE_INFINITY,
|
||||
Double.NEGATIVE_INFINITY, 3.0);
|
||||
final MultivariateRealFunctionMappingAdapter wrapped =
|
||||
new MultivariateRealFunctionMappingAdapter(biQuadratic,
|
||||
final MultivariateFunctionMappingAdapter wrapped =
|
||||
new MultivariateFunctionMappingAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper());
|
||||
|
||||
@ -134,7 +134,7 @@ public class MultivariateRealFunctionMappingAdapterTest {
|
||||
|
||||
}
|
||||
|
||||
private static class BiQuadratic implements MultivariateRealFunction {
|
||||
private static class BiQuadratic implements MultivariateFunction {
|
||||
|
||||
private final double xOptimum;
|
||||
private final double yOptimum;
|
@ -18,21 +18,21 @@
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.RealPointValuePair;
|
||||
import org.apache.commons.math.optimization.SimpleRealPointChecker;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
public class MultivariateFunctionPenaltyAdapterTest {
|
||||
|
||||
@Test
|
||||
public void testStartSimplexInsideRange() {
|
||||
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
|
||||
final MultivariateRealFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
|
||||
final MultivariateFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateFunctionPenaltyAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper(),
|
||||
1000.0, new double[] { 100.0, 100.0 });
|
||||
@ -52,8 +52,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
public void testStartSimplexOutsideRange() {
|
||||
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
|
||||
final MultivariateRealFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
|
||||
final MultivariateFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateFunctionPenaltyAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper(),
|
||||
1000.0, new double[] { 100.0, 100.0 });
|
||||
@ -73,8 +73,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
public void testOptimumOutsideRange() {
|
||||
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0, 1.0, 3.0, 2.0, 3.0);
|
||||
final MultivariateRealFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
|
||||
final MultivariateFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateFunctionPenaltyAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper(),
|
||||
1000.0, new double[] { 100.0, 100.0 });
|
||||
@ -96,8 +96,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0,
|
||||
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY,
|
||||
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
|
||||
final MultivariateRealFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
|
||||
final MultivariateFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateFunctionPenaltyAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper(),
|
||||
1000.0, new double[] { 100.0, 100.0 });
|
||||
@ -119,8 +119,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 4.0,
|
||||
1.0, Double.POSITIVE_INFINITY,
|
||||
Double.NEGATIVE_INFINITY, 3.0);
|
||||
final MultivariateRealFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
|
||||
final MultivariateFunctionPenaltyAdapter wrapped =
|
||||
new MultivariateFunctionPenaltyAdapter(biQuadratic,
|
||||
biQuadratic.getLower(),
|
||||
biQuadratic.getUpper(),
|
||||
1000.0, new double[] { 100.0, 100.0 });
|
||||
@ -136,7 +136,7 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
|
||||
|
||||
}
|
||||
|
||||
private static class BiQuadratic implements MultivariateRealFunction {
|
||||
private static class BiQuadratic implements MultivariateFunction {
|
||||
|
||||
private final double xOptimum;
|
||||
private final double yOptimum;
|
@ -16,7 +16,7 @@
|
||||
*/
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.SumSincFunction;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.MultivariateRealOptimizer;
|
||||
@ -31,7 +31,7 @@ public class PowellOptimizerTest {
|
||||
|
||||
@Test
|
||||
public void testSumSinc() {
|
||||
final MultivariateRealFunction func = new SumSincFunction(-1);
|
||||
final MultivariateFunction func = new SumSincFunction(-1);
|
||||
|
||||
int dim = 2;
|
||||
final double[] minPoint = new double[dim];
|
||||
@ -56,7 +56,7 @@ public class PowellOptimizerTest {
|
||||
|
||||
@Test
|
||||
public void testQuadratic() {
|
||||
final MultivariateRealFunction func = new MultivariateRealFunction() {
|
||||
final MultivariateFunction func = new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
final double a = x[0] - 1;
|
||||
final double b = x[1] - 1;
|
||||
@ -87,7 +87,7 @@ public class PowellOptimizerTest {
|
||||
|
||||
@Test
|
||||
public void testMaximizeQuadratic() {
|
||||
final MultivariateRealFunction func = new MultivariateRealFunction() {
|
||||
final MultivariateFunction func = new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
final double a = x[0] - 1;
|
||||
final double b = x[1] - 1;
|
||||
@ -125,7 +125,7 @@ public class PowellOptimizerTest {
|
||||
* "Powell" algorithm.
|
||||
* @param pointTol Tolerance for checking that the optimum is correct.
|
||||
*/
|
||||
private void doTest(MultivariateRealFunction func,
|
||||
private void doTest(MultivariateFunction func,
|
||||
double[] optimum,
|
||||
double[] init,
|
||||
GoalType goal,
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
package org.apache.commons.math.optimization.direct;
|
||||
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.optimization.GoalType;
|
||||
import org.apache.commons.math.optimization.RealPointValuePair;
|
||||
import org.apache.commons.math.optimization.SimpleScalarValueChecker;
|
||||
@ -88,8 +88,8 @@ public class SimplexOptimizerMultiDirectionalTest {
|
||||
|
||||
@Test
|
||||
public void testRosenbrock() {
|
||||
MultivariateRealFunction rosenbrock =
|
||||
new MultivariateRealFunction() {
|
||||
MultivariateFunction rosenbrock =
|
||||
new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
++count;
|
||||
double a = x[1] - x[0] * x[0];
|
||||
@ -114,8 +114,8 @@ public class SimplexOptimizerMultiDirectionalTest {
|
||||
|
||||
@Test
|
||||
public void testPowell() {
|
||||
MultivariateRealFunction powell =
|
||||
new MultivariateRealFunction() {
|
||||
MultivariateFunction powell =
|
||||
new MultivariateFunction() {
|
||||
public double value(double[] x) {
|
||||
++count;
|
||||
double a = x[0] + 10 * x[1];
|
||||
@ -157,7 +157,7 @@ public class SimplexOptimizerMultiDirectionalTest {
|
||||
Assert.assertEquals(expectedPosition[1], actualPosition[1], EPSILON );
|
||||
}
|
||||
|
||||
private static class FourExtrema implements MultivariateRealFunction {
|
||||
private static class FourExtrema implements MultivariateFunction {
|
||||
// The following function has 4 local extrema.
|
||||
final double xM = -3.841947088256863675365;
|
||||
final double yM = -1.391745200270734924416;
|
||||
@ -176,7 +176,7 @@ public class SimplexOptimizerMultiDirectionalTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Gaussian2D implements MultivariateRealFunction {
|
||||
private static class Gaussian2D implements MultivariateFunction {
|
||||
private final double[] maximumPosition;
|
||||
private final double std;
|
||||
|
||||
|
@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
|
||||
|
||||
|
||||
import org.apache.commons.math.exception.TooManyEvaluationsException;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.linear.Array2DRowRealMatrix;
|
||||
import org.apache.commons.math.linear.RealMatrix;
|
||||
@ -204,7 +204,7 @@ public class SimplexOptimizerNelderMeadTest {
|
||||
optimizer.optimize(20, powell, GoalType.MINIMIZE, new double[] { 3, -1, 0, 1 });
|
||||
}
|
||||
|
||||
private static class FourExtrema implements MultivariateRealFunction {
|
||||
private static class FourExtrema implements MultivariateFunction {
|
||||
// The following function has 4 local extrema.
|
||||
final double xM = -3.841947088256863675365;
|
||||
final double yM = -1.391745200270734924416;
|
||||
@ -223,7 +223,7 @@ public class SimplexOptimizerNelderMeadTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Rosenbrock implements MultivariateRealFunction {
|
||||
private static class Rosenbrock implements MultivariateFunction {
|
||||
private int count;
|
||||
|
||||
public Rosenbrock() {
|
||||
@ -242,7 +242,7 @@ public class SimplexOptimizerNelderMeadTest {
|
||||
}
|
||||
}
|
||||
|
||||
private static class Powell implements MultivariateRealFunction {
|
||||
private static class Powell implements MultivariateFunction {
|
||||
private int count;
|
||||
|
||||
public Powell() {
|
||||
|
@ -19,14 +19,14 @@ package org.apache.commons.math.optimization.general;
|
||||
|
||||
import java.awt.geom.Point2D;
|
||||
import java.util.ArrayList;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
|
||||
/**
|
||||
* Class used in the tests.
|
||||
*/
|
||||
class CircleScalar implements DifferentiableMultivariateRealFunction {
|
||||
class CircleScalar implements DifferentiableMultivariateFunction {
|
||||
private ArrayList<Point2D.Double> points;
|
||||
|
||||
public CircleScalar() {
|
||||
@ -85,8 +85,8 @@ class CircleScalar implements DifferentiableMultivariateRealFunction {
|
||||
};
|
||||
}
|
||||
|
||||
public MultivariateRealFunction partialDerivative(final int k) {
|
||||
return new MultivariateRealFunction() {
|
||||
public MultivariateFunction partialDerivative(final int k) {
|
||||
return new MultivariateFunction() {
|
||||
public double value(double[] point) {
|
||||
return gradient(point)[k];
|
||||
}
|
||||
|
@ -19,8 +19,8 @@ package org.apache.commons.math.optimization.general;
|
||||
|
||||
import java.awt.geom.Point2D;
|
||||
import java.io.Serializable;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateRealFunction;
|
||||
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateFunction;
|
||||
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
|
||||
import org.apache.commons.math.analysis.solvers.BrentSolver;
|
||||
import org.apache.commons.math.linear.BlockRealMatrix;
|
||||
@ -343,7 +343,7 @@ public class NonLinearConjugateGradientOptimizerTest {
|
||||
Assert.assertEquals(48.135167894, center.y, 1.0e-8);
|
||||
}
|
||||
|
||||
private static class LinearProblem implements DifferentiableMultivariateRealFunction, Serializable {
|
||||
private static class LinearProblem implements DifferentiableMultivariateFunction, Serializable {
|
||||
|
||||
private static final long serialVersionUID = 703247177355019415L;
|
||||
final RealMatrix factors;
|
||||
@ -383,8 +383,8 @@ public class NonLinearConjugateGradientOptimizerTest {
|
||||
};
|
||||
}
|
||||
|
||||
public MultivariateRealFunction partialDerivative(final int k) {
|
||||
return new MultivariateRealFunction() {
|
||||
public MultivariateFunction partialDerivative(final int k) {
|
||||
return new MultivariateFunction() {
|
||||
public double value(double[] point) {
|
||||
return gradient(point)[k];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user