summaryrefslogtreecommitdiff
path: root/thirdparty/linux/include/coin/CbcHeuristicRENS.hpp
diff options
context:
space:
mode:
authorHarpreet2016-09-03 00:36:51 +0530
committerHarpreet2016-09-03 00:36:51 +0530
commita0d9443af147e949c1e6a01ac24749d12593ec5b (patch)
tree1a1955c5482ae608fd7f618b06f4ecc6a0d39a23 /thirdparty/linux/include/coin/CbcHeuristicRENS.hpp
parent4b64cf486f5c999fd8167758cae27839f3b50848 (diff)
downloadFOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.tar.gz
FOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.tar.bz2
FOSSEE-Optim-toolbox-development-a0d9443af147e949c1e6a01ac24749d12593ec5b.zip
cbcintlinprog added
Diffstat (limited to 'thirdparty/linux/include/coin/CbcHeuristicRENS.hpp')
-rw-r--r--thirdparty/linux/include/coin/CbcHeuristicRENS.hpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/CbcHeuristicRENS.hpp b/thirdparty/linux/include/coin/CbcHeuristicRENS.hpp
new file mode 100644
index 0000000..6cc96fa
--- /dev/null
+++ b/thirdparty/linux/include/coin/CbcHeuristicRENS.hpp
@@ -0,0 +1,77 @@
+// $Id: CbcHeuristicRENS.hpp 2105 2015-01-05 13:11:11Z forrest $
+// Copyright (C) 2006, International Business Machines
+// Corporation and others. All Rights Reserved.
+// This code is licensed under the terms of the Eclipse Public License (EPL).
+
+// edwin 12/5/09 carved out of CbcHeuristicRINS
+
+#ifndef CbcHeuristicRENS_H
+#define CbcHeuristicRENS_H
+
+#include "CbcHeuristic.hpp"
+
+/** LocalSearch class
+ */
+
+class CbcHeuristicRENS : public CbcHeuristic {
+public:
+
+ // Default Constructor
+ CbcHeuristicRENS ();
+
+ /* Constructor with model - assumed before cuts
+ Initial version does not do Lps
+ */
+ CbcHeuristicRENS (CbcModel & model);
+
+ // Copy constructor
+ CbcHeuristicRENS ( const CbcHeuristicRENS &);
+
+ // Destructor
+ ~CbcHeuristicRENS ();
+
+ /// Clone
+ virtual CbcHeuristic * clone() const;
+
+
+ /// Assignment operator
+ CbcHeuristicRENS & operator=(const CbcHeuristicRENS& rhs);
+
+ /// 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 does Relaxation Extension Neighborhood Search
+ Does not run if when_<2 and a solution exists
+ */
+ virtual int solution(double & objectiveValue,
+ double * newSolution);
+
+ /// Set type
+ inline void setRensType(int value)
+ { rensType_ = value;}
+
+protected:
+ // Data
+ /// Number of tries
+ int numberTries_;
+ /** Type
+ 0 - fix at LB
+ 1 - fix on dj
+ 2 - fix at UB as well
+ 3 - fix on 0.01*average dj
+ add 16 to allow two tries
+ 32 - if solution exists use to keep more variables
+ 64 - if priorities keep high priority
+ 128 - if priorities keep low priority
+ */
+ int rensType_;
+};
+
+#endif
+