Couenne  0.5.8
CouenneComplObject.hpp
Go to the documentation of this file.
1 /* $Id: CouenneComplObject.hpp 615 2011-06-08 20:36:24Z pbelotti $
2  *
3  * Name: CouenneComplObject.hpp
4  * Authors: Pietro Belotti, Lehigh University
5  * Purpose: Branching object for complementarity constraints
6  *
7  * (C) Carnegie-Mellon University, 2008-10.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #ifndef COUENNECOMPLOBJECT_HPP
12 #define COUENNECOMPLOBJECT_HPP
13 
14 #include "CouenneObject.hpp"
15 
16 namespace Couenne {
17 
21 
23 
24 public:
25 
28  CouenneProblem *p,
29  exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst,
30  int sign);
31 
34  int sign);
35 
38 
41 
43  virtual CouenneObject * clone () const
44  {return new CouenneComplObject (*this);}
45 
48  virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
49 
52  virtual double checkInfeasibility (const OsiBranchingInformation * info) const;
53 
58  int way) const;
59 private:
60 
64  int sign_;
65 
66 };
67 
68 }
69 
70 #endif
OsiObject for complementarity constraints .
CouenneComplObject(exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int sign)
Constructor with lesser information, used for infeasibility only.
CouenneComplObject(const CouenneComplObject &src)
Copy constructor.
CouenneComplObject(CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int sign)
Constructor with information for branching point selection strategy.
virtual OsiBranchingObject * createBranch(OsiSolverInterface *, const OsiBranchingInformation *, int way) const
create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object
virtual CouenneObject * clone() const
Cloning method.
virtual double infeasibility(const OsiBranchingInformation *info, int &way) const
compute infeasibility of this variable, |w - f(x)| (where w is the auxiliary variable defined as w = ...
virtual double checkInfeasibility(const OsiBranchingInformation *info) const
compute infeasibility of this variable, |w - f(x)|, where w is the auxiliary variable defined as w = ...
Cut Generator for linear convexifications.
OsiObject for auxiliary variables $w=f(x)$.
Class for MINLP problems with symbolic information.
variable-type operator
general include file for different compilers