00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef COUENNECOMPLBRANCHINGOBJECT_HPP
00012 #define COUENNECOMPLBRANCHINGOBJECT_HPP
00013
00014 #include "CouenneBranchingObject.hpp"
00015
00022 class CouenneComplBranchingObject: public CouenneBranchingObject {
00023
00024 public:
00025
00027 CouenneComplBranchingObject (OsiSolverInterface *solver,
00028 const OsiObject *originalObject,
00029 JnlstPtr jnlst,
00030 CouenneCutGenerator *c,
00031 CouenneProblem *p,
00032 expression *var,
00033 expression *var2,
00034 int way,
00035 CouNumber brpoint,
00036 bool doFBBT,
00037 bool doConvCuts,
00038 int sign);
00039
00041 CouenneComplBranchingObject (const CouenneComplBranchingObject &src):
00042 CouenneBranchingObject (src),
00043 variable2_ (src.variable2_),
00044 sign_ (src.sign_) {}
00045
00047 virtual OsiBranchingObject *clone () const
00048 {return new CouenneComplBranchingObject (*this);}
00049
00055 virtual double branch (OsiSolverInterface * solver = NULL);
00056
00057 protected:
00058
00061 expression *variable2_;
00062
00066 int sign_;
00067 };
00068
00069 #endif