- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/IpConvCheck.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Common Public License.
    00004 //
    00005 // $Id: IpConvCheck.hpp 759 2006-07-07 03:07:08Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
    00008
    00009 #ifndef __IPCONVCHECK_HPP__
    00010 #define __IPCONVCHECK_HPP__
    00011
    00012 #include "IpAlgStrategy.hpp"
    00013
    00014 namespace Ipopt
    00015 {
    00016
    00020   class ConvergenceCheck : public AlgorithmStrategyObject
    00021   {
    00022   public:
    00026     ConvergenceCheck()
    00027     {}
    00028
    00030     virtual ~ConvergenceCheck()
    00031     {}
    00033
    00035     enum ConvergenceStatus {
    00036       CONTINUE,
    00037       CONVERGED,
    00038       CONVERGED_TO_ACCEPTABLE_POINT,
    00039       MAXITER_EXCEEDED,
    00040       DIVERGING,
    00041       USER_STOP,
    00042       FAILED
    00043     };
    00044
    00046     virtual bool InitializeImpl(const OptionsList& options,
    00047                                 const std::string& prefix) = 0;
    00048
    00053     virtual ConvergenceStatus
    00054     CheckConvergence(bool call_intermediate_callback = true) = 0;
    00055
    00061     virtual bool CurrentIsAcceptable()=0;
    00062
    00063   private:
    00073     //    ConvergenceCheck();
    00074
    00076     ConvergenceCheck(const ConvergenceCheck&);
    00077
    00079     void operator=(const ConvergenceCheck&);
    00081
    00082   };
    00083
    00084 } // namespace Ipopt
    00085
    00086 #endif