source: trunk/Cbc/src/CbcCutModifier.hpp @ 1557

Last change on this file since 1557 was 1432, checked in by bjarni, 10 years ago

Added extra return at end of each source file where needed, to remove possible linefeed conflicts (NightlyBuild? errors)

File size: 1.1 KB
Line 
1//Edwin 11/25/09 carved out of CbcCutGenerator
2#ifndef CbcCutModifier_H
3#define CbcCutModifier_H
4
5#include "OsiSolverInterface.hpp"
6#include "OsiCuts.hpp"
7#include "CglCutGenerator.hpp"
8
9class CbcModel;
10class OsiRowCut;
11class OsiRowCutDebugger;
12/** Abstract cut modifier base class
13
14    In exotic circumstances - cuts may need to be modified
15    a) strengthened - changed
16    b) weakened - changed
17    c) deleted - set to NULL
18    d) unchanged
19*/
20
21class CbcCutModifier {
22public:
23    /// Default Constructor
24    CbcCutModifier ();
25
26    // Copy constructor
27    CbcCutModifier ( const CbcCutModifier &);
28
29    /// Destructor
30    virtual ~CbcCutModifier();
31
32    /// Assignment
33    CbcCutModifier & operator=(const CbcCutModifier& rhs);
34/// Clone
35    virtual CbcCutModifier * clone() const = 0;
36
37    /** Returns
38        0 unchanged
39        1 strengthened
40        2 weakened
41        3 deleted
42    */
43    virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0;
44    /// Create C++ lines to get to current state
45    virtual void generateCpp( FILE * ) {}
46protected:
47
48};
49
50#endif //CbcCutModifier_H
51
Note: See TracBrowser for help on using the repository browser.