public abstract class oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer extends java.lang.Object implements oadd.org.apache.commons.math.optimization.DifferentiableMultivariateRealOptimizer
{
public static final int DEFAULT_MAX_ITERATIONS;
protected oadd.org.apache.commons.math.optimization.RealConvergenceChecker checker;
protected oadd.org.apache.commons.math.optimization.GoalType goal;
protected double[] point;
private int maxIterations;
private int iterations;
private int maxEvaluations;
private int evaluations;
private int gradientEvaluations;
private oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction function;
private oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction gradient;
protected void <init>()
{
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
oadd.org.apache.commons.math.optimization.SimpleScalarValueChecker v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new oadd.org.apache.commons.math.optimization.SimpleScalarValueChecker;
specialinvoke v.<oadd.org.apache.commons.math.optimization.SimpleScalarValueChecker: void <init>()>();
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: void setConvergenceChecker(oadd.org.apache.commons.math.optimization.RealConvergenceChecker)>(v);
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: void setMaxIterations(int)>(100);
virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: void setMaxEvaluations(int)>(2147483647);
return;
}
public void setMaxIterations(int)
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: int;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxIterations> = v;
return;
}
public int getMaxIterations()
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxIterations>;
return v;
}
public int getIterations()
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int iterations>;
return v;
}
public void setMaxEvaluations(int)
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: int;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxEvaluations> = v;
return;
}
public int getMaxEvaluations()
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxEvaluations>;
return v;
}
public int getEvaluations()
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int evaluations>;
return v;
}
public int getGradientEvaluations()
{
int v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int gradientEvaluations>;
return v;
}
public void setConvergenceChecker(oadd.org.apache.commons.math.optimization.RealConvergenceChecker)
{
oadd.org.apache.commons.math.optimization.RealConvergenceChecker v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: oadd.org.apache.commons.math.optimization.RealConvergenceChecker;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.optimization.RealConvergenceChecker checker> = v;
return;
}
public oadd.org.apache.commons.math.optimization.RealConvergenceChecker getConvergenceChecker()
{
oadd.org.apache.commons.math.optimization.RealConvergenceChecker v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.optimization.RealConvergenceChecker checker>;
return v;
}
protected void incrementIterationsCounter() throws oadd.org.apache.commons.math.optimization.OptimizationException
{
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
int v, v, v, v;
oadd.org.apache.commons.math.MaxIterationsExceededException v;
oadd.org.apache.commons.math.optimization.OptimizationException v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int iterations>;
v = v + 1;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int iterations> = v;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxIterations>;
if v <= v goto label;
v = new oadd.org.apache.commons.math.optimization.OptimizationException;
v = new oadd.org.apache.commons.math.MaxIterationsExceededException;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxIterations>;
specialinvoke v.<oadd.org.apache.commons.math.MaxIterationsExceededException: void <init>(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.optimization.OptimizationException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
}
protected double[] computeObjectiveGradient(double[]) throws oadd.org.apache.commons.math.FunctionEvaluationException
{
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
double[] v, v;
int v, v;
oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: double[];
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int gradientEvaluations>;
v = v + 1;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int gradientEvaluations> = v;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction gradient>;
v = interfaceinvoke v.<oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction: double[] value(double[])>(v);
return v;
}
protected double computeObjectiveValue(double[]) throws oadd.org.apache.commons.math.FunctionEvaluationException
{
double[] v;
oadd.org.apache.commons.math.MaxEvaluationsExceededException v;
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
int v, v, v, v;
oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction v;
oadd.org.apache.commons.math.FunctionEvaluationException v;
double v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: double[];
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int evaluations>;
v = v + 1;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int evaluations> = v;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxEvaluations>;
if v <= v goto label;
v = new oadd.org.apache.commons.math.FunctionEvaluationException;
v = new oadd.org.apache.commons.math.MaxEvaluationsExceededException;
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int maxEvaluations>;
specialinvoke v.<oadd.org.apache.commons.math.MaxEvaluationsExceededException: void <init>(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.FunctionEvaluationException: void <init>(java.lang.Throwable,double[])>(v, v);
throw v;
label:
v = v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction function>;
v = interfaceinvoke v.<oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction: double value(double[])>(v);
return v;
}
public oadd.org.apache.commons.math.optimization.RealPointValuePair optimize(oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction, oadd.org.apache.commons.math.optimization.GoalType, double[]) throws oadd.org.apache.commons.math.FunctionEvaluationException, oadd.org.apache.commons.math.optimization.OptimizationException, java.lang.IllegalArgumentException
{
oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer v;
oadd.org.apache.commons.math.optimization.RealPointValuePair v;
double[] v;
oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction v;
java.lang.Object v;
oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction v;
oadd.org.apache.commons.math.optimization.GoalType v;
v := @this: oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer;
v := @parameter: oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
v := @parameter: oadd.org.apache.commons.math.optimization.GoalType;
v := @parameter: double[];
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int iterations> = 0;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int evaluations> = 0;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: int gradientEvaluations> = 0;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction function> = v;
v = interfaceinvoke v.<oadd.org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction: oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction gradient()>();
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.analysis.MultivariateVectorialFunction gradient> = v;
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.optimization.GoalType goal> = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: double[] point> = v;
v = virtualinvoke v.<oadd.org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer: oadd.org.apache.commons.math.optimization.RealPointValuePair doOptimize()>();
return v;
}
protected abstract oadd.org.apache.commons.math.optimization.RealPointValuePair doOptimize() throws oadd.org.apache.commons.math.FunctionEvaluationException, oadd.org.apache.commons.math.optimization.OptimizationException, java.lang.IllegalArgumentException;
}