/usr/src/RPM/BUILD/CoinBlis-0.91.2/Blis/src/BlisBranchStrategyBilevel.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 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 BlisBranchStrategyBilevel_h_
00025 #define BlisBranchStrategyBilevel_h_
00026 
00027 #include "BcpsBranchObject.h"
00028 #include "BcpsBranchStrategy.h"
00029 #include "BlisModel.h"
00030 
00032 class BlisBranchStrategyBilevel : public BcpsBranchStrategy {
00033 
00034  private:
00035 
00037     BlisBranchStrategyBilevel& operator=(const BlisBranchStrategyBilevel& rhs);
00038     
00039  public:
00040     
00042     BlisBranchStrategyBilevel(){
00043         type_ = static_cast<int>(BlisBranchingStrategyBilevel);
00044     }
00045   
00047     BlisBranchStrategyBilevel(BlisModel *model) : BcpsBranchStrategy(model) {
00048         type_ = static_cast<int>(BlisBranchingStrategyBilevel);
00049     }
00050   
00052     virtual ~BlisBranchStrategyBilevel() {}
00053   
00055     BlisBranchStrategyBilevel(const BlisBranchStrategyBilevel &);
00056     
00058     virtual BcpsBranchStrategy * clone() const {
00059         return new BlisBranchStrategyBilevel(*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