Couenne  0.5.8
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 
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
Couenne::CouenneThreeWayBranchObj::rcrop_
CouNumber rcrop_
right divider
Definition: CouenneThreeWayBranchObj.hpp:70
OsiBranchingObject.hpp
Couenne::CouenneThreeWayBranchObj::lcrop_
CouNumber lcrop_
left divider
Definition: CouenneThreeWayBranchObj.hpp:69
Couenne::CouenneThreeWayBranchObj::jnlst_
JnlstPtr jnlst_
True if the associated variable is integer.
Definition: CouenneThreeWayBranchObj.hpp:79
Couenne
general include file for different compilers
Definition: CouenneAggrProbing.hpp:24
Couenne::THREE_CENTER
@ THREE_CENTER
Definition: CouenneObject.hpp:41
Ipopt::SmartPtr< Ipopt::Journalist >
Couenne::CouNumber
double CouNumber
main number type in Couenne
Definition: CouenneTypes.hpp:100
Couenne::CouenneThreeWayBranchObj
Spatial, three-way branching object.
Definition: CouenneThreeWayBranchObj.hpp:28
CouenneExprAux.hpp
OsiSolverInterface
Couenne::CouenneThreeWayBranchObj::brVar_
expression * brVar_
The variable this branching object refers to.
Definition: CouenneThreeWayBranchObj.hpp:67
Couenne::CouenneThreeWayBranchObj::CouenneThreeWayBranchObj
CouenneThreeWayBranchObj(JnlstPtr jnlst, expression *, CouNumber, CouNumber, int=THREE_CENTER)
Constructor.
Couenne::CouenneThreeWayBranchObj::firstBranch_
int firstBranch_
First branch to be performed: 0 is left, 1 is central, 2 is right.
Definition: CouenneThreeWayBranchObj.hpp:73
Couenne::CouenneThreeWayBranchObj::clone
virtual OsiBranchingObject * clone() const
Cloning method.
Definition: CouenneThreeWayBranchObj.hpp:51
Couenne::CouenneThreeWayBranchObj::branch
virtual double branch(OsiSolverInterface *solver=NULL)
Execute the actions required to branch, as specified by the current state of the branching object,...
CouenneObject.hpp
OsiBranchingObject
Couenne::CouenneThreeWayBranchObj::CouenneThreeWayBranchObj
CouenneThreeWayBranchObj(const CouenneThreeWayBranchObj &src)
Copy constructor.
Definition: CouenneThreeWayBranchObj.hpp:42
Couenne::expression
Expression base class.
Definition: CouenneExpression.hpp:48