Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbcStatistics.hpp
Go to the documentation of this file.
1 /* $Id: CbcStatistics.hpp 1573 2011-01-05 01:12:36Z lou $ */
2 // Copyright (C) 2005, 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 #ifndef CbcStatistics_H
7 #define CbcStatistics_H
8 
9 #include "CbcModel.hpp"
10 
14 public:
15  // Default Constructor
16  CbcStatistics ();
17  // Branch
18  CbcStatistics(CbcNode * node, CbcModel * model);
19 
21  // Copy
22  CbcStatistics(const CbcStatistics & rhs);
23  // Assignment
25  // Update at end of branch
26  void endOfBranch(int numberIterations, double objectiveValue);
27  // Update number of infeasibilities
28  void updateInfeasibility(int numberInfeasibilities);
29  // Branch found to be infeasible by chooseBranch
30  void sayInfeasible();
31  // Just prints
32  void print(const int * sequenceLookup = NULL) const;
33  // Node number
34  inline int node() const {
35  return id_;
36  }
37  // Parent node number
38  inline int parentNode() const {
39  return parentId_;
40  }
41  // depth
42  inline int depth() const {
43  return depth_;
44  }
45  // way
46  inline int way() const {
47  return way_;
48  }
49  // value
50  inline double value() const {
51  return value_;
52  }
53  // starting objective
54  inline double startingObjective() const {
55  return startingObjective_;
56  }
57  // Unsatisfied at beginning
58  inline int startingInfeasibility() const {
60  }
61  // starting objective
62  inline double endingObjective() const {
63  return endingObjective_;
64  }
65  // Unsatisfied at end
66  inline int endingInfeasibility() const {
67  return endingInfeasibility_;
68  }
69  // Number iterations
70  inline int numberIterations() const {
71  return numberIterations_;
72  }
73 
74 protected:
75  // Data
77  double value_;
83  int id_;
85  int parentId_;
87  int way_;
89  int sequence_;
91  int depth_;
98 };
99 
100 #endif
101 
double endingObjective_
Ending objective.
int endingInfeasibility() const
int endingInfeasibility_
ending number of integer infeasibilities
int sequence_
sequence number branched on
int way() const
void updateInfeasibility(int numberInfeasibilities)
int startingInfeasibility() const
int parentNode() const
int depth_
depth
void print(const int *sequenceLookup=NULL) const
double value() const
int numberIterations_
number of iterations
void sayInfeasible()
int node() const
double startingObjective() const
double endingObjective() const
Information required while the node is live.
Definition: CbcNode.hpp:49
For gathering statistics.
CbcStatistics & operator=(const CbcStatistics &rhs)
int depth() const
int parentId_
parent id
double startingObjective_
Starting objective.
double value_
Value.
int way_
way -1 or +1 is first branch -10 or +10 is second branch
void endOfBranch(int numberIterations, double objectiveValue)
Simple Branch and bound class.
Definition: CbcModel.hpp:101
int startingInfeasibility_
starting number of integer infeasibilities
int numberIterations() const