Ignore:
Timestamp:
Dec 10, 2009 10:17:35 AM (10 years ago)
Author:
caphillSNL
Message:

Start at adding documentation, removing magic numbers, removing dead code, etc.
Added an enum for type in classes derived from CbCBranchingObject. It's safer,
handier for debugging (inspection in a debugger), and clearly shows the relationship
between the dozen or so special numbers. Numbers are the same as they were before to
ensure no changes in correctness.

Location:
branches/sandbox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/sandbox

    • Property svn:externals
      •  

        old new  
        55ThirdParty/Glpk   https://projects.coin-or.org/svn/BuildTools/ThirdParty/Glpk/stable/1.5
        66Data/Sample       https://projects.coin-or.org/svn/Data/stable/1.0/Sample
         7Data/Miplib       https://projects.coin-or.org/svn/Data/stable/1.0/miplib3
        78CoinUtils         https://projects.coin-or.org/svn/CoinUtils/stable/2.6/CoinUtils
        89Cgl               https://projects.coin-or.org/svn/Cgl/branches/sandbox/Cgl
  • branches/sandbox/Cbc/src/CbcBranchingObject.hpp

    r1357 r1389  
    88#include "OsiBranchingObject.hpp"
    99
     10
     11// The types of objects that will be derived from this class.
     12enum CbcBranchObjType
     13  {
     14    SimpleIntegerBranchObj = 100,
     15    SimpleIntegerDynamicPseudoCostBranchObj = 101,
     16    CliqueBranchObj = 102,
     17    LongCliqueBranchObj = 103,
     18    SoSBranchObj = 104,
     19    NWayBranchObj = 105,
     20    FollowOnBranchObj = 106,
     21    DummyBranchObj = 107,
     22    GeneralDepthBranchObj = 108,
     23    OneGeneralBranchingObj = 110,
     24    CutBranchingObj = 200,
     25    LotsizeBranchObj = 300,
     26    DynamicPseudoCostBranchObj = 400
     27  };
     28
    1029/** \brief Abstract branching object base class
    1130    Now just difference with OsiBranchingObject
     
    4968
    5069    /** Some branchingObjects may claim to be able to skip
    51         strong branching.  If so they ahve to fill in CbcStrongInfo.
     70        strong branching.  If so they have to fill in CbcStrongInfo.
    5271        The object mention in incoming CbcStrongInfo must match.
    5372        Returns nonzero if skip is wanted */
     
    155174    // Methods used in heuristics
    156175
    157     /** Return the type (an integer identifier) of \c this */
    158     virtual int type() const = 0;
     176    /** Return the type (an integer identifier) of \c this.
     177        See definition of CbcBranchObjType above for possibilities
     178    */
     179   
     180    virtual CbcBranchObjType type() const = 0;
    159181
    160182    /** Compare the original object of \c this with the original object of \c
     
    170192    }
    171193
    172     /** Compare the \c this with \c brObj. \c this and \c brObj must be os the
     194    /** Compare the \c this with \c brObj. \c this and \c brObj must be of the
    173195        same type and must have the same original object, but they may have
    174196        different feasible regions.
Note: See TracChangeset for help on using the changeset viewer.