CouenneChooseVariable.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneChooseVariable.hpp 792 2012-01-24 17:24:15Z pbelotti $
00002  *
00003  * Name:    CouenneChooseVariable.hpp
00004  * Authors: Pierre Bonami, IBM Corp.
00005  *          Pietro Belotti, Carnegie Mellon University
00006  * Purpose: Branching object for choosing branching auxiliary variable
00007  *
00008  * (C) Carnegie-Mellon University, 2006.
00009  * This file is licensed under the Eclipse Public License (EPL)
00010  */
00011 
00012 #ifndef COUENNECHOOSEVARIABLE_HPP
00013 #define COUENNECHOOSEVARIABLE_HPP
00014 
00015 #include "OsiChooseVariable.hpp"
00016 #include "BonBabInfos.hpp"
00017 #include "CouenneJournalist.hpp"
00018 #include "BonRegisteredOptions.hpp"
00019 
00020 namespace Couenne {
00021 
00022 class CouenneProblem;
00023 
00027 class CouenneChooseVariable: public OsiChooseVariable {
00028 
00029 public:
00030 
00032   CouenneChooseVariable ();
00033 
00035   CouenneChooseVariable (const OsiSolverInterface *, CouenneProblem *, JnlstPtr jnlst);
00036 
00038   CouenneChooseVariable (const CouenneChooseVariable &);
00039 
00041   CouenneChooseVariable &operator= (const CouenneChooseVariable &);
00042 
00044   virtual OsiChooseVariable *clone() const
00045   {return new CouenneChooseVariable (*this);}
00046 
00048   virtual ~CouenneChooseVariable () {}
00049 
00053   virtual int setupList (OsiBranchingInformation *, bool);
00054 
00056   virtual bool feasibleSolution (const OsiBranchingInformation * info,
00057                                  const double * solution,
00058                                  int numberObjects,
00059                                  const OsiObject ** objects);
00060 
00061   // choose object to branch based on earlier setup
00062   //   virtual int chooseVariable (OsiSolverInterface * solver, 
00063   //                          OsiBranchingInformation *info, 
00064   //                          bool fixVariables);
00065 
00067   static void registerOptions (Ipopt::SmartPtr <Bonmin::RegisteredOptions> roptions);
00068 
00069 protected:
00070 
00072   CouenneProblem *problem_;
00073 
00075   JnlstPtr jnlst_;
00076 };
00077 
00078 }
00079 
00080 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Mar 2015 for Couenne by  doxygen 1.6.1