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