aiin112_s4_metodo
aiin112_s4_metodo
aiin112_s4_metodo
Método Simplex
Tabla de contenido
1.5. Relación entre puntos extremos (vértices del poliedro) y soluciones básicas ..................... 11
1.10. Cierre.............................................................................................................................................................. 29
1 Método Simplex
1.1 Introducción
El método simplex es un método iterativo que permite ir mejorando la solución (x) en cada paso, es
decir, el método simplex parte en un vértice de la región factible y se va cambiando de vértice hasta
encontrar la solución óptima.
• Simplex matricial
• Simplex tabular
Para ocupar el método simplex todo problema de programación lineal debe escribirse de forma
estándar, la cual consiste en transformar la función objetivo en minimización y las restricciones en
igualdades con las equivalencias antes vistas:
=Z Max 5 x1 +4 x2 Z = Min −5 x1 −4 x2
s. a : 6x1 +4 x2 ≤ 24 s. a : 6x1 +4 x2 + x3 =
24
x1 +2 x2 ≤ 6 x1 +2 x2 + x4 =
6
⇒
− x1 + x2 ≤ 1 − x1 + x2 + x5 =
1
x2 ≤ 2 x2 + x6 =2
x1 , x2 ≥ 0 x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
A partir de la forma estándar se pueden extraer el vector de costos (cT), el vector de variables (x) la matriz
A y el vector recursos (b) de cualquier modelo de programación lineal.
Min cT x
s. a: Ax = b
x ≥ 0
Z = Min −5x1 −4 x2
s.a : 6 x1 +4 x2 + x3 = 24
x1 +2 x2 + x4 =6
− x1 + x2 + x5 =1
x2 + x6 =2
x1 , x2 , x3 , x4 , x5 , x6 ≥0
4
x1
x2
x3
x=
x4
x5
x6
El vector cT incluye los costos del modelo, el valor que acompaña a la variable en la función objetivo,
aquellas variables que no estén en la función objetivo se les considera un costo igual a 0:
cT = ( −5 −4 0 0 0 0 )
El vector b incluye los recursos del modelo, el valor que está al lado derecho de cada restricción (sin
considerar la naturaleza de las variables).
24
6
b=
1
2
La matriz A incluye los parámetros de las restricciones del modelo, el valor que acompaña a cada
variable en cada una de las restricciones, se respeta el orden en el que fueron definidas las variables, el
signo de los parámetros, y en caso de que una variable no esté en una restricción se debe poner un 0.
6 4 1 0 0 0
1 2 0 1 0 0
A=
−1 1 0 0 1 0
0 1 0 0 0 1
5
Nota: La matriz A y el vector de los costos (cT) debe ser escritas en el mismo orden que
fueron escritas las variables (x):
Definición 2: la matriz de base B es la submatriz obtenida desde A, formada por las columnas de la
base (respetando el orden en que se ha definido).
Es decir, una base es del tamaño de m x m, donde m es la cantidad de restricciones, la cual es una parte
de la matriz A, para saber que parte de A es, se definen una cantidad de m variables que componen la base,
y se deben extraer los valores de A según el orden en que se especifica la base.
Nota: Las bases tienen m cantidad de variables debido a que en los sistemas de ecuaciones
linealmente independientes una variable toma valor por ecuación, por tanto, en el
problema, m variables tomarán valor y las restantes tomarán valor 0, entonces la base
refleja aquellas variables del problema que tomarán valor.
6
Por ejemplo, considere la matriz A del problema de Reddy Mikks, la cual fue definida en el orden de x1,
x2, x3, x4, x5 y x6:
6 4 1 0 0 0
1 2 0 1 0 0
A=
−1 1 0 0 1 0
0 1 0 0 0 1
Como tiene 4 restricciones, las bases deben estar compuestas por 4 variables, entonces si por ejemplo
se define una base (B1) con sus variables (x3, x1, x5, x2) se debe extraer desde A, respetando el orden de las
variables definida en la base, es decir, las columnas 3, 1, 5 y 2, la base quedaría:
1 6 0 4
0 1 0 2
=B1 {x3 , x1 , x5 , x=
2 } → B1
0 −1 1 1
0 0 0 1
1 0 0 0
=B2 {x3 , x4 , x5 , x= 0 1 0 0
6 } → B2
0 0 1 0
0 0 0 1
6 4 0 0
1 2 0 1
= x4 } → B1
B1 {x1 , x2 , x6 , =
−1 1 0 0
0 1 1 0
7
Definición 3: la parte sobrante de la matriz A (las columnas no utilizadas en la base), será llamado como
el complemento R, por ejemplo:
1 6 0 4 0 0
0 1 0 2 1 0
= B1
B1 {x3 , x1 , x5 , x2 } →= R {x4 , x6 } →
; =
0 −1 1 1 0 0
0 0 0 1 0 1
Definición 4: las variables que componen la base se llamarán variables básicas y serán expresadas
como xB, y las variables restantes serán llamadas variables no básicas y serán expresadas como xR.
=xB {=
x3 , x1 , x5 , x2 }; xR {x4 , x6 }
Ax = b BxB + RxR =
b
⇔
x ≥ 0 xB , xR ≥ 0
Dado que B es no singular (sus columnas son linealmente independiente), puede escribir la siguiente
expresión equivalente:
BxB + RxR =
b
2) Se reordena para dejar las variables básicas a la izquierda, ya que las variables de la base serán las
que tomarán valor, se busca despejarlas para conocer que valores tomarán:
xB B −1b − B −1 RxR
=
8
3) Como las variables no básicas tomarán valor 0 (propiedad de los sistemas LI), la expresión quedará:
xB = B −1b − B −1 R *0 ⇔ xB = B −1b
1 6 0 4 0 0 24
0 1 0 2 1 0 6
=
xB {x3 , x1 , x5 , x2 } →
= B ; =
xR {x4 , x6 } →
= R ; b=
0 −1 1 1 0 0 1
0 0 0 1 0 1 2
Para conocer el valor de las variables se deberá invertir la base y multiplicarla por el vector de los
recursos (b) (para invertir la base y multiplicar matrices pueden utilizar: https://matrixcalc.org/es/):
1 6 0 4 1 −6 0 8
0 1 0 2 0 1 0 −2
=B = → B −1
0 −1 1 1 0 1 1 −3
0 0 0 1 0 0 0 1
1 −6 0 8 24 4
0 1 0 −2 6 2
xB = B −1b → xB = B −1 = → xB =
0 1 1 −3 1 1
0 0 0 1 2 2
Se debe respetar el orden en que fueron definidas las variables en la base (𝑥𝑥3 , 𝑥𝑥1 , 𝑥𝑥5 , 𝑥𝑥2 ), por tanto, los
valores de las variables de esta base son: 𝑥𝑥3 = 4, 𝑥𝑥1 = 2, 𝑥𝑥5 = 1 y 𝑥𝑥2 = 2.
9
xB B −1b
=x = , para el sistema BxB + RxR =
b es la solución básica asociada a la base B.
xR 0
Definición 6: sea una base B para un problema de programación lineal. Si la solución básica asociada
también cumple que x ≥ 0, se denomina solución básica factible.
n n!
=
m m !(n − m)!
6 6!
= = 15
4 4!(6 − 2)!
Las bases en esencia son los puntos en donde se cruzan las restricciones (los ejes, también se incluyen):
10
En la imagen hay 14 puntos, el faltante (ya que son 15 bases) es debido a la naturaleza de la restricción
4 (x ≤ 2). Tal restricción no corta en el eje x1 por tanto x1 puede tender al infinito en tal restricción y su base
asociada sería:
6 1 0 0
1 0 1 0
= , x5 } → B
xB {x1 , x3 , x4 =
−1 0 0 1
0 0 0 0
En donde se observa que la última fila está compuesta de 0, lo que se estaría diciendo que 0 = 2, lo que
es infactible. Siempre que quede una fila 0 indica que es una base infactible, por tanto, no sirve como
posible solución del problema.
Si consideramos ahora un punto que este fuera de la región factible, el vértice L por ejemplo, el cual se
encuentra en la coordenada (0, 3) y es la intersección del Recurso 2, por tanto las variables no básicas serían
x1 y x4 (en la intersección de un recurso su variable de holgura o exceso es igual a 0) ya que ambas valen 0,
por tanto, la base estaría compuesta por x2, x3, x5 y x6:
4 1 0 0
2 0 0 0
= , x6 } → B
xB {x2 , x3 , x5=
1 0 1 0
1 0 0 1
A simple vista pareciera no haber problemas, ya que ninguna fila tiene solo valores 0, pero al calcular
sus valores (xB) se genera la infactibilidad al obtener variables negativas. Por naturaleza de las variables
deberían ser positivas:
0 1/ 2 0 0 24 3
−1 −1 1 −2 0 0 6 12
xB = B b → xB = B = → xB =
0 −1/ 2 1 0 1 −2
0 −1/ 2 0 1 2 −1
11
Más adelante se entrará en detalles de cómo escoger una base y cómo evitar caer en estas bases
infactibles.
Teorema. Sea P = {x ϵ ℝn: Ax = b, x ≥ 0}. Un punto 𝑥𝑥̅ ϵ P es solución básica factible, si y solo si 𝑥𝑥̅ es un
punto extremo (vértice de la región factible) del poliedro factible K.
Es decir, para buscar la solución óptima, basta con moverse entre soluciones básicas factibles
adyacentes.
Definición 7: dos soluciones básicas factibles 𝑥𝑥̅ 1 y 𝑥𝑥̅ 2 son adyacentes si sus bases asociadas difieren
en un elemento (columna), es decir, si una de las variables de la base cambia.
Despejando 𝑥𝑥𝐵𝐵 de las restricciones se obtiene 𝒙𝒙𝑩𝑩 = 𝑩𝑩−𝟏𝟏 𝒃𝒃 − 𝑩𝑩−𝟏𝟏 𝑹𝑹𝒙𝒙𝑹𝑹, el cual al reemplazarlo en la
función objetivo queda:
Definición 8: sea B una base factible del problema, puede escribirse la forma canónica de un problema
de programación lineal, como:
• (c T
R − cBT B −1 R ) : si es promisorio cambiar la base.
Z = Min −5 x1 −4 x2
s. a : 6x1 +4 x2 + x3 =24
x1 +2 x2 + x4 =6
− x1 + x2 + x5 =1
x2 + x6 =2
x1 , x2 , x3 , x4 , x5 , x6 ≥0
13
Si xB = {𝑥𝑥3 , 𝑥𝑥1 , 𝑥𝑥5 , 𝑥𝑥2 }, xR = {𝑥𝑥4 , 𝑥𝑥6 }, cBT =(0 −5 0 −4) (valor que acompaña a las variables básicas en
la función objetivo), cRT = (0 0) ( valor que acompaña a las variables no básicas en la función objetivo),
1 6 0 4 0 0
0 1 0 2 1 0
B= y R=
0 −1 1 1 0 0
0 0 0 1 0 1
Z = Min −18 +5 x4 −6 x6
x3 +2 x4 +8 x6 =4
x1 −1x4 −2 x6 =2
x5 −2 x4 −3 x6 =1
x2 +1x4 +1x6 =2
x3 , x1 , x5 , x2 , x4 , x6 ≥ 0
Los valores destacados (en verde) se denominan costos reducidos, e indican el cambio marginal del
valor de la función objetivo, si la variable respectiva aumenta su valor. Es decir, para este ejemplo conviene
que entre a la base la variable 𝑥𝑥6 ya que por cada unidad que tome la función objetivo mejora en 6
unidades. Por ejemplo, si entra a la base y toma valor 1 (𝑥𝑥6 = 1) la función objetivo será de -24, si entra a la
base y toma valor 2 (𝑥𝑥6 = 2) la función objetivo será de -30. En caso contrario, no conviene que entre a la
base 𝑥𝑥4 ya que como tiene valor positivo hará que la función empeore.
En caso de haber más de una variable no básica con costos reducidos negativos, conviene que entre a
la base la de costo reducido negativo de mayor magnitud (valor absoluto), ya que mejorará la función
objetivo en mayor magnitud.
14
Como la base siempre debe ser del tamaño de m x m, luego de determinar la variable que conviene
que entre a la base se debe determinar la variable que sale de la base.
Para determinar la variable que sale de la base, se debe observar la forma canónica:
Z = Min −18 +5 x4 −6 x6
x3 +2 x4 +8 x6 = 4
x1 −1x4 −2 x6 = 2
x5 −2 x4 −3 x6 = 1
x2 +1x4 +1x6 = 2
x3 , x1 , x5 , x2 , x4 , x6 ≥ 0
Si 𝑥𝑥6 entra a la base y toma valor positivo las coordenadas (lado derecho) cambiarán en función de los
valores destacados (en morado).
Algunas variables aumentarán sus coordenadas, otras disminuirán y puede que otras queden iguales.
Lo que se busca es saber que variable se hará 0 primero, y ella será la que salga de la base.
La primera variable en hacerse 0 será 𝑥𝑥3 ya que cuando 𝑥𝑥6 = 0,5, el lado derecho de la primera
restricción será 0, en la segunda restricción aumentará a 3, en la tercera restricción aumentará a 2,5 y en la
cuarta restricción disminuirá a 1,5. Por tanto, la variable 𝑥𝑥3 sale de la base y 𝑥𝑥6 la reemplaza, se debe
respetar el orden en que estaban las variables, por lo cual, la nueva base queda 𝑥𝑥𝐵𝐵 = {𝑥𝑥6 , 𝑥𝑥1 , 𝑥𝑥5 , 𝑥𝑥2 }.
Definición 10 (criterio de salida): sea B una base factible de un problema, y sea p el índice de la
variable no básica que entrará a la base. El índice de la variable básica que saldrá será q, dado por la
siguiente expresión:
b
q = arg i
i:Rip > 0 R ip
15
En esencia, consiste en identificar cual será la variable que primero se hará 0. Para ello, se dividen los
valores actuales del lado derecho (𝑏𝑏𝑖𝑖 = 𝐵𝐵 −1 𝑏𝑏) por los valores que acompañan a la variable que va a entrar
𝑅𝑅𝑖𝑖𝑖𝑖 = 𝐵𝐵 −1 𝐴𝐴𝑝𝑝 , y como se vio en el ejemplo anterior, cuando 𝑅𝑅𝑖𝑖𝑖𝑖 es negativo, aumenta el lado derecho, por
lo que la variable no se hará 0, esto condiciona a que solo se tomen como divisor valores mayores 0 (0 se
indefine), por tanto, se puede reformar la expresión como la regla del mínimo cociente:
B −1b
min
ij
a
4 2 1 2
min → min {0,5 −1 −0,33 2}
8 −2 −3 1
Dado que el mínimo valor positivo es 0,5, la variable que debe salir de la base es 𝑥𝑥3 .
Al hacer el cambio de base cambia su forma canónica, por tanto, se debe repetir el proceso de (i) invertir
la base, (ii) calcular los costos reducidos, para determinar si es la solución óptima, (iii) deterninar cuál es la
variable que entra y determinar la variable que sale. Por tanto, es un proceso iterativo que termina cuando
los costos reducidos de las variables no básicas son positivos.
Retomando el ejemplo de Reddy Mikks se puede ilustrar cómo opera el método simplex gráficamente:
Iteración 1: parte desde la base {𝑥𝑥3 , 𝑥𝑥4 , 𝑥𝑥5 , 𝑥𝑥6 } que se encuentra en el vértice F, se evalúan los costos
reducidos, se determina que debe entrar la variable x1, por tanto, se puede mover a los vértices (B {𝑥𝑥1 , 𝑥𝑥4 ,
𝑥𝑥5 , 𝑥𝑥6 }, G {𝑥𝑥3 , 𝑥𝑥1 , 𝑥𝑥5 , 𝑥𝑥6 }, N {𝑥𝑥3 , 𝑥𝑥4 , 𝑥𝑥1 , 𝑥𝑥6 } y el vértice indeterminado (base con fila de 0), {𝑥𝑥3 , 𝑥𝑥4 , 𝑥𝑥5 , 𝑥𝑥1 }), por
mínimo cociente se mueve al vértice B, se actualiza la base y se continua con la iteración 2.
16
Iteración 2: la base actual {𝑥𝑥1 , 𝑥𝑥4 , 𝑥𝑥5 , 𝑥𝑥6 }está en el vértice B, se evalúan los costos reducidos, se
determina que debe entrar la variable x2, por tanto, se puede mover a los vértices (K {𝑥𝑥2 , 𝑥𝑥4 , 𝑥𝑥5 , 𝑥𝑥6 }, C {𝑥𝑥1 ,
𝑥𝑥2 , 𝑥𝑥5 , 𝑥𝑥6 }, L {𝑥𝑥1 , 𝑥𝑥4 , 𝑥𝑥2 , 𝑥𝑥6 } y M {𝑥𝑥1 , 𝑥𝑥4 , 𝑥𝑥5 , 𝑥𝑥2 }), por mínimo cociente se mueve al vértice C, se actualiza la
base y se continua con la iteración 3.
Iteración 3: la base actual {𝑥𝑥1 , 𝑥𝑥2 , 𝑥𝑥5 , 𝑥𝑥6 } está en el vértice C, se evalúan los costos reducidos y como no
17
El ejemplo anterior permite mostrar que el método simplex parte desde un vértice de la región factible
y se va moviendo entre los vértices de ella hasta encontrar la solución óptima, y que la regla del mínimo
cociente sirve para moverse a vértices factibles, ya que en cada iteración se podía mover a vértices que
están fuera de la región factible, es por ello, que se debe respetar la regla y siempre escoger el mínimo
cociente positivo.
Los pasos para resolver un problema de programación lineal mediante el método simplex se pueden
resumir en lo siguiente:
Paso 1. Escribir el problema en su forma estándar: se debe escribir el problema en su forma estándar,
es decir, pasar la función objetivo a minimización y las restricciones a igualdad.
Paso 2. Determinar la base B inicial, R, 𝒄𝒄𝑩𝑩 y 𝒄𝒄𝑹𝑹 : se define una base inicial, por convención se suele
escoger como base aquella compuesta por las variables de holgura. El complemento son las variables
restantes junto a sus columnas de la matriz A, 𝑐𝑐𝐵𝐵 son los valores que acompañan a las variables básicas en
la función objetivo y 𝑐𝑐𝑅𝑅 son los valores que acompañan a las variables no básicas en la función objetivo.
18
𝒙𝒙𝑩𝑩 = 𝑩𝑩−𝟏𝟏 𝒃𝒃
Paso 5. Verificar criterio de optimalidad.
Se calculan los costos reducidos de la función objetivo, si no hay costos reducidos negativos es la
solución óptima (𝑥𝑥𝐵𝐵 ) con valor de función objetivo = 𝑐𝑐𝐵𝐵𝑇𝑇 𝑥𝑥𝐵𝐵 . Si hay costos reducidos negativos continuar con
el Paso 6.
Paso 6. Determinar la variable que entra y sale de la base: la variable que entra es la que tiene el
costo reducido negativo de mayor magnitud y la variable que sale se determina con la regla del mínimo
cociente:
𝐵𝐵 −1 𝑏𝑏
min � �
����
𝑎𝑎𝚤𝚤𝚤𝚤
1.8 Ejemplo 1
=Z Max 5x1 +2 x2
s. a : x1 +4 x2 ≤ 6
2 x1 + x2 ≤ 20
x1 , x2 ≥ 0
19
Se multiplica por -1 la función objetivo para pasar de Maximización a Minimización, y se agrega una
variable de holgura a las restricciones de ≤.
Por convención, la base inicial será la compuesta por las variables de holgura (𝑥𝑥3 , 𝑥𝑥4 ).
1 0 T 1 4 T
xB ={ x3 x4 } ; B = ; cB =( 0 0 ) ; xR ={ x1 x2 } ; R = ( 5 −2 )
; cB =−
0 1 2 1
Dado que la base forma la matriz identidad por propiedad, la inversa es la misma.
1 0 1 0
B= B −1 =
0 1 0 1
1 0 6 1*6 + 0*12 6 x3 = 6
=
xB = = →
0 1 12 0*6 + 1*12 12 x4 = 12
20
Nota: Al multiplicar matrices siempre se multiplican las filas de la primera matriz por las
columnas de la segunda matriz.
a b e a *e + b* f
=
c d f c*e + d * f
cR=
T
cRT − cBT B −1 R
1 0 1 4
cRT =( −5 −2 ) − ( 0 0 )
0 1 2 1
1*1 + 0* 2 1* 4 + 0*1
cRT =( −5 −2 ) − ( 0 0 )
0*1 + 1* 2 0* 4 + 1*1
1 4
cRT =( −5 −2 ) − ( 0 0 )
2 1
cRT =( −5 −2 ) − ( 0*1 + 0* 2 0* 4 + 0*1)
cRT =( −5 −2 ) − ( 0 0 )
( 5 −2 )
cRT =−
No es la solución óptima, ya que existen costos reducidos negativos. Se debe continuar con el siguiente
paso.
𝐵𝐵 −1 𝑏𝑏
min � �
����
𝑎𝑎𝚤𝚤𝚤𝚤
La variable que entra a la base es aquella de costo reducido de mayor magnitud, por lo que 𝑥𝑥1 debe
entrar a la base.
21
La variable que sale se determina con la regla del mínimo cociente, para ello se estima primero la
columna de la variable entrante en su forma canónica:
���
𝑨𝑨𝒋𝒋 = 𝑩𝑩−𝟏𝟏 𝑨𝑨𝒋𝒋
1 0 1 1*1 + 0* 4 1
=A1 = =
0 1 2 0*1 + 1* 2 2
Luego, se divide el valor de cada variable básica (Paso 4) por los valores de la columna de la variable
entrante en su forma canónica (no olvidar que si el denominador es negativo o 0 no se consideran).
6 12
min = min {6 6}
1 2
Como se obtuvieron dos valores iguales, se puede escoger al azar cual variable sale, se escoge el
segundo valor, por tanto 𝑥𝑥4 sale de la base.
La variable entrante reemplaza a la variable saliente en el mismo lugar en el que estaba, y se actualizan
la base y los demás valores.
1 1 T 0 4 T
xB ={ x3 x1} ; B = ; cB =( 0 −5 ) ; xR ={ x4 x2 } ; R = ; cB =( 0 −2 )
0 2 1 1
1 1 1 −1/ 2
B= B −1 =
0 2 0 1/ 2
Se puede invertir la matriz utilizando el método del determinante, gauss-jordan o alguna calculadora
online que invierta matrices.
22
Cuando una variable básica toma valor 0, indica que es una solución degenerada, en este caso no
influye en nada, pero hay otros casos que si podría generar un problema, esto se verá más adelante.
cR=
T
cRT − cBT B −1 R
1 −1/ 2 0 4
cRT= (0
−2 ) − ( 0 −5 )
0 1/ 2 1 1
1*0 − 1/ 2*1 1* 4 − 1/ 2*1
cRT= ( 0 −2 ) − ( 0 −5 )
0*0 + 1/ 2*1 0* 4 + 1/ 2*1
−1/ 2 7 / 2
cRT= (0
−2 ) − ( 0 −5 )
1/ 2 1/ 2
cRT= ( 0 −2 ) − ( 0* −1/ 2 − 5*1/ 2 0*7 / 2 − 5*1/ 2 )
c=
T
R ( 0 −2 ) − ( −5 / 2 −5 / 2 )
c T
R = ( 5 / 2 1/ 2 )
Dado que no hay costos reducidos negativos, es la solución óptima. Los valores óptimos de las variables
son: 𝑥𝑥1∗ = 6, 𝑥𝑥2∗ = 0, 𝑥𝑥3∗ = 0, 𝑥𝑥4∗ = 0, con una función objetivo igual a:
0
Z=cBT xB → Z =(0 −5) → Z * =−30
6
Nota: Las variables no básicas siempre toman valor 0, por ello directamente x2 y x4 son iguales a 0.
Las variables 𝑥𝑥3 y 𝑥𝑥4 toman valor 0, lo que indica que el primer recurso y el segundo recurso se utilizan
por completo.
23
1.9 Ejemplo 2
Desarrollo:
Se multiplica por -1 la función objetivo para pasar de Maximización a Minimización, y se agrega una
variable de holgura a las restricciones de ≤.
Por convención la base inicial será la compuesta por las variables de holgura.
1 0 0
=xB { x4=x5 x6 } ; B =0 1 0 ; cBT ( 0 0 0 ) ;
0 0 1
4 2 1
T
{ x1 x2 x3} ; R =
xR = 1 2 2 ; cB =( −400 −200 −300 )
1 1 1
24
Dado que la base forma la matriz identidad por propiedad, la inversa es la misma.
1 0 0
B −1 = 0 1 0
0 0 1
1 0 0 16 16 x4 = 16
xB = 0 1 0 40 = 40 → x5 = 40
0 0 1 20 20 x = 20
6
1 0 0 4 2 1
c =
T
R( −400 −200 −300 ) − ( 0 0 0 ) 0
1 01 2 2
0 0 1 1 1 1
4 2 1
( −400 −200 −300 ) − ( 0 0 0 ) 1
cR =
T
2 2
1 1 1
( −400 −200 −300 ) − ( 0 0 0 )
cRT =
( −400 −200 −300 )
cRT =
No es la solución óptima, ya que existen costos reducidos negativos. Se debe continuar con el siguiente
paso.
𝐵𝐵 −1 𝑏𝑏
min � �
𝑎𝑎𝚤𝚤𝚤𝚤
����
25
La variable que entra a la base es aquella de costo reducido de mayor magnitud (-400), por lo que 𝑥𝑥1
debe entrar a la base.
La variable que sale se determina con la regla del mínimo cociente, para ello se estima primero la
columna de la variable entrante en su forma canónica:
���
𝑨𝑨𝒋𝒋 = 𝑩𝑩−𝟏𝟏 𝑨𝑨𝒋𝒋
Luego, se divide el valor de cada variable básica (Paso 4) por los valores de la columna de la variable
entrante en su forma canónica (no olvidar que si el denominador es negativo o 0 no se consideran).
16 40 20
min = min {4 40 20}
4 1 1
El mínimo valor positivo (4) corresponde a la variable 𝑥𝑥4 , por tanto, sale de la base.
La variable entrante reemplaza a la variable saliente en el mismo lugar en el que estaba, y se actualizan
la base y los demás valores.
4 0 0
xB = { x1 x5 x6 } ; B = 1 1 0 ; cBT = ( −400 0 0 ) ;
1 0 1
1 2 1
xR ={ x4 x2 x3 } ; R = 0 2 2 ; cBT =( 0 −200 −300 )
0 1 1
26
1/ 4 0 0
−1
B = −1/ 4 1 0
−1/ 4 0 1
Se puede invertir la matriz utilizando el método del determinante, gauss-jordan o alguna calculadora
online que invierta matrices.
1/ 4 0 0 16 4 x1 = 4
xB =
−1/ 4 1 0 40 =
36 → x5 =
36
−1/ 4 0 1 20 16 x =
6 16
1/ 4 0 01 2 1
c= ( 0 −200 −300 ) − ( −400 0 0 ) −1/ 4
T
R 1 00 2 2
−1/ 4 0 1 0 1 1
1/ 4 1/ 2 1/ 4
c=
T
R ( 0 −200 −300 ) − ( −400 0 0 ) −1/ 4 3 / 2 7 / 4
−1/ 4 1/ 2 3 / 4
cRT =( 0 −200 −300 ) − ( −100 −200 −100 )
=cRT (10 0 0 −200 )
No es la solución óptima, ya que existe un costo reducido negativo. Se debe continuar con el siguiente
paso.
27
𝐵𝐵 −1 𝑏𝑏
min � �
𝑎𝑎𝚤𝚤𝚤𝚤
����
La variable que entra a la base es aquella de costo reducido de mayor magnitud (-200), por lo que 𝑥𝑥3
debe entrar a la base.
La variable que sale se determina con la regla del mínimo cociente, para ello se estima primero la
columna de la variable entrante en su forma canónica:
���
𝑨𝑨𝒋𝒋 = 𝑩𝑩−𝟏𝟏 𝑨𝑨𝒋𝒋
1/ 4 0 0 1 1/ 4*1 + 0* 2 + 0*1 1/ 4
A3 =
−1/ 4 1 0 2 =
−1/ 4*1 + 1* 2 + 0*1 =
7 / 4
−1/ 4 0 1 1 −1/ 4*1 + 0* 2 + 1*1 3 / 4
Luego, se divide el valor de cada variable básica (Paso 4) por los valores de la columna de la variable
entrante en su forma canónica (no olvidar que si el denominador es negativo o 0 no se consideran).
4 36 16
min = min {16 30,85 21,33}
1/ 4 7/4 3/ 4
El mínimo valor positivo (16) corresponde a la variable 𝑥𝑥1 , por tanto, sale de la base. Una variable que
entra en una iteración puede volver a salir, así que no es un error que 𝑥𝑥1 salga, es algo que puede ocurrir.
La variable entrante reemplaza a la variable saliente en el mismo lugar en el que estaba, y se actualizan
la base y los demás valores.
28
1 0 0
xB = { x3 x5 x6 } ; B = 2 1 0 ; cBT = ( −300 0 0 ) ;
1 0 1
1 2 4
xR ={ x4 x2 x1} ; R = 0 2 1 ; cBT =( 0 −200 −400 )
0 1 1
1 0 0
−1
B = −2 1 0
−1 0 1
1 0 0 16 16 x3 = 16
xB =
−2 1 0 40 =
8 → x5 =
8
−1 0 1 20 4 x =
6 4
1 0 01 2 4
c=
T
R ( 0 −200 −400 ) − ( −300 0 0 ) −2
1 00 2 1
0 1 0 1 1
−1
1 2 4
c=
T
R ( 0 −200 −400 ) − ( −300 0 0 ) −2 −2 −7
−1 −3 3 / 4
cRT =( 0 −200 −300 ) − ( −300 −600 −1200 )
cRT = ( 30 0 400 800 )
29
Dado que no hay costos reducidos negativos, es la solución óptima. Los valores óptimos de las variables
son: 𝑥𝑥1∗ = 0, 𝑥𝑥2∗ = 0, 𝑥𝑥3∗ = 16, 𝑥𝑥4∗ = 0, 𝑥𝑥5∗ = 8 y 𝑥𝑥6∗ = 4 , con una función objetivo igual a:
16
Z=c xB → Z =
T
B ( −300 0 0 ) 8 → Z * =−4800
4
La variable 𝑥𝑥4 toma valor 0 por tanto el recurso 1 se utiliza por completo, la variable 𝑥𝑥5 toma valor 8 por
tanto en el recurso 2 sobran 8 unidades, y la variable 𝑥𝑥6 toma valor 4 por tanto en el recurso 3 sobran 4
unidades.
1.10 Cierre
En resumen:
Referencias bibliográficas
Hillier, F. S., & Lieberman, G. J. (2010). Solución de problemas de programación lineal: método simplex. En
Introducción a la investigación de operaciones (9na Edición, pp. 81-101). McGraw-Hill.
Lüer, Armin. (2022). Clases 11 y 13 Investigación de Operaciones. Universidad Andrés Bello. Santiago.
Taha, H. A. (2012). Método simplex y análisis de sensibilidad (9na Edición, pp. 76-85). Pearson.