/home/coin/SVN-release/OS-2.2.0/Couenne/src/branch/CouenneVarObject.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneVarObject.hpp 259 2009-10-04 14:20:13Z pbelotti $
00002  *
00003  * Name:    CouenneVarObject.hpp
00004  * Authors: Pietro Belotti, Carnegie Mellon University
00005  * Purpose: Object for branching on variables
00006  *
00007  * (C) Carnegie-Mellon University, 2008-09.
00008  * This file is licensed under the Common Public License (CPL)
00009  */
00010 
00011 #ifndef COUENNEVAROBJECT_HPP
00012 #define COUENNEVAROBJECT_HPP
00013 
00014 #include "CouenneObject.hpp"
00015 
00016 class CouenneProblem;
00017 
00018 
00020 class CouenneVarObject: public CouenneObject {
00021 
00022 public:
00023 
00025   CouenneVarObject (CouenneCutGenerator *c,
00026                     CouenneProblem *p, 
00027                     exprVar *ref, 
00028                     Bonmin::BabSetupBase *base, 
00029                     JnlstPtr jnlst);
00030 
00032   CouenneVarObject (const CouenneVarObject &src):
00033   CouenneObject (src) {}
00034 
00036   ~CouenneVarObject () {}
00037 
00039   virtual CouenneObject *clone () const
00040   {return new CouenneVarObject (*this);}
00041 
00047   virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
00048 
00051   virtual double checkInfeasibility (const OsiBranchingInformation * info) const;
00052 
00055   virtual OsiBranchingObject *createBranch (OsiSolverInterface*, 
00056                                             const OsiBranchingInformation*, int) const;
00057 
00059   virtual double feasibleRegion (OsiSolverInterface *, const OsiBranchingInformation *) const;
00060 
00062   virtual bool isCuttable () const;
00063 
00064 protected:
00065 
00067   CouNumber computeBranchingPoint (const OsiBranchingInformation *info, 
00068                                    int& bestWay, 
00069                                    const CouenneObject *&criticalObject) const;
00070 };
00071 
00072 #endif

Generated on Thu Aug 5 03:02:56 2010 by  doxygen 1.4.7