7 #ifndef __IPIPOPTALG_HPP__ 8 #define __IPIPOPTALG_HPP__ 72 virtual bool InitializeImpl(
74 const std::string& prefix
83 static void RegisterOptions(
93 return search_dir_calculator_;
97 static void print_copyright_message(
148 void UpdateHessian();
156 bool UpdateBarrierParameter();
164 bool ComputeSearchDirection();
170 void ComputeAcceptableTrialPoint();
175 void AcceptTrialPoint();
178 void OutputIteration();
184 void InitializeIterates();
187 void PrintProblemStatistics();
190 void ComputeFeasibilityMultipliers();
226 void calc_number_of_bounds(
248 Number correct_bound_multiplier(
250 const Vector& trial_slack,
251 const Vector& trial_compl,
This is the base class for all algorithm strategy objects.
SmartPtr< MuUpdate > mu_update_
DECLARE_STD_EXCEPTION(FATAL_ERROR_IN_LINEAR_SOLVER)
SmartPtr< EqMultiplierCalculator > eq_multiplier_calculator_
The multiplier calculator (for y_c and y_d) has to be set only if option recalc_y is set to true...
double Number
Type of all numbers.
SmartPtr< IterationOutput > iter_output_
This file contains a base class for all exceptions and a set of macros to help with exceptions...
Template class for Smart Pointers.
This class stores a list of user set options.
SolverReturn
enum for the return from the optimize algorithm
SmartPtr< IterateInitializer > iterate_initializer_
Number recalc_y_feas_tol_
Feasibility threshold for recalc_y.
int Index
Type of all indices of vectors, matrices etc.
SmartPtr< ConvergenceCheck > conv_check_
bool mehrotra_algorithm_
Flag indicating if we want to do Mehrotras's algorithm.
Number kappa_sigma_
safeguard factor for bound multipliers.
std::string linear_solver_
String specifying linear solver.
Class responsible for all message output.
SmartPtr< HessianUpdater > hessian_updater_
The main ipopt algorithm class.
SmartPtr< LineSearch > line_search_
bool skip_print_problem_stats_
Flag indicating if the statistic should not be printed.
bool recalc_y_
Flag indicating whether the y multipliers should be recalculated with the eq_mutliplier_calculator ob...