BlisBranchStrategyRel.h
Go to the documentation of this file.
1 /*===========================================================================*
2  * This file is part of the BiCePS Linear Integer Solver (BLIS). *
3  * *
4  * ALPS is distributed under the Eclipse Public License as part of the *
5  * COIN-OR repository (http://www.coin-or.org). *
6  * *
7  * Authors: *
8  * *
9  * Yan Xu, Lehigh University *
10  * Ted Ralphs, Lehigh University *
11  * *
12  * Conceptual Design: *
13  * *
14  * Yan Xu, Lehigh University *
15  * Ted Ralphs, Lehigh University *
16  * Laszlo Ladanyi, IBM T.J. Watson Research Center *
17  * Matthew Saltzman, Clemson University *
18  * *
19  * *
20  * Copyright (C) 2001-2013, Lehigh University, Yan Xu, and Ted Ralphs. *
21  * All Rights Reserved. *
22  *===========================================================================*/
23 
24 
25 //#############################################################################
26 // NOTE: Borrow ideas from COIN/Cbc
27 //#############################################################################
28 
29 
30 #ifndef BlisBranchStrategyRel_h_
31 #define BlisBranchStrategyRel_h_
32 
33 #include "BcpsBranchObject.h"
34 #include "BcpsBranchStrategy.h"
35 #include "BlisModel.h"
36 
37 
41 
42  private:
45 
46  int relibility_;
47 
48  public:
49 
52  relibility_ = 1;
53  type_ = static_cast<int>(BlisBranchingStrategyReliability);
54  }
55 
58  : BcpsBranchStrategy(model) {
59  relibility_ = 1;
60  type_ = static_cast<int>(BlisBranchingStrategyReliability);
61  }
62 
65 
68 
70  void setRelibility(int rel) { relibility_ = rel; }
71 
73  virtual BcpsBranchStrategy * clone() const {
74  return new BlisBranchStrategyRel(*this);
75  }
76 
82  virtual int betterBranchObject(BcpsBranchObject * thisOne,
83  BcpsBranchObject * bestSoFar);
84 
86  int createCandBranchObjects(int numPassesLeft, double ub);
87 };
88 
89 #endif
virtual BcpsBranchStrategy * clone() const
Clone a brancing strategy.
virtual int betterBranchObject(BcpsBranchObject *thisOne, BcpsBranchObject *bestSoFar)
Compare branching object thisOne to bestSoFar.
BcpsBranchObject contains the member data required when choosing branching entities and excuting actu...
Blis branching strategy default class This class implements a simple default algorithm, betterBranchObject(), for choosing a branching variable.
int type_
Type of branching strategy.
BlisBranchStrategyRel()
Default Constructor.
BlisBranchStrategyRel & operator=(const BlisBranchStrategyRel &rhs)
Illegal Assignment operator.
virtual ~BlisBranchStrategyRel()
Destructor.
Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compa...
void setRelibility(int rel)
Set relibility.
BlisBranchStrategyRel(BlisModel *model, int rel)
Useful Constructor.
int createCandBranchObjects(int numPassesLeft)
Create a set of candidate branching objects.