From 938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 Mon Sep 17 00:00:00 2001
From: Georgey
Date: Wed, 5 Jul 2017 11:40:43 +0530
Subject: Added linux shared libraries and header files for int and ecos
 functions

---
 thirdparty/linux/include/coin/CbcHeuristicDINS.hpp | 96 ++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 thirdparty/linux/include/coin/CbcHeuristicDINS.hpp

(limited to 'thirdparty/linux/include/coin/CbcHeuristicDINS.hpp')

diff --git a/thirdparty/linux/include/coin/CbcHeuristicDINS.hpp b/thirdparty/linux/include/coin/CbcHeuristicDINS.hpp
new file mode 100644
index 0000000..49d0c1c
--- /dev/null
+++ b/thirdparty/linux/include/coin/CbcHeuristicDINS.hpp
@@ -0,0 +1,96 @@
+// $Id: CbcHeuristicDINS.hpp 1899 2013-04-09 18:12:08Z stefan $
+// 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 CbcHeuristicDINS_H
+#define CbcHeuristicDINS_H
+
+#include "CbcHeuristic.hpp"
+
+
+class CbcHeuristicDINS : public CbcHeuristic {
+public:
+
+    // Default Constructor
+    CbcHeuristicDINS ();
+
+    /* Constructor with model - assumed before cuts
+       Initial version does not do Lps
+    */
+    CbcHeuristicDINS (CbcModel & model);
+
+    // Copy constructor
+    CbcHeuristicDINS ( const CbcHeuristicDINS &);
+
+    // Destructor
+    ~CbcHeuristicDINS ();
+
+    /// Clone
+    virtual CbcHeuristic * clone() const;
+
+
+    /// Assignment operator
+    CbcHeuristicDINS & operator=(const CbcHeuristicDINS& 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 does Relaxation Induced Neighborhood Search
+    */
+    virtual int solution(double & objectiveValue,
+                         double * newSolution);
+    /// This version fixes stuff and does IP
+    int solutionFix(double & objectiveValue,
+                    double * newSolution,
+                    const int * keep);
+
+    /// Sets how often to do it
+    inline void setHowOften(int value) {
+        howOften_ = value;
+    }
+    /// Sets maximum number of solutions kept
+    inline void setMaximumKeep(int value) {
+        maximumKeepSolutions_ = value;
+    }
+    /// Sets tightness of extra constraint
+    inline void setConstraint(int value) {
+        localSpace_ = value;
+    }
+
+protected:
+    // Data
+
+    /// Number of solutions so we can do something at solution
+    int numberSolutions_;
+    /// How often to do (code can change)
+    int howOften_;
+    /// Number of successes
+    int numberSuccesses_;
+    /// Number of tries
+    int numberTries_;
+    /// Maximum number of solutions to keep
+    int maximumKeepSolutions_;
+    /// Number of solutions kept
+    int numberKeptSolutions_;
+    /// Number of integer variables
+    int numberIntegers_;
+    /// Local parameter
+    int localSpace_;
+    /// Values of integer variables
+    int ** values_;
+};
+
+#endif
+
-- 
cgit