{ } Raw JSON

bundles / scipy latest / scipy / optimize / _linprog_simplex / _pivot_col

function

scipy.optimize._linprog_simplex:_pivot_col

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

Signature

def   _pivot_col ( T tol = 1e-09 bland = False )

Summary

Given a linear programming simplex tableau, determine the column of the variable to enter the basis.

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.

tol : float

Elements in the objective row larger 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 column (select the first column with a negative coefficient in the objective row, regardless of magnitude).

Returns

: status: bool

True if a suitable pivot column was found, otherwise False. A return of False indicates that the linear programming simplex algorithm is complete.

: col: int

The index of the column of the pivot element. If status is False, col will be returned as nan.

Aliases

  • scipy.optimize._linprog_simplex._pivot_col