CouenneComplObject.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneComplObject.hpp 260 2009-10-04 14:22:01Z pbelotti $
00002  *
00003  * Name:    CouenneComplObject.hpp
00004  * Authors: Pietro Belotti, Lehigh University
00005  * Purpose: Branching object for complementarity constraints
00006  *
00007  * (C) Carnegie-Mellon University, 2008-09.
00008  * This file is licensed under the Common Public License (CPL)
00009  */
00010 
00011 #ifndef COUENNECOMPLOBJECT_HPP
00012 #define COUENNECOMPLOBJECT_HPP
00013 
00014 #include "CouenneObject.hpp"
00015 
00019 
00020 class CouenneComplObject: public CouenneObject {
00021 
00022 public:
00023 
00025   CouenneComplObject (CouenneCutGenerator *c,
00026                       CouenneProblem *p, 
00027                       exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst,
00028                       int sign);
00029 
00031   CouenneComplObject (exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst,
00032                       int sign);
00033 
00035   ~CouenneComplObject () {}
00036 
00038   CouenneComplObject (const CouenneComplObject &src);
00039 
00041   virtual CouenneObject * clone () const
00042   {return new CouenneComplObject (*this);}
00043 
00046   virtual double infeasibility (const OsiBranchingInformation *info, int &way) const;
00047 
00050   virtual double checkInfeasibility (const OsiBranchingInformation * info) const;
00051 
00054   virtual OsiBranchingObject *createBranch (OsiSolverInterface*, 
00055                                             const OsiBranchingInformation*, 
00056                                             int way) const;
00057 private:
00058 
00062   int sign_;
00063 
00064 };
00065 
00066 #endif

Generated on Wed Jan 20 03:03:55 2010 for Couenne by  doxygen 1.4.7