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