Ipopt
trunk
|
00001 // Copyright 2009, 2011 Hans Pirnay 00002 // All Rights Reserved. 00003 // This code is published under the Eclipse Public License. 00004 // 00005 // Date : 2009-05-10 00006 00007 #ifndef __ASSCHURBUILDER_HPP__ 00008 #define __ASSCHURBUILDER_HPP__ 00009 00010 00011 #include "IpReferenced.hpp" 00012 #include "SensAlgorithm.hpp" 00013 #include "IpPDSystemSolver.hpp" 00014 #include "SensUtils.hpp" 00015 #include "SensReducedHessianCalculator.hpp" 00016 00017 00018 namespace Ipopt 00019 { 00020 DECLARE_STD_EXCEPTION(SENS_BUILDER_ERROR); 00021 00022 class SensBuilder : public ReferencedObject 00023 { 00027 public: 00028 SensBuilder(); 00029 00030 ~SensBuilder(); 00031 00032 SmartPtr<SensAlgorithm> BuildSensAlg(const Journalist& jnlst, 00033 const OptionsList& options, 00034 const std::string& prefix, 00035 IpoptNLP& ip_nlp, 00036 IpoptData& ip_data, 00037 IpoptCalculatedQuantities& ip_cq, 00038 PDSystemSolver& pd_solver); 00039 00040 SmartPtr<ReducedHessianCalculator> BuildRedHessCalc(const Journalist& jnlst, 00041 const OptionsList& options, 00042 const std::string& prefix, 00043 IpoptNLP& ip_nlp, 00044 IpoptData& ip_data, 00045 IpoptCalculatedQuantities& ip_cq, 00046 PDSystemSolver& pd_solver); 00047 00048 private: 00049 00050 }; 00051 00052 } 00053 00054 #endif