• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/coinor-ipopt-3.8.3/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 1702 2010-06-29 13:16:53Z 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 TestTermination(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     bool requires_scaling_;
00098 
00101     Number c_Avc_norm_cauchy_;
00102 
00104     Index last_iter_;
00105   };
00106 
00107 } // namespace Ipopt
00108 
00109 #endif

Generated on Sat Oct 16 2010 02:54:50 by  doxygen 1.7.1