- Main Page
- Classes
- Files

- File List
- File Members

# 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 Eclipse Public License.
    00004 //
    00005 // $Id: IpInexactDoglegNormal.hpp 1861 2010-12-21 21:34:47Z 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

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines