CouenneChooseVariable.hpp

Go to the documentation of this file.
00001 /* $Id: CouenneChooseVariable.hpp 141 2009-06-03 04:19:19Z 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 Common Public License (CPL)
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 class CouenneProblem;
00021 
00025 class CouenneChooseVariable: public OsiChooseVariable {
00026 
00027 public:
00028 
00030   CouenneChooseVariable ();
00031 
00033   CouenneChooseVariable (const OsiSolverInterface *, CouenneProblem *, JnlstPtr jnlst);
00034 
00036   CouenneChooseVariable (const CouenneChooseVariable &);
00037 
00039   CouenneChooseVariable &operator= (const CouenneChooseVariable &);
00040 
00042   virtual OsiChooseVariable *clone() const
00043   {return new CouenneChooseVariable (*this);}
00044 
00046   virtual ~CouenneChooseVariable () {}
00047 
00051   virtual int setupList (OsiBranchingInformation *, bool);
00052 
00054   virtual bool feasibleSolution (const OsiBranchingInformation * info,
00055                                  const double * solution,
00056                                  int numberObjects,
00057                                  const OsiObject ** objects);
00058 
00060   //   virtual int chooseVariable (OsiSolverInterface * solver, 
00061   //                          OsiBranchingInformation *info, 
00062   //                          bool fixVariables);
00063 
00065   static void registerOptions (Ipopt::SmartPtr <Bonmin::RegisteredOptions> roptions);
00066 
00067 protected:
00068 
00070   CouenneProblem *problem_;
00071 
00073   JnlstPtr jnlst_;
00074 };
00075 
00076 #endif

Generated on Wed Oct 7 03:10:23 2009 for Couenne by  doxygen 1.4.7