00001
00002
00003
00004
00005
00006
00007
00008
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