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

algorithms/SPinedo.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: SPinedo.h,v 1.5 2003/01/08 18:57:11 meierb Exp $
00008 
00009  Purpose : implementation of Pinedo's algorithm for O2||C_max
00010 
00011  RCS-Log:
00012  $Log: SPinedo.h,v $
00013  Revision 1.5  2003/01/08 18:57:11  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.3  2002/11/13 18:18:29  taeubig
00020  Workarounds for using LEDA 4.4 and also the former releases
00021 
00022  Revision 1.2  2002/11/10 13:32:52  taeubig
00023  namespace and header include changes
00024 
00025  Revision 1.1  2002/08/29 12:59:58  taeubig
00026  Added the sources
00027 
00028  Revision 1.5  2000/07/05 21:51:42  mayerh
00029  added method getLeaBibEntry and made some changes
00030 
00031  Revision 1.4  2000/05/24 12:21:09  taeubig
00032  New compiler (gcc-2.95) and new Qt (2.1)
00033  Replaced "list" by "leda_list" etc.
00034 
00035  Revision 1.3  2000/03/30 19:13:58  mayerh
00036  added member-functions getClassification() and getName()
00037 
00038  Revision 1.2  2000/01/12 11:31:38  zoidl
00039  added javadoc comments and cosmetic changes in getDescription
00040 
00041  Revision 1.1  2000/01/05 20:19:50  zoidl
00042  added Pinedo's alg
00043 
00044 
00045  * #end# ************************************************************* */
00046 
00047 // from:
00048 
00049 // P. Brucker, Scheduling Algorithms, 1995
00050 // Chap. 6.2.1, p. 146f
00051 
00052 // complexity: O(n)
00053 
00054 #ifndef SPINEDO_H
00055 #define SPINEDO_H
00056 
00057 // system header files
00058 
00059 // project header files
00060 #include "SSchedAlgorithm.h"
00061 
00064 class SPinedo : public SSchedAlgorithm
00065 {
00066  public:
00067   SPinedo() {};
00068   virtual ~SPinedo() {};
00069   virtual void startup();
00070   virtual double innerLoop(const leda_list<STSysSchedEvent>& rEvents);
00071   virtual const leda_string getDescription() const;
00072   virtual const leda_string &getName() const;
00073   virtual const SClassification &getClassification() const;
00074   virtual SLeaBibEntry &getLeaBibEntry() const;
00075  private:
00076   // schedule for machine A and B
00077   leda_array< leda_list<int> > _schedule;
00078   // current position in schedule for machine A and B
00079   leda_array< leda_list_item > _pos;
00080 
00081   // flag, if we have to interchange machines and sets
00082   bool _interchange;
00083   // flag, if innerLoop is called the first time
00084   bool _first;
00085 };
00086 
00087 #endif //SPINEDO_H

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