Cbc
2.10.13
Toggle main menu visibility
Loading...
Searching...
No Matches
Cbc
src
CbcFullNodeInfo.hpp
Go to the documentation of this file.
1
// $Id$
2
// Copyright (C) 2002, International Business Machines
3
// Corporation and others. All Rights Reserved.
4
// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6
// Edwin 11/24/09 carved from CbcNode
7
8
#ifndef CbcFullNodeInfo_H
9
#define CbcFullNodeInfo_H
10
11
#include <string>
12
#include <vector>
13
14
#include "CoinWarmStartBasis.hpp"
15
#include "CoinSearchTree.hpp"
16
#include "
CbcBranchBase.hpp
"
17
#include "
CbcNodeInfo.hpp
"
18
19
class
OsiSolverInterface;
20
class
OsiSolverBranch;
21
22
class
OsiCuts;
23
class
OsiRowCut;
24
class
OsiRowCutDebugger;
25
class
CoinWarmStartBasis;
26
class
CbcCountRowCut
;
27
class
CbcModel
;
28
class
CbcNode;
29
class
CbcSubProblem;
30
class
CbcGeneralBranchingObject;
31
32
//#############################################################################
68
79
80
class
CbcFullNodeInfo
:
public
CbcNodeInfo
{
81
82
public
:
92
virtual
void
applyToModel
(
CbcModel
*
model
, CoinWarmStartBasis *&basis,
93
CbcCountRowCut
**
addCuts
,
94
int
¤tNumberCuts)
const
;
95
97
virtual
int
applyBounds
(
int
iColumn,
double
&
lower
,
double
&
upper
,
int
force
);
98
103
virtual
CbcNodeInfo
*
buildRowBasis
(CoinWarmStartBasis &basis)
const
;
104
// Default Constructor
105
CbcFullNodeInfo
();
106
109
CbcFullNodeInfo
(
CbcModel
*
model
,
110
int
numberRowsAtContinuous);
111
112
// Copy constructor
113
CbcFullNodeInfo
(
const
CbcFullNodeInfo
&);
114
115
// Destructor
116
~CbcFullNodeInfo
();
117
119
virtual
CbcNodeInfo
*
clone
()
const
;
121
inline
const
double
*
lower
()
const
122
{
123
return
lower_
;
124
}
125
126
inline
void
setColLower
(
int
sequence,
double
value
)
127
{
128
lower_
[sequence] =
value
;
129
}
130
131
inline
double
*
mutableLower
()
const
132
{
133
return
lower_
;
134
}
135
136
inline
const
double
*
upper
()
const
137
{
138
return
upper_
;
139
}
140
141
inline
void
setColUpper
(
int
sequence,
double
value
)
142
{
143
upper_
[sequence] =
value
;
144
}
145
146
inline
double
*
mutableUpper
()
const
147
{
148
return
upper_
;
149
}
150
151
protected
:
152
// Data
158
CoinWarmStartBasis *
basis_
;
159
int
numberIntegers_
;
160
// Bounds stored in full
161
double
*
lower_
;
162
double
*
upper_
;
163
164
private
:
166
CbcFullNodeInfo
&
operator=
(
const
CbcFullNodeInfo
&rhs);
167
};
168
#endif
//CbcFullNodeInfo_H
169
170
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
171
*/
CbcBranchBase.hpp
CbcNodeInfo.hpp
model
CbcModel * model() const
Return model.
Definition
CbcObject.hpp:252
CbcCountRowCut
OsiRowCut augmented with bookkeeping.
Definition
CbcCountRowCut.hpp:34
CbcFullNodeInfo::upper
const double * upper() const
Upper bounds.
Definition
CbcFullNodeInfo.hpp:136
CbcFullNodeInfo::clone
virtual CbcNodeInfo * clone() const
Clone.
CbcFullNodeInfo::applyToModel
virtual void applyToModel(CbcModel *model, CoinWarmStartBasis *&basis, CbcCountRowCut **addCuts, int ¤tNumberCuts) const
Modify model according to information at node.
CbcFullNodeInfo::setColUpper
void setColUpper(int sequence, double value)
Set a bound.
Definition
CbcFullNodeInfo.hpp:141
CbcFullNodeInfo::basis_
CoinWarmStartBasis * basis_
Full basis.
Definition
CbcFullNodeInfo.hpp:158
CbcFullNodeInfo::lower_
double * lower_
Definition
CbcFullNodeInfo.hpp:161
CbcFullNodeInfo::operator=
CbcFullNodeInfo & operator=(const CbcFullNodeInfo &rhs)
Illegal Assignment operator.
CbcFullNodeInfo::applyBounds
virtual int applyBounds(int iColumn, double &lower, double &upper, int force)
Just apply bounds to one variable - force means overwrite by lower,upper (1=>infeasible).
CbcFullNodeInfo::upper_
double * upper_
Definition
CbcFullNodeInfo.hpp:162
CbcFullNodeInfo::lower
const double * lower() const
Lower bounds.
Definition
CbcFullNodeInfo.hpp:121
CbcFullNodeInfo::mutableLower
double * mutableLower() const
Mutable lower bounds.
Definition
CbcFullNodeInfo.hpp:131
CbcFullNodeInfo::setColLower
void setColLower(int sequence, double value)
Set a bound.
Definition
CbcFullNodeInfo.hpp:126
CbcFullNodeInfo::buildRowBasis
virtual CbcNodeInfo * buildRowBasis(CoinWarmStartBasis &basis) const
Builds up row basis backwards (until original model).
CbcFullNodeInfo::CbcFullNodeInfo
CbcFullNodeInfo(const CbcFullNodeInfo &)
CbcFullNodeInfo::mutableUpper
double * mutableUpper() const
Mutable upper bounds.
Definition
CbcFullNodeInfo.hpp:146
CbcFullNodeInfo::CbcFullNodeInfo
CbcFullNodeInfo(CbcModel *model, int numberRowsAtContinuous)
Constructor from continuous or satisfied.
CbcFullNodeInfo::numberIntegers_
int numberIntegers_
Definition
CbcFullNodeInfo.hpp:159
CbcFullNodeInfo::~CbcFullNodeInfo
~CbcFullNodeInfo()
CbcFullNodeInfo::CbcFullNodeInfo
CbcFullNodeInfo()
CbcModel
Simple Branch and bound class.
Definition
CbcModel.hpp:100
CbcNodeInfo::value
*Get symmetry value(true worked at this node) inline bool symmetryWorked() const
Definition
CbcNodeInfo.hpp:301
CbcNodeInfo::CbcNodeInfo
CbcNodeInfo()
Default Constructor.
CbcNodeInfo::force
*Just apply bounds to one variable force means overwrite by double double int force
Definition
CbcNodeInfo.hpp:114
CbcNodeInfo::addCuts
void addCuts(OsiCuts &cuts, int numberToBranch, int numberPointingToThis)
Generated by
1.17.0