Ipopt Documentation  
 
Loading...
Searching...
No Matches
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// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
7#ifndef __IPADAPTIVEMUUPDATE_HPP__
8#define __IPADAPTIVEMUUPDATE_HPP__
9
10#include "IpMuUpdate.hpp"
11#include "IpLineSearch.hpp"
12#include "IpMuOracle.hpp"
13#include "IpFilter.hpp"
15
16namespace Ipopt
17{
18
21{
22public:
25
27 const SmartPtr<LineSearch>& linesearch,
28 const SmartPtr<MuOracle>& free_mu_oracle,
29 const SmartPtr<MuOracle>& fix_mu_oracle = NULL
30 );
31
35
37 virtual bool InitializeImpl(
38 const OptionsList& options,
39 const std::string& prefix
40 );
41
47 virtual bool UpdateBarrierParameter();
48
51 static void RegisterOptions(
53 );
55
56private:
67
69
72 const AdaptiveMuUpdate&
73 );
74
77 const AdaptiveMuUpdate&
78 );
80
89 Number adaptive_mu_safeguard_factor_; //ToDo don't need that?
113
116
129
142
165 Number mu
166 );
167
177
184
187
190
194 std::list<Number> refs_vals_;
197
205
210
217
218};
219
220} // namespace Ipopt
221
222#endif
Non-monotone mu update.
Number quality_function_pd_system()
Method for computing the norm of the primal dual system at the current point.
AdaptiveMuUpdate(const SmartPtr< LineSearch > &linesearch, const SmartPtr< MuOracle > &free_mu_oracle, const SmartPtr< MuOracle > &fix_mu_oracle=NULL)
Constructor.
Index num_refs_max_
Maximal number of reference values (algorithmic parameter)
AdaptiveMuGlobalizationEnum
enumeration for adaptive globalization
Number filter_max_margin_
Maximal margin in filter.
SmartPtr< MuOracle > free_mu_oracle_
Pointer to strategy object that is to be used for computing a suggested value of the barrier paramete...
Number lower_mu_safeguard()
Method for computing a lower safeguard bound for the barrier parameter.
Number init_dual_inf_
Dual infeasibility at initial point.
SmartPtr< MuOracle > fix_mu_oracle_
Pointer to strategy object that is to be used for computing a suggested value for the fixed mu mode.
virtual bool UpdateBarrierParameter()
Method for determining the barrier parameter for the next iteration.
Filter filter_
Alternatively, we might also want to use a filter.
bool check_if_no_bounds_
Flag indicating whether no_bounds_ has been initialized.
Number NewFixedMu()
Compute the value of the fixed mu that should be used in a new fixed mu phase.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
QualityFunctionMuOracle::BalancingTermEnum adaptive_mu_kkt_balancing_term_
bool restore_accepted_iterate_
Flag indicating whether the most recent accepted step should be restored, when switching to the fixed...
SmartPtr< const IteratesVector > accepted_point_
QualityFunctionMuOracle::NormEnum adaptive_mu_kkt_norm_
Number max_ref_val()
Computer the currently largest reference value.
std::list< Number > refs_vals_
Values of the currently stored reference values (norm of pd equations)
Number init_primal_inf_
Primal infeasibility at initial point.
AdaptiveMuGlobalizationEnum adaptive_mu_globalization_
Flag indicating which globalization strategy should be used.
AdaptiveMuUpdate()
Default Constructor.
bool CheckSufficientProgress()
Check whether the point in the "current" fields offers sufficient reduction in order to remain in or ...
bool no_bounds_
Flag indicating whether the problem has any inequality constraints.
Number Compute_tau_monotone(Number mu)
Compute value for the fraction-to-the-boundary parameter given mu in the monotone phase.
void operator=(const AdaptiveMuUpdate &)
Default Assignment Operator.
void RememberCurrentPointAsAccepted()
Include the current point in internal memory to as accepted point.
QualityFunctionMuOracle::CentralityEnum adaptive_mu_kkt_centrality_
AdaptiveMuUpdate(const AdaptiveMuUpdate &)
Copy Constructor.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Initialize method - overloaded from AlgorithmStrategyObject.
Number refs_red_fact_
Factor requested to reduce the reference values.
Number compl_inf_tol_
Unscaled tolerance for complementarity.
void InitializeFixedMuGlobalization()
SmartPtr< LineSearch > linesearch_
Line search object of the Ipopt algorithm.
Number filter_margin_fact_
Factor for filter margin.
virtual ~AdaptiveMuUpdate()
Destructor.
Number min_ref_val()
Computer the currently smallest reference value.
Class for the filter.
Definition IpFilter.hpp:135
Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-...
This class stores a list of user set options.
BalancingTermEnum
enum for the quality function balancing term type
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17