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
Bonmin::BonCbcFullNodeInfo
Holds information for recreating a subproblem by incremental change from the parent for Bonmin.
Definition: BonCbcNode.hpp:29
Bonmin::BonCbcFullNodeInfo::getSequenceOfInfeasiblesSize
int getSequenceOfInfeasiblesSize()
Number of consecutive infeasible parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:53
Bonmin::BonCbcFullNodeInfo::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all the options for class instance.
Bonmin::BonCbcPartialNodeInfo::~BonCbcPartialNodeInfo
~BonCbcPartialNodeInfo()
Bonmin::BonCbcPartialNodeInfo
Holds information for recreating a subproblem by incremental change from the parent for.
Definition: BonCbcNode.hpp:86
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:16
Bonmin::BonCbcPartialNodeInfo::BonCbcPartialNodeInfo
BonCbcPartialNodeInfo()
Bonmin::BonCbcFullNodeInfo::BonCbcFullNodeInfo
BonCbcFullNodeInfo()
Bonmin::BonCbcFullNodeInfo::clone
virtual CbcNodeInfo * clone() const
Clone.
CoinWarmStartDiff
Bonmin::BonCbcPartialNodeInfo::allBranchesGone
virtual void allBranchesGone()
Method called when all direct sons have been explored to flush useless warm start information.
BonRegisteredOptions.hpp
Ipopt::SmartPtr
Bonmin::BonCbcFullNodeInfo::allBranchesGone
virtual void allBranchesGone()
Method called when all direct sons have been explored to flush useless warm start information.
Bonmin::BonCbcPartialNodeInfo::BonCbcPartialNodeInfo
BonCbcPartialNodeInfo(CbcModel *model, CbcNodeInfo *parent, CbcNode *owner, int numberChangedBounds, const int *variables, const double *boundChanges, const CoinWarmStartDiff *basisDiff)
Bonmin::BonCbcPartialNodeInfo::BonCbcPartialNodeInfo
BonCbcPartialNodeInfo(const BonCbcPartialNodeInfo &)
Bonmin::BonCbcFullNodeInfo::~BonCbcFullNodeInfo
~BonCbcFullNodeInfo()
Bonmin::BonCbcFullNodeInfo::BonCbcFullNodeInfo
BonCbcFullNodeInfo(const BonCbcFullNodeInfo &)
Bonmin::BonCbcFullNodeInfo::BonCbcFullNodeInfo
BonCbcFullNodeInfo(CbcModel *model, int numberRowsAtContinuous)
Bonmin::BonCbcPartialNodeInfo::getSequenceOfUnsolvedSize
int getSequenceOfUnsolvedSize()
Number of consecutive unsolved parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:117
Bonmin::BonCbcPartialNodeInfo::clone
virtual CbcNodeInfo * clone() const
Clone.
Bonmin::BonCbcFullNodeInfo::getSequenceOfUnsolvedSize
int getSequenceOfUnsolvedSize()
Number of consecutive unsolved parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:58
Bonmin::BonCbcPartialNodeInfo::getSequenceOfInfeasiblesSize
int getSequenceOfInfeasiblesSize()
Number of consecutive infeasible parents only recorded if node is infeasible.
Definition: BonCbcNode.hpp:112