Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
IpRestoConvCheck.hpp
Go to the documentation of this file.
00001 // Copyright (C) 2004, 2009 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Eclipse Public License.
00004 //
00005 // $Id$
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     Number orig_constr_viol_tol_;
00087 
00091     bool first_resto_iter_;
00092 
00094     Index successive_resto_iter_;
00095   };
00096 
00097 } // namespace Ipopt
00098 
00099 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines