7 #ifndef __IPIPOPTALG_HPP__ 8 #define __IPIPOPTALG_HPP__ 62 const std::string& linear_solver_name =
"" 70 virtual bool InitializeImpl(
72 const std::string& prefix
81 static void RegisterOptions(
91 return search_dir_calculator_;
95 static void print_copyright_message(
146 void UpdateHessian();
154 bool UpdateBarrierParameter();
162 bool ComputeSearchDirection();
168 void ComputeAcceptableTrialPoint();
173 void AcceptTrialPoint();
176 void OutputIteration();
182 void InitializeIterates();
185 void PrintProblemStatistics();
188 void ComputeFeasibilityMultipliers();
224 void calc_number_of_bounds(
246 Number correct_bound_multiplier(
248 const Vector& trial_slack,
249 const Vector& trial_compl,
This is the base class for all algorithm strategy objects.
SmartPtr< MuUpdate > mu_update_
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...
SmartPtr< IterationOutput > iter_output_
ipindex Index
Type of all indices of vectors, matrices etc.
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_
ipnumber Number
Type of all numbers.
Number recalc_y_feas_tol_
Feasibility threshold for recalc_y.
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.
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...
std::string linear_solver_name_
String specifying linear solver.