- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpUserScaling.hpp 759 2006-07-07 03:07:08Z 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       Number& df,
    00045       SmartPtr<Vector>& dx,
    00046       SmartPtr<Vector>& dc,
    00047       SmartPtr<Vector>& dd);
    00048
    00049   private:
    00050
    00059
    00061     UserScaling(const UserScaling&);
    00062
    00064     void operator=(const UserScaling&);
    00066
    00068     SmartPtr<const NLP> nlp_;
    00069   };
    00070 } // namespace Ipopt
    00071 #endif