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-04-06 00006 // 00007 // Purpose : This is the same as IpSensitivityCalculator.hpp 00008 // It implements the SensBacksolver Interface. 00009 00010 #ifndef __ASSIMPLEBACKSOLVER_HPP__ 00011 #define __ASSIMPLEBACKSOLVER_HPP__ 00012 00013 00014 #include "IpPDSystemSolver.hpp" 00015 #include "SensBacksolver.hpp" 00016 00017 namespace Ipopt { 00018 class SimpleBacksolver : public SensBacksolver 00019 { 00020 public: 00021 00022 SimpleBacksolver(SmartPtr<PDSystemSolver> pd_solver); 00023 00024 ~SimpleBacksolver() 00025 {} 00026 00027 bool InitializeImpl(const OptionsList& options, 00028 const std::string& prefix); 00029 00030 bool Solve(SmartPtr<IteratesVector> delta_lhs, SmartPtr<const IteratesVector> delta_rhs); 00031 00032 00033 private: 00034 00035 SimpleBacksolver(); 00036 00037 SmartPtr<PDSystemSolver> pd_solver_; 00038 bool allow_inexact_; 00039 }; 00040 } 00041 00042 #endif