Ipopt  3.12.13
IpProbingMuOracle.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2006 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id$
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8 
9 #ifndef __IPPROBINGMUORACLE_HPP__
10 #define __IPPROBINGMUORACLE_HPP__
11 
12 #include "IpMuOracle.hpp"
13 #include "IpPDSystemSolver.hpp"
14 
15 namespace Ipopt
16 {
17 
21  class ProbingMuOracle : public MuOracle
22  {
23  public:
27  ProbingMuOracle(const SmartPtr<PDSystemSolver>& pd_solver);
29  virtual ~ProbingMuOracle();
31 
33  virtual bool InitializeImpl(const OptionsList& options,
34  const std::string& prefix);
35 
40  virtual bool CalculateMu(Number mu_min, Number mu_max, Number& new_mu);
41 
44  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
46 
47  private:
56 
61 
63  void operator=(const ProbingMuOracle&);
65 
70 
74  Number CalculateAffineMu(Number alpha_primal,
75  Number alpha_dual,
76  const IteratesVector& step);
77 
83  };
84 
85 } // namespace Ipopt
86 
87 #endif
Ipopt::ProbingMuOracle
Implementation of the probing strategy for computing the barrier parameter.
Definition: IpProbingMuOracle.hpp:21
Ipopt::ProbingMuOracle::CalculateAffineMu
Number CalculateAffineMu(Number alpha_primal, Number alpha_dual, const IteratesVector &step)
Auxilliary function for computing the average complementarity at a point, given step sizes and step.
Ipopt
Definition: matlabjournal.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::ProbingMuOracle::~ProbingMuOracle
virtual ~ProbingMuOracle()
Default destructor.
IpMuOracle.hpp
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::ProbingMuOracle::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Ipopt::ProbingMuOracle::pd_solver_
SmartPtr< PDSystemSolver > pd_solver_
Pointer to the object that should be used to solve the primal-dual system.
Definition: IpProbingMuOracle.hpp:69
IpPDSystemSolver.hpp
Ipopt::ProbingMuOracle::CalculateMu
virtual bool CalculateMu(Number mu_min, Number mu_max, Number &new_mu)
Method for computing the value of the barrier parameter that could be used in the current iteration (...
Ipopt::ProbingMuOracle::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Ipopt::MuOracle
Abstract Base Class for classes that are able to compute a suggested value of the barrier parameter t...
Definition: IpMuOracle.hpp:21
Ipopt::ProbingMuOracle::operator=
void operator=(const ProbingMuOracle &)
Overloaded Equals Operator.
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::ProbingMuOracle::ProbingMuOracle
ProbingMuOracle()
Default Constructor.
Ipopt::ProbingMuOracle::sigma_max_
Number sigma_max_
safeguarding upper bound on centering parameter sigma
Definition: IpProbingMuOracle.hpp:81
Ipopt::IteratesVector
Specialized CompoundVector class specifically for the algorithm iterates.
Definition: IpIteratesVector.hpp:27