- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

BlisBranchStrategyBilevel.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 #ifndef BlisBranchStrategyBilevel_h_
25 #define BlisBranchStrategyBilevel_h_
26
27 #include "BcpsBranchObject.h"
28 #include "BcpsBranchStrategy.h"
29 #include "BlisModel.h"
30
32 class BlisBranchStrategyBilevel : public BcpsBranchStrategy {
33
34 private:
35
37 BlisBranchStrategyBilevel& operator=(const BlisBranchStrategyBilevel& rhs);
38
39 public:
40
42 BlisBranchStrategyBilevel(){
43 type_ = static_cast<int>(BlisBranchingStrategyBilevel);
44 }
45
47 BlisBranchStrategyBilevel(BlisModel *model) : BcpsBranchStrategy(model) {
48 type_ = static_cast<int>(BlisBranchingStrategyBilevel);
49 }
50
52 virtual ~BlisBranchStrategyBilevel() {}
53
55 BlisBranchStrategyBilevel(const BlisBranchStrategyBilevel &);
56
58 virtual BcpsBranchStrategy * clone() const {
59 return new BlisBranchStrategyBilevel(*this);
60 }
61
63 virtual int createCandBranchObjects(int numPassesLeft, double ub);
64
70 virtual int betterBranchObject(BcpsBranchObject * thisOne,
71 BcpsBranchObject * bestSoFar);
72 };
73
74 #endif
BlisModel
Definition: BlisModel.h:60
BlisBranchStrategyBilevel::createCandBranchObjects
virtual int createCandBranchObjects(int numPassesLeft, double ub)
Create a set of candidate branching objects.
BlisBranchStrategyBilevel::BlisBranchStrategyBilevel
BlisBranchStrategyBilevel(BlisModel *model)
Bilevel Constructor.
Definition: BlisBranchStrategyBilevel.h:47
BlisBranchStrategyBilevel::clone
virtual BcpsBranchStrategy * clone() const
Clone a brancing strategy.
Definition: BlisBranchStrategyBilevel.h:58
BcpsBranchStrategy.h
BcpsBranchObject
BcpsBranchObject contains the member data required when choosing branching entities and excuting actu...
Definition: BcpsBranchObject.h:47
BcpsBranchStrategy::type_
int type_
Type of branching strategy.
Definition: BcpsBranchStrategy.h:48
BlisBranchStrategyBilevel::operator=
BlisBranchStrategyBilevel & operator=(const BlisBranchStrategyBilevel &rhs)
Illegal Assignment operator.
BlisBranchStrategyBilevel::BlisBranchStrategyBilevel
BlisBranchStrategyBilevel()
Bilevel Constructor.
Definition: BlisBranchStrategyBilevel.h:42
BcpsBranchStrategy
Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compa...
Definition: BcpsBranchStrategy.h:39
BlisModel.h
BcpsBranchObject.h
BlisBranchingStrategyBilevel
Definition: Blis.h:107
BlisBranchStrategyBilevel::betterBranchObject
virtual int betterBranchObject(BcpsBranchObject *thisOne, BcpsBranchObject *bestSoFar)
Compare branching object thisOne to bestSoFar.
BlisBranchStrategyBilevel
This class implements maximum infeasibility branching.
Definition: BlisBranchStrategyBilevel.h:32
BlisBranchStrategyBilevel::~BlisBranchStrategyBilevel
virtual ~BlisBranchStrategyBilevel()
Destructor.
Definition: BlisBranchStrategyBilevel.h:52