MeshKit
1.0
|
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_RELAXED_HP 00007 #define MESHKIT_IA_IASOLVER_RELAXED_HP 00008 00009 #include "meshkit/IASolverTool.hpp" 00010 00011 namespace MeshKit { 00012 00013 class IASolverRelaxed : public IASolverTool 00014 { 00015 public: 00017 // ia_data contains the problem specification 00018 // relaxed_solution contains the relaxed solution after solve() 00019 IASolverRelaxed(const IAData *ia_data, IASolution *relaxed_solution, const bool set_silent = true); 00020 00022 virtual ~IASolverRelaxed(); 00023 00024 bool solve(); 00025 // return true if solved; false if not solved (e.g. infeasible) 00026 00027 private: 00028 00029 // data 00030 int p_norm; 00031 00032 // hide untrusted default methods 00034 // IA_NLP(); 00035 IASolverRelaxed(const IASolverRelaxed&); 00036 IASolverRelaxed& operator=(const IASolverRelaxed&); 00038 00039 bool constraints_satisfied(); 00040 00041 // debug 00042 const bool silent; 00043 const bool debugging; 00044 00045 }; 00046 00047 } // namespace MeshKit 00048 #endif