BAPS/include/BAPSolver.h

00001 /******************************************************************
00002  *
00003  * Filename    : BAPSolver.h
00004  * Author      : David Ong Tat-Wee
00005  *
00006  * Version     : 1.01b
00007  * Date        : 29 May 98
00008  *
00009  * Description : Interface file for problem solver class.
00010  *
00011  * Reference   : nil
00012  *
00013  * Notes       : This class calls the BAP partitioning and packing
00014  *               algorithms.  It serves as an interface between the
00015  *               BAP Package class and the BAP algorithms.
00016  *
00017  * Changes     : nil
00018  *
00019  * Copyright   : Copyright (c) 1998
00020  *               All rights reserved by
00021  *               Resource Allocation and Scheduling Group
00022  *               Department of Information Systems and Computer Science
00023  *               National University of Singapore
00024  *
00025  ******************************************************************/
00026 
00027 
00028 #ifndef __BAP_SOLVER__
00029 #define __BAP_SOLVER__
00030 
00031 #include "def.h"
00032 #include "BAPBase.h"
00033 #include "BAPPackage.h"
00034 #include "../partitioning/TV/BAPTVPartitioner.h"
00035 /********************************
00036 #include "your partitioner path"
00037 */
00038 #include "../packing/BP/BAPBPPacker.h"
00039 
00040 class BAPSolver : public BAPBase
00041 {
00042 public:
00043    BAPSolver(BAPPackage& aPackage, string aJob = "all");
00044    ~BAPSolver();
00045 
00046    //
00047    // Debugging facility
00048    //
00049    // prints information on the current solver with the given
00050    // indentation width and at the given detail level
00051    void  Print(int aWidth = 1, int aDetail = 0) const;
00052 
00053    //
00054    // Accessor member functions
00055    //
00056    // returns the BAP package associated with this solver
00057    BAPPackage& Package() const;
00058 
00059    //
00060    // Modifier member functions
00061    //
00062    // activates the solution to the BAP problem
00063    void  Solve();
00064    void  DoPartitioning();
00065    void  DoPacking();
00066    void  ReadParameterFile();
00067 
00068 private:
00069    BAPPackage& mPackage;
00070    // Possible values:
00071    //    All  = run partitioning and packing
00072    //    Part = run partitioning only and stop
00073    //    Pack = read partitioning solution and run packing only
00074    string      mJob;
00075    string      mPartitioner;
00076    string      mPacker;
00077 };
00078 
00079 
00080 #endif
00081 

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