Couenne 0.5.8
Loading...
Searching...
No Matches
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
16
17#include "CouenneExprAux.hpp"
18#include "CouenneObject.hpp"
19
20namespace Couenne {
21
27
29
30public:
31
34 expression *,
36 CouNumber,
37 int = THREE_CENTER
38 //bool = false
39 );
40
49
51 virtual OsiBranchingObject * clone () const
52 {return new CouenneThreeWayBranchObj (*this);}
53
60 virtual double branch (OsiSolverInterface * solver = NULL);
61
62protected:
63
68
71
74
76 // bool integer_;
77
80};
81
82}
83
84#endif
Spatial, three-way branching object.
JnlstPtr jnlst_
True if the associated variable is integer.
CouenneThreeWayBranchObj(const CouenneThreeWayBranchObj &src)
Copy constructor.
CouenneThreeWayBranchObj(JnlstPtr jnlst, expression *, CouNumber, CouNumber, int=THREE_CENTER)
Constructor.
virtual OsiBranchingObject * clone() const
Cloning method.
virtual double branch(OsiSolverInterface *solver=NULL)
Execute the actions required to branch, as specified by the current state of the branching object,...
expression * brVar_
The variable this branching object refers to.
int firstBranch_
First branch to be performed: 0 is left, 1 is central, 2 is right.
Expression base class.
general include file for different compilers
double CouNumber
main number type in Couenne