/home/coin/SVN-release/Ipopt-3.4.2/Ipopt/src/Algorithm/IpRestoConvCheck.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2004, 2008 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // $Id: IpRestoConvCheck.hpp 1256 2008-06-26 17:33:33Z andreasw $
00006 //
00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
00008 //
00009 //           was originally IpRestoFilterConvCheck.hpp (rev 781)
00010 //             separated by A Waechter IBM  2008-06-24
00011 
00012 #ifndef __IPRESTOCONVCHECK_HPP__
00013 #define __IPRESTOCONVCHECK_HPP__
00014 
00015 #include "IpOptErrorConvCheck.hpp"
00016 #include "IpBacktrackingLSAcceptor.hpp"
00017 
00018 namespace Ipopt
00019 {
00020 
00029   class RestoConvergenceCheck :
00030         public OptimalityErrorConvergenceCheck
00031   {
00032   public:
00036     RestoConvergenceCheck();
00037 
00039     virtual ~RestoConvergenceCheck();
00041 
00043     virtual bool InitializeImpl(const OptionsList& options,
00044                                 const std::string& prefix);
00045 
00047     virtual ConvergenceStatus CheckConvergence(bool call_intermediate_callback = true);
00048 
00050     virtual void SetOrigLSAcceptor(const BacktrackingLSAcceptor& orig_ls_acceptor) = 0;
00051 
00054     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00056   private:
00064     RestoConvergenceCheck(const RestoConvergenceCheck&);
00065 
00067     void operator=(const RestoConvergenceCheck&);
00069 
00072     virtual ConvergenceStatus
00073     TestOrigProgress(Number orig_trial_barr, Number orig_trial_theta) = 0;
00074 
00079     Number kappa_resto_;
00081     Index maximum_iters_;
00083     Index maximum_resto_iters_;
00085 
00089     bool first_resto_iter_;
00090 
00092     Index successive_resto_iter_;
00093   };
00094 
00095 } // namespace Ipopt
00096 
00097 #endif

Generated on Sat Jul 19 03:00:27 2008 by  doxygen 1.4.7