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

Last change on this file since 2464 was 2464, checked in by unxusr, 10 months ago

.clang-format with proposal for formatting code

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
Line 
1// $Id: CbcCutModifier.hpp 2464 2019-01-03 19:03:23Z unxusr $
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 *) {}
52
53protected:
54};
55
56#endif //CbcCutModifier_H
Note: See TracBrowser for help on using the repository browser.