Initializing help system before first use

# PresolveRow(Char, Int32, Int32[], Double[], Double, Int32, Int32, Int32[], Double[], Double, Int32) Method

Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix.
Namespace: Optimizer
Assembly: xprsdn (in xprsdn.dll) Version: 46.01.02+e8d9493ad804415424ae931ce2abaeb6c55a6d5a
Syntax
C#

    public void PresolveRow(
    	char rowtype,
    	int norigcoefs,
    	int[] origcolind,
    	double[] origrowcoef,
    	double origrhs,
    	int maxcoefs,
    	out int p_ncoefs,
    	int[] colind,
    	double[] rowcoef,
    	out double p_rhs,
    	out int p_status
    )

#### Parameters

rowtype Char
  The type of the row:
  - L: indicates a <= row;
  - G: indicates a >= row.
  - E: indicates a >= row.
norigcoefs Int32
  Number of elements in the origcolind and origrowcoef arrays.
origcolind Int32
  Integer array of length norigcoefs containing the column indices of the row to presolve.
origrowcoef Double
  Double array of length norigcoefs containing the non-zero coefficients of the row to presolve.
origrhs Double
  The right-hand side constant of the row to presolve.
maxcoefs Int32
  Maximum number of elements to return in the colind and rowcoef arrays. The function will not write more elements than this to colind or rowcoef, even if the presolved row is longer.
p_ncoefs Int32
  Pointer to the integer where the number of non-zero elements in the presolved row will be returned (this may be bigger than maxcoefs).
colind Int32
  Integer array of length maxcoefs which will be filled with the column indices of the presolved row. May be null if not required. Allocate this to COLS elements and pass COLS as maxcoef> to make sure it is large enough to hold the presolved row.
rowcoef Double
  Double array of length maxcoefs which will be filled with the coefficients of the presolved row. May be null if not required. Allocate this to COLS elements and pass COLS as maxcoef> to make sure it is large enough to hold the presolved row.
p_rhs Double
  Pointer to the double where the presolved right-hand side will be returned.
p_status Int32
  Status of the presolved row:
  - -5: Failed to presolve the row due to presolve operations making the row nonlinear;
  - -4: Failed to presolve the equality row due to presolve operations requiring relaxation of the row;
  - -3: Failed to presolve the row due to presolve dual reductions;
  - -2: Failed to presolve the row due to presolve duplicate column reductions;
  - -1: Failed to presolve the row due to an error. Check the Optimizer error code for the cause;
  - 0: The row was successfully presolved;
  - 1: The row was presolved, but may be relaxed.
  May be null if not required.

Remarks
Examples using PresolveRow:

- TSP.cs

See Also

#### Reference

XPRSprob Class
PresolveRow Overload
Optimizer Namespace
Parent Topic PresolveRow Method

© 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.