00001 // Copyright 2009 Hans Pirnay 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // Date : 2009-04-06 00006 // 00007 // Purpose : This is the same as IpSensitivityCalculator.hpp 00008 // It implements the AsBacksolver Interface. 00009 00010 #ifndef __ASSIMPLEBACKSOLVER_HPP__ 00011 #define __ASSIMPLEBACKSOLVER_HPP__ 00012 00013 00014 #include "IpPDSystemSolver.hpp" 00015 #include "AsAsBacksolver.hpp" 00016 00017 namespace Ipopt { 00018 class SimpleBacksolver : public AsBacksolver 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 }; 00039 } 00040 00041 #endif