Documentaciónconstruir_fase2(T1, basic1, art_cols, nOriginal, nSlack, c, tol)

construir_fase2(T1,basic1,artcols,nOriginal,nSlack,c,tol)\texttt{construir\_fase2}(T_{1}, basic_{1}, art_{cols}, nOriginal, nSlack, c, tol)

Nombre

construir_fase2 - Construye el tableau inicial de la Fase 2 a partir del tableau final de Fase 1.

Sinopsis

ret = simplex2ph.construir_fase2(T1, basic1, art_cols, nOriginal, nSlack, c, tol)

Descripcion

Elimina las columnas artificiales, mapea la base al nuevo tableau y reemplaza la fila objetivo auxiliar por el objetivo real del problema.

La Fase 2 comienza desde la factibilidad conseguida en Fase 1 y luego optimiza el objetivo original.

Formula:

maxcTx\max c^T x

Comportamiento

  • Calcula cuantas columnas quedan despues de eliminar artificiales.
  • Construye un mapeo de columnas viejas a columnas nuevas.
  • Copia el tableau sin las columnas artificiales.
  • Mapea la base resultante y detecta si alguna artificial sigue basica.
  • Construye la nueva fila objetivo para el problema original.
  • Canoniza esa fila objetivo respecto de la base actual.
  • Retorna una tabla con ok, T, B y N.

Funciones API relacionadas

  • simplex2ph.construir_fase1()
  • simplex2ph.limpiar_artificiales()
  • simplex2ph.simplex_iterar()
  • simplex2ph.resolver_two_phase()

Parámetros

ParámetroTipoDescripción
T1MATRIZTableau resultante de la Fase 1.
basic1VECTORBase resultante de la Fase 1.
art_colsVECTORVector de columnas artificiales.
nOriginalNUMERICOCantidad de variables originales.
nSlackNUMERICOCantidad de variables de holgura.
cVECTORVector de costos del objetivo original.
tolNUMERICOTolerancia numerica.

Valor de retorno

TABLA - Tabla con el tableau inicial de Fase 2 y la base ajustada.

Ejemplo

ejemplo.blox
TABLA resultado
resultado = simplex2ph.construir_fase2(T1, basic1, art_cols, nOriginal, nSlack, c, tol)