Package gov.nih.mipav.model.algorithms
Class CeresSolver.TrustRegionMinimizer
- java.lang.Object
-
- gov.nih.mipav.model.algorithms.CeresSolver.Minimizer
-
- gov.nih.mipav.model.algorithms.CeresSolver.TrustRegionMinimizer
-
- Enclosing class:
- CeresSolver
class CeresSolver.TrustRegionMinimizer extends CeresSolver.Minimizer
-
-
Field Summary
Fields Modifier and Type Field Description private doublecandidate_cost_private java.util.Vector<java.lang.Double>candidate_x_private java.util.Vector<java.lang.Double>delta_private CeresSolver.Evaluatorevaluator_private java.util.Vector<java.lang.Double>gradient_private java.util.Vector<java.lang.Double>inner_iteration_x_private booleaninner_iterations_are_enabled_private booleaninner_iterations_were_useful_private booleanis_not_silent_private doubleiteration_start_time_in_secs_(package private) CeresSolver.IterationSummaryiteration_summary_private CeresSolver.SparseMatrixjacobian_private java.util.Vector<java.lang.Double>jacobian_scaling_private doubleminimum_cost_private doublemodel_cost_change_private java.util.Vector<java.lang.Double>model_residuals_private java.util.Vector<java.lang.Double>negative_gradient_private intnum_consecutive_invalid_steps_private intnum_effective_parameters_private intnum_parameters_private intnum_residuals_private CeresSolver.MinimizerOptionsoptions_private double[]parameters_private java.util.Vector<java.lang.Double>projected_gradient_step_private java.util.Vector<java.lang.Double>residuals_private CeresSolver.SolverSummarysolver_summary_private doublestart_time_in_secs_private CeresSolver.TrustRegionStepEvaluatorstep_evaluator_private CeresSolver.TrustRegionStrategystrategy_private java.util.Vector<java.lang.Double>trust_region_step_private java.util.Vector<java.lang.Double>x_private double[]x_cost_private doublex_norm_
-
Constructor Summary
Constructors Constructor Description TrustRegionMinimizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidComputeCandidatePointAndEvaluateCost()private booleanComputeTrustRegionStep()private voidDoInnerIterationsIfNeeded()private voidDoLineSearch(java.util.Vector<java.lang.Double> x, java.util.Vector<java.lang.Double> gradient, double cost, java.util.Vector<java.lang.Double> delta)private booleanEvaluateGradientAndJacobian(boolean new_evaluation_point)private booleanFinalizeIterationAndCheckIfMinimizerCanContinue()private booleanFunctionToleranceReached()private booleanGradientToleranceReached()private booleanHandleInvalidStep()private booleanHandleSuccessfulStep()private voidHandleUnsuccessfulStep()private voidInit(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)private booleanIsStepSuccessful()private booleanIterationZero()private booleanMaxSolverIterationsReached()private booleanMaxSolverTimeReached()voidMinimize(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)private booleanMinTrustRegionRadiusReached()private booleanParameterToleranceReached()-
Methods inherited from class gov.nih.mipav.model.algorithms.CeresSolver.Minimizer
RunCallbacks
-
-
-
-
Field Detail
-
options_
private CeresSolver.MinimizerOptions options_
-
parameters_
private double[] parameters_
-
solver_summary_
private CeresSolver.SolverSummary solver_summary_
-
evaluator_
private CeresSolver.Evaluator evaluator_
-
jacobian_
private CeresSolver.SparseMatrix jacobian_
-
strategy_
private CeresSolver.TrustRegionStrategy strategy_
-
step_evaluator_
private CeresSolver.TrustRegionStepEvaluator step_evaluator_
-
is_not_silent_
private boolean is_not_silent_
-
inner_iterations_are_enabled_
private boolean inner_iterations_are_enabled_
-
inner_iterations_were_useful_
private boolean inner_iterations_were_useful_
-
iteration_summary_
CeresSolver.IterationSummary iteration_summary_
-
num_parameters_
private int num_parameters_
-
num_effective_parameters_
private int num_effective_parameters_
-
num_residuals_
private int num_residuals_
-
x_
private java.util.Vector<java.lang.Double> x_
-
residuals_
private java.util.Vector<java.lang.Double> residuals_
-
gradient_
private java.util.Vector<java.lang.Double> gradient_
-
inner_iteration_x_
private java.util.Vector<java.lang.Double> inner_iteration_x_
-
model_residuals_
private java.util.Vector<java.lang.Double> model_residuals_
-
negative_gradient_
private java.util.Vector<java.lang.Double> negative_gradient_
-
projected_gradient_step_
private java.util.Vector<java.lang.Double> projected_gradient_step_
-
trust_region_step_
private java.util.Vector<java.lang.Double> trust_region_step_
-
delta_
private java.util.Vector<java.lang.Double> delta_
-
candidate_x_
private java.util.Vector<java.lang.Double> candidate_x_
-
jacobian_scaling_
private java.util.Vector<java.lang.Double> jacobian_scaling_
-
x_norm_
private double x_norm_
-
x_cost_
private double[] x_cost_
-
minimum_cost_
private double minimum_cost_
-
model_cost_change_
private double model_cost_change_
-
candidate_cost_
private double candidate_cost_
-
start_time_in_secs_
private double start_time_in_secs_
-
iteration_start_time_in_secs_
private double iteration_start_time_in_secs_
-
num_consecutive_invalid_steps_
private int num_consecutive_invalid_steps_
-
-
Method Detail
-
Minimize
public void Minimize(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)
-
Init
private void Init(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)
-
IterationZero
private boolean IterationZero()
-
EvaluateGradientAndJacobian
private boolean EvaluateGradientAndJacobian(boolean new_evaluation_point)
-
FinalizeIterationAndCheckIfMinimizerCanContinue
private boolean FinalizeIterationAndCheckIfMinimizerCanContinue()
-
GradientToleranceReached
private boolean GradientToleranceReached()
-
MaxSolverIterationsReached
private boolean MaxSolverIterationsReached()
-
MaxSolverTimeReached
private boolean MaxSolverTimeReached()
-
MinTrustRegionRadiusReached
private boolean MinTrustRegionRadiusReached()
-
ComputeTrustRegionStep
private boolean ComputeTrustRegionStep()
-
HandleInvalidStep
private boolean HandleInvalidStep()
-
DoLineSearch
private void DoLineSearch(java.util.Vector<java.lang.Double> x, java.util.Vector<java.lang.Double> gradient, double cost, java.util.Vector<java.lang.Double> delta)
-
ComputeCandidatePointAndEvaluateCost
private void ComputeCandidatePointAndEvaluateCost()
-
DoInnerIterationsIfNeeded
private void DoInnerIterationsIfNeeded()
-
ParameterToleranceReached
private boolean ParameterToleranceReached()
-
FunctionToleranceReached
private boolean FunctionToleranceReached()
-
IsStepSuccessful
private boolean IsStepSuccessful()
-
HandleSuccessfulStep
private boolean HandleSuccessfulStep()
-
HandleUnsuccessfulStep
private void HandleUnsuccessfulStep()
-
-