Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
build
buildd
coinor-cbc-2.5.0
Cbc
src
CbcBranchCut.hpp
Go to the documentation of this file.
1
/* $Id: CbcBranchCut.hpp 1389 2009-12-10 15:17:35Z caphillSNL $ */
2
// Copyright (C) 2004, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
#ifndef CbcBranchCut_H
5
#define CbcBranchCut_H
6
7
#include "
CbcBranchBase.hpp
"
8
#include "OsiRowCut.hpp"
9
#include "CoinPackedMatrix.hpp"
10
15
class
CbcBranchCut
:
public
CbcObject
{
16
17
public
:
18
19
// Default Constructor
20
CbcBranchCut
();
21
24
CbcBranchCut
(
CbcModel
*
model
);
25
// Copy constructor
26
CbcBranchCut
(
const
CbcBranchCut
&);
27
29
virtual
CbcObject
*
clone
()
const
;
30
31
// Assignment operator
32
CbcBranchCut
&
operator=
(
const
CbcBranchCut
& rhs);
33
34
// Destructor
35
~CbcBranchCut
();
36
38
virtual
double
infeasibility
(
const
OsiBranchingInformation * info,
39
int
&
preferredWay
)
const
;
40
41
using
CbcObject::feasibleRegion
;
51
virtual
void
feasibleRegion
();
52
55
virtual
bool
boundBranch
()
const
;
56
58
virtual
CbcBranchingObject
*
createCbcBranch
(OsiSolverInterface * solver,
const
OsiBranchingInformation * info,
int
way) ;
59
75
virtual
CbcBranchingObject
*
preferredNewFeasible
()
const
;
76
86
virtual
CbcBranchingObject
*
notPreferredNewFeasible
()
const
;
87
88
using
CbcObject::resetBounds
;
94
virtual
void
resetBounds
();
95
96
97
protected
:
99
100
};
106
class
CbcCutBranchingObject
:
public
CbcBranchingObject
{
107
108
public
:
109
111
CbcCutBranchingObject
();
112
118
CbcCutBranchingObject
(
CbcModel
*
model
, OsiRowCut & down, OsiRowCut &up,
bool
canFix);
119
121
CbcCutBranchingObject
(
const
CbcCutBranchingObject
&);
122
124
CbcCutBranchingObject
&
operator=
(
const
CbcCutBranchingObject
& rhs);
125
127
virtual
CbcBranchingObject
*
clone
()
const
;
128
130
virtual
~CbcCutBranchingObject
();
131
132
using
CbcBranchingObject::branch
;
137
virtual
double
branch
();
138
139
using
CbcBranchingObject::print
;
142
virtual
void
print
();
143
146
virtual
bool
boundBranch
()
const
;
147
149
virtual
CbcBranchObjType
type
()
const
{
150
return
CutBranchingObj
;
151
}
152
160
virtual
int
compareOriginalObject
(
const
CbcBranchingObject
* brObj)
const
;
161
170
virtual
CbcRangeCompare
compareBranchingObject
171
(
const
CbcBranchingObject
* brObj,
const
bool
replaceIfOverlap =
false
);
172
173
protected
:
175
OsiRowCut
down_
;
177
OsiRowCut
up_
;
179
bool
canFix_
;
180
};
181
#endif
Generated on Fri Jun 29 2012 06:31:52 by
1.8.1.1