summaryrefslogtreecommitdiff
path: root/build/Bonmin/include/coin/BonCurvBranchingSolver.hpp
diff options
context:
space:
mode:
authorHarpreet2016-08-04 15:25:44 +0530
committerHarpreet2016-08-04 15:25:44 +0530
commit9fd2976931c088dc523974afb901e96bad20f73c (patch)
tree22502de6e6988d5cd595290d11266f8432ad825b /build/Bonmin/include/coin/BonCurvBranchingSolver.hpp
downloadFOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.tar.gz
FOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.tar.bz2
FOSSEE-Optim-toolbox-development-9fd2976931c088dc523974afb901e96bad20f73c.zip
initial add
Diffstat (limited to 'build/Bonmin/include/coin/BonCurvBranchingSolver.hpp')
-rw-r--r--build/Bonmin/include/coin/BonCurvBranchingSolver.hpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/build/Bonmin/include/coin/BonCurvBranchingSolver.hpp b/build/Bonmin/include/coin/BonCurvBranchingSolver.hpp
new file mode 100644
index 0000000..83be1ac
--- /dev/null
+++ b/build/Bonmin/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