00001 #ifndef SCIL_ABA_CONSTRAINT_H 00002 #define SCIL_ABA_CONSTRAINT_H 00003 00004 #include <abacus/constraint.h> 00005 #include <scil/global.h> 00006 00007 namespace SCIL { 00008 00009 class cons_obj; 00010 class subproblem; 00011 class ILP_Problem; 00012 00013 class ABA_Constraint : public ABA_CONSTRAINT { 00014 friend class ILP_Problem; 00015 friend class subproblem; 00016 friend class cons_obj; 00017 00018 00019 private: 00020 cons_obj* Ref_cons; 00021 int ii; 00022 00023 public: 00025 ABA_Constraint(subproblem& S_, cons_obj* Ref_cons_, 00026 Activation g, Validity v, Liftability l, int n); 00027 00029 ABA_Constraint(ILP_Problem& IP, cons_obj* Ref_cons_, Activation g, 00030 Validity v, Liftability l, int n); 00033 virtual double coeff(ABA_VARIABLE*); 00034 00036 00038 00040 00042 00045 virtual int genRow(Active_Variables* var, Row& row); 00046 00048 virtual double rhs(); 00049 00051 virtual ABA_CSENSE* sense(); 00052 00053 cons_obj* Scons() { return Ref_cons; }; 00054 00055 int index() { return ii; } 00056 00057 virtual ~ABA_Constraint(); 00058 }; 00059 00060 }; 00061 00062 #endif