source: trunk/Cbc/src/CbcCutSubsetModifier.hpp @ 1566

Last change on this file since 1566 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.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
60
Note: See TracBrowser for help on using the repository browser.