00001 #ifndef SCIL_ABA_CONSTRAINT_H
00002 #define SCIL_ABA_CONSTRAINT_H
00003
00004 #include <abacus/constraint.h>
00005 #include <scil/global.h>
00006 #include <LEDA/memory.h>
00007
00008 namespace SCIL {
00009
00010
00011
00012 class cons_obj;
00013
00014 class ABA_Constraint : public ABA_CONSTRAINT {
00015 friend class ILP_Problem;
00016 friend class subproblem;
00017 friend class cons_obj;
00018
00019 LEDA_MEMORY(ABA_Constraint)
00020
00021 private:
00022 cons_obj* Ref_cons;
00023 int ii;
00024
00025 public:
00026
00027 ABA_Constraint(subproblem& S_, cons_obj* Ref_cons_,
00028 Activation g, Validity v, Liftability l, int n);
00029
00030
00031 ABA_Constraint(ILP_Problem& IP, cons_obj* Ref_cons_, Activation g,
00032 Validity v, Liftability l, int n);
00033
00034 virtual double coeff(ABA_VARIABLE*);
00035
00036 virtual int genRow(Active_Variables* var, Row& row);
00037
00038 virtual double rhs();
00039
00040 virtual ABA_CSENSE* sense();
00041
00042 cons_obj* Scons() { return Ref_cons; };
00043
00044 int index() { return ii; }
00045
00046 virtual ~ABA_Constraint();
00047 };
00048
00049 };
00050
00051 #endif