Ipopt
3.11.8
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Algorithm
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
"
16
#include "
IpQualityFunctionMuOracle.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
63
AdaptiveMuUpdate
();
64
66
AdaptiveMuUpdate
(
const
AdaptiveMuUpdate
&);
67
69
void
operator=
(
const
AdaptiveMuUpdate
&);
71
74
Number
mu_max_fact_
;
75
Number
mu_max_
;
76
Number
mu_min_
;
77
Number
mu_target_
;
78
bool
mu_min_default_
;
79
Number
tau_min_
;
80
Number
adaptive_mu_safeguard_factor_
;
//ToDo don't need that?
81
Number
adaptive_mu_monotone_init_factor_
;
82
Number
barrier_tol_factor_
;
83
Number
mu_linear_decrease_factor_
;
84
Number
mu_superlinear_decrease_power_
;
85
QualityFunctionMuOracle::NormEnum
adaptive_mu_kkt_norm_
;
86
QualityFunctionMuOracle::CentralityEnum
adaptive_mu_kkt_centrality_
;
87
QualityFunctionMuOracle::BalancingTermEnum
adaptive_mu_kkt_balancing_term_
;
89
enum
AdaptiveMuGlobalizationEnum
90
{
91
KKT_ERROR
=0,
92
FILTER_OBJ_CONSTR
,
93
NEVER_MONOTONE_MODE
94
};
96
AdaptiveMuGlobalizationEnum
adaptive_mu_globalization_
;
98
Number
filter_max_margin_
;
100
Number
filter_margin_fact_
;
102
Number
compl_inf_tol_
;
104
108
SmartPtr<LineSearch>
linesearch_
;
112
SmartPtr<MuOracle>
free_mu_oracle_
;
117
SmartPtr<MuOracle>
fix_mu_oracle_
;
119
122
Number
init_dual_inf_
;
125
Number
init_primal_inf_
;
126
130
void
InitializeFixedMuGlobalization
();
134
bool
CheckSufficientProgress
();
137
void
RememberCurrentPointAsAccepted
();
141
Number
NewFixedMu
();
144
Number
Compute_tau_monotone
(
Number
mu);
145
151
Number
quality_function_pd_system
();
152
156
Number
lower_mu_safeguard
();
157
159
Number
max_ref_val
();
160
162
Number
min_ref_val
();
163
165
Index
num_refs_max_
;
168
std::list<Number>
refs_vals_
;
170
Number
refs_red_fact_
;
171
173
Filter
filter_
;
176
bool
restore_accepted_iterate_
;
178
180
bool
no_bounds_
;
182
bool
check_if_no_bounds_
;
183
188
SmartPtr<const IteratesVector>
accepted_point_
;
190
191
};
192
193
}
// namespace Ipopt
194
195
#endif
Generated by
1.8.3.1