Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CouenneComplBranchingObject.hpp
Go to the documentation of this file.
1 /* $Id: CouenneComplBranchingObject.hpp 490 2011-01-14 16:07:12Z pbelotti $
2  *
3  * Name: CouenneComplBranchingObject.hpp
4  * Authors: Pietro Belotti, Lehigh University
5  * Purpose: Branching object for complementarity constraints
6  *
7  * (C) Carnegie-Mellon University, 2008-09.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNECOMPLBRANCHINGOBJECT_HPP
12 #define COUENNECOMPLBRANCHINGOBJECT_HPP
13 
15 
16 namespace Couenne {
17 
25 
26 public:
27 
29  CouenneComplBranchingObject (OsiSolverInterface *solver,
30  const OsiObject *originalObject,
31  JnlstPtr jnlst,
33  CouenneProblem *p,
34  expression *var,
35  expression *var2,
36  int way,
37  CouNumber brpoint,
38  bool doFBBT,
39  bool doConvCuts,
40  int sign);
41 
45  variable2_ (src.variable2_),
46  sign_ (src.sign_) {}
47 
49  virtual OsiBranchingObject *clone () const
50  {return new CouenneComplBranchingObject (*this);}
51 
57  virtual double branch (OsiSolverInterface * solver = NULL);
58 
59 protected:
60 
64 
68  int sign_;
69 };
70 
71 }
72 
73 #endif
Cut Generator for linear convexifications.
CouenneComplBranchingObject(const CouenneComplBranchingObject &src)
Copy constructor.
"Spatial" branching object.
CouenneComplBranchingObject(OsiSolverInterface *solver, const OsiObject *originalObject, JnlstPtr jnlst, CouenneCutGenerator *c, CouenneProblem *p, expression *var, expression *var2, int way, CouNumber brpoint, bool doFBBT, bool doConvCuts, int sign)
Constructor.
virtual double branch(OsiSolverInterface *solver=NULL)
Execute the actions required to branch, as specified by the current state of the branching object...
"Spatial" branching object for complementarity constraints.
Class for MINLP problems with symbolic information.
double CouNumber
main number type in Couenne
virtual OsiBranchingObject * clone() const
cloning method
Expression base class.
expression * variable2_
use CouenneBranchingObject::variable_ as the first variable to set to 0, and this one as the second ...
int sign_
-1 if object is for xi * xj <= 0 +1 if object is for xi * xj <= 0 0 if object is for xi * xj = 0 (cla...