ALGORITMO DEL SIMPLEX
Paso inicial Paso iterativo Prueba de optimalidad Fin SINO
opt s.a.: DEFINICIONES PREVIAS Z = c T X AX b
opt s.a.: DEFINICIONES PREVIAS Z = c T X AX b + HOLGURA
max min s.a.: DEFINICIONES PREVIAS Z = c T X AX b
s.a.: DEFINICIONES PREVIAS AX b HOLGURA Z = c T X max min + ARTIFICIALES M X A + M X A M X A + M X A
DEFINICIONES PREVIAS max min s.a.: Z = c T X AX = b
DEFINICIONES PREVIAS Z = c T X + ARTIFICIALES s.a.: AX b = M X A + M X A M X A + M X A max min
max s.a.: nix i,,1,0 A mn A mnnn MxMxxcxcZ bxxxaxaxa A mn H nnn bxxxaxaxa A mn H nnn m A mn H mnnmnmm bxxxaxaxa mjxx A jmn H jn,,1,0,0 DEFINICIONES PREVIAS
Costes de las variables FORMA TABULAR ABCF D E Base Matriz de los coeficientes en las restricciones Valor de las variables básicas Costes marginales de las variables Bj kjjk acz kk k zcc
ALGORITMO Paso 0: Calcular los costes marginales: kk k zcc l Si todos son menores o iguales que cero, estamos en el óptimo. PARAR. l Si alguno de los costes marginales es estrictamente positivo, ir al paso 1.
Paso 1: Criterio de elección de la variable que entra en la base: Sea el coste marginal más positivo, esto es: 0 jj j s ccmaxc Entonces, entra en la base la variable x s, y la columna s-ésima es la columna pivote. ALGORITMO
Paso 2: Criterio de elección de la variable que sale de la base: Entre los coeficientes positivos de la columna pivote, se calcula: Entonces, sale de la base la variable básica correspondiente a la fila r-ésima, siendo ésta la fila pivote, y el elemento a rs el PIVOTE. 0 1 is is i m i rs r a a b min a b ALGORITMO
Paso 3: Se utiliza la eliminación de Gauss sobre filas para transformar la columna s-ésima (pivote) en ceros, excepto el elemento a rs que se transforma en 1. Volver al paso 0. ALGORITMO
k = 0 Dada X 0 c k 0 PARAR SI Criterio de entrada Criterio de salida Pivotar NO k = k + 1 ALGORITMO
CONEJOS POLLOS 210Disponibilidad BENEFICIO Kg. Pienso Horas/mes EJEMPLO
xx xx xx 0, 21xx max s.a.:maxs.a.: xx H xxx H xxx 0,,, 4321 HH xxxx 0 21xx 210, HH xx k = 0
x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 Z = 0
x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1
x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 11/ /20 1/200 -3/ x1x1x1x1 x4Hx4Hx4Hx4H Z =
k = 1 x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 11/ /20 1/200 -3/ x1x1x1x1 x4Hx4Hx4Hx4H Z =
x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 11/ /20 1/200 -3/ x1x1x1x1 x4Hx4Hx4Hx4H
/10-1/3 -1/102/ / x1x1x1x1 x2x2x2x2 x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 Z =
k = /10-1/3 -1/102/ / x1x1x1x1 x2x2x2x2 x3Hx3Hx3Hx3H x4Hx4Hx4Hx4H x2x2x2x2 x1x1x1x1 Z = X 1 * = 30 conejos X 2 * = 40 pollos Z* = pesetas