PandA-2024.02
CbcBranchUser.hpp
Go to the documentation of this file.
1 // Copyright (C) 2002, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 #ifndef CBCBRANCHUSER_HPP
4 #define CBCBRANCHUSER_HPP
5 
6 #include "CbcBranchActual.hpp"
7 #include "CbcBranchBase.hpp"
8 
11 class CbcBranchUserDecision : public CbcBranchDecision
12 {
13  public:
14  // Default Constructor
16 
17  // Copy constructor
19 
20  virtual ~CbcBranchUserDecision();
21 
23  virtual CbcBranchDecision* clone() const;
24 
26  virtual void initialize(CbcModel* model);
27 
35  virtual int betterBranch(CbcBranchingObject* thisOne, CbcBranchingObject* bestSoFar, double changeUp,
36  int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown);
37 
45  virtual int bestBranch(CbcBranchingObject** objects, int numberObjects, int numberUnsatisfied, double* changeUp,
46  int* numberInfeasibilitiesUp, double* changeDown, int* numberInfeasibilitiesDown,
47  double objectiveValue);
48 
49  private:
52 };
53 
55 
56 class CbcSimpleIntegerFixed : public CbcSimpleInteger
57 {
58  public:
59  // Default Constructor
61 
62  // Useful constructor - passed integer index and model index
63  CbcSimpleIntegerFixed(CbcModel* model, int iColumn, double breakEven = 0.5);
64 
65  // Constructor from simple
66  CbcSimpleIntegerFixed(const CbcSimpleInteger& simple);
67 
68  // Copy constructor
70 
72  virtual CbcObject* clone() const;
73 
74  // Assignment operator
76 
77  // Destructor
79 
81  virtual double infeasibility(int& preferredWay) const;
82 
87  // virtual CbcBranchingObject * createBranch(int way) ;
93  virtual CbcBranchingObject* createBranch(OsiSolverInterface* solver, const OsiBranchingInformation* info, int way);
94 
95  protected:
97 };
98 
99 #endif
virtual void initialize(CbcModel *model)
Initialize i.e. before start of choosing at a node.
virtual int betterBranch(CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)
Returns nonzero if branching on first object is "better" than on second (if second NULL first wins)...
Define a single integer class where branching is forced until fixed.
virtual ~CbcBranchUserDecision()
virtual CbcBranchDecision * clone() const
Clone.
Branching decision user class.
virtual int bestBranch(CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
Compare N branching objects.
CbcBranchUserDecision & operator=(const CbcBranchUserDecision &rhs)
Illegal Assignment operator.

Generated on Mon Feb 12 2024 13:02:54 for PandA-2024.02 by doxygen 1.8.13