Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SensMetadataMeasurement.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-07-10
00006 
00007 #ifndef __AS_METADATAMEASUREMENT_HPP__
00008 #define __AS_METADATAMEASUREMENT_HPP__
00009 
00010 #include "SensMeasurement.hpp"
00011 #include "SensSuffixHandler.hpp"
00012 #include "IpAlgStrategy.hpp"
00013 
00014 
00015 namespace Ipopt
00016 {
00017 
00018   class MetadataMeasurement : public Measurement, public SuffixHandler, public AlgorithmStrategyObject
00019   {
00020   public:
00021     MetadataMeasurement();
00022 
00023     virtual ~MetadataMeasurement();
00024 
00025     /* AlgorithmStrategyObject */
00026     virtual bool InitializeImpl(const OptionsList& options,
00027                                 const std::string& prefix);
00028 
00029     /* measurement methods */
00030     virtual std::vector<Index> GetInitialEqConstraints();
00031 
00032     virtual SmartPtr<DenseVector> GetMeasurement(Index measurement_number);
00033 
00034     virtual void SetSolution(Index measurement_number, SmartPtr<IteratesVector> sol);
00035 
00038     virtual std::vector<Index> GetIntegerSuffix(std::string suffix_string);
00039 
00040   private:
00041 
00043     Index n_idx_;
00044 
00046     SmartPtr<const DenseVectorSpace> x_owner_space_;
00048     SmartPtr<const DenseVectorSpace> s_owner_space_;
00050     SmartPtr<const DenseVectorSpace> y_c_owner_space_;
00052     SmartPtr<const DenseVectorSpace> y_d_owner_space_;
00054     SmartPtr<const DenseVectorSpace> z_L_owner_space_;
00056     SmartPtr<const DenseVectorSpace> z_U_owner_space_;
00057 
00058   };
00059 
00060 }
00061 
00062 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines