Main Page   Class Hierarchy   Compound List   File List   Contact   Download   Symbolic Constraints   Examples  

cons_obj.h

00001 #ifndef SCIL_CONS_OBJ_H
00002 #define SCIL_CONS_OBJ_H
00003 
00004 #include <LEDA/map.h>
00005 #undef set
00006 #include <scil/global.h>
00007 #include <scil/subproblem.h>
00008 
00009 namespace SCIL {
00010 
00011 class var_obj;
00012 class row;
00013 
00014 class ABA_Constraint;
00015 
00018 
00019 class cons_obj
00020 {
00021   friend class ILP_Problem;
00022   friend class subproblem;
00023   friend class ABA_Constraint;
00024 
00025 private:
00026   double rhs_;
00027   cons_sense sense_;
00028   ABA_Constraint *Ref_Acons;
00029 
00030 public:
00031   LEDA_MEMORY(cons_obj)
00032 
00033   Activation Act; // TODO provide function
00034 
00035   LEDA::map < var_obj *, double >CM;
00036 
00039   cons_obj (cons_sense s, double rhs);
00040 
00043   cons_obj ();
00044 
00045   void init (subproblem & S_, int n, Activation a);
00046 
00047   void init (ILP_Problem & IP, int n, Activation a);
00048 
00049   virtual double coeff (var_obj * v) {
00050     return 0;
00051   };
00052 
00053   void set_sense (cons_sense s);
00054 
00055   void set_rhs (double r);
00056 
00057   ABA_Constraint *Acons ();
00058 
00059   virtual double rhs ();
00060 
00061   virtual cons_sense sense ();
00062 
00063   virtual double coeff (ABA_VARIABLE * v);
00064 
00067   bool violated (subproblem & S);
00068 
00069   double slack(subproblem& S);
00070 
00071   void set (var_obj * v, double d);
00072 
00076   virtual void non_zero_entries (row & r)
00077   {
00078   };
00079 
00080   virtual int genRow (Active_Variables * var, Row & row);
00081 
00082   virtual ~cons_obj ();
00083 };
00084 
00085 }
00086 
00087 #endif

Generated on Tue Nov 16 15:18:14 2004 for SCIL by doxygen1.2.16