00001 /* $Id: CouenneGlobalCutOff.hpp 490 2011-01-14 16:07:12Z pbelotti $ 00002 * 00003 * Name: CouenneGlobalCutOff.hpp 00004 * Author: Pietro Belotti, Lehigh University 00005 * Andreas Waechter, IBM 00006 * Purpose: a cutoff that replicates itself 00007 * 00008 * (C) Carnegie-Mellon University, 2010. 00009 * This file is licensed under the Eclipse Public License (EPL) 00010 */ 00011 00012 #ifndef COUENNE_GLOBAL_CUTOFF_HPP 00013 #define COUENNE_GLOBAL_CUTOFF_HPP 00014 00015 #include "CouenneProblem.hpp" 00016 00017 namespace Couenne { 00018 00019 class GlobalCutOff { 00020 00021 private: 00022 00023 GlobalCutOff (const GlobalCutOff&); 00024 00025 double cutoff_; 00026 double *sol_; 00027 int size_; 00028 bool valid_; 00029 00030 public: 00031 00032 GlobalCutOff (); 00033 GlobalCutOff (double c, const double *s=NULL, int n=0); 00034 ~GlobalCutOff (); 00035 00036 void setCutOff (const CouenneProblem *p, double cutoff, const double *s=NULL); 00037 00038 inline double getCutOff () const {return cutoff_;} 00039 inline double *getCutOffSol () const {return sol_;} 00040 }; 00041 } 00042 00043 #endif