00001 /*************************************************************************** 00002 SLDM.h - description 00003 ------------------- 00004 begin : Die Jan 14 2003 00005 copyright : (C) 2003 by LEA / TUM 00006 email : taeubig@in.tum.de 00007 ***************************************************************************/ 00008 00009 #ifndef SLDM_H 00010 #define SLDM_H 00011 00012 #include <utility> 00013 #include <LEDA/list.h> 00014 00015 #include "SSchedAlgorithm.h" 00016 #include "BinTree.h" 00017 #include "../model/jobs/SJob.h" 00018 00019 using std::pair; 00020 00025 class SLDM : public SSchedAlgorithm { 00026 public: 00027 virtual ~SLDM() {}; 00028 virtual void startup(); 00029 virtual double innerLoop(const leda_list<STSysSchedEvent>& rEvents); 00030 virtual const leda_string getDescription() const; 00031 virtual const leda_string &getName() const; 00032 virtual const SClassification &getClassification() const; 00033 virtual SLeaBibEntry &getLeaBibEntry() const; 00034 00035 private: 00036 leda_list<SJob*> m1_list; 00037 leda_list<SJob*> m2_list; 00038 leda_list< pair<SJob*, int*> > job_list; 00039 00041 BinTree* difference(leda_list< pair<SJob*, int*> > l); 00042 00044 void selectMachines(knot* k, int m); 00045 }; 00046 00047 #endif