summaryrefslogtreecommitdiff
path: root/build/Bonmin/include/coin/CbcHeuristicLocal.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'build/Bonmin/include/coin/CbcHeuristicLocal.hpp')
-rw-r--r--build/Bonmin/include/coin/CbcHeuristicLocal.hpp271
1 files changed, 0 insertions, 271 deletions
diff --git a/build/Bonmin/include/coin/CbcHeuristicLocal.hpp b/build/Bonmin/include/coin/CbcHeuristicLocal.hpp
deleted file mode 100644
index baed8d5..0000000
--- a/build/Bonmin/include/coin/CbcHeuristicLocal.hpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/* $Id: CbcHeuristicLocal.hpp 1943 2013-07-21 09:05:45Z forrest $ */
-// Copyright (C) 2002, International Business Machines
-// Corporation and others. All Rights Reserved.
-// This code is licensed under the terms of the Eclipse Public License (EPL).
-
-#ifndef CbcHeuristicLocal_H
-#define CbcHeuristicLocal_H
-
-#include "CbcHeuristic.hpp"
-/** LocalSearch class
- */
-
-class CbcHeuristicLocal : public CbcHeuristic {
-public:
-
- // Default Constructor
- CbcHeuristicLocal ();
-
- /* Constructor with model - assumed before cuts
- Initial version does not do Lps
- */
- CbcHeuristicLocal (CbcModel & model);
-
- // Copy constructor
- CbcHeuristicLocal ( const CbcHeuristicLocal &);
-
- // Destructor
- ~CbcHeuristicLocal ();
-
- /// Clone
- virtual CbcHeuristic * clone() const;
-
- /// Assignment operator
- CbcHeuristicLocal & operator=(const CbcHeuristicLocal& rhs);
-
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * fp) ;
-
- /// Resets stuff if model changes
- virtual void resetModel(CbcModel * model);
-
- /// update model (This is needed if cliques update matrix etc)
- virtual void setModel(CbcModel * model);
-
- using CbcHeuristic::solution ;
- /** returns 0 if no solution, 1 if valid solution.
- Sets solution values if good, sets objective value (only if good)
- This is called after cuts have been added - so can not add cuts
- First tries setting a variable to better value. If feasible then
- tries setting others. If not feasible then tries swaps
-
- ********
-
- This first version does not do LP's and does swaps of two integer
- variables. Later versions could do Lps.
- */
- virtual int solution(double & objectiveValue,
- double * newSolution);
- /// This version fixes stuff and does IP
- int solutionFix(double & objectiveValue,
- double * newSolution,
- const int * keep);
-
- /// Sets type of search
- inline void setSearchType(int value) {
- swap_ = value;
- }
- /// Used array so we can set
- inline int * used() const {
- return used_;
- }
-
-protected:
- // Data
-
- // Original matrix by column
- CoinPackedMatrix matrix_;
-
- // Number of solutions so we only do after new solution
- int numberSolutions_;
- // Type of search 0=normal, 1=BAB
- int swap_;
- /// Whether a variable has been in a solution (also when)
- int * used_;
-};
-
-/** Proximity Search class
- */
-class CbcHeuristicFPump;
-class CbcHeuristicProximity : public CbcHeuristic {
-public:
-
- // Default Constructor
- CbcHeuristicProximity ();
-
- /* Constructor with model - assumed before cuts
- */
- CbcHeuristicProximity (CbcModel & model);
-
- // Copy constructor
- CbcHeuristicProximity ( const CbcHeuristicProximity &);
-
- // Destructor
- ~CbcHeuristicProximity ();
-
- /// Clone
- virtual CbcHeuristic * clone() const;
-
- /// Assignment operator
- CbcHeuristicProximity & operator=(const CbcHeuristicProximity& rhs);
-
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * fp) ;
-
- /// Resets stuff if model changes
- virtual void resetModel(CbcModel * model);
-
- /// update model (This is needed if cliques update matrix etc)
- virtual void setModel(CbcModel * model);
-
- using CbcHeuristic::solution ;
- /** returns 0 if no solution, 1 if valid solution.
- Sets solution values if good, sets objective value (only if good)
- */
- virtual int solution(double & objectiveValue,
- double * newSolution);
- /// Set extra increment
- inline void setIncrement(double value)
- { increment_ = value;}
- /// Used array so we can set
- inline int * used() const {
- return used_;
- }
-
-protected:
- // Data
- /// Increment to use if no change
- double increment_;
- /// Copy of Feasibility pump
- CbcHeuristicFPump * feasibilityPump_;
- /// Number of solutions so we only do after new solution
- int numberSolutions_;
- /// Whether a variable has been in a solution (also when)
- int * used_;
-};
-
-
-/** Naive class
- a) Fix all ints as close to zero as possible
- b) Fix all ints with nonzero costs and < large to zero
- c) Put bounds round continuous and UIs and maximize
- */
-
-class CbcHeuristicNaive : public CbcHeuristic {
-public:
-
- // Default Constructor
- CbcHeuristicNaive ();
-
- /* Constructor with model - assumed before cuts
- Initial version does not do Lps
- */
- CbcHeuristicNaive (CbcModel & model);
-
- // Copy constructor
- CbcHeuristicNaive ( const CbcHeuristicNaive &);
-
- // Destructor
- ~CbcHeuristicNaive ();
-
- /// Clone
- virtual CbcHeuristic * clone() const;
-
- /// Assignment operator
- CbcHeuristicNaive & operator=(const CbcHeuristicNaive& rhs);
-
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * fp) ;
-
- /// Resets stuff if model changes
- virtual void resetModel(CbcModel * model);
-
- /// update model (This is needed if cliques update matrix etc)
- virtual void setModel(CbcModel * model);
-
- using CbcHeuristic::solution ;
- /** returns 0 if no solution, 1 if valid solution.
- Sets solution values if good, sets objective value (only if good)
- */
- virtual int solution(double & objectiveValue,
- double * newSolution);
-
- /// Sets large cost value
- inline void setLargeValue(double value) {
- large_ = value;
- }
- /// Gets large cost value
- inline double largeValue() const {
- return large_;
- }
-
-protected:
- /// Data
- /// Large value
- double large_;
-};
-
-/** Crossover Search class
- */
-
-class CbcHeuristicCrossover : public CbcHeuristic {
-public:
-
- // Default Constructor
- CbcHeuristicCrossover ();
-
- /* Constructor with model - assumed before cuts
- Initial version does not do Lps
- */
- CbcHeuristicCrossover (CbcModel & model);
-
- // Copy constructor
- CbcHeuristicCrossover ( const CbcHeuristicCrossover &);
-
- // Destructor
- ~CbcHeuristicCrossover ();
-
- /// Clone
- virtual CbcHeuristic * clone() const;
-
- /// Assignment operator
- CbcHeuristicCrossover & operator=(const CbcHeuristicCrossover& rhs);
-
- /// Create C++ lines to get to current state
- virtual void generateCpp( FILE * fp) ;
-
- /// Resets stuff if model changes
- virtual void resetModel(CbcModel * model);
-
- /// update model (This is needed if cliques update matrix etc)
- virtual void setModel(CbcModel * model);
-
- using CbcHeuristic::solution ;
- /** returns 0 if no solution, 1 if valid solution.
- Fix variables if agree in useNumber_ solutions
- when_ 0 off, 1 only at new solutions, 2 also every now and then
- add 10 to make only if agree at lower bound
- */
- virtual int solution(double & objectiveValue,
- double * newSolution);
-
- /// Sets number of solutions to use
- inline void setNumberSolutions(int value) {
- if (value > 0 && value <= 10)
- useNumber_ = value;
- }
-
-protected:
- // Data
- /// Attempts
- std::vector <double> attempts_;
- /// Random numbers to stop same search happening
- double random_[10];
- /// Number of solutions so we only do after new solution
- int numberSolutions_;
- /// Number of solutions to use
- int useNumber_;
-};
-
-#endif
-