{ } Raw JSON

bundles / scipy latest / scipy / optimize / _linprog_simplex / _pivot_row

function

scipy.optimize._linprog_simplex:_pivot_row

source: /scipy/optimize/_linprog_simplex.py :98

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 array

A 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. T is modified in place by _solve_simplex.

basis : array

A list of the current basic variables.

pivcol : int

The index of the pivot column.

phase : int

The phase of the simplex algorithm (1 or 2).

tol : float

Elements 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 : bool

If 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: bool

True if a suitable pivot row was found, otherwise False. A return of False indicates that the linear programming problem is unbounded.

: row: int

The 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