/home/coin/SVN-release/CoinAll-1.1.0/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

Generated on Sun Nov 14 14:06:35 2010 for Coin-All by  doxygen 1.4.7