- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.7.1/Ipopt/src/Algorithm/IpUserScaling.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2007 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpUserScaling.hpp 984 2007-05-30 23:03:22Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2005-06-25
    00008
    00009 #ifndef __IPUSERSCALING_HPP__
    00010 #define __IPUSERSCALING_HPP__
    00011
    00012 #include "IpNLPScaling.hpp"
    00013 #include "IpNLP.hpp"
    00014
    00015 namespace Ipopt
    00016 {
    00020   class UserScaling : public StandardScalingBase
    00021   {
    00022   public:
    00025     UserScaling(const SmartPtr<const NLP>& nlp)
    00026         :
    00027         StandardScalingBase(),
    00028         nlp_(nlp)
    00029     {}
    00030
    00032     virtual ~UserScaling()
    00033     {}
    00035
    00036   protected:
    00037     virtual void DetermineScalingParametersImpl(
    00038       const SmartPtr<const VectorSpace> x_space,
    00039       const SmartPtr<const VectorSpace> c_space,
    00040       const SmartPtr<const VectorSpace> d_space,
    00041       const SmartPtr<const MatrixSpace> jac_c_space,
    00042       const SmartPtr<const MatrixSpace> jac_d_space,
    00043       const SmartPtr<const SymMatrixSpace> h_space,
    00044       const Matrix& Px_L, const Vector& x_L,
    00045       const Matrix& Px_U, const Vector& x_U,
    00046       Number& df,
    00047       SmartPtr<Vector>& dx,
    00048       SmartPtr<Vector>& dc,
    00049       SmartPtr<Vector>& dd);
    00050
    00051   private:
    00052
    00061
    00063     UserScaling(const UserScaling&);
    00064
    00066     void operator=(const UserScaling&);
    00068
    00070     SmartPtr<const NLP> nlp_;
    00071   };
    00072 } // namespace Ipopt
    00073 #endif