bundles / scipy latest / scipy / optimize / _linprog_simplex / _pivot_row
function
scipy.optimize._linprog_simplex:_pivot_row
Signature
def _pivot_row ( T , basis , pivcol , phase , tol = 1e-09 , bland = False ) Summary
Given a linear programming simplex tableau, determine the row for the pivot operation.
Parameters
T: 2-D arrayA 2-D array representing the simplex tableau, T, corresponding to the linear programming problem. It should have the form:
[[A[0, 0], A[0, 1], ..., A[0, n_total], b[0]],
[A[1, 0], A[1, 1], ..., A[1, n_total], b[1]], . . . [A[m, 0], A[m, 1], ..., A[m, n_total], b[m]], [c[0], c[1], ..., c[n_total], 0]]
for a Phase 2 problem, or the form:
[[A[0, 0], A[0, 1], ..., A[0, n_total], b[0]],
[A[1, 0], A[1, 1], ..., A[1, n_total], b[1]], . . . [A[m, 0], A[m, 1], ..., A[m, n_total], b[m]], [c[0], c[1], ..., c[n_total], 0], [c'[0], c'[1], ..., c'[n_total], 0]]
for a Phase 1 problem (a Problem in which a basic feasible solution is sought prior to maximizing the actual objective.
Tis modified in place by_solve_simplex.
basis: arrayA list of the current basic variables.
pivcol: intThe index of the pivot column.
phase: intThe phase of the simplex algorithm (1 or 2).
tol: floatElements in the pivot column smaller than tol will not be considered for pivoting. Nominally this value is zero, but numerical issues cause a tolerance about zero to be necessary.
bland: boolIf True, use Bland's rule for selection of the row (if more than one row can be used, choose the one with the lowest variable index).
Returns
: status: boolTrue if a suitable pivot row was found, otherwise False. A return of False indicates that the linear programming problem is unbounded.
: row: intThe index of the row of the pivot element. If status is False, row will be returned as nan.
Aliases
-
scipy.optimize._linprog_simplex._pivot_row