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

- File List
- File Members

BlisBranchStrategyPseudo.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 BlisBranchStrategyPseudo_h_
31 #define BlisBranchStrategyPseudo_h_
32
33 #include "BcpsBranchObject.h"
34 #include "BcpsBranchStrategy.h"
35 #include "BlisModel.h"
36
37
40 class BlisBranchStrategyPseudo : public BcpsBranchStrategy {
41
42 private:
44 BlisBranchStrategyPseudo& operator=(const BlisBranchStrategyPseudo& rhs);
45
46 int relibility_;
47
48 public:
49
51 BlisBranchStrategyPseudo() : relibility_(1) {
52 relibility_ = 1;
53 type_ = static_cast<int>(BlisBranchingStrategyPseudoCost);
54 }
55
57 BlisBranchStrategyPseudo(BlisModel *model, int rel)
58 : BcpsBranchStrategy(model) {
59 relibility_ = rel;
60 type_ = static_cast<int>(BlisBranchingStrategyPseudoCost);
61 }
62
64 virtual ~BlisBranchStrategyPseudo() {}
65
67 BlisBranchStrategyPseudo(const BlisBranchStrategyPseudo &);
68
70 void setRelibility(int rel) { relibility_ = rel; }
71
73 virtual BcpsBranchStrategy * clone() const {
74 return new BlisBranchStrategyPseudo(*this);
75 }
76
82 virtual int betterBranchObject(BcpsBranchObject * thisOne,
83 BcpsBranchObject * bestSoFar);
84
86 int createCandBranchObjects(int numPassesLeft, double ub);
87 };
88
89 #endif
BlisBranchStrategyPseudo::createCandBranchObjects
int createCandBranchObjects(int numPassesLeft, double ub)
Create a set of candidate branching objects.
BlisModel
Definition: BlisModel.h:60
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
BlisBranchStrategyPseudo::BlisBranchStrategyPseudo
BlisBranchStrategyPseudo()
Default Constructor.
Definition: BlisBranchStrategyPseudo.h:51
BlisBranchStrategyPseudo::~BlisBranchStrategyPseudo
virtual ~BlisBranchStrategyPseudo()
Destructor.
Definition: BlisBranchStrategyPseudo.h:64
BlisBranchStrategyPseudo::BlisBranchStrategyPseudo
BlisBranchStrategyPseudo(BlisModel *model, int rel)
Useful Constructor.
Definition: BlisBranchStrategyPseudo.h:57
BlisBranchStrategyPseudo::operator=
BlisBranchStrategyPseudo & operator=(const BlisBranchStrategyPseudo &rhs)
Illegal Assignment operator.
BlisBranchStrategyPseudo::clone
virtual BcpsBranchStrategy * clone() const
Clone a brancing strategy.
Definition: BlisBranchStrategyPseudo.h:73
BlisBranchStrategyPseudo::setRelibility
void setRelibility(int rel)
Set relibility.
Definition: BlisBranchStrategyPseudo.h:70
BlisBranchStrategyPseudo::relibility_
int relibility_
Definition: BlisBranchStrategyPseudo.h:47
BcpsBranchStrategy
Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compa...
Definition: BcpsBranchStrategy.h:39
BlisBranchingStrategyPseudoCost
Definition: Blis.h:104
BlisModel.h
BlisBranchStrategyPseudo
Blis branching strategy default class This class implements a simple default algorithm, betterBranchObject(), for choosing a branching variable.
Definition: BlisBranchStrategyPseudo.h:41
BlisBranchStrategyPseudo::betterBranchObject
virtual int betterBranchObject(BcpsBranchObject *thisOne, BcpsBranchObject *bestSoFar)
Compare branching object thisOne to bestSoFar.
BcpsBranchObject.h