- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.7.1/Ipopt/src/Algorithm/Inexact/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 Common Public License.
    00004 //
    00005 // $Id: IpInexactAlgBuilder.hpp 1390 2009-01-06 16:55:52Z andreasw $
    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