# 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