Cbc  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CbcHeuristicDINS.hpp
Go to the documentation of this file.
00001 // $Id$
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 // edwin 12/5/09 carved out of CbcHeuristicRINS
00007 
00008 #ifndef CbcHeuristicDINS_H
00009 #define CbcHeuristicDINS_H
00010 
00011 #include "CbcHeuristic.hpp"
00012 
00013 
00014 class CbcHeuristicDINS : public CbcHeuristic {
00015 public:
00016 
00017     // Default Constructor
00018     CbcHeuristicDINS ();
00019 
00020     /* Constructor with model - assumed before cuts
00021        Initial version does not do Lps
00022     */
00023     CbcHeuristicDINS (CbcModel & model);
00024 
00025     // Copy constructor
00026     CbcHeuristicDINS ( const CbcHeuristicDINS &);
00027 
00028     // Destructor
00029     ~CbcHeuristicDINS ();
00030 
00032     virtual CbcHeuristic * clone() const;
00033 
00034 
00036     CbcHeuristicDINS & operator=(const CbcHeuristicDINS& rhs);
00037 
00039     virtual void generateCpp( FILE * fp) ;
00040 
00042     virtual void resetModel(CbcModel * model);
00043 
00045     virtual void setModel(CbcModel * model);
00046 
00047     using CbcHeuristic::solution ;
00052     virtual int solution(double & objectiveValue,
00053                          double * newSolution);
00055     int solutionFix(double & objectiveValue,
00056                     double * newSolution,
00057                     const int * keep);
00058 
00060     inline void setHowOften(int value) {
00061         howOften_ = value;
00062     }
00064     inline void setMaximumKeep(int value) {
00065         maximumKeepSolutions_ = value;
00066     }
00068     inline void setConstraint(int value) {
00069         localSpace_ = value;
00070     }
00071 
00072 protected:
00073     // Data
00074 
00076     int numberSolutions_;
00078     int howOften_;
00080     int numberSuccesses_;
00082     int numberTries_;
00084     int maximumKeepSolutions_;
00086     int numberKeptSolutions_;
00088     int numberIntegers_;
00090     int localSpace_;
00092     int ** values_;
00093 };
00094 
00095 #endif
00096 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines