Purpose
Delete rows from a
matrix.
Synopsis
int XPRS_CC XPRSdelrows(XPRSprob prob, int nrows, const int mindex[]);
Arguments
prob
|
The current problem.
|
nrows
|
Number of rows to delete.
|
mindex
|
An integer array of length nrows containing the rows to delete.
|
Example
In this example, rows
0 and 10 are deleted from the matrix:
mindex[0] = 0; mindex[1] = 10;
XPRSdelrows(prob,2,mindex);
Further information
1. After rows have been deleted from a problem, the numbers of the remaining rows
are moved down so that the rows are always numbered from
0 to
ROWS-1 where
ROWS is the problem attribute containing the number of non-deleted
rows in the matrix.
2. If the problem has already been optimized, or an advanced basis has been loaded,
and you delete a row for which the slack column is non-basic, the current basis will no longer be
valid - the basis is "lost".
If you go on to re-optimize the problem, a warning message is displayed (
140)
and the Optimizer automatically generates a corrected basis.
You can avoid losing the basis by only deleting basic rows (see
XPRSgetbasis), bringing a non-basic row into the basis first if necessary (see
XPRSgetpivots
and
XPRSpivot).
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.