Dip
0.92.4
|
Define Special Ordered Sets of type 1 and 2. More...
#include <OsiBranchingObject.hpp>
Public Member Functions | |
OsiSOS () | |
OsiSOS (const OsiSolverInterface *solver, int numberMembers, const int *which, const double *weights, int type=1) | |
Useful constructor - which are indices and weights are also given. More... | |
OsiSOS (const OsiSOS &) | |
virtual OsiObject * | clone () const |
Clone. More... | |
OsiSOS & | operator= (const OsiSOS &rhs) |
virtual | ~OsiSOS () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &whichWay) const |
Infeasibility - large is 0.5. More... | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current (integer) value. More... | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Creates a branching object. More... | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5) More... | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) More... | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Redoes data when sequence numbers change. More... | |
int | numberMembers () const |
Number of members. More... | |
const int * | members () const |
Members (indices in range 0 ... numberColumns-1) More... | |
int | sosType () const |
SOS type. More... | |
int | setType () const |
SOS type. More... | |
const double * | weights () const |
Array of weights. More... | |
virtual bool | canDoHeuristics () const |
Return true if object can take part in normal heuristics. More... | |
void | setIntegerValued (bool yesNo) |
Set whether set is integer valued or not. More... | |
virtual bool | canHandleShadowPrices () const |
Return true if knows how to deal with Pseudo Shadow Prices. More... | |
void | setNumberMembers (int value) |
Set number of members. More... | |
int * | mutableMembers () const |
Members (indices in range 0 ... numberColumns-1) More... | |
void | setSosType (int value) |
Set SOS type. More... | |
double * | mutableWeights () const |
Array of weights. More... | |
![]() | |
OsiObject2 () | |
Default Constructor. More... | |
OsiObject2 (const OsiObject2 &) | |
Copy constructor. More... | |
OsiObject2 & | operator= (const OsiObject2 &rhs) |
Assignment operator. More... | |
virtual | ~OsiObject2 () |
Destructor. More... | |
void | setPreferredWay (int value) |
Set preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
virtual int | preferredWay () const |
Get preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
![]() | |
OsiObject () | |
Default Constructor. More... | |
OsiObject (const OsiObject &) | |
Copy constructor. More... | |
OsiObject & | operator= (const OsiObject &rhs) |
Assignment operator. More... | |
virtual | ~OsiObject () |
Destructor. More... | |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
Infeasibility of the object. More... | |
virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
virtual double | feasibleRegion (OsiSolverInterface *solver) const |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution. More... | |
virtual bool | canMoveToNearest () const |
Return true if object can take part in move to nearest heuristic. More... | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, Used by heuristics. More... | |
int | priority () const |
Return Priority - note 1 is highest priority. More... | |
void | setPriority (int priority) |
Set priority. More... | |
virtual bool | boundBranch () const |
Return true if branch should only bound variables. More... | |
int | numberWays () const |
Return maximum number of ways branch may have. More... | |
void | setNumberWays (int numberWays) |
Set maximum number of ways branch may have. More... | |
void | setWhichWay (int way) |
Return preferred way to branch. More... | |
int | whichWay () const |
Return current preferred way to branch. More... | |
double | infeasibility () const |
Return infeasibility. More... | |
virtual void | resetBounds (const OsiSolverInterface *) |
Reset variable bounds to their original values. More... | |
virtual void | updateBefore (const OsiObject *) |
Updates stuff like pseudocosts before threads. More... | |
virtual void | updateAfter (const OsiObject *, const OsiObject *) |
Updates stuff like pseudocosts after threads finished. More... | |
Protected Attributes | |
int * | members_ |
data More... | |
double * | weights_ |
Weights. More... | |
int | numberMembers_ |
Number of members. More... | |
int | sosType_ |
SOS type. More... | |
bool | integerValued_ |
Whether integer valued. More... | |
![]() | |
int | preferredWay_ |
Preferred way of branching - -1 off, 0 down, 1 up (for 2-way) More... | |
double | otherInfeasibility_ |
"Infeasibility" on other way More... | |
![]() | |
double | infeasibility_ |
data More... | |
short | whichWay_ |
Computed preferred way to branch. More... | |
short | numberWays_ |
Maximum number of ways on branch. More... | |
int | priority_ |
Priority. More... | |
Define Special Ordered Sets of type 1 and 2.
These do not have to be integer - so do not appear in lists of integers.
which_ points columns of matrix
Definition at line 728 of file OsiBranchingObject.hpp.
OsiSOS::OsiSOS | ( | ) |
OsiSOS::OsiSOS | ( | const OsiSolverInterface * | solver, |
int | numberMembers, | ||
const int * | which, | ||
const double * | weights, | ||
int | type = 1 |
||
) |
Useful constructor - which are indices and weights are also given.
If null then 0,1,2.. type is SOS type
OsiSOS::OsiSOS | ( | const OsiSOS & | ) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Set bounds to fix the variable at the current (integer) value.
Given an integer value, set the lower and upper bounds to fix the variable. Returns amount it had to move variable.
Implements OsiObject.
Reimplemented in OsiLink, and OsiOldLink.
|
virtual |
Creates a branching object.
The preferred direction is set by way
, 0 for down, 1 for up.
Reimplemented from OsiObject.
Reimplemented in OsiLink, and OsiOldLink.
|
virtual |
Return "up" estimate (default 1.0e-5)
Reimplemented from OsiObject.
|
virtual |
Return "down" estimate (default 1.0e-5)
Reimplemented from OsiObject.
|
virtual |
Redoes data when sequence numbers change.
Reimplemented from OsiObject.
Reimplemented in OsiLink, and OsiOldLink.
|
inline |
Number of members.
Definition at line 779 of file OsiBranchingObject.hpp.
References numberMembers_.
|
inline |
Members (indices in range 0 ... numberColumns-1)
Definition at line 785 of file OsiBranchingObject.hpp.
References members_.
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Return true if object can take part in normal heuristics.
Reimplemented from OsiObject.
Reimplemented in OsiLink, and OsiOldLink.
Definition at line 810 of file OsiBranchingObject.hpp.
References integerValued_, and sosType_.
|
inline |
Set whether set is integer valued or not.
Definition at line 815 of file OsiBranchingObject.hpp.
References integerValued_.
|
inlinevirtual |
Return true if knows how to deal with Pseudo Shadow Prices.
Reimplemented from OsiObject.
Definition at line 820 of file OsiBranchingObject.hpp.
|
inline |
Set number of members.
Definition at line 825 of file OsiBranchingObject.hpp.
References numberMembers_.
|
inline |
Members (indices in range 0 ... numberColumns-1)
Definition at line 831 of file OsiBranchingObject.hpp.
References members_.
|
inline |
|
inline |
|
protected |
data
Members (indices in range 0 ... numberColumns-1)
Definition at line 852 of file OsiBranchingObject.hpp.
Referenced by members(), and mutableMembers().
|
protected |
Weights.
Definition at line 854 of file OsiBranchingObject.hpp.
Referenced by mutableWeights(), and weights().
|
protected |
Number of members.
Definition at line 857 of file OsiBranchingObject.hpp.
Referenced by numberMembers(), and setNumberMembers().
|
protected |
SOS type.
Definition at line 859 of file OsiBranchingObject.hpp.
Referenced by canDoHeuristics(), setSosType(), setType(), and sosType().
|
protected |
Whether integer valued.
Definition at line 861 of file OsiBranchingObject.hpp.
Referenced by canDoHeuristics(), and setIntegerValued().