MeshKit  1.0
IPData.hpp
Go to the documentation of this file.
00001 // IPData.hpp
00002 // Interval Assignment Data for Meshkit
00003 // Integer Program - making intervals into integer values 
00004 //
00005 // Only the IA family of classes should be using this.
00006 //
00007 // Ipopt appears to use Number for double.
00008 //
00009 
00010 #ifndef MESHKIT_IA_IPDATA_HP
00011 #define MESHKIT_IA_IPDATA_HP
00012 
00013 #include <vector>
00014 
00015 namespace MeshKit 
00016 {
00017 
00018 class IPData
00019 {
00020 public:
00022   IPData() {}
00023   
00025   virtual ~IPData() {}
00026   
00027   // lower or upper integer bounds that try to force an integer solution 
00028   // compare to the goal to tell if it is an upper or lower bound
00029   std::vector<int> varIntegerBound; 
00030   std::vector<int> oldBound; 
00031   std::vector<double> relaxedSolution;
00032 
00033   void initialize(const std::vector<double> &relaxed_solution);
00034   
00035   void constrain_integer(const int i_nonint, const int x_bound);
00036   
00037 };
00038 
00039 // default constructors for object and its members OK
00040 // inline IPData::IPData() {} 
00041 
00042 // default destructor OK
00043 
00044 } // namespace MeshKit 
00045 
00046 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines