- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/IpAlgBuilder.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: IpAlgBuilder.hpp 759 2006-07-07 03:07:08Z 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
    00015 namespace Ipopt
    00016 {
    00017
    00026   class AlgorithmBuilder : public ReferencedObject
    00027   {
    00028   public:
    00032     AlgorithmBuilder()
    00033     {}
    00034
    00036     virtual ~AlgorithmBuilder()
    00037     {}
    00038
    00040
    00043     virtual void BuildIpoptObjects(const Journalist& jnlst,
    00044                                    const OptionsList& options,
    00045                                    const std::string& prefix,
    00046                                    const SmartPtr<NLP>& nlp,
    00047                                    SmartPtr<IpoptNLP>& ip_nlp,
    00048                                    SmartPtr<IpoptData>& ip_data,
    00049                                    SmartPtr<IpoptCalculatedQuantities>& ip_cq);
    00050
    00051     virtual SmartPtr<IpoptAlgorithm> BuildBasicAlgorithm(const Journalist& jnlst,
    00052         const OptionsList& options,
    00053         const std::string& prefix);
    00055
    00059     static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
    00061
    00062   private:
    00072     // AlgorithmBuilder();
    00073
    00075     AlgorithmBuilder(const AlgorithmBuilder&);
    00076
    00078     void operator=(const AlgorithmBuilder&);
    00080
    00081   };
    00082 } // namespace Ipopt
    00083
    00084 #endif