# CouenneThreeWayBranchObj.hpp

Go to the documentation of this file.

    00001 /* $Id: CouenneThreeWayBranchObj.hpp 560 2011-04-17 10:01:15Z stefan $
    00002  *
    00003  * Name:    CouenneThreeWayBranchObj.hpp
    00004  * Authors: Pierre Bonami, IBM Corp.
    00005  *          Pietro Belotti, Carnegie Mellon University
    00006  * Purpose: Three way branching object for auxiliary variables
    00007  *
    00008  * (C) Carnegie-Mellon University, 2006-10.
    00009  * This file is licensed under the Eclipse Public License (EPL)
    00010  */
    00011
    00012 #ifndef COUENNETHREEWAYBRANCHOBJ_HPP
    00013 #define COUENNETHREEWAYBRANCHOBJ_HPP
    00014
    00015 #include "OsiBranchingObject.hpp"
    00016
    00017 #include "CouenneExprAux.hpp"
    00018 #include "CouenneObject.hpp"
    00019
    00020 namespace Couenne {
    00021
    00027
    00028 class CouenneThreeWayBranchObj: public OsiBranchingObject {
    00029
    00030 public:
    00031
    00033   CouenneThreeWayBranchObj (JnlstPtr jnlst,
    00034                             expression *,
    00035                             CouNumber,
    00036                             CouNumber,
    00037                             int  = THREE_CENTER
    00038                             //bool = false
    00039                             );
    00040
    00042   CouenneThreeWayBranchObj (const CouenneThreeWayBranchObj &src):
    00043     OsiBranchingObject (src),
    00044     brVar_ (src.brVar_),
    00045     lcrop_ (src.lcrop_),
    00046     rcrop_ (src.rcrop_),
    00047     firstBranch_ (src.firstBranch_),
    00048     jnlst_ (src.jnlst_){}
    00049
    00051   virtual OsiBranchingObject * clone () const
    00052   {return new CouenneThreeWayBranchObj (*this);}
    00053
    00060   virtual double branch (OsiSolverInterface * solver = NULL);
    00061
    00062 protected:
    00063
    00067   expression *brVar_;
    00068
    00069   CouNumber lcrop_;
    00070   CouNumber rcrop_;
    00071
    00073   int firstBranch_;
    00074
    00076   //  bool integer_;
    00077
    00079   JnlstPtr jnlst_;
    00080 };
    00081
    00082 }
    00083
    00084 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines