diff options
author | Harpreet | 2016-09-03 00:34:27 +0530 |
---|---|---|
committer | Harpreet | 2016-09-03 00:34:27 +0530 |
commit | 4b64cf486f5c999fd8167758cae27839f3b50848 (patch) | |
tree | d9d06639fb7fa61aef59be0363655e4747105ec7 /newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp | |
parent | d19794fb80a271a4c885ed90f97cfc12baa012f2 (diff) | |
download | FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.gz FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.tar.bz2 FOSSEE-Optim-toolbox-development-4b64cf486f5c999fd8167758cae27839f3b50848.zip |
Structure updated and intqpipopt files added
Diffstat (limited to 'newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp')
-rw-r--r-- | newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp b/newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp new file mode 100644 index 0000000..c760bd6 --- /dev/null +++ b/newstructure/thirdparty/linux/include/coin/CbcSimpleIntegerPseudoCost.hpp @@ -0,0 +1,114 @@ +// $Id: CbcSimpleIntegerPseudoCost.hpp 1899 2013-04-09 18:12:08Z stefan $ +// Copyright (C) 2002, International Business Machines +// Corporation and others. All Rights Reserved. +// This code is licensed under the terms of the Eclipse Public License (EPL). + +// Edwin 11/10/2009-- carved out of CbcBranchActual + +#ifndef CbcSimpleIntegerPseudoCost_H +#define CbcSimpleIntegerPseudoCost_H + +#include "CbcSimpleInteger.hpp" +/// Define a single integer class but with pseudo costs + +class CbcSimpleIntegerPseudoCost : public CbcSimpleInteger { + +public: + + // Default Constructor + CbcSimpleIntegerPseudoCost (); + + // Useful constructor - passed model index + CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn, double breakEven = 0.5); + + // Useful constructor - passed and model index and pseudo costs + CbcSimpleIntegerPseudoCost (CbcModel * model, int iColumn, + double downPseudoCost, double upPseudoCost); + // Useful constructor - passed and model index and pseudo costs + CbcSimpleIntegerPseudoCost (CbcModel * model, int dummy, int iColumn, + double downPseudoCost, double upPseudoCost); + + // Copy constructor + CbcSimpleIntegerPseudoCost ( const CbcSimpleIntegerPseudoCost &); + + /// Clone + virtual CbcObject * clone() const; + + // Assignment operator + CbcSimpleIntegerPseudoCost & operator=( const CbcSimpleIntegerPseudoCost& rhs); + + // Destructor + virtual ~CbcSimpleIntegerPseudoCost (); + + /// Infeasibility - large is 0.5 + virtual double infeasibility(const OsiBranchingInformation * info, + int &preferredWay) const; + + /// Creates a branching object + virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface * solver, const OsiBranchingInformation * info, int way) ; + + /// Down pseudo cost + inline double downPseudoCost() const { + return downPseudoCost_; + } + /// Set down pseudo cost + inline void setDownPseudoCost(double value) { + downPseudoCost_ = value; + } + + /// Up pseudo cost + inline double upPseudoCost() const { + return upPseudoCost_; + } + /// Set up pseudo cost + inline void setUpPseudoCost(double value) { + upPseudoCost_ = value; + } + + /// Up down separator + inline double upDownSeparator() const { + return upDownSeparator_; + } + /// Set up down separator + inline void setUpDownSeparator(double value) { + upDownSeparator_ = value; + } + + /// Return "up" estimate + virtual double upEstimate() const; + /// Return "down" estimate (default 1.0e-5) + virtual double downEstimate() const; + + /// method - see below for details + inline int method() const { + return method_; + } + /// Set method + inline void setMethod(int value) { + method_ = value; + } + +protected: + /// data + + /// Down pseudo cost + double downPseudoCost_; + /// Up pseudo cost + double upPseudoCost_; + /** Up/down separator + If >0.0 then do first branch up if value-floor(value) + >= this value + */ + double upDownSeparator_; + /** Method - + 0 - normal - return min (up,down) + 1 - if before any solution return CoinMax(up,down) + 2 - if before branched solution return CoinMax(up,down) + 3 - always return CoinMax(up,down) + */ + int method_; +}; + + +#endif + |