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

Last change on this file since 1899 was 1899, checked in by stefan, 6 years ago

fixup svn properties

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1// $Id: CbcCutModifier.hpp 1899 2013-04-09 18:12:08Z stefan $
2// Copyright (C) 2003, International Business Machines
3// Corporation and others.  All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6//Edwin 11/25/09 carved out of CbcCutGenerator
7
8#ifndef CbcCutModifier_H
9#define CbcCutModifier_H
10
11#include "OsiSolverInterface.hpp"
12#include "OsiCuts.hpp"
13#include "CglCutGenerator.hpp"
14
15class CbcModel;
16class OsiRowCut;
17class OsiRowCutDebugger;
18/** Abstract cut modifier base class
19
20    In exotic circumstances - cuts may need to be modified
21    a) strengthened - changed
22    b) weakened - changed
23    c) deleted - set to NULL
24    d) unchanged
25*/
26
27class CbcCutModifier {
28public:
29    /// Default Constructor
30    CbcCutModifier ();
31
32    // Copy constructor
33    CbcCutModifier ( const CbcCutModifier &);
34
35    /// Destructor
36    virtual ~CbcCutModifier();
37
38    /// Assignment
39    CbcCutModifier & operator=(const CbcCutModifier& rhs);
40/// Clone
41    virtual CbcCutModifier * clone() const = 0;
42
43    /** Returns
44        0 unchanged
45        1 strengthened
46        2 weakened
47        3 deleted
48    */
49    virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0;
50    /// Create C++ lines to get to current state
51    virtual void generateCpp( FILE * ) {}
52protected:
53
54};
55
56#endif //CbcCutModifier_H
57
Note: See TracBrowser for help on using the repository browser.