• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/coinor-ipopt-3.8.3/Ipopt/src/Algorithm/Inexact/IpInexactDoglegNormal.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2008 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // $Id: IpInexactDoglegNormal.hpp 1390 2009-01-06 16:55:52Z andreasw $
00006 //
00007 // Authors:  Andreas Waechter            IBM    2008-08-31
00008 
00009 #ifndef __IPINEXACTDOGLEGNORMAL_HPP__
00010 #define __IPINEXACTDOGLEGNORMAL_HPP__
00011 
00012 #include "IpInexactNormalStepCalc.hpp"
00013 #include "IpInexactNewtonNormal.hpp"
00014 #include "IpInexactNormalTerminationTester.hpp"
00015 
00016 namespace Ipopt
00017 {
00020   class InexactDoglegNormalStep : public InexactNormalStepCalculator
00021   {
00022   public:
00026     InexactDoglegNormalStep(SmartPtr<InexactNewtonNormalStep> newton_step,
00027                             SmartPtr<InexactNormalTerminationTester> normal_tester = NULL);
00028 
00030     virtual ~InexactDoglegNormalStep();
00032 
00034     virtual bool InitializeImpl(const OptionsList& options,
00035                                 const std::string& prefix);
00036 
00041     virtual bool ComputeNormalStep(SmartPtr<Vector>& normal_x,
00042                                    SmartPtr<Vector>& normal_s);
00043 
00046     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00048 
00049   private:
00059     InexactDoglegNormalStep();
00060 
00062     InexactDoglegNormalStep(const InexactDoglegNormalStep&);
00063 
00065     void operator=(const InexactDoglegNormalStep&);
00067 
00070     SmartPtr<InexactNewtonNormalStep> newton_step_;
00071 
00077     SmartPtr<InexactNormalTerminationTester> normal_tester_;
00078 
00081     Number omega_max_;
00083 
00085     Number curr_omega_;
00086 
00088     bool last_tr_inactive_;
00089   };
00090 
00091 } // namespace Ipopt
00092 
00093 #endif

Generated on Sat Oct 16 2010 02:54:49 by  doxygen 1.7.1