Blis
0.94
src
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-2019, 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
virtual
int
createCandBranchObjects
(
int
numPassesLeft,
double
ub);
87
};
88
89
#endif
BcpsBranchStrategy::type_
int type_
BlisBranchStrategyPseudo::~BlisBranchStrategyPseudo
virtual ~BlisBranchStrategyPseudo()
Destructor.
Definition:
BlisBranchStrategyPseudo.h:64
BlisBranchingStrategyPseudoCost
@ BlisBranchingStrategyPseudoCost
Definition:
Blis.h:104
BlisModel
Definition:
BlisModel.h:69
BlisBranchStrategyPseudo::setRelibility
void setRelibility(int rel)
Set relibility.
Definition:
BlisBranchStrategyPseudo.h:70
BlisBranchStrategyPseudo::BlisBranchStrategyPseudo
BlisBranchStrategyPseudo(BlisModel *model, int rel)
Useful Constructor.
Definition:
BlisBranchStrategyPseudo.h:57
BcpsBranchStrategy.h
BcpsBranchObject
BlisModel.h
BlisBranchStrategyPseudo::BlisBranchStrategyPseudo
BlisBranchStrategyPseudo()
Default Constructor.
Definition:
BlisBranchStrategyPseudo.h:51
BlisBranchStrategyPseudo::createCandBranchObjects
virtual int createCandBranchObjects(int numPassesLeft, double ub)
Create a set of candidate branching objects.
BlisBranchStrategyPseudo::betterBranchObject
virtual int betterBranchObject(BcpsBranchObject *thisOne, BcpsBranchObject *bestSoFar)
Compare branching object thisOne to bestSoFar.
BlisBranchStrategyPseudo
Blis branching strategy.
Definition:
BlisBranchStrategyPseudo.h:40
BcpsBranchObject.h
BcpsBranchStrategy
BlisBranchStrategyPseudo::clone
virtual BcpsBranchStrategy * clone() const
Clone a brancing strategy.
Definition:
BlisBranchStrategyPseudo.h:73
Generated by
1.8.17