Cbc
2.10.13
Toggle main menu visibility
Loading...
Searching...
No Matches
Cbc
src
CbcBranchToFixLots.hpp
Go to the documentation of this file.
1
// $Id$
2
// Copyright (C) 2004, 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/13/2009-- carved out of CbcBranchCut
7
8
#ifndef CbcBranchToFixLots_H
9
#define CbcBranchToFixLots_H
10
11
#include "
CbcBranchCut.hpp
"
12
#include "
CbcBranchBase.hpp
"
13
#include "OsiRowCut.hpp"
14
#include "CoinPackedMatrix.hpp"
15
21
22
class
CbcBranchToFixLots
:
public
CbcBranchCut
{
23
24
public
:
25
// Default Constructor
26
CbcBranchToFixLots
();
27
34
CbcBranchToFixLots
(
CbcModel
*
model
,
double
djTolerance,
35
double
fractionFixed,
int
depth
,
36
int
numberClean = 0,
37
const
char
*mark = NULL,
38
bool
alwaysCreate =
false
);
39
40
// Copy constructor
41
CbcBranchToFixLots
(
const
CbcBranchToFixLots
&);
42
44
virtual
CbcObject *
clone
()
const
;
45
46
// Assignment operator
47
CbcBranchToFixLots
&
operator=
(
const
CbcBranchToFixLots
&rhs);
48
49
// Destructor
50
~CbcBranchToFixLots
();
51
56
int
shallWe
()
const
;
57
59
virtual
double
infeasibility
(
const
OsiBranchingInformation *info,
60
int
&
preferredWay
)
const
;
63
virtual
bool
canDoHeuristics
()
const
64
{
65
return
true
;
66
}
67
69
virtual
CbcBranchingObject
*
createCbcBranch
(OsiSolverInterface *solver,
const
OsiBranchingInformation *info,
int
way
);
71
virtual
void
redoSequenceEtc
(
CbcModel
*
model
,
int
numberColumns,
const
int
*originalColumns);
72
73
protected
:
75
77
double
djTolerance_
;
79
double
fractionFixed_
;
81
char
*
mark_
;
83
CoinPackedMatrix
matrixByRow_
;
85
int
depth_
;
87
int
numberClean_
;
89
bool
alwaysCreate_
;
90
};
91
#endif
92
93
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
94
*/
CbcBranchBase.hpp
CbcBranchCut.hpp
depth
int depth() const
Depth in branch-and-cut search tree.
Definition
CbcNode.hpp:246
way
int way() const
model
CbcModel * model() const
Return model.
Definition
CbcObject.hpp:252
preferredWay
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
Definition
CbcObject.hpp:258
CbcBranchCut::CbcBranchCut
CbcBranchCut()
CbcBranchToFixLots::matrixByRow_
CoinPackedMatrix matrixByRow_
Matrix by row.
Definition
CbcBranchToFixLots.hpp:83
CbcBranchToFixLots::shallWe
int shallWe() const
Does a lot of the work, Returns 0 if no good, 1 if dj, 2 if clean, 3 if both FIXME: should use enum o...
CbcBranchToFixLots::fractionFixed_
double fractionFixed_
We only need to make sure this fraction fixed.
Definition
CbcBranchToFixLots.hpp:79
CbcBranchToFixLots::mark_
char * mark_
Never fix ones marked here.
Definition
CbcBranchToFixLots.hpp:81
CbcBranchToFixLots::~CbcBranchToFixLots
~CbcBranchToFixLots()
CbcBranchToFixLots::depth_
int depth_
Do if depth multiple of this.
Definition
CbcBranchToFixLots.hpp:85
CbcBranchToFixLots::djTolerance_
double djTolerance_
data
Definition
CbcBranchToFixLots.hpp:77
CbcBranchToFixLots::canDoHeuristics
virtual bool canDoHeuristics() const
Return true if object can take part in normal heuristics.
Definition
CbcBranchToFixLots.hpp:63
CbcBranchToFixLots::infeasibility
virtual double infeasibility(const OsiBranchingInformation *info, int &preferredWay) const
Infeasibility for an integer variable - large is 0.5, but also can be infinity when known infeasible.
CbcBranchToFixLots::alwaysCreate_
bool alwaysCreate_
If true then always create branch.
Definition
CbcBranchToFixLots.hpp:89
CbcBranchToFixLots::redoSequenceEtc
virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns)
Redoes data when sequence numbers change.
CbcBranchToFixLots::clone
virtual CbcObject * clone() const
Clone.
CbcBranchToFixLots::operator=
CbcBranchToFixLots & operator=(const CbcBranchToFixLots &rhs)
CbcBranchToFixLots::createCbcBranch
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
CbcBranchToFixLots::CbcBranchToFixLots
CbcBranchToFixLots()
CbcBranchToFixLots::numberClean_
int numberClean_
number of ==1 rows which need to be clean
Definition
CbcBranchToFixLots.hpp:87
CbcBranchToFixLots::CbcBranchToFixLots
CbcBranchToFixLots(CbcModel *model, double djTolerance, double fractionFixed, int depth, int numberClean=0, const char *mark=NULL, bool alwaysCreate=false)
Useful constructor - passed reduced cost tolerance and fraction we would like fixed.
CbcBranchToFixLots::CbcBranchToFixLots
CbcBranchToFixLots(const CbcBranchToFixLots &)
CbcBranchingObject
Abstract branching object base class Now just difference with OsiBranchingObject.
Definition
CbcBranchingObject.hpp:51
CbcModel
Simple Branch and bound class.
Definition
CbcModel.hpp:100
Generated by
1.17.0