problem.strongbranch
problem.strongbranch |
Purpose
Performs strong branching iterations on all specified bound changes. For each candidate bound change,
strongbranch performs dual simplex iterations starting from the current optimal solution of the base LP, and returns both the status and objective value reached after these iterations.
Synopsis
problem.strongbranch(mbndind, cbndtype, dbndval, itrlimit, dsbobjval, msbstatus)
Arguments
mbndind
|
Array containing the columns (i.e.
xpress.var objects, indices, or names) on which the bounds will change.
|
||||||
cbndtype
|
Character array indicating the type of bound to change:
|
||||||
dbndval
|
Array giving the new bound values.
|
||||||
itrlimit
|
Maximum number of LP iterations to perform for each bound change.
|
||||||
dsobjval
|
Objective value of each LP after performing the strong branching iterations.
|
||||||
msbstatus
|
Status of each LP after performing the strong branching iterations, as detailed for the
LPSTATUS attribute.
|
Example
Suppose that the current LP relaxation has two integer columns (columns
0 and
1 which are fractionals at 0.3 and 1.5, respectively, and we want to perform strong branching in order to choose which to branch on. This could be done in the following way:
dsbobjval = [] msbstatus = [] p.strongbranch([0,0,1,0], ['','','',''], [1,0,2,1], 1000, dsbobjval, msbstatus)
Further information
Prior to calling strongbranch, the current LP problem must have been solved to optimality and an optimal basis must be available.