Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

model/env/SJobShop.h

Go to the documentation of this file.
00001 /* #start# ***********************************************************
00002 
00003            Scheduling Simulator
00004         Lehrstuhl f"ur Effiziente Algorithmen
00005            Technische Universit"at M"unchen
00006 
00007  File    : $Id: SJobShop.h,v 1.6 2003/01/24 10:04:59 hall Exp $
00008 
00009  Purpose : 
00010 
00011  RCS-Log:
00012  $Log: SJobShop.h,v $
00013  Revision 1.6  2003/01/24 10:04:59  hall
00014  brdCast stuff
00015 
00016  Revision 1.5  2003/01/08 18:57:13  meierb
00017  added randomized release times
00018 
00019  Revision 1.2  2002/12/16 23:32:09  meierb
00020  *** empty log message ***
00021 
00022  Revision 1.1.1.1  2002/12/02 22:26:19  meierb
00023  my_schedule
00024 
00025  Revision 1.3  2002/11/10 18:05:42  taeubig
00026  namespace and header include changes
00027 
00028  Revision 1.2  2002/11/07 12:33:25  taeubig
00029  Added class keyword to friend declaration
00030 
00031  Revision 1.1  2002/08/29 12:59:59  taeubig
00032  Added the sources
00033 
00034  Revision 1.1  2000/05/29 19:44:31  taeubig
00035  Moved environment related files into subdirectory env
00036 
00037  Revision 1.11  2000/05/24 12:46:08  taeubig
00038  New compiler (gcc-2.95) and new Qt (2.1)
00039  Replaced "list" by "leda_list" etc.
00040 
00041  Revision 1.10  2000/01/13 16:44:10  zoidl
00042  added javadoc comments
00043 
00044  Revision 1.9  1999/12/28 23:33:09  zoidl
00045  SShopJob::setNumOfOperations() is dead, long live
00046  SGeneralShopMod::setNumOperations()
00047 
00048  Revision 1.8  1999/12/01 14:28:22  zoidl
00049  corrected declaration of getModifer()
00050 
00051  Revision 1.7  1999/11/30 16:07:12  zoidl
00052  also flow shops work now
00053 
00054  Revision 1.6  1999/11/30 00:02:11  zoidl
00055  now job shops work, too
00056 
00057  Revision 1.5  1999/11/17 14:57:37  schickin
00058  frame for shop models added
00059 
00060  Revision 1.4  1999/02/12 11:55:42  hall
00061  impl. SEnvironment slice
00062 
00063  Revision 1.3  1999/02/10 15:05:43  schickin
00064  model-directory can be compiled now
00065 
00066  Revision 1.2  1999/01/29 10:03:38  schickin
00067  Project-Headers added.
00068 
00069 
00070  * #end# ************************************************************* */
00071 
00072 #ifndef SJOBSHOP_H
00073 #define SJOBSHOP_H
00074 
00075 // system header files
00076 #include <LEDA/array2.h>
00077 
00078 // project header files
00079 #include "SGeneralShop.h"
00080 #include "SJobShopMod.h"
00081 #include "../jobs/SJob.h"
00082 
00091 class SJobShop : public virtual SGeneralShop {
00092   TYPEINFO1(SJobShop, "J", SGeneralShop);
00093   friend class SJobShopMod;
00094 public:
00097   SJobShop();
00100   virtual ~SJobShop();
00101 
00102   // inherited by SEnvironment (via SGeneralShop)
00103   
00111   virtual double getRemProcTimeOn(SJob& job,
00112           const SMachines& machines) const;
00113   
00116   virtual int getNumOfMachines() const 
00117     { return _numMach; };
00118 
00121   virtual SEnvironmentMod& getModifier()
00122     { return _mod; };  
00123 
00124   // inherited by SGeneralShop
00125   
00131   virtual leda_list<int> getAvailOperations(const SShopJob& job) const;
00132 
00139   virtual double getPartialProcTime(const SShopJob& job, int op,
00140                                     const SMachines& mach) const;
00141   
00144   virtual int getNumOperations(const SShopJob& job) const;
00145 
00152   virtual leda_list<int> getMachinesFor(const SShopJob& job, int op) const;
00153   virtual int getNextOperation(const SShopJob& job) const; 
00154 
00155   // new methods
00156 
00163   virtual const leda_array<int>& getWorkPlan(const SJob& job) const;
00164 
00165  protected:  
00171   leda_array< leda_array<double>* > _partTimes;
00172   
00175   int _numMach;
00176 
00177  private:
00181   leda_array< leda_array<int>* > _workPlan;
00182 
00183   SJobShopMod _mod;
00184 };
00185 
00186 #endif //SJOBSHOP_H
00187 
00188 

Generated on Thu May 22 16:48:08 2003 for Sketch-it! by doxygen1.2.18