/home/coin/SVN-release/Ipopt-3.5.5/Ipopt/src/Algorithm/Inexact/IpInexactNormalTerminationTester.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 Common Public License.
00004 //
00005 // $Id: IpInexactNormalTerminationTester.hpp 1393 2009-01-08 17:19:41Z andreasw $
00006 //
00007 // Authors:  Andreas Waechter            IBM    2008-09-19
00008 
00009 #ifndef __IPINEXACTNORMALTERMINATIONTESTER_HPP__
00010 #define __IPINEXACTNORMALTERMINATIONTESTER_HPP__
00011 
00012 #include "IpIterativeSolverTerminationTester.hpp"
00013 
00014 namespace Ipopt
00015 {
00016 
00020   class InexactNormalTerminationTester: public IterativeSolverTerminationTester
00021   {
00022   public:
00027     InexactNormalTerminationTester();
00028 
00030     virtual ~InexactNormalTerminationTester();
00032 
00033     /* overloaded from AlgorithmStrategyObject */
00034     virtual bool InitializeImpl(const OptionsList& options,
00035                                 const std::string& prefix);
00036 
00039     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00041 
00044     virtual bool InitializeSolve();
00045 
00052     virtual ETerminationTest TestTerminaion(Index ndim, const Number* sol,
00053                                             const Number* resid, Index iter,
00054                                             Number norm2_rhs);
00055 
00058     virtual void Clear();
00059 
00060 
00063     virtual Index GetSolverIterations() const
00064     {
00065       return last_iter_;
00066     }
00067 
00071     void Set_c_Avc_norm_cauchy(Number c_Avc_norm_cauchy)
00072     {
00073       c_Avc_norm_cauchy_ = c_Avc_norm_cauchy;
00074     }
00075 
00076   private:
00086     InexactNormalTerminationTester& operator=(const InexactNormalTerminationTester&);
00088 
00092     Number inexact_normal_tol_;
00094     Index inexact_normal_max_iter_;
00096 
00099     Number c_Avc_norm_cauchy_;
00100 
00102     Index last_iter_;
00103   };
00104 
00105 } // namespace Ipopt
00106 
00107 #endif

Generated on Wed Jan 14 03:00:32 2009 by  doxygen 1.4.7