summaryrefslogtreecommitdiff
path: root/thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp
diff options
context:
space:
mode:
authorGeorgey2017-07-05 11:40:43 +0530
committerGeorgey2017-07-05 11:40:43 +0530
commit938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 (patch)
treeb343c0ee5609433c80e0de1db8b6886c9126dc2d /thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp
parent5b72577efe080c5294b32d804e4d26351fef30bc (diff)
downloadFOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.gz
FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.bz2
FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.zip
Added linux shared libraries and header files for int and ecos functions
Diffstat (limited to 'thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp')
-rw-r--r--thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp b/thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp
new file mode 100644
index 0000000..83be1ac
--- /dev/null
+++ b/thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp
@@ -0,0 +1,77 @@
+// Copyright (C) 2006, 2007 International Business Machines
+// Corporation and others. All Rights Reserved.
+//
+//
+#error "BonCurvBranchingSolver not supported anymore"
+#ifndef BonCurvBranchingSolver_H
+#define BonCurvBranchingSolver_H
+
+#include "BonStrongBranchingSolver.hpp"
+#include "BonCurvatureEstimator.hpp"
+
+namespace Bonmin
+{
+
+ /** Implementation of BonChooseVariable for curvature-based braching.
+ */
+
+ class CurvBranchingSolver : public StrongBranchingSolver
+ {
+
+ public:
+
+ /// Constructor from solver (so we can set up arrays etc)
+ CurvBranchingSolver (OsiTMINLPInterface * solver);
+
+ /// Copy constructor
+ CurvBranchingSolver (const CurvBranchingSolver &);
+
+ /// Assignment operator
+ CurvBranchingSolver & operator= (const CurvBranchingSolver& rhs);
+
+ /// Destructor
+ virtual ~CurvBranchingSolver ();
+
+ /// Called to initialize solver before a bunch of strong branching
+ /// solves
+ virtual void markHotStart(OsiTMINLPInterface* tminlp_interface);
+
+ /// Called to solve the current TMINLP (with changed bound information)
+ virtual TNLPSolver::ReturnStatus solveFromHotStart(OsiTMINLPInterface* tminlp_interface);
+
+ /// Called after all strong branching solves in a node
+ virtual void unmarkHotStart(OsiTMINLPInterface* tminlp_interface);
+
+ private:
+ /// Default Constructor
+ CurvBranchingSolver ();
+
+ SmartPtr<CurvatureEstimator> cur_estimator_;
+
+ /** @name Stuff for the curvature estimator */
+ //@{
+ bool new_bounds_;
+ bool new_x_;
+ bool new_mults_;
+ double* orig_d_;
+ double* projected_d_;
+ Number* x_l_orig_;
+ Number* x_u_orig_;
+ Number* g_l_orig_;
+ Number* g_u_orig_;
+ //@}
+
+ /** @name Information about the problem */
+ //@{
+ int numCols_;
+ int numRows_;
+ const double* solution_;
+ const double* duals_;
+ double obj_value_;
+ //@}
+
+ };
+
+}
+
+#endif