source: branches/sandbox/Cbc/src/CbcConsequence.hpp @ 1302

Last change on this file since 1302 was 1302, checked in by EdwinStraver, 10 years ago

Added new files for breakup of CbcBranchBase?

File size: 1.0 KB
Line 
1// Edwin 11/12/2009 carved from CbcBranchBase
2#ifndef CbcConsequence_H
3#define CbcConsequence_H
4
5class OsiSolverInterface;
6
7/** Abstract base class for consequent bounds.
8    When a variable is branched on it normally interacts with other variables by
9    means of equations.  There are cases where we want to step outside LP and do something
10    more directly e.g. fix bounds.  This class is for that.
11
12    At present it need not be virtual as only instance is CbcFixVariable, but ...
13
14 */
15
16class CbcConsequence {
17
18public:
19
20    // Default Constructor
21    CbcConsequence ();
22
23    // Copy constructor
24    CbcConsequence ( const CbcConsequence & rhs);
25
26    // Assignment operator
27    CbcConsequence & operator=( const CbcConsequence & rhs);
28
29    /// Clone
30    virtual CbcConsequence * clone() const = 0;
31
32    /// Destructor
33    virtual ~CbcConsequence ();
34
35    /** Apply to an LP solver.  Action depends on state
36     */
37    virtual void applyToSolver(OsiSolverInterface * solver, int state) const = 0;
38
39protected:
40};
41
42#endif
Note: See TracBrowser for help on using the repository browser.