Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpPenaltyLSAcceptor.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpPenaltyLSAcceptor.hpp 2613 2015-11-04 14:42:02Z stefan $
6 //
7 // Authors: Andreas Waechter IBM 2008-04-04
8 // derived file from IpFilterLSAcceptor.hpp
9
10 #ifndef __IPPENALTYLSACCEPTOR_HPP__
11 #define __IPPENALTYLSACCEPTOR_HPP__
12
13 #include "IpBacktrackingLSAcceptor.hpp"
14 #include "IpPDSystemSolver.hpp"
15
16 namespace Ipopt
17 {
18
23 class PenaltyLSAcceptor : public BacktrackingLSAcceptor
24 {
25 public:
31 PenaltyLSAcceptor(const SmartPtr<PDSystemSolver>& pd_solver);
32
34 virtual ~PenaltyLSAcceptor();
36
38 virtual bool InitializeImpl(const OptionsList& options,
39 const std::string& prefix);
40
47 virtual void Reset();
48
52 virtual void InitThisLineSearch(bool in_watchdog);
53
57 virtual void PrepareRestoPhaseStart();
58
60 virtual Number CalculateAlphaMin();
61
67 virtual bool CheckAcceptabilityOfTrialPoint(Number alpha_primal);
68
81 virtual bool TrySecondOrderCorrection(Number alpha_primal_test,
82 Number& alpha_primal,
83 SmartPtr<IteratesVector>& actual_delta);
84
91 virtual bool TryCorrector(Number alpha_primal_test,
92 Number& alpha_primal,
93 SmartPtr<IteratesVector>& actual_delta);
94
99 virtual char UpdateForNextIteration(Number alpha_primal_test);
100
103 virtual void StartWatchDog();
104
107 virtual void StopWatchDog();
108
115 bool IsAcceptableToCurrentIterate(Number trial_barr, Number trial_theta,
116 bool called_from_restoration=false) const;
118
121 static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
123
124 private:
134 PenaltyLSAcceptor(const PenaltyLSAcceptor&);
135
137 void operator=(const PenaltyLSAcceptor&);
139
141 Number CalcPred(Number alpha);
142
147 Number nu_init_;
149 Number nu_inc_;
151 Number eta_;
153 Number rho_;
155 Index max_soc_;
159 Number kappa_soc_;
161 Index soc_method_;
163
168 Number reference_theta_;
171 Number reference_barr_;
174 Number reference_gradBarrTDelta_;
176 Number reference_dWd_;
178 SmartPtr<const Vector> reference_JacC_delta_;
180 SmartPtr<const Vector> reference_JacD_delta_;
183 Number reference_pred_;
185 Number watchdog_theta_;
187 Number watchdog_barr_;
189 Number watchdog_pred_;
191
195 Number nu_;
197 Number last_nu_;
199
202 Number resto_pred_;
203
206 SmartPtr<PDSystemSolver> pd_solver_;
208 };
209
210 } // namespace Ipopt
211
212 #endif
Ipopt::PenaltyLSAcceptor::Reset
virtual void Reset()
Reset the acceptor.
Ipopt::PenaltyLSAcceptor::operator=
void operator=(const PenaltyLSAcceptor &)
Overloaded Equals Operator.
Ipopt::PenaltyLSAcceptor::reference_pred_
Number reference_pred_
Reference predicted reduction.
Definition: IpPenaltyLSAcceptor.hpp:183
Ipopt::PenaltyLSAcceptor::watchdog_pred_
Number watchdog_pred_
Predicted reduction to be compared with in watch dog.
Definition: IpPenaltyLSAcceptor.hpp:189
Ipopt::PenaltyLSAcceptor::pd_solver_
SmartPtr< PDSystemSolver > pd_solver_
Definition: IpPenaltyLSAcceptor.hpp:206
Ipopt::PenaltyLSAcceptor::rho_
Number rho_
Definition: IpPenaltyLSAcceptor.hpp:153
Ipopt::PenaltyLSAcceptor::TryCorrector
virtual bool TryCorrector(Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)
Try higher order corrector (for fast local convergence).
Ipopt::PenaltyLSAcceptor::eta_
Number eta_
Definition: IpPenaltyLSAcceptor.hpp:151
IpPDSystemSolver.hpp
Ipopt::PenaltyLSAcceptor::InitThisLineSearch
virtual void InitThisLineSearch(bool in_watchdog)
Initialization for the next line search.
Ipopt::PenaltyLSAcceptor::CalculateAlphaMin
virtual Number CalculateAlphaMin()
Method returning the lower bound on the trial step sizes.
Ipopt::PenaltyLSAcceptor::max_soc_
Index max_soc_
Maximal number of second order correction steps.
Definition: IpPenaltyLSAcceptor.hpp:155
Ipopt::PenaltyLSAcceptor::reference_JacC_delta_
SmartPtr< const Vector > reference_JacC_delta_
Product of Jacobian of equality constraint with x direction.
Definition: IpPenaltyLSAcceptor.hpp:178
Ipopt::PenaltyLSAcceptor::CheckAcceptabilityOfTrialPoint
virtual bool CheckAcceptabilityOfTrialPoint(Number alpha_primal)
Method for checking if current trial point is acceptable.
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::PenaltyLSAcceptor::kappa_soc_
Number kappa_soc_
Required reduction in constraint violation before trying multiple second order correction steps ...
Definition: IpPenaltyLSAcceptor.hpp:159
Ipopt::PenaltyLSAcceptor
Penalty function line search.
Definition: IpPenaltyLSAcceptor.hpp:23
Ipopt::PenaltyLSAcceptor::reference_JacD_delta_
SmartPtr< const Vector > reference_JacD_delta_
Product of Jacobian of (d-s) constraint with search direction.
Definition: IpPenaltyLSAcceptor.hpp:180
Ipopt::BacktrackingLSAcceptor
Base class for backtracking line search acceptors.
Definition: IpBacktrackingLSAcceptor.hpp:21
Ipopt::PenaltyLSAcceptor::reference_theta_
Number reference_theta_
Constraint violation at the point with respect to which progress is to be made.
Definition: IpPenaltyLSAcceptor.hpp:168
Ipopt::PenaltyLSAcceptor::StartWatchDog
virtual void StartWatchDog()
Method for setting internal data if the watchdog procedure is started.
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
IpBacktrackingLSAcceptor.hpp
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::PenaltyLSAcceptor::watchdog_barr_
Number watchdog_barr_
Barrier objective function at reference point.
Definition: IpPenaltyLSAcceptor.hpp:187
Ipopt::PenaltyLSAcceptor::nu_
Number nu_
Current value of the penalty parameter.
Definition: IpPenaltyLSAcceptor.hpp:195
Ipopt::PenaltyLSAcceptor::resto_pred_
Number resto_pred_
When called from the restoration phase, this is the required predicted reduction. ...
Definition: IpPenaltyLSAcceptor.hpp:202
Ipopt::PenaltyLSAcceptor::nu_init_
Number nu_init_
Initial value of penalty parameter.
Definition: IpPenaltyLSAcceptor.hpp:147
Ipopt::PenaltyLSAcceptor::PenaltyLSAcceptor
PenaltyLSAcceptor(const SmartPtr< PDSystemSolver > &pd_solver)
Constructor.
Ipopt::PenaltyLSAcceptor::last_nu_
Number last_nu_
Value of penalty parameter at beginning of the iteration.
Definition: IpPenaltyLSAcceptor.hpp:197
Ipopt::PenaltyLSAcceptor::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
InitializeImpl - overloaded from AlgorithmStrategyObject.
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::PenaltyLSAcceptor::IsAcceptableToCurrentIterate
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.
Ipopt::PenaltyLSAcceptor::CalcPred
Number CalcPred(Number alpha)
Compute predicted reduction for given step size.
Ipopt::PenaltyLSAcceptor::StopWatchDog
virtual void StopWatchDog()
Method for setting internal data if the watchdog procedure is stopped.
Ipopt::PenaltyLSAcceptor::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for OptionsList.
Ipopt::PenaltyLSAcceptor::UpdateForNextIteration
virtual char UpdateForNextIteration(Number alpha_primal_test)
Method for ending the current line search.
Ipopt::PenaltyLSAcceptor::nu_inc_
Number nu_inc_
Incrememt for penalty parameter.
Definition: IpPenaltyLSAcceptor.hpp:149
Ipopt::PenaltyLSAcceptor::reference_gradBarrTDelta_
Number reference_gradBarrTDelta_
Barrier gradient transpose search direction at the point with respect to which progress is to be made...
Definition: IpPenaltyLSAcceptor.hpp:174
Ipopt::PenaltyLSAcceptor::~PenaltyLSAcceptor
virtual ~PenaltyLSAcceptor()
Default destructor.
Ipopt::PenaltyLSAcceptor::soc_method_
Index soc_method_
Second method correction method.
Definition: IpPenaltyLSAcceptor.hpp:161
Ipopt::PenaltyLSAcceptor::TrySecondOrderCorrection
virtual bool TrySecondOrderCorrection(Number alpha_primal_test, Number &alpha_primal, SmartPtr< IteratesVector > &actual_delta)
Try a second order correction for the constraints.
Ipopt::PenaltyLSAcceptor::reference_barr_
Number reference_barr_
Barrier objective function at the point with respect to which progress is to be made.
Definition: IpPenaltyLSAcceptor.hpp:171
Ipopt::PenaltyLSAcceptor::PrepareRestoPhaseStart
virtual void PrepareRestoPhaseStart()
Method that is called before the restoration phase is called.
Ipopt::PenaltyLSAcceptor::reference_dWd_
Number reference_dWd_
Two-sided product of search direction with complete Hessian.
Definition: IpPenaltyLSAcceptor.hpp:176
Ipopt::PenaltyLSAcceptor::watchdog_theta_
Number watchdog_theta_
Constraint violation at reference point.
Definition: IpPenaltyLSAcceptor.hpp:185