Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
IpInexactAlgBuilder.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 Eclipse Public License.
00004 //
00005 // $Id$
00006 //
00007 // Authors:  Andreas Waechter     IBM                  2008-09-05
00008 //            based on IpAlgBuilder.hpp (rev 913)
00009 
00010 #ifndef __IPINEXACTALGBUILDER_HPP__
00011 #define __IPINEXACTALGBUILDER_HPP__
00012 
00013 #include "IpAlgBuilder.hpp"
00014 
00015 namespace Ipopt
00016 {
00017 
00021   class InexactAlgorithmBuilder : public AlgorithmBuilder
00022   {
00023   public:
00027     InexactAlgorithmBuilder();
00028 
00030     virtual ~InexactAlgorithmBuilder()
00031     {}
00032 
00034 
00037     virtual void BuildIpoptObjects(const Journalist& jnlst,
00038                                    const OptionsList& options,
00039                                    const std::string& prefix,
00040                                    const SmartPtr<NLP>& nlp,
00041                                    SmartPtr<IpoptNLP>& ip_nlp,
00042                                    SmartPtr<IpoptData>& ip_data,
00043                                    SmartPtr<IpoptCalculatedQuantities>& ip_cq);
00044 
00045     virtual SmartPtr<IpoptAlgorithm> BuildBasicAlgorithm(const Journalist& jnlst,
00046         const OptionsList& options,
00047         const std::string& prefix);
00049 
00053     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
00055 
00056   private:
00066     //InexactAlgorithmBuilder();
00067 
00069     InexactAlgorithmBuilder(const InexactAlgorithmBuilder&);
00070 
00072     void operator=(const InexactAlgorithmBuilder&);
00074 
00078     SmartPtr<AugSystemSolver> custom_solver_;
00079 
00080   };
00081 
00087   void AddInexactDefaultOptions(OptionsList& options_list);
00088 
00089 } // namespace Ipopt
00090 
00091 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines