Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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: IpProbingMuOracle.hpp 1861 2010-12-21 21:34:47Z andreasw $
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
Specialized CompoundVector class specifically for the algorithm iterates.
Number sigma_max_
safeguarding upper bound on centering parameter sigma
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Implementation of the probing strategy for computing the barrier parameter.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Abstract Base Class for classes that are able to compute a suggested value of the barrier parameter t...
Definition: IpMuOracle.hpp:21
virtual ~ProbingMuOracle()
Default destructor.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
This class stores a list of user set options.
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 (...
void operator=(const ProbingMuOracle &)
Overloaded Equals Operator.
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...
ProbingMuOracle()
Default Constructor.
SmartPtr< PDSystemSolver > pd_solver_
Pointer to the object that should be used to solve the primal-dual system.