diff options
Diffstat (limited to 'newstructure/thirdparty/linux/include/coin/CbcConsequence.hpp')
-rw-r--r-- | newstructure/thirdparty/linux/include/coin/CbcConsequence.hpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/newstructure/thirdparty/linux/include/coin/CbcConsequence.hpp b/newstructure/thirdparty/linux/include/coin/CbcConsequence.hpp new file mode 100644 index 0000000..f64a8bc --- /dev/null +++ b/newstructure/thirdparty/linux/include/coin/CbcConsequence.hpp @@ -0,0 +1,49 @@ +// $Id: CbcConsequence.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/12/2009 carved from CbcBranchBase + +#ifndef CbcConsequence_H +#define CbcConsequence_H + +class OsiSolverInterface; + +/** Abstract base class for consequent bounds. + When a variable is branched on it normally interacts with other variables by + means of equations. There are cases where we want to step outside LP and do something + more directly e.g. fix bounds. This class is for that. + + At present it need not be virtual as only instance is CbcFixVariable, but ... + + */ + +class CbcConsequence { + +public: + + // Default Constructor + CbcConsequence (); + + // Copy constructor + CbcConsequence ( const CbcConsequence & rhs); + + // Assignment operator + CbcConsequence & operator=( const CbcConsequence & rhs); + + /// Clone + virtual CbcConsequence * clone() const = 0; + + /// Destructor + virtual ~CbcConsequence (); + + /** Apply to an LP solver. Action depends on state + */ + virtual void applyToSolver(OsiSolverInterface * solver, int state) const = 0; + +protected: +}; + +#endif + |