estimatemarginals
estimatemarginals |
Purpose
Synopsis
procedure estimatemarginals(sbvars:array(vars: set of mpvar) of real)
procedure estimatemarginals(dualslb:array(constriants: set of linctr) of real, dualsub:array(constriants: set of linctr) of real)
procedure estimatemarginals(sbvars:array(vars: set of mpvar) of real, efforlimit:integer, delta:real)
procedure estimatemarginals(dualslb:array(constriants: set of linctr) of real, dualsub:array(constriants: set of linctr) of real, effortlimit:integer)
Arguments
sbvars
|
An array of reals that will be populated with the approximations for the marginal values. The approximation is carried out for the variables included in the
variables set.
|
dualslb
|
An array of reals that will be populated with the approximations for the lower bounds for the row marginal values. The approximation is carried out for the constraints in the
constraints set.
|
dualsub
|
An array of reals that will be populated with the approximations for the upper bounds for the row marginal values. The approximation is carried out for the constraints in the
constraints set.
|
efforlimit
|
Effort limit spent to approximate the effect of the move of a variable, expressed as an upper limit of simplex iterations per variable.
|
delta
|
The size of the perturbation applied to force a movement in the variable.
|
Further information
1. This procedure can be used to estimate the marginal values of variables in degenerate problems. In degenerate problems, the reduced costs and row duals do not always provide a good representation of the effect on the objective when forcing a move in a variable. Also, in degenerate problems, the reduced costs and row duals may depend on the final basis found, and multiple correct alternatives might exists. This function attempts to identify better marginal values by simulating a move in the variables.
2. Prior to calling estimatemarginals, the current LP problem must have been solved to optimality and an optimal basis must be available.
3. It is important to note that the procedure provides an estimate only.
4. This procedure relies on the
XPRSstrongbranch and
XPRSestimaterowdualranges functions, refer to the
Xpress Optimizer Reference Manual for more information.
Module