MeshKit  1.0
IASolver.hpp
Go to the documentation of this file.
00001 // IASolver.hpp
00002 // Interval Assignment for Meshkit
00003 // Meshkit calls this class function to find the intervals
00004 // this class calls underlying solvers
00005 //
00006 #ifndef MESHKIT_IA_IASOLVER_HP
00007 #define MESHKIT_IA_IASOLVER_HP
00008 
00009 #include "meshkit/IASolverToolInt.hpp"
00010 
00011 namespace MeshKit {
00012 
00013 class IAData;
00014 class IASolution;
00015 
00016 class IASolver: public IASolverToolInt
00017 {
00018 public:
00020   IASolver(IAData *ia_data, IASolution *ia_solution);
00021 
00023   virtual ~IASolver();
00024   
00025   bool solve();
00026   // return true if solved; false if not solved (e.g. infeasible)
00027   
00028 private:  
00029   // hide untrusted default methods
00031   //  IA_NLP();
00032   IASolver(const IASolver&);
00033   IASolver& operator=(const IASolver&);
00035   
00036   // workhorse
00037   bool solve_relaxed();
00038   bool solve_int();
00039   bool solve_even();
00040   double sum_even_value(int i);
00041   
00042   // debugging
00043   const bool debugging;
00044  
00045 };
00046 
00047 } // namespace MeshKit 
00048 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines