9 #ifndef __IPIPOPTALG_HPP__
10 #define __IPIPOPTALG_HPP__
71 const std::string& prefix);
206 Index& n_only_upper);
216 const Vector& trial_slack,
217 const Vector& trial_compl,
Number * x
Input: Starting point Output: Optimal solution.
void ComputeAcceptableTrialPoint()
Method computing the new iterate (usually vialine search).
This is the base class for all algorithm strategy objects.
SmartPtr< MuUpdate > mu_update_
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
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.
SmartPtr< EqMultiplierCalculator > eq_multiplier_calculator_
The multipler calculator (for y_c and y_d) has to be set only if option recalc_y is set to true...
SmartPtr< SearchDirectionCalculator > SearchDirCalc()
void PrintProblemStatistics()
Print the problem size statistics.
double Number
Type of all numbers.
SmartPtr< IterationOutput > iter_output_
void InitializeIterates()
Sets up initial values for the iterates, Corrects the initial values for x and s (force in bounds) ...
void operator=(const IpoptAlgorithm &)
Overloaded Equals Operator.
bool ComputeSearchDirection()
Method to setup the call to the PDSystemSolver.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Template class for Smart Pointers.
This class stores a list of user set options.
SolverReturn
enum for the return from the optimize algorithm (obviously we need to add more)
SolverReturn Optimize(bool isResto=false)
Main solve method.
SmartPtr< IterateInitializer > iterate_initializer_
Number * x_L
Lower bounds on variables.
void ComputeFeasibilityMultipliers()
Compute the Lagrangian multipliers for a feasibility problem.
Number recalc_y_feas_tol_
Feasibility threshold for recalc_y.
int Index
Type of all indices of vectors, matrices etc.
Number Number * x_U
Upper bounds on variables.
void UpdateHessian()
Method for updating the current Hessian.
SmartPtr< ConvergenceCheck > conv_check_
bool mehrotra_algorithm_
Flag indicating if we want to do Mehrotras's algorithm.
DECLARE_STD_EXCEPTION(SUFFIX_EMPTY)
void AcceptTrialPoint()
Method for accepting the trial point as the new iteration, possibly after adjusting the variable boun...
Number kappa_sigma_
safeguard factor for bound multipliers.
bool UpdateBarrierParameter()
Method to update the barrier parameter.
std::string linear_solver_
String specifying linear solver.
SmartPtr< SearchDirectionCalculator > search_dir_calculator_
Class responsible for all message output.
IpoptAlgorithm()
Default Constructor.
SmartPtr< HessianUpdater > hessian_updater_
The main ipopt algorithm class.
SmartPtr< LineSearch > line_search_
void OutputIteration()
Do all the output for one iteration.
virtual ~IpoptAlgorithm()
Default destructor.
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)
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...
static void print_copyright_message(const Journalist &jnlst)