source: branches/sandbox/Cbc/src/CbcCutSubsetModifier.hpp @ 1389

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

run 'astyle -A4 -p' and dos2unix

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