Initializing help system before first use

BranchObject

Subclass of XPRSbranchobject that allows using Variable instances to specify bounds and constraints. More...

#include <xpress_objects.hpp>

Inheritance diagram for xpress::objects::XpressProblem::BranchObject:
xpress::BranchObject

Public Member Functions

  BranchObject (XpressProblem *prob)
 
auto  addBound (int branch, char bndtype, xpress::objects::Variable variable, double bndval) -> void
  Add a single bound to this branch object.
 
auto  addBounds (int branch, int nbounds, xpress::SizedArray< char const > const &bndtype, std::vector< xpress::objects::Variable > variables, xpress::SizedArray< double const > const &bndval) -> void
  Add bounds to this branching object.
 
auto  addConstraint (int branch, InequalityDefinition constraint) -> void
  Add a row/cut to this branch object.
 
 Public Member Functions inherited from xpress::BranchObject
void  addBounds (int branch, int nbounds, Array< char const > const &bndtype, Array< int const > const &colind, Array< double const > const &bndval)
  Adds new bounds to a branch of a user branching object.
 
void  addBranches (int nbranches)
  Adds new, empty branches to a user defined branching object.
 
void  addCuts (int branch, int ncuts, Array< XPRScut const > const &cutind)
  Adds stored user cuts as new constraints to a branch of a user branching object.
 
void  addRows (int branch, int nrows, int ncoefs, Array< char const > const &rowtype, Array< double const > const &rhs, Array< int const > const &start, Array< int const > const &colind, Array< double const > const &rowcoef)
  Adds new constraints to a branch of a user branching object.
 
void  destroy ()
  Frees all memory for a user branching object, when the object was not stored with the Optimizer.
 
auto  getBounds (int branch) -> int
  Returns the bounds for a branch of a user branching object.
 
void  getBounds (int branch, int *p_nbounds, int maxbounds, Array< char > const &bndtype, Array< int > const &colind, Array< double > const &bndval)
  Returns the bounds for a branch of a user branching object.
 
auto  getBounds (int branch, int maxbounds, Array< char > const &bndtype, Array< int > const &colind, Array< double > const &bndval) -> int
  Returns the bounds for a branch of a user branching object.
 
auto  getBranches () -> int
  Returns the number of branches of a branching object.
 
auto  getID () -> int
  Returns the unique identifier assigned to a branching object.
 
auto  getRows (int branch) -> int
  Returns the constraints for a branch of a user branching object.
 
void  getRows (int branch, int *p_nrows, int maxrows, int *p_ncoefs, int maxcoefs, Array< char > const &rowtype, Array< double > const &rhs, Array< int > const &start, Array< int > const &colind, Array< double > const &rowcoef)
  Returns the constraints for a branch of a user branching object.
 
auto  getRows (int branch, int maxrows, int *p_ncoefs, int maxcoefs, Array< char > const &rowtype, Array< double > const &rhs, Array< int > const &start, Array< int > const &colind, Array< double > const &rowcoef) -> int
  Returns the constraints for a branch of a user branching object.
 
void  setPreferredBranch (int branch)
  Specifies which of the child nodes corresponding to the branches of the object should be explored first.
 
void  setPriority (int priority)
  Sets the priority value of a user branching object.
 
auto  store () -> int
  Adds a new user branching object to the Optimizer's list of candidates for branching.
 
auto  validate () -> int
  Verifies that a given branching object is valid for branching on the current branch-and-bound node of a MIP solve.
 

Additional Inherited Members

 Protected Member Functions inherited from xpress::BranchObject
  BranchObject (XPRSprob prob, bool isOriginal)
  Create a new instance.
 

Detailed Description

Subclass of XPRSbranchobject that allows using Variable instances to specify bounds and constraints.

Instances of this class always expects bounds and expressions to be specified in terms of the original space (not presolved space).

Since
44.00

Constructor & Destructor Documentation

BranchObject()

xpress::objects::XpressProblem::BranchObject::BranchObject ( XpressProblem * prob )
inline
Since
44.00

Member Function Documentation

addBound()

auto xpress::objects::XpressProblem::BranchObject::addBound ( int branch,
char bndtype,
xpress::objects::Variable variable,
double bndval ) -> void
inline

Add a single bound to this branch object.

Parameters
branch The branch on which the bound is added
bndtype Bound type: 'L' for lower, 'U' for upper.
variable The variable on which the bound is added.
bndval The bound on variable.
Since
44.00

addBounds()

auto xpress::objects::XpressProblem::BranchObject::addBounds ( int branch,
int nbounds,
xpress::SizedArray< char const > const & bndtype,
std::vector< xpress::objects::Variable > variables,
xpress::SizedArray< double const > const & bndval ) -> void
inline

Add bounds to this branching object.

The function takes three parallel arrays (bndtype, variables, bndval) that specify the bounds to be added. Each of these arrays must be of length at least nbounds and for each i in [0,nbounds[ the bound variable[i] bndtype[i] bndval[i] is added.

Parameters
branch The branch on which bounds are added.
nbounds Number of bounds to add.
bndtype Bound types: 'L' for lower, or 'U' for upper
variables Variables on which bounds are added.
bndval Actual bounds for the variables.
Since
44.00

addConstraint()

auto xpress::objects::XpressProblem::BranchObject::addConstraint ( int branch,
InequalityDefinition constraint ) -> void
inline

Add a row/cut to this branch object.

Parameters
branch The branch on which the row is added.
constraint The constraint to add.
Since
44.00

The documentation for this class was generated from the following file:
  • xpress_objects.hpp

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.