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

Last change on this file since 1424 was 1357, checked in by coin, 10 years ago

run 'astyle -A4 -p' and dos2unix

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
Note: See TracBrowser for help on using the repository browser.