# 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