XPRSgetscaledinfeas


Purpose
Returns a list of scaled infeasible primal and dual variables for the original problem. If the problem is currently presolved, it is postsolved before the function returns.
Synopsis
int XPRS_CC XPRSgetscaledinfeas(XPRSprob prob, int *npv, int *nps, int *nds, int *ndv, int mx[], int mslack[], int mdual[], int mdj[]);
Arguments
prob 
The current problem.
npv 
Number of primal infeasible variables.
nps 
Number of primal infeasible rows.
nds 
Number of dual infeasible rows.
ndv 
Number of dual infeasible variables.
mx 
Integer array of length npv where the primal infeasible variables will be returned. May be NULL if not required.
mslack 
Integer array of length nps where the primal infeasible rows will be returned. May be NULL if not required.
mdual 
Integer array of length nds where the dual infeasible rows will be returned. May be NULL if not required.
mdj 
Integer array of length ndv where the dual infeasible variables will be returned. May be NULL if not required.
Error value
422 
A solution is not available.
Related Controls
Double
Zero tolerance on RHS.
Reduced cost tolerance.

Example
In this example, XPRSgetscaledinfeas is first called with nulled integer arrays to get the number of infeasible entries. Then space is allocated for the arrays and the function is again called to fill them in.
int *mx, *mslack, *mdual, *mdj, npv, nps, nds, ndv;
...
XPRSgetscaledinfeas(prob, &npv, &nps, &nds, &ndv, 
                    NULL, NULL, NULL, NULL);

mx = malloc(npv * sizeof(int));
mslack = malloc(nps * sizeof(int));
mdual = malloc(nds * sizeof(int));
mdj = malloc(ndv * sizeof(int));
XPRSgetscaledinfeas(prob, &npv, &nps, &nds, &ndv, 
                    mx, mslack, mdual, mdj);
Further information
If any of the last four arguments are set to NULL, the corresponding number of infeasibilities is still returned.
Related topics
XPRSgetiis, XPRSgetinfeas, XPRSiis.


If you have any comments or suggestions about these pages, please send mail to docs@dashoptimization.com.