Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpNLPScaling.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2007 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpNLPScaling.hpp 2269 2013-05-05 11:32:40Z stefan $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8
9 #ifndef __IPNLPSCALING_HPP__
10 #define __IPNLPSCALING_HPP__
11
12 #include "IpOptionsList.hpp"
13 #include "IpRegOptions.hpp"
14
15 namespace Ipopt
16 {
17 // forward declarations
18 class Vector;
19 class VectorSpace;
20 class Matrix;
21 class MatrixSpace;
22 class SymMatrix;
23 class SymMatrixSpace;
24 class ScaledMatrixSpace;
25 class SymScaledMatrixSpace;
26
32 class NLPScalingObject : public ReferencedObject
33 {
34 public:
37 NLPScalingObject();
38
40 virtual ~NLPScalingObject();
42
44 bool Initialize(const Journalist& jnlst,
45 const OptionsList& options,
46 const std::string& prefix)
47 {
48 jnlst_ = &jnlst;
49 return InitializeImpl(options, prefix);
50 }
51
55 virtual Number apply_obj_scaling(const Number& f)=0;
57 virtual Number unapply_obj_scaling(const Number& f)=0;
59 virtual SmartPtr<Vector>
60 apply_vector_scaling_x_NonConst(const SmartPtr<const Vector>& v)=0;
62 virtual SmartPtr<const Vector>
63 apply_vector_scaling_x(const SmartPtr<const Vector>& v)=0;
65 virtual SmartPtr<Vector>
66 unapply_vector_scaling_x_NonConst(const SmartPtr<const Vector>& v)=0;
68 virtual SmartPtr<const Vector>
69 unapply_vector_scaling_x(const SmartPtr<const Vector>& v)=0;
71 virtual SmartPtr<const Vector>
72 apply_vector_scaling_c(const SmartPtr<const Vector>& v)=0;
74 virtual SmartPtr<const Vector>
75 unapply_vector_scaling_c(const SmartPtr<const Vector>& v)=0;
77 virtual SmartPtr<Vector>
78 apply_vector_scaling_c_NonConst(const SmartPtr<const Vector>& v)=0;
80 virtual SmartPtr<Vector>
81 unapply_vector_scaling_c_NonConst(const SmartPtr<const Vector>& v)=0;
83 virtual SmartPtr<const Vector>
84 apply_vector_scaling_d(const SmartPtr<const Vector>& v)=0;
86 virtual SmartPtr<const Vector>
87 unapply_vector_scaling_d(const SmartPtr<const Vector>& v)=0;
89 virtual SmartPtr<Vector>
90 apply_vector_scaling_d_NonConst(const SmartPtr<const Vector>& v)=0;
92 virtual SmartPtr<Vector>
93 unapply_vector_scaling_d_NonConst(const SmartPtr<const Vector>& v)=0;
98 virtual SmartPtr<const Matrix>
99 apply_jac_c_scaling(SmartPtr<const Matrix> matrix)=0;
104 virtual SmartPtr<const Matrix>
105 apply_jac_d_scaling(SmartPtr<const Matrix> matrix)=0;
110 virtual SmartPtr<const SymMatrix>
111 apply_hessian_scaling(SmartPtr<const SymMatrix> matrix)=0;
113
117 SmartPtr<Vector> apply_vector_scaling_x_LU_NonConst(
118 const Matrix& Px_LU,
119 const SmartPtr<const Vector>& lu,
120 const VectorSpace& x_space);
122 SmartPtr<const Vector> apply_vector_scaling_x_LU(
123 const Matrix& Px_LU,
124 const SmartPtr<const Vector>& lu,
125 const VectorSpace& x_space);
127 SmartPtr<Vector> apply_vector_scaling_d_LU_NonConst(
128 const Matrix& Pd_LU,
129 const SmartPtr<const Vector>& lu,
130 const VectorSpace& d_space);
132 SmartPtr<const Vector> apply_vector_scaling_d_LU(
133 const Matrix& Pd_LU,
134 const SmartPtr<const Vector>& lu,
135 const VectorSpace& d_space);
137 SmartPtr<Vector> unapply_vector_scaling_d_LU_NonConst(
138 const Matrix& Pd_LU,
139 const SmartPtr<const Vector>& lu,
140 const VectorSpace& d_space);
142 SmartPtr<const Vector> unapply_vector_scaling_d_LU(
143 const Matrix& Pd_LU,
144 const SmartPtr<const Vector>& lu,
145 const VectorSpace& d_space);
147
153 virtual SmartPtr<Vector>
154 apply_grad_obj_scaling_NonConst(const SmartPtr<const Vector>& v);
156 virtual SmartPtr<const Vector>
157 apply_grad_obj_scaling(const SmartPtr<const Vector>& v);
160 virtual SmartPtr<Vector>
161 unapply_grad_obj_scaling_NonConst(const SmartPtr<const Vector>& v);
164 virtual SmartPtr<const Vector>
165 unapply_grad_obj_scaling(const SmartPtr<const Vector>& v);
167
172 virtual bool have_x_scaling()=0;
174 virtual bool have_c_scaling()=0;
176 virtual bool have_d_scaling()=0;
178
182 virtual void DetermineScaling(const SmartPtr<const VectorSpace> x_space,
183 const SmartPtr<const VectorSpace> c_space,
184 const SmartPtr<const VectorSpace> d_space,
185 const SmartPtr<const MatrixSpace> jac_c_space,
186 const SmartPtr<const MatrixSpace> jac_d_space,
187 const SmartPtr<const SymMatrixSpace> h_space,
188 SmartPtr<const MatrixSpace>& new_jac_c_space,
189 SmartPtr<const MatrixSpace>& new_jac_d_space,
190 SmartPtr<const SymMatrixSpace>& new_h_space,
191 const Matrix& Px_L, const Vector& x_L,
192 const Matrix& Px_U, const Vector& x_U)=0;
193 protected:
196 virtual bool InitializeImpl(const OptionsList& options,
197 const std::string& prefix)=0;
198
200 const Journalist& Jnlst() const
201 {
202 return *jnlst_;
203 }
204 private:
205
214
216 NLPScalingObject(const NLPScalingObject&);
217
219 void operator=(const NLPScalingObject&);
221
222 SmartPtr<const Journalist> jnlst_;
223 };
224
229 class StandardScalingBase : public NLPScalingObject
230 {
231 public:
234 StandardScalingBase();
235
237 virtual ~StandardScalingBase();
239
243 virtual Number apply_obj_scaling(const Number& f);
245 virtual Number unapply_obj_scaling(const Number& f);
247 virtual SmartPtr<Vector>
248 apply_vector_scaling_x_NonConst(const SmartPtr<const Vector>& v);
250 virtual SmartPtr<const Vector>
251 apply_vector_scaling_x(const SmartPtr<const Vector>& v);
253 virtual SmartPtr<Vector>
254 unapply_vector_scaling_x_NonConst(const SmartPtr<const Vector>& v);
256 virtual SmartPtr<const Vector>
257 unapply_vector_scaling_x(const SmartPtr<const Vector>& v);
259 virtual SmartPtr<const Vector>
260 apply_vector_scaling_c(const SmartPtr<const Vector>& v);
262 virtual SmartPtr<const Vector>
263 unapply_vector_scaling_c(const SmartPtr<const Vector>& v);
265 virtual SmartPtr<Vector>
266 apply_vector_scaling_c_NonConst(const SmartPtr<const Vector>& v);
268 virtual SmartPtr<Vector>
269 unapply_vector_scaling_c_NonConst(const SmartPtr<const Vector>& v);
271 virtual SmartPtr<const Vector>
272 apply_vector_scaling_d(const SmartPtr<const Vector>& v);
274 virtual SmartPtr<const Vector>
275 unapply_vector_scaling_d(const SmartPtr<const Vector>& v);
277 virtual SmartPtr<Vector>
278 apply_vector_scaling_d_NonConst(const SmartPtr<const Vector>& v);
280 virtual SmartPtr<Vector>
281 unapply_vector_scaling_d_NonConst(const SmartPtr<const Vector>& v);
286 virtual SmartPtr<const Matrix>
287 apply_jac_c_scaling(SmartPtr<const Matrix> matrix);
292 virtual SmartPtr<const Matrix>
293 apply_jac_d_scaling(SmartPtr<const Matrix> matrix);
298 virtual SmartPtr<const SymMatrix>
299 apply_hessian_scaling(SmartPtr<const SymMatrix> matrix);
301
305 virtual bool have_x_scaling();
306 virtual bool have_c_scaling();
307 virtual bool have_d_scaling();
309
313 virtual void DetermineScaling(const SmartPtr<const VectorSpace> x_space,
314 const SmartPtr<const VectorSpace> c_space,
315 const SmartPtr<const VectorSpace> d_space,
316 const SmartPtr<const MatrixSpace> jac_c_space,
317 const SmartPtr<const MatrixSpace> jac_d_space,
318 const SmartPtr<const SymMatrixSpace> h_space,
319 SmartPtr<const MatrixSpace>& new_jac_c_space,
320 SmartPtr<const MatrixSpace>& new_jac_d_space,
321 SmartPtr<const SymMatrixSpace>& new_h_space,
322 const Matrix& Px_L, const Vector& x_L,
323 const Matrix& Px_U, const Vector& x_U);
324
327 static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
329
330 protected:
332 virtual bool InitializeImpl(const OptionsList& options,
333 const std::string& prefix);
334
339 virtual void DetermineScalingParametersImpl(
340 const SmartPtr<const VectorSpace> x_space,
341 const SmartPtr<const VectorSpace> c_space,
342 const SmartPtr<const VectorSpace> d_space,
343 const SmartPtr<const MatrixSpace> jac_c_space,
344 const SmartPtr<const MatrixSpace> jac_d_space,
345 const SmartPtr<const SymMatrixSpace> h_space,
346 const Matrix& Px_L, const Vector& x_L,
347 const Matrix& Px_U, const Vector& x_U,
348 Number& df,
349 SmartPtr<Vector>& dx,
350 SmartPtr<Vector>& dc,
351 SmartPtr<Vector>& dd)=0;
352
353 private:
354
363
365 StandardScalingBase(const StandardScalingBase&);
366
368 void operator=(const StandardScalingBase&);
370
377 Number df_;
379 SmartPtr<Vector> dx_;
381
385 SmartPtr<ScaledMatrixSpace> scaled_jac_c_space_;
387 SmartPtr<ScaledMatrixSpace> scaled_jac_d_space_;
389 SmartPtr<SymScaledMatrixSpace> scaled_h_space_;
391
395 Number obj_scaling_factor_;
397 };
398
400 class NoNLPScalingObject : public StandardScalingBase
401 {
402 public:
405 NoNLPScalingObject()
406 {}
407
409 virtual ~NoNLPScalingObject()
410 {}
412
413
414 protected:
416 virtual void DetermineScalingParametersImpl(
417 const SmartPtr<const VectorSpace> x_space,
418 const SmartPtr<const VectorSpace> c_space,
419 const SmartPtr<const VectorSpace> d_space,
420 const SmartPtr<const MatrixSpace> jac_c_space,
421 const SmartPtr<const MatrixSpace> jac_d_space,
422 const SmartPtr<const SymMatrixSpace> h_space,
423 const Matrix& Px_L, const Vector& x_L,
424 const Matrix& Px_U, const Vector& x_U,
425 Number& df,
426 SmartPtr<Vector>& dx,
427 SmartPtr<Vector>& dc,
428 SmartPtr<Vector>& dd);
429
430 private:
431
440
442 NoNLPScalingObject(const NoNLPScalingObject&);
443
445 void operator=(const NoNLPScalingObject&);
447 };
448
449 } // namespace Ipopt
450
451 #endif
Ipopt::NLPScalingObject
This is the abstract base class for problem scaling.
Definition: IpNLPScaling.hpp:32
Ipopt::StandardScalingBase::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Overloaded initialization method.
Ipopt::StandardScalingBase::apply_jac_c_scaling
virtual SmartPtr< const Matrix > apply_jac_c_scaling(SmartPtr< const Matrix > matrix)
Returns a scaled version of the jacobian for c.
Ipopt::NLPScalingObject::apply_vector_scaling_d_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_d_NonConst(const SmartPtr< const Vector > &v)=0
Returns an d-scaled version of the given vector.
Ipopt::NLPScalingObject::have_d_scaling
virtual bool have_d_scaling()=0
Returns true if the inequality constraints are scaled.
Ipopt::NoNLPScalingObject::operator=
void operator=(const NoNLPScalingObject &)
Overloaded Equals Operator.
Ipopt::StandardScalingBase::apply_vector_scaling_c
virtual SmartPtr< const Vector > apply_vector_scaling_c(const SmartPtr< const Vector > &v)
Returns an c-scaled version of the given vector.
Ipopt::NLPScalingObject::unapply_obj_scaling
virtual Number unapply_obj_scaling(const Number &f)=0
Returns an obj-unscaled version of the given scalar.
Ipopt::StandardScalingBase::apply_vector_scaling_d_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_d_NonConst(const SmartPtr< const Vector > &v)
Returns an d-scaled version of the given vector.
Ipopt::StandardScalingBase::unapply_obj_scaling
virtual Number unapply_obj_scaling(const Number &f)
Returns an obj-unscaled version of the given scalar.
Ipopt::NLPScalingObject::unapply_grad_obj_scaling_NonConst
virtual SmartPtr< Vector > unapply_grad_obj_scaling_NonConst(const SmartPtr< const Vector > &v)
Returns a grad_f unscaled version (d_f * D_x^{-1}) of the given vector.
Ipopt::StandardScalingBase::have_c_scaling
virtual bool have_c_scaling()
Returns true if the equality constraints are scaled.
Ipopt::NLPScalingObject::unapply_vector_scaling_d_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_d_NonConst(const SmartPtr< const Vector > &v)=0
Returns an d-unscaled version of the given vector.
Ipopt::StandardScalingBase::obj_scaling_factor_
Number obj_scaling_factor_
Additional scaling value for the objective function.
Definition: IpNLPScaling.hpp:395
Ipopt::NLPScalingObject::have_x_scaling
virtual bool have_x_scaling()=0
Returns true if the primal x variables are scaled.
Ipopt::NLPScalingObject::unapply_vector_scaling_d_LU
SmartPtr< const Vector > unapply_vector_scaling_d_LU(const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space)
Returns an d-unscaled vector in the d_L or d_U space.
Ipopt::StandardScalingBase::unapply_vector_scaling_d_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_d_NonConst(const SmartPtr< const Vector > &v)
Returns an d-unscaled version of the given vector.
Ipopt::StandardScalingBase::~StandardScalingBase
virtual ~StandardScalingBase()
Default destructor.
Ipopt::NoNLPScalingObject
Class implementing the scaling object that doesn&#39;t to any scaling.
Definition: IpNLPScaling.hpp:400
Ipopt::NLPScalingObject::apply_vector_scaling_x_LU
SmartPtr< const Vector > apply_vector_scaling_x_LU(const Matrix &Px_LU, const SmartPtr< const Vector > &lu, const VectorSpace &x_space)
Returns an x-scaled vector in the x_L or x_U space.
Ipopt::NLPScalingObject::have_c_scaling
virtual bool have_c_scaling()=0
Returns true if the equality constraints are scaled.
Ipopt::NoNLPScalingObject::NoNLPScalingObject
NoNLPScalingObject()
Definition: IpNLPScaling.hpp:405
Ipopt::StandardScalingBase::scaled_h_space_
SmartPtr< SymScaledMatrixSpace > scaled_h_space_
Scaled hessian of lagrangian spacea.
Definition: IpNLPScaling.hpp:389
Ipopt::NLPScalingObject::operator=
void operator=(const NLPScalingObject &)
Overloaded Equals Operator.
Ipopt::StandardScalingBase::scaled_jac_d_space_
SmartPtr< ScaledMatrixSpace > scaled_jac_d_space_
Scaled jacobian of d space.
Definition: IpNLPScaling.hpp:387
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::NLPScalingObject::unapply_vector_scaling_d_LU_NonConst
SmartPtr< Vector > unapply_vector_scaling_d_LU_NonConst(const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space)
Returns an d-unscaled vector in the d_L or d_U space.
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::NLPScalingObject::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0
Implementation of the initialization method that has to be overloaded by for each derived class...
Ipopt::NLPScalingObject::unapply_vector_scaling_d
virtual SmartPtr< const Vector > unapply_vector_scaling_d(const SmartPtr< const Vector > &v)=0
Returns an d-unscaled version of the given vector.
Ipopt::NLPScalingObject::~NLPScalingObject
virtual ~NLPScalingObject()
Default destructor.
Ipopt::NLPScalingObject::apply_jac_d_scaling
virtual SmartPtr< const Matrix > apply_jac_d_scaling(SmartPtr< const Matrix > matrix)=0
Returns a scaled version of the jacobian for d If the overloaded method does not create a new matrix...
Ipopt::StandardScalingBase
This is a base class for many standard scaling techniques.
Definition: IpNLPScaling.hpp:229
Ipopt::NoNLPScalingObject::~NoNLPScalingObject
virtual ~NoNLPScalingObject()
Default destructor.
Definition: IpNLPScaling.hpp:409
Ipopt::NLPScalingObject::apply_vector_scaling_x_LU_NonConst
SmartPtr< Vector > apply_vector_scaling_x_LU_NonConst(const Matrix &Px_LU, const SmartPtr< const Vector > &lu, const VectorSpace &x_space)
Methods for scaling bounds - these wrap those above.
Ipopt::StandardScalingBase::unapply_vector_scaling_d
virtual SmartPtr< const Vector > unapply_vector_scaling_d(const SmartPtr< const Vector > &v)
Returns an d-unscaled version of the given vector.
Ipopt::StandardScalingBase::have_d_scaling
virtual bool have_d_scaling()
Returns true if the inequality constraints are scaled.
Ipopt::StandardScalingBase::apply_vector_scaling_x_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_x_NonConst(const SmartPtr< const Vector > &v)
Returns an x-scaled version of the given vector.
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::NLPScalingObject::apply_vector_scaling_c
virtual SmartPtr< const Vector > apply_vector_scaling_c(const SmartPtr< const Vector > &v)=0
Returns an c-scaled version of the given vector.
Ipopt::ReferencedObject
ReferencedObject class.
Definition: IpReferenced.hpp:174
Ipopt::NLPScalingObject::apply_vector_scaling_d
virtual SmartPtr< const Vector > apply_vector_scaling_d(const SmartPtr< const Vector > &v)=0
Returns an d-scaled version of the given vector.
Ipopt::NLPScalingObject::apply_vector_scaling_d_LU_NonConst
SmartPtr< Vector > apply_vector_scaling_d_LU_NonConst(const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space)
Returns an d-scaled vector in the d_L or d_U space.
Ipopt::NLPScalingObject::apply_obj_scaling
virtual Number apply_obj_scaling(const Number &f)=0
Methods to map scaled and unscaled matrices.
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::StandardScalingBase::apply_vector_scaling_c_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_c_NonConst(const SmartPtr< const Vector > &v)
Returns an c-scaled version of the given vector.
Ipopt::VectorSpace
VectorSpace base class, corresponding to the Vector base class.
Definition: IpVector.hpp:390
Ipopt::StandardScalingBase::unapply_vector_scaling_c_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_c_NonConst(const SmartPtr< const Vector > &v)
Returns an c-unscaled version of the given vector.
Ipopt::StandardScalingBase::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Ipopt::NLPScalingObject::jnlst_
SmartPtr< const Journalist > jnlst_
Definition: IpNLPScaling.hpp:222
Ipopt::Matrix
Matrix Base Class.
Definition: IpMatrix.hpp:27
Ipopt::NLPScalingObject::apply_vector_scaling_d_LU
SmartPtr< const Vector > apply_vector_scaling_d_LU(const Matrix &Pd_LU, const SmartPtr< const Vector > &lu, const VectorSpace &d_space)
Returns an d-scaled vector in the d_L or d_U space.
Ipopt::NLPScalingObject::unapply_vector_scaling_c
virtual SmartPtr< const Vector > unapply_vector_scaling_c(const SmartPtr< const Vector > &v)=0
Returns an c-unscaled version of the given vector.
Ipopt::NLPScalingObject::apply_hessian_scaling
virtual SmartPtr< const SymMatrix > apply_hessian_scaling(SmartPtr< const SymMatrix > matrix)=0
Returns a scaled version of the hessian of the lagrangian If the overloaded method does not create a ...
Ipopt::NLPScalingObject::apply_vector_scaling_x
virtual SmartPtr< const Vector > apply_vector_scaling_x(const SmartPtr< const Vector > &v)=0
Returns an x-scaled version of the given vector.
Ipopt::StandardScalingBase::apply_hessian_scaling
virtual SmartPtr< const SymMatrix > apply_hessian_scaling(SmartPtr< const SymMatrix > matrix)
Returns a scaled version of the hessian of the lagrangian If the overloaded method does not create a ...
Ipopt::NLPScalingObject::Jnlst
const Journalist & Jnlst() const
Accessor method for the journalist.
Definition: IpNLPScaling.hpp:200
Ipopt::StandardScalingBase::scaled_jac_c_space_
SmartPtr< ScaledMatrixSpace > scaled_jac_c_space_
Scaled Matrix Spaces.
Definition: IpNLPScaling.hpp:385
x_L
Number * x_L
Lower bounds on variables.
Definition: IpStdCInterface.h:137
Ipopt::NoNLPScalingObject::DetermineScalingParametersImpl
virtual void DetermineScalingParametersImpl(const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U, Number &df, SmartPtr< Vector > &dx, SmartPtr< Vector > &dc, SmartPtr< Vector > &dd)
Overloaded from StandardScalingBase.
Ipopt::StandardScalingBase::DetermineScalingParametersImpl
virtual void DetermineScalingParametersImpl(const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U, Number &df, SmartPtr< Vector > &dx, SmartPtr< Vector > &dc, SmartPtr< Vector > &dd)=0
This is the method that has to be overloaded by a particular scaling method that somehow computes the...
x_U
Number Number * x_U
Upper bounds on variables.
Definition: IpStdCInterface.h:137
Ipopt::NLPScalingObject::apply_grad_obj_scaling_NonConst
virtual SmartPtr< Vector > apply_grad_obj_scaling_NonConst(const SmartPtr< const Vector > &v)
Methods for scaling the gradient of the objective - wraps the virtual methods above.
Ipopt::NLPScalingObject::Initialize
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Method to initialize the options.
Definition: IpNLPScaling.hpp:44
Ipopt::NLPScalingObject::unapply_vector_scaling_x
virtual SmartPtr< const Vector > unapply_vector_scaling_x(const SmartPtr< const Vector > &v)=0
Returns an x-unscaled version of the given vector.
IpOptionsList.hpp
Ipopt::NLPScalingObject::apply_vector_scaling_x_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_x_NonConst(const SmartPtr< const Vector > &v)=0
Returns an x-scaled version of the given vector.
Ipopt::StandardScalingBase::unapply_vector_scaling_c
virtual SmartPtr< const Vector > unapply_vector_scaling_c(const SmartPtr< const Vector > &v)
Returns an c-unscaled version of the given vector.
Ipopt::NLPScalingObject::NLPScalingObject
NLPScalingObject()
Ipopt::StandardScalingBase::apply_obj_scaling
virtual Number apply_obj_scaling(const Number &f)
Methods to map scaled and unscaled matrices.
Ipopt::StandardScalingBase::apply_jac_d_scaling
virtual SmartPtr< const Matrix > apply_jac_d_scaling(SmartPtr< const Matrix > matrix)
Returns a scaled version of the jacobian for d If the overloaded method does not create a new matrix...
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::NLPScalingObject::unapply_grad_obj_scaling
virtual SmartPtr< const Vector > unapply_grad_obj_scaling(const SmartPtr< const Vector > &v)
Returns a grad_f unscaled version (d_f * D_x^{-1}) of the given vector.
Ipopt::NLPScalingObject::DetermineScaling
virtual void DetermineScaling(const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, SmartPtr< const MatrixSpace > &new_jac_c_space, SmartPtr< const MatrixSpace > &new_jac_d_space, SmartPtr< const SymMatrixSpace > &new_h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U)=0
This method is called by the IpoptNLP&#39;s at a convenient time to compute and/or read scaling factors...
Ipopt::StandardScalingBase::operator=
void operator=(const StandardScalingBase &)
Overloaded Equals Operator.
Ipopt::StandardScalingBase::df_
Number df_
Scaling parameters - we only need to keep copies of the objective scaling and the x scaling - the oth...
Definition: IpNLPScaling.hpp:377
Ipopt::StandardScalingBase::unapply_vector_scaling_x_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_x_NonConst(const SmartPtr< const Vector > &v)
Returns an x-unscaled version of the given vector.
Ipopt::StandardScalingBase::DetermineScaling
virtual void DetermineScaling(const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, const SmartPtr< const MatrixSpace > jac_c_space, const SmartPtr< const MatrixSpace > jac_d_space, const SmartPtr< const SymMatrixSpace > h_space, SmartPtr< const MatrixSpace > &new_jac_c_space, SmartPtr< const MatrixSpace > &new_jac_d_space, SmartPtr< const SymMatrixSpace > &new_h_space, const Matrix &Px_L, const Vector &x_L, const Matrix &Px_U, const Vector &x_U)
This method is called by the IpoptNLP&#39;s at a convenient time to compute and/or read scaling factors...
Ipopt::NLPScalingObject::unapply_vector_scaling_x_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_x_NonConst(const SmartPtr< const Vector > &v)=0
Returns an x-unscaled version of the given vector.
Ipopt::NLPScalingObject::apply_grad_obj_scaling
virtual SmartPtr< const Vector > apply_grad_obj_scaling(const SmartPtr< const Vector > &v)
Returns a grad_f scaled version (d_f * D_x^{-1}) of the given vector.
Ipopt::StandardScalingBase::unapply_vector_scaling_x
virtual SmartPtr< const Vector > unapply_vector_scaling_x(const SmartPtr< const Vector > &v)
Returns an x-unscaled version of the given vector.
Ipopt::NLPScalingObject::apply_jac_c_scaling
virtual SmartPtr< const Matrix > apply_jac_c_scaling(SmartPtr< const Matrix > matrix)=0
Returns a scaled version of the jacobian for c.
Ipopt::NLPScalingObject::unapply_vector_scaling_c_NonConst
virtual SmartPtr< Vector > unapply_vector_scaling_c_NonConst(const SmartPtr< const Vector > &v)=0
Returns an c-unscaled version of the given vector.
Ipopt::StandardScalingBase::apply_vector_scaling_d
virtual SmartPtr< const Vector > apply_vector_scaling_d(const SmartPtr< const Vector > &v)
Returns an d-scaled version of the given vector.
IpRegOptions.hpp
Ipopt::StandardScalingBase::StandardScalingBase
StandardScalingBase()
Ipopt::NLPScalingObject::apply_vector_scaling_c_NonConst
virtual SmartPtr< Vector > apply_vector_scaling_c_NonConst(const SmartPtr< const Vector > &v)=0
Returns an c-scaled version of the given vector.
Ipopt::StandardScalingBase::have_x_scaling
virtual bool have_x_scaling()
Returns true if the primal x variables are scaled.
Ipopt::StandardScalingBase::apply_vector_scaling_x
virtual SmartPtr< const Vector > apply_vector_scaling_x(const SmartPtr< const Vector > &v)
Returns an x-scaled version of the given vector.
Ipopt::StandardScalingBase::dx_
SmartPtr< Vector > dx_
x scaling
Definition: IpNLPScaling.hpp:379