XPRSgetscaledinfeas
Purpose
Returns a list primal and dual
variables that are infeasible for the scaled original problem. If the problem is currently
presolved, it is postsolved before the function returns.
Topic areas
Synopsis
int XPRS_CC XPRSgetscaledinfeas(XPRSprob prob, int *p_nprimalcols, int *p_nprimalrows, int *p_ndualrows, int *p_ndualcols, int x[], int slack[], int duals[], int djs[]);
Arguments
|
prob
|
The current problem.
|
|
p_nprimalcols
|
Number of primal infeasible variables.
|
|
p_nprimalrows
|
Number of primal infeasible rows.
|
|
p_ndualrows
|
Number of dual infeasible rows.
|
|
p_ndualcols
|
Number of dual infeasible variables.
|
|
x
|
Integer array of length
p_nprimalcols where the indices of the primal infeasible variables will be returned. May be NULL if not required.
|
|
slack
|
Integer array of length
p_nprimalrows where the indices of the primal infeasible rows will be returned. May be NULL if not required.
|
|
duals
|
Integer array of length
p_ndualrows where the indices of the dual infeasible rows will be returned. May be NULL if not required.
|
|
djs
|
Integer array of length
p_ndualcols where the indices of the dual infeasible variables will be returned. May be NULL if not required.
|
Error value
|
A solution is not available.
|
Related controls
Double
|
Tolerance on RHS.
|
|
|
Reduced cost tolerance.
|
Related controls
Integer
|
Type of scaling
|
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 *x, *slack, *duals, *djs, nprimalcols, nprimalrows, ndualrows, ndualcols;
...
XPRSgetscaledinfeas(prob, &nprimalcols, &nprimalrows, &ndualrows, &ndualcols,
NULL, NULL, NULL, NULL);
x = malloc(nprimalcols * sizeof(int));
slack = malloc(nprimalrows * sizeof(int));
duals = malloc(ndualrows * sizeof(int));
djs = malloc(ndualcols * sizeof(int));
XPRSgetscaledinfeas(prob, &nprimalcols, &nprimalrows, &ndualrows, &ndualcols,
x, slack, duals, djs);
Further information
1. The returned row/column indices range from
0 to
ORIGINALROWS-1/
ORIGINALCOLS-1.
2. This function is the same as
XPRSgetinfeas, except it checks for infeasibility before unscaling the problem. The two functions will behave differently only when scaling before presolve has been enabled, by setting bit 9 in
SCALING.
3. This function applies to linear and convex quadratic (including second order conic) problems only.
4. If any of the last four arguments are set to
NULL, the corresponding number of infeasibilities is still returned.
Related topics
XPRSgetinfeas,
XPRSgetiisdata,
XPRSiisall,
XPRSiisclear,
XPRSiisfirst,
XPRSiisisolations,
XPRSiisnext,
XPRSiisstatus,
XPRSiiswrite,
IIS.
© 2001-2026 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.
