CouenneOrbitBranchingObj.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneOrbitBranchingObj.hpp 258 2009-09-05 15:54:35Z pbelotti $
00002  *
00003  * Name:    CouenneOrbitBranchingObj.hpp
00004  * Authors: Jim Ostrowski, University of Waterloo
00005  *          Pietro Belotti, Lehigh University
00006  * Purpose: Branching object for auxiliary variables
00007  *
00008  * This file is licensed under the Common Public License (CPL)
00009  */
00010 
00011 #ifndef COUENNEORBITBRANCHINGOBJ_HPP
00012 #define COUENNEORBITBRANCHINGOBJ_HPP
00013 
00014 #include "CoinFinite.hpp"
00015 #include "exprAux.hpp"
00016 #include "CouenneJournalist.hpp"
00017 #include "OsiBranchingObject.hpp"
00018 #include "CouenneBranchingObject.hpp"
00019 
00020 //class CouenneCutGenerator;
00021 //class CouenneProblem;
00022 
00023 //#define COUENNE_CROP 1
00024 //#define COUENNE_LCROP (1e2*COUENNE_CROP)
00025 
00026 //#define COUENNE_LARGE_INTERVAL 1e4
00027 //#define COUENNE_NEAR_BOUND 1e-2
00028 
00029 
00035 class CouenneOrbitBranchingObj: public CouenneBranchingObject {
00036 
00037 public:
00038 
00040   CouenneOrbitBranchingObj (OsiSolverInterface *solver,
00041                             const OsiObject *originalObject,
00042                             JnlstPtr jnlst, 
00043                             CouenneCutGenerator *c,
00044                             CouenneProblem *p,
00045                             expression *var, 
00046                             int way, 
00047                             CouNumber brpoint, 
00048                             bool doFBBT, 
00049                             bool doConvCuts);
00050 
00052   CouenneOrbitBranchingObj (const CouenneOrbitBranchingObj &src):
00053     CouenneBranchingObject (src) {}
00054 
00055 
00057   virtual OsiBranchingObject * clone () const
00058   {return new CouenneOrbitBranchingObj (*this);}
00059 
00065   virtual double branch (OsiSolverInterface * solver = NULL);
00066 
00068   virtual bool boundBranch () const
00069   {return !doConvCuts_;} // iff it does not add convexification cuts
00070 
00072   void setSimulate (bool s)
00073   {simulate_ = s;}
00074 
00075 protected:
00076 
00077 };
00078 
00079 #endif

Generated on Sun Mar 6 03:03:41 2011 for Couenne by  doxygen 1.4.7