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

Go to the documentation of this file.
00001 /* $Id: CouenneOrbitObj.hpp 259 2009-10-04 14:20:13Z pbelotti $
00002  *
00003  * Name:    CouenneOrbitObj.hpp
00004  * Authors: Jim Ostrowski, University of Waterloo
00005  *          Pietro Belotti, Lehigh University
00006  * Purpose: Object for auxiliary variables
00007  *
00008  * This file is licensed under the Common Public License (CPL)
00009  */
00010 
00011 #ifndef COUENNEORBITOBJ_HPP
00012 #define COUENNEORBITOBJ_HPP
00013 
00014 #include "BonBabSetupBase.hpp"
00015 #include "CoinFinite.hpp"
00016 
00017 #include "exprVar.hpp"
00018 #include "CouenneJournalist.hpp"
00019 #include "OsiBranchingObject.hpp"
00020 
00021 #include "CouenneOrbitObj.hpp"
00022 
00023 
00025 
00026 class CouenneOrbitObj: public CouenneObject {
00027 
00028 public:
00029 
00031   CouenneOrbitObj ();
00032 
00034   CouenneOrbitObj (CouenneCutGenerator *cutgen,
00035                    CouenneProblem *p, 
00036                    exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst);
00037 
00039   CouenneOrbitObj (exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst);
00040 
00042   ~CouenneOrbitObj () {}
00043 
00045   CouenneOrbitObj (const CouenneOrbitObj &src);
00046 
00048   virtual CouenneObject * clone () const
00049   {return new CouenneOrbitObj (*this);}
00050 
00052   void setParameters (Bonmin::BabSetupBase *base);
00053 
00056   virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
00057 
00060   virtual double checkInfeasibility (const OsiBranchingInformation * info) const;
00061 
00063   virtual double feasibleRegion (OsiSolverInterface*, const OsiBranchingInformation*) const;
00064 
00067   virtual OsiBranchingObject *createBranch (OsiSolverInterface*, 
00068                                             const OsiBranchingInformation*, int) const;
00069 
00070 protected:
00071 
00072 };
00073 
00074 #endif

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