Ipopt Documentation  
 
Loading...
Searching...
No Matches
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// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
7#ifndef __IPPROBINGMUORACLE_HPP__
8#define __IPPROBINGMUORACLE_HPP__
9
10#include "IpMuOracle.hpp"
11#include "IpPDSystemSolver.hpp"
12
13namespace Ipopt
14{
15
20{
21public:
24
26 const SmartPtr<PDSystemSolver>& pd_solver
27 );
28
32
34 virtual bool InitializeImpl(
35 const OptionsList& options,
36 const std::string& prefix
37 );
38
43 virtual bool CalculateMu(
44 Number mu_min,
45 Number mu_max,
46 Number& new_mu
47 );
48
49 static void RegisterOptions(
51 );
52
53private:
64
66
69 const ProbingMuOracle&
70 );
71
74 const ProbingMuOracle&
75 );
77
82
87 Number alpha_primal,
88 Number alpha_dual,
89 const IteratesVector& step
90 );
91
94
97};
98
99} // namespace Ipopt
100
101#endif
Specialized CompoundVector class specifically for the algorithm iterates.
Abstract Base Class for classes that are able to compute a suggested value of the barrier parameter t...
This class stores a list of user set options.
Implementation of the probing strategy for computing the barrier parameter.
ProbingMuOracle(const SmartPtr< PDSystemSolver > &pd_solver)
Constructor.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
void operator=(const ProbingMuOracle &)
Default Assignment Operator.
virtual ~ProbingMuOracle()
Destructor.
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 (...
Number CalculateAffineMu(Number alpha_primal, Number alpha_dual, const IteratesVector &step)
Auxiliary function for computing the average complementarity at a point, given step sizes and step.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Number sigma_max_
safeguarding upper bound on centering parameter sigma
ProbingMuOracle(const ProbingMuOracle &)
Copy Constructor.
SmartPtr< PDSystemSolver > pd_solver_
Pointer to the object that should be used to solve the primal-dual system.
ProbingMuOracle()
Default Constructor.
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.
Definition IpTypes.hpp:17