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: IpRestoFilterConvCheck.hpp 1255 2008-06-24 23:14:49Z andreasw $ 00006 // 00007 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13 00008 // 00009 // A Waechter: moved most code to IpRestoConvCheck.cpp 2008-06-24 00010 00011 #ifndef __IPRESTOFILTERCONVCHECK_HPP__ 00012 #define __IPRESTOFILTERCONVCHECK_HPP__ 00013 00014 #include "IpRestoConvCheck.hpp" 00015 #include "IpFilterLSAcceptor.hpp" 00016 00017 namespace Ipopt 00018 { 00019 00024 class RestoFilterConvergenceCheck : 00025 public RestoConvergenceCheck 00026 { 00027 public: 00031 RestoFilterConvergenceCheck(); 00032 00034 virtual ~RestoFilterConvergenceCheck(); 00036 00042 void SetOrigLSAcceptor(const BacktrackingLSAcceptor& orig_ls_acceptor); 00043 00045 virtual bool InitializeImpl(const OptionsList& options, 00046 const std::string& prefix); 00047 00050 static void RegisterOptions(SmartPtr<RegisteredOptions> roptions); 00052 private: 00060 RestoFilterConvergenceCheck(const RestoFilterConvergenceCheck&); 00061 00063 void operator=(const RestoFilterConvergenceCheck&); 00065 00069 virtual ConvergenceStatus 00070 TestOrigProgress(Number orig_trial_barr, Number orig_trial_theta); 00071 00077 const FilterLSAcceptor* orig_filter_ls_acceptor_; 00078 }; 00079 00080 } // namespace Ipopt 00081 00082 #endif