# 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