Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef __ASSCHURBUILDER_HPP__
00008 #define __ASSCHURBUILDER_HPP__
00009
00010
00011 #include "IpReferenced.hpp"
00012 #include "AsAsNmpController.hpp"
00013 #include "IpPDSystemSolver.hpp"
00014 #include "AsNmpcUtils.hpp"
00015 #include "AsReducedHessianCalculator.hpp"
00016
00017
00018 namespace Ipopt
00019 {
00020 DECLARE_STD_EXCEPTION(ASNMPC_BUILDER_ERROR);
00021
00022 class SchurBuilder : public ReferencedObject
00023 {
00027 public:
00028 SchurBuilder();
00029
00030 ~SchurBuilder();
00031
00032 SmartPtr<AsNmpController> BuildNmpc(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
00047 PDSystemSolver& pd_solver);
00048
00049 private:
00050
00051 };
00052
00053 }
00054
00055 #endif