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 double
candidate_cost_
private java.util.Vector<java.lang.Double>
candidate_x_
private java.util.Vector<java.lang.Double>
delta_
private CeresSolver.Evaluator
evaluator_
private java.util.Vector<java.lang.Double>
gradient_
private java.util.Vector<java.lang.Double>
inner_iteration_x_
private boolean
inner_iterations_are_enabled_
private boolean
inner_iterations_were_useful_
private boolean
is_not_silent_
private double
iteration_start_time_in_secs_
(package private) CeresSolver.IterationSummary
iteration_summary_
private CeresSolver.SparseMatrix
jacobian_
private java.util.Vector<java.lang.Double>
jacobian_scaling_
private double
minimum_cost_
private double
model_cost_change_
private java.util.Vector<java.lang.Double>
model_residuals_
private java.util.Vector<java.lang.Double>
negative_gradient_
private int
num_consecutive_invalid_steps_
private int
num_effective_parameters_
private int
num_parameters_
private int
num_residuals_
private CeresSolver.MinimizerOptions
options_
private double[]
parameters_
private java.util.Vector<java.lang.Double>
projected_gradient_step_
private java.util.Vector<java.lang.Double>
residuals_
private CeresSolver.SolverSummary
solver_summary_
private double
start_time_in_secs_
private CeresSolver.TrustRegionStepEvaluator
step_evaluator_
private CeresSolver.TrustRegionStrategy
strategy_
private java.util.Vector<java.lang.Double>
trust_region_step_
private java.util.Vector<java.lang.Double>
x_
private double[]
x_cost_
private double
x_norm_
-
Constructor Summary
Constructors Constructor Description TrustRegionMinimizer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
ComputeCandidatePointAndEvaluateCost()
private boolean
ComputeTrustRegionStep()
private void
DoInnerIterationsIfNeeded()
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)
private boolean
EvaluateGradientAndJacobian(boolean new_evaluation_point)
private boolean
FinalizeIterationAndCheckIfMinimizerCanContinue()
private boolean
FunctionToleranceReached()
private boolean
GradientToleranceReached()
private boolean
HandleInvalidStep()
private boolean
HandleSuccessfulStep()
private void
HandleUnsuccessfulStep()
private void
Init(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)
private boolean
IsStepSuccessful()
private boolean
IterationZero()
private boolean
MaxSolverIterationsReached()
private boolean
MaxSolverTimeReached()
void
Minimize(CeresSolver.MinimizerOptions options, double[] parameters, CeresSolver.SolverSummary solver_summary)
private boolean
MinTrustRegionRadiusReached()
private boolean
ParameterToleranceReached()
-
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()
-
-