optimize._remove_redundancy

Routines for removing redundant (linearly dependent) equations from linear programming equality constraints.

Module Contents

Functions

_row_count(A) Counts the number of nonzeros in each row of input array A.
_get_densest(A,eligibleRows) Returns the index of the densest row of A. Ignores rows that are not
_remove_zero_rows(A,b) Eliminates trivial equations from system of equations defined by Ax = b
bg_update_dense(plu,perm_r,v,j)
_remove_redundancy_dense(A,rhs) Eliminates redundant equations from system of equations defined by Ax = b
_remove_redundancy_sparse(A,rhs) Eliminates redundant equations from system of equations defined by Ax = b
_remove_redundancy(A,b) Eliminates redundant equations from system of equations defined by Ax = b
_row_count(A)

Counts the number of nonzeros in each row of input array A. Nonzeros are defined as any element with absolute value greater than tol = 1e-13. This value should probably be an input to the function.

A : 2-D array
An array representing a matrix
rowcount : 1-D array
Number of nonzeros in each row of A
_get_densest(A, eligibleRows)

Returns the index of the densest row of A. Ignores rows that are not eligible for consideration.

A : 2-D array
An array representing a matrix
eligibleRows : 1-D logical array
Values indicate whether the corresponding row of A is eligible to be considered
i_densest : int
Index of the densest row in A eligible for consideration
_remove_zero_rows(A, b)

Eliminates trivial equations from system of equations defined by Ax = b and identifies trivial infeasibilities

A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the removal operation 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
bg_update_dense(plu, perm_r, v, j)
_remove_redundancy_dense(A, rhs)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D sparse matrix
An matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D sparse matrix
A matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
[2]Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.
_remove_redundancy_sparse(A, rhs)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D sparse matrix
An matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D sparse matrix
A matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
[2]Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.
_remove_redundancy(A, b)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
[2]Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.