Bonmin  1.8.8
BonCbcNode.hpp
Go to the documentation of this file.
1 // (C) Copyright International Business Machines Corporation and Carnegie Mellon University 2006
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // John J. Forrest, International Business Machines Corporation
7 // Pierre Bonami, Carnegie Mellon University,
8 //
9 // Date : 03/15/2006
10 
11 #ifndef BonminCbcNode_H
12 #define BonminCbcNode_H
13 
14 #include "CbcNode.hpp"
15 #include "BonRegisteredOptions.hpp"
16 
17 
18 namespace Bonmin
19 {
28  class BonCbcFullNodeInfo : public CbcFullNodeInfo
29  {
30 
31  public:
32  friend class BonCbcPartialNodeInfo;
33  // Default Constructor
35 
36  // Constructor from current state
37  BonCbcFullNodeInfo (CbcModel * model, int numberRowsAtContinuous);
38 
39  // Copy constructor
41 
42  // Destructor
44 
46  virtual CbcNodeInfo * clone() const;
47 
50  virtual void allBranchesGone();
51 
54  {
55  return sequenceOfInfeasiblesSize_;
56  }
59  {
60  return sequenceOfUnsolvedSize_;
61  }
64 
65  private:
66  /* Data values */
68  int sequenceOfInfeasiblesSize_;
70  int sequenceOfUnsolvedSize_;
71  private:
72 
74  BonCbcFullNodeInfo & operator=(const BonCbcFullNodeInfo& rhs);
75  };
76 
85  class BonCbcPartialNodeInfo : public CbcPartialNodeInfo
86  {
87 
88  public:
89  // Default Constructor
91 
92  // Constructor from current state
93  BonCbcPartialNodeInfo (CbcModel * model, CbcNodeInfo * parent, CbcNode * owner,
94  int numberChangedBounds,const int * variables,
95  const double * boundChanges,
96  const CoinWarmStartDiff *basisDiff) ;
97 
98  // Copy constructor
100 
101  // Destructor
103 
105  virtual CbcNodeInfo * clone() const;
106 
109  virtual void allBranchesGone();
110 
113  {
114  return sequenceOfInfeasiblesSize_;
115  }
118  {
119  return sequenceOfUnsolvedSize_;
120  }
121  private:
122  /* Data values */
124  int sequenceOfInfeasiblesSize_;
126  int sequenceOfUnsolvedSize_;
127  private:
128 
131  };
132 }
133 #endif
Holds information for recreating a subproblem by incremental change from the parent for Bonmin.
Definition: BonCbcNode.hpp:29
virtual void allBranchesGone()
Method called when all direct sons have been explored to flush useless warm start information.
int getSequenceOfUnsolvedSize()
Number of consecutive unsolved parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:58
virtual CbcNodeInfo * clone() const
Clone.
BonCbcFullNodeInfo(CbcModel *model, int numberRowsAtContinuous)
BonCbcFullNodeInfo(const BonCbcFullNodeInfo &)
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all the options for class instance.
int getSequenceOfInfeasiblesSize()
Number of consecutive infeasible parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:53
Holds information for recreating a subproblem by incremental change from the parent for.
Definition: BonCbcNode.hpp:86
int getSequenceOfInfeasiblesSize()
Number of consecutive infeasible parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:112
virtual void allBranchesGone()
Method called when all direct sons have been explored to flush useless warm start information.
int getSequenceOfUnsolvedSize()
Number of consecutive unsolved parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:117
virtual CbcNodeInfo * clone() const
Clone.
BonCbcPartialNodeInfo(CbcModel *model, CbcNodeInfo *parent, CbcNode *owner, int numberChangedBounds, const int *variables, const double *boundChanges, const CoinWarmStartDiff *basisDiff)
BonCbcPartialNodeInfo(const BonCbcPartialNodeInfo &)
(C) Copyright International Business Machines Corporation 2007