CouenneVTObject.hpp
Go to the documentation of this file.
1 /* $Id: CouenneVTObject.hpp 991 2013-08-05 06:20:55Z fmargot $
2  *
3  * Name: CouenneVTObject.hpp
4  * Authors: Pietro Belotti, Carnegie Mellon University
5  * Purpose: Object for branching on variables using violation transfer
6  *
7  * (C) Carnegie-Mellon University, 2008-11.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNEVTOBJECT_HPP
12 #define COUENNEVTOBJECT_HPP
13 
14 #include "CouenneVarObject.hpp"
15 
16 namespace Couenne {
17 
20 
21 public:
22 
25  CouenneProblem *p,
26  exprVar *ref,
27  Bonmin::BabSetupBase *base,
28  JnlstPtr jnlst,
29  int varSelection // either OSI_SIMPLE or OSI_STRONG
30  ):
31 
32  CouenneVarObject (c, p, ref, base, jnlst, varSelection) {}
33 
36  CouenneVarObject (src) {}
37 
40 
42  virtual CouenneObject *clone () const
43  {return new CouenneVTObject (*this);}
44 
48  virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
49 };
50 
51 }
52 
53 #endif
Cut Generator for linear convexifications.
void fint fint fint real fint real real real real real real real real real fint real fint fint fint real fint fint fint fint * info
OsiObject for auxiliary variables $w=f(x)$.
OsiObject for violation transfer on variables in a MINLP.
A class to have all elements necessary to setup a branch-and-bound.
CouenneVTObject(const CouenneVTObject &src)
Copy constructor.
Class for MINLP problems with symbolic information.
CouenneVTObject(CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int varSelection)
Constructor with information for branching point selection strategy.
variable-type operator
virtual CouenneObject * clone() const
Cloning method.
virtual double infeasibility(const OsiBranchingInformation *info, int &way) const
compute infeasibility of this variable x as the sum/min/max of all infeasibilities of auxiliaries w w...
real c
OsiObject for variables in a MINLP.