Cbc trunk
CbcHeuristicRINS.hpp
Go to the documentation of this file.
00001 /* $Id: CbcHeuristicRINS.hpp 1261 2009-10-30 12:45:20Z forrest $ */
00002 // Copyright (C) 2006, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
00005 
00006 #ifndef CbcHeuristicRINS_H
00007 #define CbcHeuristicRINS_H
00008 
00009 #include "CbcHeuristic.hpp"
00010 // for backward compatibility include 3 other headers
00011 #include "CbcHeuristicRENS.hpp"
00012 #include "CbcHeuristicDINS.hpp"
00013 #include "CbcHeuristicVND.hpp"
00017 class CbcHeuristicRINS : public CbcHeuristic {
00018 public:
00019 
00020     // Default Constructor
00021     CbcHeuristicRINS ();
00022 
00023     /* Constructor with model - assumed before cuts
00024        Initial version does not do Lps
00025     */
00026     CbcHeuristicRINS (CbcModel & model);
00027 
00028     // Copy constructor
00029     CbcHeuristicRINS ( const CbcHeuristicRINS &);
00030 
00031     // Destructor
00032     ~CbcHeuristicRINS ();
00033 
00035     virtual CbcHeuristic * clone() const;
00036 
00037 
00039     CbcHeuristicRINS & operator=(const CbcHeuristicRINS& rhs);
00040 
00042     virtual void generateCpp( FILE * fp) ;
00043 
00045     virtual void resetModel(CbcModel * model);
00046 
00048     virtual void setModel(CbcModel * model);
00049 
00050     using CbcHeuristic::solution ;
00055     virtual int solution(double & objectiveValue,
00056                          double * newSolution);
00058     int solutionFix(double & objectiveValue,
00059                     double * newSolution,
00060                     const int * keep);
00061 
00063     inline void setHowOften(int value) {
00064         howOften_ = value;
00065     }
00067     inline char * used() const {
00068         return used_;
00069     }
00071     inline void setLastNode(int value) {
00072         lastNode_ = value;
00073     }
00074 
00075 protected:
00076     // Data
00077 
00079     int numberSolutions_;
00081     int howOften_;
00083     int numberSuccesses_;
00085     int numberTries_;
00091     int stateOfFixing_;
00093     int lastNode_;
00095     char * used_;
00096 };
00097 #endif
00098 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines