Main Page
Namespaces
Classes
Files
File List
File Members
var
build
temp
tmp.niCloInx4p
4.0-0-0
coinor-ipopt
coinor-ipopt-3.10.2
Ipopt
src
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 on Mon Mar 17 2014 19:49:12 by
1.8.1.2