Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbcGeneral.hpp
Go to the documentation of this file.
1 // $Id: CbcGeneral.hpp 2465 2019-01-03 19:26:52Z unxusr $
2 // Copyright (C) 2002, 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/10/2009-- carved out of CbcBranchActual
7 
8 #ifndef CbcGeneral_H
9 #define CbcGeneral_H
10 
11 #include "CbcBranchBase.hpp"
16 class CbcGeneral : public CbcObject {
17 
18 public:
19  // Default Constructor
20  CbcGeneral();
21 
26 
27  // Copy constructor
28  CbcGeneral(const CbcGeneral &);
29 
31  virtual CbcObject *clone() const = 0;
32 
33  // Assignment operator
34  CbcGeneral &operator=(const CbcGeneral &rhs);
35 
36  // Destructor
37  ~CbcGeneral();
38 
40  virtual double infeasibility(const OsiBranchingInformation *info,
41  int &preferredWay) const;
42 
45  virtual void feasibleRegion() = 0;
46 
48  virtual CbcBranchingObject *createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way);
49 
51  virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns) = 0;
52 
53 protected:
55 };
56 
57 #endif
58 
59 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
60 */
virtual void feasibleRegion()=0
For the variable(s) referenced by the object, look at the current solution and set bounds to match th...
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
Definition: CbcObject.hpp:258
Abstract Base Class for describing an interface to a solver.
virtual CbcObject * clone() const =0
Clone.
double infeasibility() const
Return infeasibility.
CbcGeneral & operator=(const CbcGeneral &rhs)
CbcModel * model() const
Return model.
Definition: CbcObject.hpp:252
Abstract branching object base class Now just difference with OsiBranchingObject. ...
Define a catch all class.
Definition: CbcGeneral.hpp:16
virtual void redoSequenceEtc(CbcModel *model, int numberColumns, const int *originalColumns)=0
Redoes data when sequence numbers change.
virtual void feasibleRegion()=0
This looks at solution and sets bounds to contain solution.
Simple Branch and bound class.
Definition: CbcModel.hpp:100
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.