Go to the documentation of this file.
7 #ifndef __IPIPOPTALG_HPP__
8 #define __IPIPOPTALG_HPP__
74 const std::string& prefix
93 return search_dir_calculator_;
250 const Vector& trial_slack,
251 const Vector& trial_compl,
IpoptAlgorithm()
Default Constructor.
Number correct_bound_multiplier(const Vector &trial_z, const Vector &trial_slack, const Vector &trial_compl, SmartPtr< const Vector > &new_trial_z)
Method for ensuring that the trial multipliers are not too far from the primal estime.
void operator=(const IpoptAlgorithm &)
Default Assignment Operator.
SmartPtr< SearchDirectionCalculator > SearchDirCalc()
void PrintProblemStatistics()
Print the problem size statistics.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
bool ComputeSearchDirection()
Method to setup the call to the PDSystemSolver.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
double Number
Type of all numbers.
void ComputeAcceptableTrialPoint()
Method computing the new iterate (usually vialine search).
SmartPtr< IterateInitializer > iterate_initializer_
SmartPtr< MuUpdate > mu_update_
SolverReturn Optimize(bool isResto=false)
Main solve method.
Number recalc_y_feas_tol_
Feasibility threshold for recalc_y.
void InitializeIterates()
Sets up initial values for the iterates.
void UpdateHessian()
Method for updating the current Hessian.
int Index
Type of all indices of vectors, matrices etc.
bool mehrotra_algorithm_
Flag indicating if we want to do Mehrotras's algorithm.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
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.
Template class for Smart Pointers.
SmartPtr< IterationOutput > iter_output_
SmartPtr< ConvergenceCheck > conv_check_
SmartPtr< LineSearch > line_search_
void OutputIteration()
Do all the output for one iteration.
void calc_number_of_bounds(const Vector &x, const Vector &x_L, const Vector &x_U, const Matrix &Px_L, const Matrix &Px_U, Index &n_tot, Index &n_only_lower, Index &n_both, Index &n_only_upper)
Number kappa_sigma_
safeguard factor for bound multipliers.
SmartPtr< HessianUpdater > hessian_updater_
IpoptAlgorithm(const IpoptAlgorithm &)
Copy Constructor.
virtual ~IpoptAlgorithm()
Destructor.
IpoptAlgorithm(const SmartPtr< SearchDirectionCalculator > &search_dir_calculator, const SmartPtr< LineSearch > &line_search, const SmartPtr< MuUpdate > &mu_update, const SmartPtr< ConvergenceCheck > &conv_check, const SmartPtr< IterateInitializer > &iterate_initializer, const SmartPtr< IterationOutput > &iter_output, const SmartPtr< HessianUpdater > &hessian_updater, const SmartPtr< EqMultiplierCalculator > &eq_multiplier_calculator=NULL)
Constructor.
Class responsible for all message output.
This is the base class for all algorithm strategy objects.
bool skip_print_problem_stats_
Flag indicating if the statistic should not be printed.
The main ipopt algorithm class.
bool recalc_y_
Flag indicating whether the y multipliers should be recalculated with the eq_mutliplier_calculator ob...
void ComputeFeasibilityMultipliers()
Compute the Lagrangian multipliers for a feasibility problem.
static void print_copyright_message(const Journalist &jnlst)
DECLARE_STD_EXCEPTION(FATAL_ERROR_IN_LINEAR_SOLVER)
SolverReturn
enum for the return from the optimize algorithm
void AcceptTrialPoint()
Method for accepting the trial point as the new iteration, possibly after adjusting the variable boun...
bool UpdateBarrierParameter()
Method to update the barrier parameter.
std::string linear_solver_
String specifying linear solver.
This class stores a list of user set options.
SmartPtr< SearchDirectionCalculator > search_dir_calculator_