Alps 1.5.12
Loading...
Searching...
No Matches
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-2019, 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//#############################################################################
39
40 public:
41 // Default Constructor
43
44 // Copy constructor
46
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
86
90
93
96
99
102
105
108};
109
110
112{
113 public:
115 double upCost_;
117 double downCost_;
119
120 public:
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
Abstract branching decision base class.
Branching decision default class.
double bestChangeDown_
Change down for best.
int bestNumberUp_
Number of infeasibilities for up.
double bestCriterion_
"best" so far
int bestNumberDown_
Number of infeasibilities for down.
virtual int betterBranch(int thisOne, int bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
Compare two branching objects.
AbcBranchDefaultDecision(const AbcBranchDefaultDecision &)
AbcBranchDefaultDecision & operator=(const AbcBranchDefaultDecision &rhs)
Illegal Assignment operator.
virtual ~AbcBranchDefaultDecision()
double bestChangeUp_
Change up for best.
AbcModel * model_
data Point to the model
virtual void initialize(AbcModel *model)
Initialize, e.g. before the start of branch selection at a node.
int bestObject_
Index of the best branching integer variable.
virtual AbcBranchDecision * clone() const
Clone.
Model class for ALPS Branch and Cut.
Definition AbcModel.h:55
AbcPseudocost(const int ind, const double uc, const int un, const double dc, const int dn)
void update(const int dir, const double parentObjValue, const double objValue, const double solValue)