source: trunk/Cbc/src/CbcStatistics.hpp @ 2464

Last change on this file since 2464 was 2464, checked in by unxusr, 6 months ago

.clang-format with proposal for formatting code

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
RevLine 
[1271]1/* $Id: CbcStatistics.hpp 2464 2019-01-03 19:03:23Z unxusr $ */
[150]2// Copyright (C) 2005, International Business Machines
3// Corporation and others.  All Rights Reserved.
[1573]4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
[150]6#ifndef CbcStatistics_H
7#define CbcStatistics_H
8
9#include "CbcModel.hpp"
10
11/** For gathering statistics */
12
13class CbcStatistics {
14public:
[2464]15  // Default Constructor
16  CbcStatistics();
17  // Branch
18  CbcStatistics(CbcNode *node, CbcModel *model);
[150]19
[2464]20  ~CbcStatistics();
21  // Copy
22  CbcStatistics(const CbcStatistics &rhs);
23  // Assignment
24  CbcStatistics &operator=(const CbcStatistics &rhs);
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  {
36    return id_;
37  }
38  // Parent node number
39  inline int parentNode() const
40  {
41    return parentId_;
42  }
43  // depth
44  inline int depth() const
45  {
46    return depth_;
47  }
48  // way
49  inline int way() const
50  {
51    return way_;
52  }
53  // value
54  inline double value() const
55  {
56    return value_;
57  }
58  // starting objective
59  inline double startingObjective() const
60  {
61    return startingObjective_;
62  }
63  // Unsatisfied at beginning
64  inline int startingInfeasibility() const
65  {
66    return startingInfeasibility_;
67  }
68  // starting objective
69  inline double endingObjective() const
70  {
71    return endingObjective_;
72  }
73  // Unsatisfied at end
74  inline int endingInfeasibility() const
75  {
76    return endingInfeasibility_;
77  }
78  // Number iterations
79  inline int numberIterations() const
80  {
81    return numberIterations_;
82  }
[150]83
84protected:
[2464]85  // Data
86  /// Value
87  double value_;
88  /// Starting objective
89  double startingObjective_;
90  /// Ending objective
91  double endingObjective_;
92  /// id
93  int id_;
94  /// parent id
95  int parentId_;
96  /// way -1 or +1 is first branch -10 or +10 is second branch
97  int way_;
98  /// sequence number branched on
99  int sequence_;
100  /// depth
101  int depth_;
102  /// starting number of integer infeasibilities
103  int startingInfeasibility_;
104  /// ending number of integer infeasibilities
105  int endingInfeasibility_;
106  /// number of iterations
107  int numberIterations_;
[150]108};
109
110#endif
Note: See TracBrowser for help on using the repository browser.