8#ifndef __IPINEXACTLSACCEPTOR_HPP__
9#define __IPINEXACTLSACCEPTOR_HPP__
39 const std::string& prefix
136 bool called_from_restoration =
false
IpoptData & IpData() const
IpoptCalculatedQuantities & IpCq() const
Base class for backtracking line search acceptors.
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
Penalty function line search for the inexact step algorithm version.
InexactLSAcceptor(const InexactLSAcceptor &)
Copy Constructor.
virtual char UpdateForNextIteration(Number alpha_primal_test)
Method for ending the current line search.
virtual void Reset()
Reset the acceptor.
Number nu_update_inf_skip_tol_
Lower feasibility bound to skip penalty parameter update.
Number reference_theta_
Constraint violation at the point with respect to which progress is to be made.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
virtual void InitThisLineSearch(bool in_watchdog)
Initialization for the next line search.
Number reference_barr_
Barrier objective function at the point with respect to which progress is to be made.
void operator=(const InexactLSAcceptor &)
Overloaded Assignment Operator.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for OptionsList.
virtual void StopWatchDog()
Method for setting internal data if the watchdog procedure is stopped.
bool IsAcceptableToCurrentIterate(Number trial_barr, Number trial_theta, bool called_from_restoration=false) const
Checks if a trial point is acceptable to the current iterate.
Number reference_pred_
Reference predicted reduction.
virtual bool TrySecondOrderCorrection(Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)
Try a second order correction for the constraints.
Number nu_low_init_
Initial value of lower penalty parameter.
bool in_tt2_
Flag indicating if this is a termination test 2 iteration in which we just update the multipliers and...
Number nu_inc_
Increment for penalty parameter.
void ResetSlacks()
Method for resetting the slacks to be satisfying the slack equality constraints without increasing th...
Number inexact_decomposition_activate_tol_
Step size threshold for activating step decomposition.
Number inexact_decomposition_inactivate_tol_
Step size threshold for inactivating step decomposition.
Number nu_low_
Current lower value of the penalty parameter.
InexactData & InexData()
Method to easily access Inexact data.
virtual bool CheckAcceptabilityOfTrialPoint(Number alpha_primal)
Method for checking if current trial point is acceptable.
virtual Number CalculateAlphaMin()
Method returning the lower bound on the trial step sizes.
virtual Number ComputeAlphaForY(Number alpha_primal, Number alpha_dual, SmartPtr< IteratesVector > &delta)
Method for updating the equality constraint multipliers.
Number watchdog_barr_
Barrier objective function at reference point.
bool flexible_penalty_function_
Flag indicating whether the Curtis/Nocedal flexible penalty function should be used.
virtual void StartWatchDog()
Method for setting internal data if the watchdog procedure is started.
InexactLSAcceptor()
Constructor.
virtual bool HasComputeAlphaForY() const
Method returning true of ComputeAlphaForY is implemented for this acceptor.
bool accepted_by_low_only_
Flag indicating if the step was accepted only because of the lower penalty parameter.
Number watchdog_pred_
Predicted reduction to be compared with in watch dog.
Number nu_low_fact_
Factor in update rule for lower penalty parameter.
virtual ~InexactLSAcceptor()
Destructor.
Number CalcPred(Number alpha)
Compute predicted reduction for given step size.
Number nu_init_
Initial value of penalty parameter.
Number tcc_theta_
theta factor in Tangential Component Condition
Number resto_pred_
When called from the restoration phase, this is the required predicted reduction.
Number last_nu_
Value of penalty parameter at beginning of the iteration.
Number nu_
Current value of the penalty parameter.
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Number watchdog_theta_
Constraint violation at reference point.
virtual bool TryCorrector(Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)
Try higher order corrector (for fast local convergence).
virtual void PrepareRestoPhaseStart()
Method that is called before the restoration phase is called.
Number last_nu_low_
Value of lower penalty parameter at beginning of the iteration.
IpoptAdditionalCq & AdditionalCq()
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This class stores a list of user set options.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipnumber Number
Type of all numbers.