- Main Page
- Classes
- Files

- File List
- File Members

# src/Algorithm/IpAlgBuilder.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2004, 2007 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Eclipse Public License.
    00004 //
    00005 // $Id: IpAlgBuilder.hpp 1861 2010-12-21 21:34:47Z andreasw $
    00006 //
    00007 // Authors:  Carl Laird, Andreas Waechter     IBM    2004-09-29
    00008
    00009 #ifndef __IPALGBUILDER_HPP__
    00010 #define __IPALGBUILDER_HPP__
    00011
    00012 #include "IpIpoptAlg.hpp"
    00013 #include "IpReferenced.hpp"
    00014 #include "IpAugSystemSolver.hpp"
    00015
    00016 namespace Ipopt
    00017 {
    00018
    00032   class AlgorithmBuilder : public ReferencedObject
    00033   {
    00034   public:
    00038     AlgorithmBuilder(SmartPtr<AugSystemSolver> custom_solver=NULL);
    00039
    00041     virtual ~AlgorithmBuilder()
    00042     {}
    00043
    00045
    00048     virtual void BuildIpoptObjects(const Journalist& jnlst,
    00049                                    const OptionsList& options,
    00050                                    const std::string& prefix,
    00051                                    const SmartPtr<NLP>& nlp,
    00052                                    SmartPtr<IpoptNLP>& ip_nlp,
    00053                                    SmartPtr<IpoptData>& ip_data,
    00054                                    SmartPtr<IpoptCalculatedQuantities>& ip_cq);
    00055
    00056     virtual SmartPtr<IpoptAlgorithm> BuildBasicAlgorithm(const Journalist& jnlst,
    00057         const OptionsList& options,
    00058         const std::string& prefix);
    00060
    00064     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00066
    00067   private:
    00077     //AlgorithmBuilder();
    00078
    00080     AlgorithmBuilder(const AlgorithmBuilder&);
    00081
    00083     void operator=(const AlgorithmBuilder&);
    00085
    00089     SmartPtr<AugSystemSolver> custom_solver_;
    00090
    00091   };
    00092 } // namespace Ipopt
    00093
    00094 #endif

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines