/home/coin/SVN-release/Ipopt-3.2.2/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

Generated on Thu May 15 22:19:49 2008 by  doxygen 1.4.7