diff options
author | Harpreet | 2016-09-03 00:36:51 +0530 |
---|---|---|
committer | Harpreet | 2016-09-03 00:36:51 +0530 |
commit | a0d9443af147e949c1e6a01ac24749d12593ec5b (patch) | |
tree | 1a1955c5482ae608fd7f618b06f4ecc6a0d39a23 /thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp | |
parent | 4b64cf486f5c999fd8167758cae27839f3b50848 (diff) | |
download | FOSSEE-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/BonCurvBranchingSolver.hpp')
-rw-r--r-- | thirdparty/linux/include/coin/BonCurvBranchingSolver.hpp | 77 |
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 |