CouenneOrbitBranchingObj.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneOrbitBranchingObj.hpp 560 2011-04-17 10:01:15Z stefan $
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 Eclipse Public License (EPL)
00009  */
00010 
00011 #ifndef COUENNEORBITBRANCHINGOBJ_HPP
00012 #define COUENNEORBITBRANCHINGOBJ_HPP
00013 
00014 #include "CouenneExprAux.hpp"
00015 #include "CouenneJournalist.hpp"
00016 #include "OsiBranchingObject.hpp"
00017 #include "CouenneBranchingObject.hpp"
00018 
00019 namespace Couenne {
00020 
00021 //class CouenneCutGenerator;
00022 //class CouenneProblem;
00023 
00024 //#define COUENNE_CROP 1
00025 //#define COUENNE_LCROP (1e2*COUENNE_CROP)
00026 
00027 //#define COUENNE_LARGE_INTERVAL 1e4
00028 //#define COUENNE_NEAR_BOUND 1e-2
00029 
00030 
00036 class CouenneOrbitBranchingObj: public CouenneBranchingObject {
00037 
00038 public:
00039 
00041   CouenneOrbitBranchingObj (OsiSolverInterface *solver,
00042                             const OsiObject *originalObject,
00043                             JnlstPtr jnlst, 
00044                             CouenneCutGenerator *c,
00045                             CouenneProblem *p,
00046                             expression *var, 
00047                             int way, 
00048                             CouNumber brpoint, 
00049                             bool doFBBT, 
00050                             bool doConvCuts);
00051 
00053   CouenneOrbitBranchingObj (const CouenneOrbitBranchingObj &src):
00054     CouenneBranchingObject (src) {}
00055 
00056 
00058   virtual OsiBranchingObject * clone () const
00059   {return new CouenneOrbitBranchingObj (*this);}
00060 
00066   virtual double branch (OsiSolverInterface * solver = NULL);
00067 
00069   virtual bool boundBranch () const
00070   {return !doConvCuts_;} // iff it does not add convexification cuts
00071 
00073   void setSimulate (bool s)
00074   {simulate_ = s;}
00075 
00076 protected:
00077 
00078 };
00079 
00080 }
00081 
00082 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Mar 2015 for Couenne by  doxygen 1.6.1