/usr/src/RPM/BUILD/CoinBlis-0.93.5/Blis/src/BlisBranchStrategyRel.h
Go to the documentation of this file.
00001 /*===========================================================================*
00002  * This file is part of the BiCePS Linear Integer Solver (BLIS).             *
00003  *                                                                           *
00004  * ALPS is distributed under the Eclipse 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-2013, Lehigh University, Yan Xu, and Ted Ralphs.       *
00021  * All Rights Reserved.                                                      *
00022  *===========================================================================*/
00023 
00024 
00025 //#############################################################################
00026 // NOTE: Borrow ideas from COIN/Cbc
00027 //#############################################################################
00028 
00029 
00030 #ifndef BlisBranchStrategyRel_h_
00031 #define BlisBranchStrategyRel_h_
00032 
00033 #include "BcpsBranchObject.h"
00034 #include "BcpsBranchStrategy.h"
00035 #include "BlisModel.h"
00036 
00037 
00040 class BlisBranchStrategyRel : public BcpsBranchStrategy {
00041 
00042  private:
00044     BlisBranchStrategyRel& operator=(const BlisBranchStrategyRel& rhs);
00045 
00046     int relibility_;
00047     
00048  public:
00049 
00051     BlisBranchStrategyRel() {
00052         relibility_ = 1;
00053         type_ = static_cast<int>(BlisBranchingStrategyReliability);
00054     }
00055 
00057     BlisBranchStrategyRel(BlisModel *model, int rel)
00058         : BcpsBranchStrategy(model) {
00059         relibility_ = 1;
00060         type_ = static_cast<int>(BlisBranchingStrategyReliability);
00061     }
00062 
00064     virtual ~BlisBranchStrategyRel() {}
00065     
00067     BlisBranchStrategyRel(const BlisBranchStrategyRel &);
00068     
00070     void setRelibility(int rel) { relibility_ = rel; }    
00071 
00073     virtual BcpsBranchStrategy * clone() const {
00074         return new BlisBranchStrategyRel(*this);
00075     }
00076     
00082     virtual int betterBranchObject(BcpsBranchObject * thisOne,
00083                                    BcpsBranchObject * bestSoFar);
00084 
00086     int createCandBranchObjects(int numPassesLeft, double ub);
00087 };
00088 
00089 #endif