Ipopt  3.11.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IpUserScaling.hpp
Go to the documentation of this file.
1 // Copyright (C) 2005, 2007 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpUserScaling.hpp 1861 2010-12-21 21:34:47Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2005-06-25
8 
9 #ifndef __IPUSERSCALING_HPP__
10 #define __IPUSERSCALING_HPP__
11 
12 #include "IpNLPScaling.hpp"
13 #include "IpNLP.hpp"
14 
15 namespace Ipopt
16 {
21  {
22  public:
26  :
28  nlp_(nlp)
29  {}
30 
32  virtual ~UserScaling()
33  {}
35 
36  protected:
37  virtual void DetermineScalingParametersImpl(
38  const SmartPtr<const VectorSpace> x_space,
39  const SmartPtr<const VectorSpace> c_space,
40  const SmartPtr<const VectorSpace> d_space,
41  const SmartPtr<const MatrixSpace> jac_c_space,
42  const SmartPtr<const MatrixSpace> jac_d_space,
43  const SmartPtr<const SymMatrixSpace> h_space,
44  const Matrix& Px_L, const Vector& x_L,
45  const Matrix& Px_U, const Vector& x_U,
46  Number& df,
47  SmartPtr<Vector>& dx,
48  SmartPtr<Vector>& dc,
49  SmartPtr<Vector>& dd);
50 
51  private:
52 
61 
63  UserScaling(const UserScaling&);
64 
66  void operator=(const UserScaling&);
68 
71  };
72 } // namespace Ipopt
73 #endif