Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpAdaptiveMuUpdate.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2010 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpAdaptiveMuUpdate.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8 
9 #ifndef __IPADAPTIVEMUUPDATE_HPP__
10 #define __IPADAPTIVEMUUPDATE_HPP__
11 
12 #include "IpMuUpdate.hpp"
13 #include "IpLineSearch.hpp"
14 #include "IpMuOracle.hpp"
15 #include "IpFilter.hpp"
17 
18 namespace Ipopt
19 {
20 
23  class AdaptiveMuUpdate : public MuUpdate
24  {
25  public:
29  AdaptiveMuUpdate(const SmartPtr<LineSearch>& linesearch,
30  const SmartPtr<MuOracle>& free_mu_oracle,
31  const SmartPtr<MuOracle>& fix_mu_oracle=NULL);
33  virtual ~AdaptiveMuUpdate();
35 
37  virtual bool InitializeImpl(const OptionsList& options,
38  const std::string& prefix);
39 
45  virtual bool UpdateBarrierParameter();
46 
49  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
51 
52  private:
61 
64 
67 
69  void operator=(const AdaptiveMuUpdate&);
71 
80  Number adaptive_mu_safeguard_factor_; //ToDo don't need that?
90  {
94  };
104 
119 
126 
141  Number NewFixedMu();
145 
152 
157 
160 
163 
168  std::list<Number> refs_vals_;
171 
178 
183 
190 
191  };
192 
193 } // namespace Ipopt
194 
195 #endif
QualityFunctionMuOracle::CentralityEnum adaptive_mu_kkt_centrality_
QualityFunctionMuOracle::NormEnum adaptive_mu_kkt_norm_
virtual bool UpdateBarrierParameter()
Method for determining the barrier parameter for the next iteration.
Number compl_inf_tol_
Unscaled tolerance for complementarity.
Filter filter_
Alternatively, we might also want to use a filter.
SmartPtr< MuOracle > fix_mu_oracle_
Pointer to strategy object that is to be used for computing a suggested value for the fixed mu mode...
Number filter_margin_fact_
Factor for filter margin.
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
SmartPtr< MuOracle > free_mu_oracle_
Pointer to strategy object that is to be used for computing a suggested value of the barrier paramete...
Number filter_max_margin_
Maximal margin in filter.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Initialize method - overloaded from AlgorithmStrategyObject.
SmartPtr< LineSearch > linesearch_
Line search object of the Ipopt algorithm.
Number min_ref_val()
Computer the currently smallest reference value.
void RememberCurrentPointAsAccepted()
Include the current point in internal memory to as accepted point.
Number init_primal_inf_
Primal infeasibility at initial point.
Index num_refs_max_
Maximal number of reference values (algorithmic parameter)
SmartPtr< const IteratesVector > accepted_point_
bool check_if_no_bounds_
Flag indicating whether no_bounds_ has been initialized.
QualityFunctionMuOracle::BalancingTermEnum adaptive_mu_kkt_balancing_term_
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Number refs_red_fact_
Factor requested to reduce the reference values.
This class stores a list of user set options.
bool restore_accepted_iterate_
Flag indicating whether the most recent accepted step should be restored, when switching to the fixed...
virtual ~AdaptiveMuUpdate()
Default destructor.
void operator=(const AdaptiveMuUpdate &)
Overloaded Equals Operator.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
void InitializeFixedMuGlobalization()
bool no_bounds_
Flag indicating whether the problem has any inequality constraints.
AdaptiveMuGlobalizationEnum
enumeration for adaptive globalization
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Number init_dual_inf_
Dual infeasibility at initial point.
BalancingTermEnum
enum for the quality function balancing term type
Non-monotone mu update.
Number Compute_tau_monotone(Number mu)
Compute value for the fraction-to-the-boundary parameter given mu in the monotone phase...
Class for the filter.
Definition: IpFilter.hpp:111
Number max_ref_val()
Computer the currently largest reference value.
Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-...
Definition: IpMuUpdate.hpp:20
bool CheckSufficientProgress()
Check whether the point in the &quot;current&quot; fields offers sufficient reduction in order to remain in or ...
Number lower_mu_safeguard()
Method for computing a lower safeguard bound for the barrier parameter.
Number NewFixedMu()
Compute the value of the fixed mu that should be used in a new fixed mu phase.
AdaptiveMuGlobalizationEnum adaptive_mu_globalization_
Flag indicating which globalization strategy should be used.
std::list< Number > refs_vals_
Values of the currently stored reference values (norm of pd equations)
Number quality_function_pd_system()
Method for computing the norm of the primal dual system at the current point.
AdaptiveMuUpdate()
Default Constructor.