Initializing help system before first use

XPRSgetdualray

XPRSgetdualray


Purpose
Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
Synopsis
int XPRS_CC XPRSgetdualray(XPRSprob prob, double dray[], int *hasRay);
Arguments
prob 
The current problem.
dray 
Double array of length ROWS to hold the ray. May be NULL if not required.
hasRay 
This variable will be set to 1 if the Optimizer is able to return a dual ray, 0 otherwise.
Example
The following code tries to retrieve a dual ray:
int rows;
double *dualRay;
int hasRay;
...
XPRSgetintattrib(prob, XPRS_ROWS, &rows);
dualRay = malloc(rows*sizeof(double));
XPRSgetdualray(prob, dualRay, &hasRay);
if(!hasRay) printf("Could not retrieve a dual ray\n");
Further information
1. It is possible to retrieve a dual ray only when, after solving an LP problem, the final status ( LPSTATUS) is XPRS_LP_INFEAS.
2. Dual rays are not post-solved. If the problem is in a presolved state, the dual ray that is returned will be for the presolved problem. If the problem was solved with presolve on and has been restored to the original state (the default behavior), this function will not be able to return a ray. To ensure that a dual ray can be obtained, it is recommended to solve a problem with presolve turned off ( PRESOLVE = 0).
Related topics