Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
IpRestoPhase.hpp
Go to the documentation of this file.
00001 // Copyright (C) 2004, 2009 International Business Machines and others.
00002 // All Rights Reserved.
00003 // This code is published under the Eclipse Public License.
00004 //
00005 // $Id$
00006 //
00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-08-13
00008 
00009 #ifndef __IPRESTOPHASE_HPP__
00010 #define __IPRESTOPHASE_HPP__
00011 
00012 #include "IpAlgStrategy.hpp"
00013 #include "IpIpoptNLP.hpp"
00014 #include "IpIpoptData.hpp"
00015 #include "IpIpoptCalculatedQuantities.hpp"
00016 
00017 namespace Ipopt
00018 {
00019 
00025   DECLARE_STD_EXCEPTION(RESTORATION_CONVERGED_TO_FEASIBLE_POINT);
00026   DECLARE_STD_EXCEPTION(RESTORATION_FAILED);
00027   DECLARE_STD_EXCEPTION(RESTORATION_MAXITER_EXCEEDED);
00028   DECLARE_STD_EXCEPTION(RESTORATION_CPUTIME_EXCEEDED);
00029   DECLARE_STD_EXCEPTION(RESTORATION_USER_STOP);
00031 
00034   class RestorationPhase : public AlgorithmStrategyObject
00035   {
00036   public:
00040     RestorationPhase()
00041     {}
00043     virtual ~RestorationPhase()
00044     {}
00046 
00048     virtual bool InitializeImpl(const OptionsList& options,
00049                                 const std::string& prefix) = 0;
00050 
00053     virtual bool PerformRestoration() = 0;
00054 
00055   private:
00063     RestorationPhase(const RestorationPhase&);
00064 
00066     void operator=(const RestorationPhase&);
00068   };
00069 
00070 } // namespace Ipopt
00071 
00072 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines