- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpBacktrackingLSAcceptor.hpp 759 2006-07-07 03:07:08Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
    00008 //           Andreas Waechter                 IBM    2005-10-13
    00009 //               derived file from IpFilterLineSearch.hpp
    00010
    00011 #ifndef __IPBACKTRACKINGLSACCEPTOR_HPP__
    00012 #define __IPBACKTRACKINGLSACCEPTOR_HPP__
    00013
    00014 #include "IpAlgStrategy.hpp"
    00015
    00016 namespace Ipopt
    00017 {
    00018
    00021   class BacktrackingLSAcceptor : public AlgorithmStrategyObject
    00022   {
    00023   public:
    00027     BacktrackingLSAcceptor()
    00028     {}
    00029
    00031     virtual ~BacktrackingLSAcceptor()
    00032     {}
    00034
    00036     virtual bool InitializeImpl(const OptionsList& options,
    00037                                 const std::string& prefix)=0;
    00038
    00045     virtual void Reset()=0;
    00046
    00050     virtual void InitThisLineSearch(bool in_watchdog)=0;
    00051
    00056     virtual void PrepareRestoPhaseStart()=0;
    00057
    00062     virtual Number CalculateAlphaMin()=0;
    00063
    00071     virtual bool CheckAcceptabilityOfTrialPoint(Number alpha_primal)=0;
    00072
    00084     virtual bool TrySecondOrderCorrection(Number alpha_primal_test,
    00085                                           Number& alpha_primal,
    00086                                           SmartPtr<IteratesVector>& actual_delta)=0;
    00087
    00094     virtual bool TryCorrector(Number alpha_primal_test,
    00095                               Number& alpha_primal,
    00096                               SmartPtr<IteratesVector>& actual_delta)=0;
    00097
    00103     virtual char UpdateForNextIteration(Number alpha_primal_test)=0;
    00104
    00107     virtual void StartWatchDog()=0;
    00108
    00111     virtual void StopWatchDog()=0;
    00112
    00115     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00117
    00118   private:
    00128     BacktrackingLSAcceptor(const BacktrackingLSAcceptor&);
    00129
    00131     void operator=(const BacktrackingLSAcceptor&);
    00133   };
    00134
    00135 } // namespace Ipopt
    00136
    00137 #endif