Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
tmp
buildd
coinor-cbc-2.5.0
Cbc
src
CbcFollowOn.hpp
Go to the documentation of this file.
1
// Edwin 11/10/2009-- carved out of CbcBranchActual
2
#ifndef CbcFollowOn_H
3
#define CbcFollowOn_H
4
5
#include "
CbcBranchBase.hpp
"
6
#include "CoinPackedMatrix.hpp"
7
17
class
CbcFollowOn
:
public
CbcObject
{
18
19
public
:
20
21
// Default Constructor
22
CbcFollowOn
();
23
26
CbcFollowOn
(
CbcModel
*
model
);
27
28
// Copy constructor
29
CbcFollowOn
(
const
CbcFollowOn
&);
30
32
virtual
CbcObject
*
clone
()
const
;
33
34
// Assignment operator
35
CbcFollowOn
&
operator=
(
const
CbcFollowOn
& rhs);
36
37
// Destructor
38
~CbcFollowOn
();
39
41
virtual
double
infeasibility
(
const
OsiBranchingInformation * info,
42
int
&
preferredWay
)
const
;
43
44
using
CbcObject::feasibleRegion
;
46
virtual
void
feasibleRegion
();
47
49
virtual
CbcBranchingObject
*
createCbcBranch
(OsiSolverInterface * solver,
const
OsiBranchingInformation * info,
int
way) ;
51
virtual
int
gutsOfFollowOn
(
int
& otherRow,
int
& preferredWay)
const
;
52
53
protected
:
56
CoinPackedMatrix
matrix_
;
58
CoinPackedMatrix
matrixByRow_
;
60
int
*
rhs_
;
61
};
62
66
class
CbcFixingBranchingObject
:
public
CbcBranchingObject
{
67
68
public
:
69
70
// Default Constructor
71
CbcFixingBranchingObject
();
72
73
// Useful constructor
74
CbcFixingBranchingObject
(
CbcModel
*
model
,
75
int
way
,
76
int
numberOnDownSide,
const
int
* down,
77
int
numberOnUpSide,
const
int
* up);
78
79
// Copy constructor
80
CbcFixingBranchingObject
(
const
CbcFixingBranchingObject
&);
81
82
// Assignment operator
83
CbcFixingBranchingObject
&
operator=
(
const
CbcFixingBranchingObject
& rhs);
84
86
virtual
CbcBranchingObject
*
clone
()
const
;
87
88
// Destructor
89
virtual
~CbcFixingBranchingObject
();
90
91
using
CbcBranchingObject::branch
;
93
virtual
double
branch
();
94
95
#ifdef JJF_ZERO
96
// No need to override. Default works fine.
100
virtual
void
previousBranch
();
101
#endif
102
103
using
CbcBranchingObject::print
;
106
virtual
void
print
();
107
109
virtual
CbcBranchObjType
type
()
const
{
110
return
FollowOnBranchObj
;
111
}
112
120
virtual
int
compareOriginalObject
(
const
CbcBranchingObject
* brObj)
const
;
121
130
virtual
CbcRangeCompare
compareBranchingObject
131
(
const
CbcBranchingObject
* brObj,
const
bool
replaceIfOverlap =
false
);
132
133
private
:
136
int
numberDown_
;
138
int
numberUp_
;
140
int
*
downList_
;
142
int
*
upList_
;
143
};
144
145
#endif
146
Generated on Tue Jun 26 2012 18:54:53 by
1.8.1.1