diff options
Diffstat (limited to 'thirdparty/linux/include/coin/CbcCutModifier.hpp')
-rw-r--r-- | thirdparty/linux/include/coin/CbcCutModifier.hpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/CbcCutModifier.hpp b/thirdparty/linux/include/coin/CbcCutModifier.hpp new file mode 100644 index 0000000..726d615 --- /dev/null +++ b/thirdparty/linux/include/coin/CbcCutModifier.hpp @@ -0,0 +1,57 @@ +// $Id: CbcCutModifier.hpp 1899 2013-04-09 18:12:08Z stefan $ +// Copyright (C) 2003, International Business Machines +// Corporation and others. All Rights Reserved. +// This code is licensed under the terms of the Eclipse Public License (EPL). + +//Edwin 11/25/09 carved out of CbcCutGenerator + +#ifndef CbcCutModifier_H +#define CbcCutModifier_H + +#include "OsiSolverInterface.hpp" +#include "OsiCuts.hpp" +#include "CglCutGenerator.hpp" + +class CbcModel; +class OsiRowCut; +class OsiRowCutDebugger; +/** Abstract cut modifier base class + + In exotic circumstances - cuts may need to be modified + a) strengthened - changed + b) weakened - changed + c) deleted - set to NULL + d) unchanged +*/ + +class CbcCutModifier { +public: + /// Default Constructor + CbcCutModifier (); + + // Copy constructor + CbcCutModifier ( const CbcCutModifier &); + + /// Destructor + virtual ~CbcCutModifier(); + + /// Assignment + CbcCutModifier & operator=(const CbcCutModifier& rhs); +/// Clone + virtual CbcCutModifier * clone() const = 0; + + /** Returns + 0 unchanged + 1 strengthened + 2 weakened + 3 deleted + */ + virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0; + /// Create C++ lines to get to current state + virtual void generateCpp( FILE * ) {} +protected: + +}; + +#endif //CbcCutModifier_H + |