/home/coin/SVN-release/CoinAll-1.1.0/Ipopt/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 Common Public License.
00004 //
00005 // $Id: IpAlgBuilder.hpp 913 2007-03-02 12:49:22Z 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

Generated on Sun Nov 14 14:06:34 2010 for Coin-All by  doxygen 1.4.7