00001 /*===========================================================================* 00002 * This file is part of the Abstract Library for Parallel Search (ALPS). * 00003 * * 00004 * ALPS is distributed under the Common Public License as part of the * 00005 * COIN-OR repository (http://www.coin-or.org). * 00006 * * 00007 * Authors: * 00008 * * 00009 * Yan Xu, Lehigh University * 00010 * Ted Ralphs, Lehigh University * 00011 * * 00012 * Conceptual Design: * 00013 * * 00014 * Yan Xu, Lehigh University * 00015 * Ted Ralphs, Lehigh University * 00016 * Laszlo Ladanyi, IBM T.J. Watson Research Center * 00017 * Matthew Saltzman, Clemson University * 00018 * * 00019 * * 00020 * Copyright (C) 2001-2007, Lehigh University, Yan Xu, and Ted Ralphs. * 00021 *===========================================================================*/ 00022 00023 #ifndef AlpsNodeDesc_h_ 00024 #define AlpsNodeDesc_h_ 00025 00026 //#include "AlpsModel.h" 00027 00028 class AlpsModel; 00029 00030 //############################################################################# 00034 //############################################################################# 00035 class AlpsNodeDesc { 00036 00037 protected: 00038 00040 // Should allow change model due to presolve 00041 AlpsModel* model_; 00042 00043 public: 00044 00045 AlpsNodeDesc() {} 00046 AlpsNodeDesc(AlpsModel* m) 00047 { model_ = m; } 00048 00049 virtual ~AlpsNodeDesc() {} 00050 00051 inline AlpsModel* getModel() const { return model_; } 00052 inline void setModel(AlpsModel* m) { model_ = m; } 00053 00055 virtual AlpsReturnStatus encode(AlpsEncoded *encoded) const { 00056 AlpsReturnStatus status = AlpsReturnStatusOk; 00057 // Should never be called. 00058 assert(0); 00059 return status; 00060 } 00061 00063 virtual AlpsReturnStatus decode(AlpsEncoded &encoded) { 00064 AlpsReturnStatus status = AlpsReturnStatusOk; 00065 assert(0); 00066 return status; 00067 } 00068 }; 00069 00070 #endif