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
IpEquilibrationScaling.hpp
Go to the documentation of this file.
1
// Copyright (C) 2007 International Business Machines and others.
2
// All Rights Reserved.
3
// This code is published under the Eclipse Public License.
4
//
5
// $Id: IpEquilibrationScaling.hpp 1861 2010-12-21 21:34:47Z andreasw $
6
//
7
// Authors: Andreas Waechter IBM 2007-05-21
8
9
#ifndef __IPEQUILIBRATIONSCALING_HPP__
10
#define __IPEQUILIBRATIONSCALING_HPP__
11
12
#include "
IpNLPScaling.hpp
"
13
#include "
IpNLP.hpp
"
14
15
namespace
Ipopt
16
{
21
class
EquilibrationScaling
:
public
StandardScalingBase
22
{
23
public
:
26
EquilibrationScaling
(
const
SmartPtr<NLP>
& nlp)
27
:
28
StandardScalingBase
(),
29
nlp_
(nlp)
30
{}
31
33
virtual
~EquilibrationScaling
()
34
{}
36
40
static
void
RegisterOptions
(
const
SmartPtr<RegisteredOptions>
& roptions);
42
43
protected
:
45
bool
InitializeImpl
(
const
OptionsList
& options,
46
const
std::string& prefix);
47
48
virtual
void
DetermineScalingParametersImpl
(
49
const
SmartPtr<const VectorSpace>
x_space,
50
const
SmartPtr<const VectorSpace>
c_space,
51
const
SmartPtr<const VectorSpace>
d_space,
52
const
SmartPtr<const MatrixSpace>
jac_c_space,
53
const
SmartPtr<const MatrixSpace>
jac_d_space,
54
const
SmartPtr<const SymMatrixSpace>
h_space,
55
const
Matrix
& Px_L,
const
Vector
&
x_L
,
56
const
Matrix
& Px_U,
const
Vector
&
x_U
,
57
Number
& df,
58
SmartPtr<Vector>
& dx,
59
SmartPtr<Vector>
& dc,
60
SmartPtr<Vector>
& dd);
61
62
private
:
63
72
74
EquilibrationScaling
(
const
EquilibrationScaling
&);
75
77
void
operator=
(
const
EquilibrationScaling
&);
79
81
SmartPtr<NLP>
nlp_
;
82
85
Number
point_perturbation_radius_
;
86
};
87
92
class
PointPerturber
:
public
ReferencedObject
93
{
94
public
:
97
PointPerturber
(
const
Vector
& reference_point,
98
Number
random_pert_radius,
99
const
Matrix
& Px_L,
const
Vector
&
x_L
,
100
const
Matrix
& Px_U,
const
Vector
&
x_U
);
101
103
virtual
~PointPerturber
()
104
{}
106
108
SmartPtr<Vector>
MakeNewPerturbedPoint
()
const
;
109
110
private
:
111
120
122
PointPerturber
(
const
PointPerturber
&);
123
125
void
operator=
(
const
PointPerturber
&);
127
129
SmartPtr<Vector>
ref_point_
;
130
132
SmartPtr<Vector>
pert_dir_
;
133
};
134
135
}
// namespace Ipopt
136
#endif
Generated on Mon Mar 17 2014 19:49:12 by
1.8.1.2