# CbcBranchAllDifferent.hpp

Go to the documentation of this file.

    00001 // $Id$
    00002 // Copyright (C) 2004, 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 // Edwin 11/13/2009-- carved out of CbcBranchCut
    00007
    00008 #ifndef CbcBranchAllDifferent_H
    00009 #define CbcBranchAllDifferent_H
    00010
    00011 #include "CbcBranchBase.hpp"
    00012 #include "OsiRowCut.hpp"
    00013 #include "CoinPackedMatrix.hpp"
    00014 #include "CbcBranchCut.hpp"
    00015
    00022 class CbcBranchAllDifferent : public CbcBranchCut {
    00023
    00024 public:
    00025
    00026     // Default Constructor
    00027     CbcBranchAllDifferent ();
    00028
    00031     CbcBranchAllDifferent (CbcModel * model, int number, const int * which);
    00032
    00033     // Copy constructor
    00034     CbcBranchAllDifferent ( const CbcBranchAllDifferent &);
    00035
    00037     virtual CbcObject * clone() const;
    00038
    00039     // Assignment operator
    00040     CbcBranchAllDifferent & operator=( const CbcBranchAllDifferent& rhs);
    00041
    00042     // Destructor
    00043     ~CbcBranchAllDifferent ();
    00044
    00046     virtual double infeasibility(const OsiBranchingInformation * info,
    00047                                  int &preferredWay) const;
    00048
    00050     virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ;
    00051
    00052
    00053 protected:
    00055
    00057     int numberInSet_;
    00059     int * which_;
    00060 };
    00061 #endif
    00062

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines