Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SensStdStepCalc.hpp
Go to the documentation of this file.
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-16
00006 
00007 #ifndef __ASSTDSTEPCALC_HPP__
00008 #define __ASSTDSTEPCALC_HPP__
00009 
00010 #include "SensBacksolver.hpp"
00011 #include "SensStepCalc.hpp"
00012 #include <vector>
00013 
00014 
00015 namespace Ipopt
00016 {
00017 
00018   class StdStepCalculator : public SensitivityStepCalculator
00019   {
00020   public:
00021     StdStepCalculator(SmartPtr<SchurData> ift_data,
00022                       SmartPtr<SensBacksolver> backsolver);
00023 
00024     virtual ~StdStepCalculator();
00025 
00026     virtual bool InitializeImpl(const OptionsList& options,
00027                                 const std::string& prefix);
00028 
00031     virtual bool Step(DenseVector& delta_u, IteratesVector& sol);
00032 
00033     bool BoundCheck(IteratesVector& sol,
00034                     std::vector<Index>& x_bound_violations_idx,
00035                     std::vector<Number>& x_bound_violations_du);
00036 
00037   private:
00038     SmartPtr<SchurData> ift_data_;
00039     SmartPtr<SensBacksolver> backsolver_;
00040     Number bound_eps_;
00041     bool kkt_residuals_;
00042   };
00043 }
00044 
00045 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines