Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CouenneThreeWayBranchObj.hpp
Go to the documentation of this file.
1 /* $Id: CouenneThreeWayBranchObj.hpp 560 2011-04-17 10:01:15Z stefan $
2  *
3  * Name: CouenneThreeWayBranchObj.hpp
4  * Authors: Pierre Bonami, IBM Corp.
5  * Pietro Belotti, Carnegie Mellon University
6  * Purpose: Three way branching object for auxiliary variables
7  *
8  * (C) Carnegie-Mellon University, 2006-10.
9  * This file is licensed under the Eclipse Public License (EPL)
10  */
11 
12 #ifndef COUENNETHREEWAYBRANCHOBJ_HPP
13 #define COUENNETHREEWAYBRANCHOBJ_HPP
14 
15 #include "OsiBranchingObject.hpp"
16 
17 #include "CouenneExprAux.hpp"
18 #include "CouenneObject.hpp"
19 
20 namespace Couenne {
21 
27 
28 class CouenneThreeWayBranchObj: public OsiBranchingObject {
29 
30 public:
31 
34  expression *,
35  CouNumber,
36  CouNumber,
37  int = THREE_CENTER
38  //bool = false
39  );
40 
43  OsiBranchingObject (src),
44  brVar_ (src.brVar_),
45  lcrop_ (src.lcrop_),
46  rcrop_ (src.rcrop_),
48  jnlst_ (src.jnlst_){}
49 
51  virtual OsiBranchingObject * clone () const
52  {return new CouenneThreeWayBranchObj (*this);}
53 
60  virtual double branch (OsiSolverInterface * solver = NULL);
61 
62 protected:
63 
68 
71 
74 
76  // bool integer_;
77 
80 };
81 
82 }
83 
84 #endif
CouenneThreeWayBranchObj(const CouenneThreeWayBranchObj &src)
Copy constructor.
int firstBranch_
First branch to be performed: 0 is left, 1 is central, 2 is right.
JnlstPtr jnlst_
True if the associated variable is integer.
Spatial, three-way branching object.
virtual double branch(OsiSolverInterface *solver=NULL)
Execute the actions required to branch, as specified by the current state of the branching object...
CouenneThreeWayBranchObj(JnlstPtr jnlst, expression *, CouNumber, CouNumber, int=THREE_CENTER)
Constructor.
double CouNumber
main number type in Couenne
Expression base class.
expression * brVar_
The variable this branching object refers to.
virtual OsiBranchingObject * clone() const
Cloning method.