- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

AbcBranchActual.h
Go to the documentation of this file.
1 /*===========================================================================*
2 * This file is part of the Abstract Library for Parallel Search (ALPS). *
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-2013, Lehigh University, Yan Xu, and Ted Ralphs. *
21 *===========================================================================*/
22
23 #ifndef AbcBranchActual_h_
24 #define AbcBranchActual_h_
25
26 //#############################################################################
27 // This file is modified from SbbBranchActual.hpp
28 //#############################################################################
29
30 #include "AbcBranchBase.h"
31
32 //#############################################################################
38 class AbcBranchDefaultDecision : public AbcBranchDecision {
39
40 public:
41 // Default Constructor
42 AbcBranchDefaultDecision();
43
44 // Copy constructor
45 AbcBranchDefaultDecision(const AbcBranchDefaultDecision &);
46
47 virtual ~AbcBranchDefaultDecision();
48
50 virtual AbcBranchDecision * clone() const;
51
53 virtual void initialize(AbcModel * model);
54
77 virtual int betterBranch(int thisOne,
78 int bestSoFar,
79 double changeUp, int numInfUp,
80 double changeDn, int numInfDn);
81
82 private:
83
85 AbcBranchDefaultDecision & operator=(const AbcBranchDefaultDecision& rhs);
86
89 AbcModel * model_;
90
92 double bestCriterion_;
93
95 double bestChangeUp_;
96
98 int bestNumberUp_;
99
101 double bestChangeDown_;
102
104 int bestNumberDown_;
105
107 int bestObject_;
108 };
109
110
111 class AbcPseudocost
112 {
113 public:
114 int colInd_;
115 double upCost_;
116 int upNum_;
117 double downCost_;
118 int downNum_;
119
120 public:
121 AbcPseudocost()
122 :
123 colInd_(-1),
124 upCost_(0.0), upNum_(0),
125 downCost_(0.0), downNum_(0) {}
126
127 AbcPseudocost(const int ind,
128 const double uc,
129 const int un,
130 const double dc,
131 const int dn)
132 :
133 colInd_(ind),
134 upCost_(uc), upNum_(un),
135 downCost_(dc), downNum_(dn) {}
136
137 void update(const int dir,
138 const double parentObjValue,
139 const double objValue,
140 const double solValue);
141
142 };
143
144 #endif
AbcPseudocost::colInd_
int colInd_
Definition: AbcBranchActual.h:114
AbcBranchDefaultDecision::bestChangeDown_
double bestChangeDown_
Change down for best.
Definition: AbcBranchActual.h:101
AbcBranchDefaultDecision::bestNumberDown_
int bestNumberDown_
Number of infeasibilities for down.
Definition: AbcBranchActual.h:104
AbcBranchDefaultDecision::clone
virtual AbcBranchDecision * clone() const
Clone.
AbcBranchDefaultDecision::AbcBranchDefaultDecision
AbcBranchDefaultDecision()
AbcBranchDefaultDecision::bestNumberUp_
int bestNumberUp_
Number of infeasibilities for up.
Definition: AbcBranchActual.h:98
AbcBranchDefaultDecision::bestChangeUp_
double bestChangeUp_
Change up for best.
Definition: AbcBranchActual.h:95
AbcPseudocost::upNum_
int upNum_
Definition: AbcBranchActual.h:116
AbcPseudocost::downNum_
int downNum_
Definition: AbcBranchActual.h:118
AbcBranchDefaultDecision::~AbcBranchDefaultDecision
virtual ~AbcBranchDefaultDecision()
AbcBranchDefaultDecision::operator=
AbcBranchDefaultDecision & operator=(const AbcBranchDefaultDecision &rhs)
Illegal Assignment operator.
AbcPseudocost::AbcPseudocost
AbcPseudocost()
Definition: AbcBranchActual.h:121
AbcPseudocost
Definition: AbcBranchActual.h:111
AbcPseudocost::upCost_
double upCost_
Definition: AbcBranchActual.h:115
AbcBranchDefaultDecision::model_
AbcModel * model_
data Point to the model
Definition: AbcBranchActual.h:89
AbcBranchDefaultDecision::betterBranch
virtual int betterBranch(int thisOne, int bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
Compare two branching objects.
AbcPseudocost::AbcPseudocost
AbcPseudocost(const int ind, const double uc, const int un, const double dc, const int dn)
Definition: AbcBranchActual.h:127
AbcPseudocost::update
void update(const int dir, const double parentObjValue, const double objValue, const double solValue)
AbcBranchDefaultDecision::bestCriterion_
double bestCriterion_
&quot;best&quot; so far
Definition: AbcBranchActual.h:92
AbcBranchDefaultDecision::bestObject_
int bestObject_
Index of the best branching integer variable.
Definition: AbcBranchActual.h:107
AbcPseudocost::downCost_
double downCost_
Definition: AbcBranchActual.h:117
AbcBranchDefaultDecision
Branching decision default class.
Definition: AbcBranchActual.h:38
AbcBranchDecision
Abstract branching decision base class.
Definition: AbcBranchBase.h:50
AbcModel
Model class for ALPS Branch and Cut.
Definition: AbcModel.h:55
AbcBranchDefaultDecision::initialize
virtual void initialize(AbcModel *model)
Initialize, e.g. before the start of branch selection at a node.
AbcBranchBase.h