# CbcStatistics.hpp

Go to the documentation of this file.

    00001 /* $Id: CbcStatistics.hpp 1573 2011-01-05 01:12:36Z lou $ */
    00002 // Copyright (C) 2005, International Business Machines
    00003 // Corporation and others.  All Rights Reserved.
    00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
    00005
    00006 #ifndef CbcStatistics_H
    00007 #define CbcStatistics_H
    00008
    00009 #include "CbcModel.hpp"
    00010
    00013 class CbcStatistics {
    00014 public:
    00015     // Default Constructor
    00016     CbcStatistics ();
    00017     // Branch
    00018     CbcStatistics(CbcNode * node, CbcModel * model);
    00019
    00020     ~CbcStatistics();
    00021     // Copy
    00022     CbcStatistics(const CbcStatistics & rhs);
    00023     // Assignment
    00024     CbcStatistics& operator=(const CbcStatistics & rhs);
    00025     // Update at end of branch
    00026     void endOfBranch(int numberIterations, double objectiveValue);
    00027     // Update number of infeasibilities
    00028     void updateInfeasibility(int numberInfeasibilities);
    00029     // Branch found to be infeasible by chooseBranch
    00030     void sayInfeasible();
    00031     // Just prints
    00032     void print(const int * sequenceLookup = NULL) const;
    00033     // Node number
    00034     inline int node() const {
    00035         return id_;
    00036     }
    00037     // Parent node number
    00038     inline int parentNode() const {
    00039         return parentId_;
    00040     }
    00041     // depth
    00042     inline int depth() const {
    00043         return depth_;
    00044     }
    00045     // way
    00046     inline int way() const {
    00047         return way_;
    00048     }
    00049     // value
    00050     inline double value() const {
    00051         return value_;
    00052     }
    00053     // starting objective
    00054     inline double startingObjective() const {
    00055         return startingObjective_;
    00056     }
    00057     // Unsatisfied at beginning
    00058     inline int startingInfeasibility() const {
    00059         return startingInfeasibility_;
    00060     }
    00061     // starting objective
    00062     inline double endingObjective() const {
    00063         return endingObjective_;
    00064     }
    00065     // Unsatisfied at end
    00066     inline int endingInfeasibility() const {
    00067         return endingInfeasibility_;
    00068     }
    00069     // Number iterations
    00070     inline int numberIterations() const {
    00071         return numberIterations_;
    00072     }
    00073
    00074 protected:
    00075     // Data
    00077     double value_;
    00079     double startingObjective_;
    00081     double endingObjective_;
    00083     int id_;
    00085     int parentId_;
    00087     int way_;
    00089     int sequence_;
    00091     int depth_;
    00093     int startingInfeasibility_;
    00095     int endingInfeasibility_;
    00097     int numberIterations_;
    00098 };
    00099
    00100 #endif
    00101

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines