00001 /* #start# *********************************************************** 00002 00003 Scheduling Simulator 00004 Lehrstuhl f"ur Effiziente Algorithmen 00005 Technische Universit"at M"unchen 00006 00007 File : $Id: SGeneralShop.h,v 1.4 2003/01/08 18:57:13 meierb Exp $ 00008 00009 Purpose : Superclass of all environments for shop-models 00010 00011 RCS-Log: 00012 $Log: SGeneralShop.h,v $ 00013 Revision 1.4 2003/01/08 18:57:13 meierb 00014 added randomized release times 00015 00016 Revision 1.1.1.1 2002/12/02 22:26:19 meierb 00017 my_schedule 00018 00019 Revision 1.2 2002/11/10 18:05:42 taeubig 00020 namespace and header include changes 00021 00022 Revision 1.1 2002/08/29 12:59:59 taeubig 00023 Added the sources 00024 00025 Revision 1.2 2000/12/04 16:12:13 taeubig 00026 The classifier for general shops is now "G" instead of "General" 00027 00028 Revision 1.1 2000/05/29 19:44:25 taeubig 00029 Moved environment related files into subdirectory env 00030 00031 Revision 1.7 2000/05/24 12:46:03 taeubig 00032 New compiler (gcc-2.95) and new Qt (2.1) 00033 Replaced "list" by "leda_list" etc. 00034 00035 Revision 1.6 2000/01/13 16:44:10 zoidl 00036 added javadoc comments 00037 00038 Revision 1.5 1999/12/02 02:26:23 taeubig 00039 Project now compiles with gcc 2.95.2 00040 (inheritance of class SSingle corrected) 00041 00042 Revision 1.4 1999/12/01 14:28:21 zoidl 00043 corrected declaration of getModifer() 00044 00045 Revision 1.3 1999/11/30 16:07:32 zoidl 00046 added getModifier() 00047 00048 Revision 1.2 1999/11/24 17:51:50 zoidl 00049 open shop example works 00050 00051 Revision 1.1 1999/11/17 15:29:19 schickin 00052 generalshop added (just forgot it, sorry folks!) 00053 00054 00055 * #end# ************************************************************* */ 00056 00057 #ifndef SGENERALSHOP_H 00058 #define SGENERALSHOP_H 00059 00060 // system header files 00061 00062 // project header files 00063 #include "SEnvironment.h" 00064 #include "SGeneralShopMod.h" 00065 #include "../jobs/SShopJob.h" 00066 00080 class SGeneralShop : public virtual SEnvironment { 00081 TYPEINFO0(SGeneralShop, "G"); 00082 public: 00088 virtual leda_list<int> getAvailOperations(const SShopJob& job) const=0; 00089 00100 virtual double getPartialProcTime(const SShopJob& job, int op, 00101 const SMachines& mach) const =0; 00102 00105 virtual int getNumOperations(const SShopJob& job) const =0; 00106 00113 virtual leda_list<int> getMachinesFor(const SShopJob& job, int op) const =0; 00114 00117 virtual int getNextOperation(const SShopJob& job) const =0; 00118 00121 virtual SEnvironmentMod& getModifier() =0; 00122 }; 00123 00124 #endif // SGENERALSHOP_H