00001 // Copyright 2009, 2010 Hans Pirnay 00002 // All Rights Reserved. 00003 // This code is published under the Common Public License. 00004 // 00005 // Date : 2009-05-16 00006 00007 #ifndef __ASSTDSTEPCALC_HPP__ 00008 #define __ASSTDSTEPCALC_HPP__ 00009 00010 #include "AsSensStepCalc.hpp" 00011 #include <vector> 00012 00013 00014 namespace Ipopt 00015 { 00016 00017 class StdStepCalculator : public SensitivityStepCalculator 00018 { 00019 public: 00020 StdStepCalculator(); 00021 00022 virtual ~StdStepCalculator(); 00023 00024 virtual bool InitializeImpl(const OptionsList& options, 00025 const std::string& prefix); 00026 00029 virtual bool Step(DenseVector& delta_u, IteratesVector& sol); 00030 00031 bool BoundCheck(IteratesVector& sol, 00032 std::vector<Index>& x_bound_violations_idx, 00033 std::vector<Number>& x_bound_violations_du); 00034 00035 private: 00036 Number bound_eps_; 00037 }; 00038 } 00039 00040 #endif