- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.5.1/Ipopt/src/Algorithm/IpOptErrorConvCheck.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: IpOptErrorConvCheck.hpp 1210 2008-04-05 03:01:56Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
    00008
    00009 #ifndef __IPOPTERRORCONVCHECK_HPP__
    00010 #define __IPOPTERRORCONVCHECK_HPP__
    00011
    00012 #include "IpConvCheck.hpp"
    00013
    00014 namespace Ipopt
    00015 {
    00016
    00020   class OptimalityErrorConvergenceCheck : public ConvergenceCheck
    00021   {
    00022   public:
    00026     OptimalityErrorConvergenceCheck();
    00027
    00029     virtual ~OptimalityErrorConvergenceCheck();
    00031
    00033     virtual bool InitializeImpl(const OptionsList& options,
    00034                                 const std::string& prefix);
    00035
    00037     virtual ConvergenceStatus
    00038     CheckConvergence(bool call_intermediate_callback = true);
    00039
    00042     virtual bool CurrentIsAcceptable();
    00043
    00046     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00048
    00049   protected:
    00053     Index max_iterations_;
    00055     Number dual_inf_tol_;
    00057     Number constr_viol_tol_;
    00059     Number compl_inf_tol_;
    00063     Index acceptable_iter_;
    00066     Number acceptable_tol_;
    00068     Number acceptable_dual_inf_tol_;
    00070     Number acceptable_constr_viol_tol_;
    00072     Number acceptable_compl_inf_tol_;
    00075     Number acceptable_obj_change_tol_;
    00077     Number diverging_iterates_tol_;
    00079
    00080   private:
    00088     OptimalityErrorConvergenceCheck(const OptimalityErrorConvergenceCheck&);
    00089
    00091     void operator=(const OptimalityErrorConvergenceCheck&);
    00093
    00096     Index acceptable_counter_;
    00097
    00100     Number last_obj_val_;
    00101   };
    00102
    00103 } // namespace Ipopt
    00104
    00105 #endif