summaryrefslogtreecommitdiff
path: root/thirdparty/linux/include/coin/CbcConsequence.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/linux/include/coin/CbcConsequence.hpp')
-rw-r--r--thirdparty/linux/include/coin/CbcConsequence.hpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin/CbcConsequence.hpp b/thirdparty/linux/include/coin/CbcConsequence.hpp
new file mode 100644
index 0000000..f64a8bc
--- /dev/null
+++ b/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
+