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

sym_constraint.h

00001 /*{\Manpage {sym_constraint} {} {Symbolic Constraint}{C}}*/
00002 #ifndef SCIL_SYM_CONSTRAINT_H
00003 #define SCIL_SYM_CONSTRAINT_H
00004 
00005 #include <scil/global.h>
00006 
00007 namespace SCIL {
00008 
00009 class subproblem;
00010 class solution;
00011 
00013 class sym_constraint {
00014 
00015   public:
00016 
00019   enum status { no_constraint_found, constraint_found, fathom, 
00020                 exception_branch, resolve_immediately, feasible_solution, 
00021                 infeasible_solution, variable_found, no_variable_found, 
00022                 preemtion, continue_work };
00023 
00024   virtual ~sym_constraint() {};
00025 
00031   virtual status separate(subproblem&) {
00032     return no_constraint_found; 
00033   }
00034 
00037   virtual void init(subproblem&) { 
00038   }
00039   
00046   virtual status feasible(solution&) {
00047     return feasible_solution; 
00048   }
00049 
00055   virtual status LP_pricing(subproblem&) {
00056     return no_variable_found; 
00057   }
00058 
00064   virtual status mf_pricing(subproblem&) {
00065     return no_variable_found;
00066   }
00067 
00072   virtual status close_subproblem(subproblem&) {
00073     return continue_work;
00074   }
00075 
00080   virtual status open_subproblem(subproblem&) {
00081     return continue_work;
00082   }
00083 
00086   virtual void info() {
00087   };
00088 
00089   //virtual list<branching_rule> generate_branching_candidates(ILP_Problem&, subproblem&);
00090   /*{\Mfunc This function is called if the BCP-system wants to branch a 
00091     subproblem. It returns a list of possible branching rules.}*/
00092 };
00093 
00094 }
00095 
00096 #endif

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