00001 /*===========================================================================* 00002 * This file is part of the BiCePS Linear Integer 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-2010, Lehigh University, Yan Xu, and Ted Ralphs. * 00021 * All Rights Reserved. * 00022 *===========================================================================*/ 00023 00024 #ifndef BlisBranchStrategyMaxInf_h_ 00025 #define BlisBranchStrategyMaxInf_h_ 00026 00027 #include "BcpsBranchObject.h" 00028 #include "BcpsBranchStrategy.h" 00029 #include "BlisModel.h" 00030 00032 class BlisBranchStrategyMaxInf : public BcpsBranchStrategy { 00033 00034 private: 00035 00037 BlisBranchStrategyMaxInf& operator=(const BlisBranchStrategyMaxInf& rhs); 00038 00039 public: 00040 00042 BlisBranchStrategyMaxInf() { 00043 type_ = static_cast<int>(BlisBranchingStrategyMaxInfeasibility); 00044 } 00045 00047 BlisBranchStrategyMaxInf(BlisModel *model) : BcpsBranchStrategy(model) { 00048 type_ = static_cast<int>(BlisBranchingStrategyMaxInfeasibility); 00049 } 00050 00052 virtual ~BlisBranchStrategyMaxInf() {} 00053 00055 BlisBranchStrategyMaxInf(const BlisBranchStrategyMaxInf &); 00056 00058 virtual BcpsBranchStrategy * clone() const { 00059 return new BlisBranchStrategyMaxInf(*this); 00060 } 00061 00063 virtual int createCandBranchObjects(int numPassesLeft, double ub); 00064 00070 virtual int betterBranchObject(BcpsBranchObject * thisOne, 00071 BcpsBranchObject * bestSoFar); 00072 }; 00073 00074 #endif