00001 /********************************************************************** 00002 * 00003 * Filename : BAPSSPacker.h 00004 * Author : Chen Li Wen 00005 * 00006 * Version : 1.06 00007 * Date : Jan. 1, 1999 00008 * 00009 * Description : Header file for class BAPSSPacker. 00010 * It inherites from BAPBPVESPacker class. 00011 * 00012 * Reference : nil 00013 * 00014 * Notes : nil 00015 * 00016 * Changes : nil 00017 * 00018 * Copyright : Copyright (c) 1998 00019 * All rights reserved by 00020 * Resource Allocation and Scheduling Group 00021 * Department of Computer Science 00022 * School of Computing 00023 * National University of Singapore 00024 * 00025 **********************************************************************/ 00026 00027 00028 #ifndef __BAPSSPACKER_H__ 00029 #define __BAPSSPACKER_H__ 00030 00031 00032 #include "Vessel.h" 00033 #include "BAPBPVESPacker.h" 00034 00035 00036 #include <LEDA/list.h> 00037 00038 00039 class BAPSSPacker : public BAPBPVESPacker 00040 { 00041 public: 00042 00043 // 00044 // In single-section model, we will separate vessels 00045 // for each section, then do packing within each 00046 // section separately. 00047 // 00048 00049 BAPSSPacker(BAPPackage & aPackage, Bool aOutput = FALSE); 00050 ~BAPSSPacker(); 00051 00052 00053 void Solve(); 00054 00055 00056 // 00057 // Method GetPackingWidth inherits from parent, 00058 // Attribute mPackage and mPackingWidth inherits from 00059 // parent, too. 00060 // 00061 00062 protected: 00063 Bool Output; 00064 00065 private: 00066 00067 // 00068 // Method to handle vessels for offline heuristics 00069 // 00070 00071 void HandleVessels(list<Vessel> & aVesselList, 00072 int* SortParam, int ParamSize); 00073 }; 00074 00075 00076 #endif