BAPS/packing/BP/BAPBPPacker.h

00001 /******************************************************************
00002  *
00003  * Filename    : BAPBPPacker.h
00004  * Author      : Chen Li Wen
00005  *
00006  * Version     : 1.1
00007  * Date        : Nov. 12, 1998
00008  *
00009  * Description : Interface file for the BAP BP Packing Stub. 
00010  *               This packer will do the packing subtask using
00011  *               Bin-Packing algorithms. It will call different
00012  *               packer to do the packing task according to different
00013  *               parameters passed to it.
00014  *
00015  * Reference   : nil
00016  *
00017  * Notes       : Derived from class BAPPacker.
00018  *
00019  * Changes     : 10/05/99, Chen Li Wen
00020  *
00021  * Copyright   : Copyright (c) 1998
00022  *               All rights reserved by
00023  *               Resource Allocation and Scheduling Group
00024  *               Department of Computer Science
00025  *               School of Computing
00026  *               National University of Singapore
00027  *
00028  ******************************************************************/
00029 
00030 
00031 #ifndef __BAPBPPACKER__
00032 #define __BAPBPPACKER__
00033 
00034 
00035 #include "PackDef.h"
00036 #include "BAPPacker.h"
00037 
00038 
00039 #include <LEDA/core/list.h>
00040 
00041 using leda::list;
00042 
00043 
00044 class BAPBPPacker : public BAPPacker
00045 {
00046    public:
00047    
00048       BAPBPPacker(BAPPackage& aPackage);
00049       ~BAPBPPacker();
00050 
00051    
00052       //
00053       // Accessor member functions
00054       // Write information to solution file
00055       // If computing packing width, write packing width to
00056       // solution files; otherwise, write unpacked vessels to 
00057       // solution files.
00058       //
00059       
00060       void   WriteSolutionFile(Bool aCompPackWidth) const;
00061 
00062       
00063       //
00064       // Modifier member functions
00065       // Read solution from partitioning solution file
00066       //
00067       
00068       void   ReadSolutionFile();
00069       
00070       
00071       //
00072       // Call different packer to do packing due to 
00073       // different parameters
00074       //
00075       
00076       void   Solve();
00077 
00078 
00079    private:
00080       
00081       //
00082       // Keep packing width and density
00083       //
00084       
00085       list<int> mPackingWidth;
00086       list<int> mDensity;
00087       
00088 };
00089 
00090 
00091 #endif

Generated on Tue Sep 9 15:40:10 2008 for BAP by  doxygen 1.5.3