CouenneVarObject.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneVarObject.hpp 523 2011-03-07 21:21:18Z 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                     int varSelection);
00031 
00033   CouenneVarObject (const CouenneVarObject &src):
00034   CouenneObject (src),
00035   varSelection_ (src.varSelection_) {}
00036 
00038   ~CouenneVarObject () {}
00039 
00041   virtual CouenneObject *clone () const
00042   {return new CouenneVarObject (*this);}
00043 
00049   virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
00050 
00053   virtual double checkInfeasibility (const OsiBranchingInformation * info) const;
00054 
00057   virtual OsiBranchingObject *createBranch (OsiSolverInterface*, 
00058                                             const OsiBranchingInformation*, int) const;
00059 
00061   virtual double feasibleRegion (OsiSolverInterface *, const OsiBranchingInformation *) const;
00062 
00064   virtual bool isCuttable () const;
00065 
00066 protected:
00067 
00071   int varSelection_;
00072 
00074   CouNumber computeBranchingPoint (const OsiBranchingInformation *info, 
00075                                    int& bestWay, 
00076                                    const CouenneObject *&criticalObject) const;
00077 };
00078 
00079 #endif

Generated on Mon Aug 8 03:04:11 2011 for Couenne by  doxygen 1.4.7