From a0d9443af147e949c1e6a01ac24749d12593ec5b Mon Sep 17 00:00:00 2001 From: Harpreet Date: Sat, 3 Sep 2016 00:36:51 +0530 Subject: cbcintlinprog added --- .../include/coin/CbcHeuristicDiveVectorLength.hpp | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 thirdparty/linux/include/coin/CbcHeuristicDiveVectorLength.hpp (limited to 'thirdparty/linux/include/coin/CbcHeuristicDiveVectorLength.hpp') diff --git a/thirdparty/linux/include/coin/CbcHeuristicDiveVectorLength.hpp b/thirdparty/linux/include/coin/CbcHeuristicDiveVectorLength.hpp new file mode 100644 index 0000000..c83852f --- /dev/null +++ b/thirdparty/linux/include/coin/CbcHeuristicDiveVectorLength.hpp @@ -0,0 +1,52 @@ +/* $Id: CbcHeuristicDiveVectorLength.hpp 1899 2013-04-09 18:12:08Z stefan $ */ +// Copyright (C) 2008, International Business Machines +// Corporation and others. All Rights Reserved. +// This code is licensed under the terms of the Eclipse Public License (EPL). + +#ifndef CbcHeuristicDiveVectorLength_H +#define CbcHeuristicDiveVectorLength_H + +#include "CbcHeuristicDive.hpp" + +/** DiveVectorLength class + */ + +class CbcHeuristicDiveVectorLength : public CbcHeuristicDive { +public: + + // Default Constructor + CbcHeuristicDiveVectorLength (); + + // Constructor with model - assumed before cuts + CbcHeuristicDiveVectorLength (CbcModel & model); + + // Copy constructor + CbcHeuristicDiveVectorLength ( const CbcHeuristicDiveVectorLength &); + + // Destructor + ~CbcHeuristicDiveVectorLength (); + + /// Clone + virtual CbcHeuristicDiveVectorLength * clone() const; + + /// Assignment operator + CbcHeuristicDiveVectorLength & operator=(const CbcHeuristicDiveVectorLength& rhs); + + /// Create C++ lines to get to current state + virtual void generateCpp( FILE * fp) ; + + /// Selects the next variable to branch on + /** Returns true if all the fractional variables can be trivially + rounded. Returns false, if there is at least one fractional variable + that is not trivially roundable. In this case, the bestColumn + returned will not be trivially roundable. + */ + virtual bool selectVariableToBranch(OsiSolverInterface* solver, + const double* newSolution, + int& bestColumn, + int& bestRound); + +}; + +#endif + -- cgit