00001 /*===========================================================================* 00002 * This file is part of the Bcps Linear Solver (BLIS). * 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-2005, International Business Machines * 00021 * Corporation, Lehigh University, Yan Xu, Ted Ralphs, Matthew Salzman and * 00022 * others. All Rights Reserved. * 00023 *===========================================================================*/ 00024 00025 #ifndef BlisSolution_h_ 00026 #define BlisSolution_h_ 00027 00028 #include "Alps.h" 00029 #include "BcpsSolution.h" 00030 00031 //############################################################################# 00035 //############################################################################# 00036 00037 class BlisSolution : public BcpsSolution { 00038 00039 protected: 00040 00041 public: 00042 00044 BlisSolution() 00045 : 00046 BcpsSolution() 00047 {} 00048 00050 BlisSolution(int s, const double *values, double objValue) 00051 : 00052 BcpsSolution(s, values, objValue) 00053 {} 00054 00056 virtual ~BlisSolution() { } 00057 00060 // BlisIpSolution* testIntegrality(const double etol = 1e-5) const; 00061 00063 virtual AlpsEncoded* encode() const { 00064 AlpsEncoded* encoded = new AlpsEncoded(AlpsKnowledgeTypeSolution); 00065 encodeBcps(encoded); 00066 // Nothing to do for Blis part. 00067 return encoded; 00068 } 00069 00071 virtual AlpsKnowledge* decode(AlpsEncoded& encoded) const { 00072 BlisSolution * sol = new BlisSolution(); 00073 sol->decodeBcps(encoded); 00074 return sol; 00075 } 00076 00077 }; 00078 00079 //############################################################################# 00080 //############################################################################# 00081 00082 #endif