Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GRUPO
Nº4
MÉTODO
ALGEBRAICO
(SIMPLEX)
CURSO:
Investigación Operativa
DOCENTE:
P á g i n a 1 | 24
INTRODUCCIÓN
Diaz (2005), nos expone acerca que en nuestro medio muchas cosas se piensan de la
programación lineal; pues para muchos es una parte integral de las matemáticas que debe
ser estudiada, pero sin que encuentren aplicación alguna en el mundo real; para otros es
una forma de aplicar modelos de optimización para empresas netamente productivas a
nivel macro y para otras personas es un tema que solo interesa a los ingenieros de sistemas
y matemáticos.
Es así como podemos destacar ciertos elementos importantes: una parte matemática que
no puede ser desconocida y es la mezcla del sistema de ecuaciones lineales en el mundo
empresarial y otra, el engranaje que hace con el contenido financiero cuando se mezclan
elementos de las áreas de una organización y las herramientas informáticas (el
computador).
Si bien, la programación lineal nace con dos métodos para solucionar los diferentes
problemas planteados bajo el concepto de optimización de recursos escasos, minimizando
costos o maximizando utilidades, con varias restricciones de recursos. Estos son el
método gráfico y el método simplex. Con el transcurrir del tiempo, aparece la herramienta
computacional y a través de sus bondades se convirtió en un complemento ideal para el
apoyo en la toma de decisiones.
En el caso del método algebraico(simplex) ha tenido diversas aplicaciones en las
industrias especialmente en el área de transporte, en la parte de inventarios y en lo
empresarial en general.
P á g i n a 2 | 24
1. MÉTODO ALGEBRAICO (SIMPLEX)
La investigación de operaciones en general y la
programación lineal en particular recibieron un gran
impulso gracias a los computadores. Uno de los hechos
mas importantes fue la aparición del método simplex. Este
método, desarrollado por G.B. Dantzig en 1947, consiste
en la utilización de un algoritmo para optimizar el valor de
la función objetivo, teniendo en cuenta las restricciones
planteadas.
¿Para qué nos sirve?
Este método permite visualizar cuánto se debe vender, cuanto se debe producir o cuánto
se debe comprar según sea el caso para que la empresa obtenga las ganancias óptimas y
suficientes para competir en el mercado.
Etapa interactiva
• Consiste en dar • Se lograra
la primera • Implica que el cuando la
solucion metodo busque solucion de un
factible. una mejor vertice es mejor.
solucion.
Etapa de prueba
Etapa inicial
de optimalidad
P á g i n a 3 | 24
Ejemplo:
Una fabrica de muebles produce dos tipos de escritorio. Tipo I y Tipo II, en los
departamentos de corte, armado y acabado. El numero de horas disponibles es cada
departamento son de 80 h, 220 h y 210 h respectivamente. Las horas que se requieren en
la producción en cada departamento para cada tipo de escritorio se da en la siguiente tabla:
3) Restricciones
X1 + X2 ≤ 80 (Departamento de corte)
3X1 + 2X2 ≤ 220 (Departamento de armado)
2X1 + 3X2 ≤ 210(Departamento de acabado)
X1, X2 ≥ 0
(x1 + x2 ) + h1 = 80
Análogamente para las otras restricciones, tenemos que h2, h3 son las variables de holgura
de los departamentos de armado y acabado respectivamente.
Es importante tener en cuenta que las variables de holgura tienen que ser no negativas.
De esta manera las restricciones del problema las podemos escribir así:
x1 + x2 + h1+ 0h2 + 0h3 = 80
3x1 + 2x2 + 0h1 + h2 + 0h3 = 220
2x1 + 3x2 + 0h1 + 0h2 + h3 = 210
x1, x2, h1, h2, h3 ≥ 0
En la función objetivo agregamos las variables de holgura colocándoles coeficientes cero
y obtenemos:
Maximizar Z = 5x1 + 6x2 + 0h1 + h2 + 0h3
Resumiendo lo anterior obtenemos:
Soluciones Básicas
solucion x1 x2 h1 h2 h3
1 0 0 80 220 210
2 0 80 0 60 -30
3 0 110 -30 0 -120
4 0 70 10 80 0
5 80 0 0 -20 50
6 220∕3 0 20∕3 0 190∕30
7 105 0 -25 -95 0
8 60 20 0 0 30
9 30 50 0 30 0
10 48 38 -6 0 0
Observe en el cuadro anterior que en las soluciones 1 – 4 -6 -8 -9 todos los valores de las
variables son no negativos, por lo tanto tenemos soluciones factibles, mientras que en las
soluciones 2 -3 -5 -7 -10 , algunas variables toman valores negativos , por lo tanto son
soluciones no factibles.
En este problema, una solución factible tiene máximo tres variables con valores positivos,
y el resto de las variables son iguales a cero. Por ejemplo:
P á g i n a 6 | 24
0 + 0 + h1 + 0h2 + 0h3 = 80
3(0) + 2(0) + 0h1 + h2 + 0h3 = 220
2(0) + (0) + 0h1 + 0h2 + h3 = 210
Luego: h1 = 80 , h2 = 220 y h3 = 210
P á g i n a 7 | 24
Diagrama de Flujo del método simplex
NO
FIN
P á g i n a 8 | 24
1.3.TABLA SIMPLEX INICIAL
Anteriormente se planteó el problema de programación lineal y se añadieron variables de
holgura para convertir las restricciones de menor e igual (≤) en igualdades, ahora
tabulamos el mismo problema en forma de matriz la cual se denomina tabla simplex
inicial.
Tabla simplex: Tabla o cuadro que, mediante operaciones elementales entre filas, utiliza
el método simplex.
Utilizando la siguiente notación:
Modelo de PL
Maximizar: Z = 5x1 + 6x2 Coeficientes
Sujeto a: x1 + x2 ≤ 80 5 6
3x1 + 2x2 ≤ 220 1 1 80
2x1 + 3x2 ≤ 210 3 2 220
x1, x2 ≥ 0 2 3 210
x1 x2 h1 h2 h3
5 6 0 0 0 bi
P á g i n a 9 | 24
1 1 1 0 0 80
3 2 0 1 0 220
2 3 0 0 1 210
h1 = 80
h2 = 220
h3 = 210
Ahora para facilitar los cálculos agregamos dos columnas en la tabla la primera llamada
columna base y corresponde a un listado de las variables básicas del momento
Base
h1
h2
h3
La segunda columna consiste en los coeficientes de las variables básicas del momento
tomado de la función objetivo. La función objetivo con variables básicas y no básicas es:
Z = 5x1 + 6x2 + 0h1 + 0h2 + 0h3, inicialmente las variables básicas son h1, h2, h3, con los
coeficientes cero, por lo tanto, la columna cj es:
Base cj
h1 0
h2 0
h3 0
Completando la tabla con las columnas base y cj mencionadas anteriormente tenemos:
x1 x2 h1 h2 h3
Base cj 5 6 0 0 0 bi
h1 0 1 1 1 0 0 80
h2 0 3 2 0 1 0 220
h3 0 2 3 0 0 1 210
Los valores de las variables básicas son los valores correspondientes a los bi es decir,
h1 = 80 = b1
h2 = 220 = b2
h3 = 210 = b3
Mientras que x1 y x2 son variables no básicas, por lo tanto:
x1 = 0 x2 = 0
P á g i n a 10 | 24
Otro aspecto importante para completar la tabla inicial simplex es adicionar dos filas
llamadas zj y cj – zj.
La primera fila se refiere a la contribución que se pierde por unidad que se fabrica y la
segunda fila es la contribución neta por unidad que se fabrica.
Los valores de zj se obtienen como la suma de los productos de la columna cj por los
coeficientes asociados a las variables (x1, x2, h1, h2, h3), por ejemplo:
x1 x2 h1 h2 h3
Base cj 5 6 0 0 0 bi
h1 0 1 1 1 0 0 80
h2 0 3 2 0 1 0 220
h3 0 2 3 0 0 1 210
zj 0 z1 z2 z3 z4 z5 0
Base: Conjunto de variables que no están reducidas a cero en la solución básica del
momento, a estas variables ser les llama variables básicas.
La fila cj – zj, se obtiene como la diferencia entre los coeficientes cj de la función objetivo
y los valores correspondientes zj
c1 – z1 = 5 – 0 = 5
c2 – z2 = 6 – 0 = 6
c3 – z3 = 0 – 0 = 0
c4 – z4 = 0 – 0 = 0
c5 – z5 = 0 – 0 = 0
La fila cj – zj queda así:
cj – zj 5 6 0 0 0
P á g i n a 11 | 24
Completando la tabla de simplex inicial
x1 x2 h1 h2 h3 Variables
h1 0 1 1 1 0 0 80 Coeficientes
h2 0 3 2 0 1 0 220 Coeficientes
h3 0 2 3 0 0 1 210 Coeficientes
Utilidad
Interpretando la tabla simplex inicial tenemos que h1, h2, h3 son variables básicas con
valores 80, 220 y 210 respectivamente e interpretándolos en el contexto del problema
corresponden a las horas disponibles no utilizadas en los departamentos del corte, armado
y acabado, además las variables no básicas son x1, y x2, son cero lo cual quiere decir que
no se produce ningún tipo de escritorio, y la utilidad es Z = 0
Ahora hay que determinar cuál es la variable básica que se debe convertir en variable no
básica, observamos los coeficientes de x2 en las restricciones:
1 ⟶ 𝐻𝑜𝑟𝑎 𝑝𝑜𝑟 𝑐𝑎𝑑𝑎 𝑒𝑠𝑐𝑟𝑖𝑡𝑜𝑟𝑖𝑜 𝑡𝑖𝑝𝑜 𝐼𝐼 𝑒𝑛 𝑒𝑙 𝑑𝑒𝑝𝑎𝑟𝑡𝑎𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑐𝑜𝑟𝑡𝑒
[2] ⟶ 𝐻𝑜𝑟𝑎 𝑝𝑜𝑟 𝑐𝑎𝑑𝑎 𝑒𝑠𝑐𝑟𝑖𝑡𝑜𝑟𝑖𝑜 𝑡𝑖𝑝𝑜 𝐼𝐼 𝑒𝑛 𝑒𝑙 𝑑𝑒𝑝𝑎𝑟𝑡𝑎𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑎𝑟𝑚𝑎𝑑𝑜
3 ⟶ 𝐻𝑜𝑟𝑎 𝑝𝑜𝑟 𝑐𝑎𝑑𝑎 𝑒𝑠𝑐𝑟𝑖𝑡𝑜𝑟𝑖𝑜 𝑡𝑖𝑝𝑜 𝐼𝐼 𝑒𝑛 𝑒𝑙 𝑑𝑒𝑝𝑎𝑟𝑡𝑎𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑎𝑐𝑎𝑏𝑎𝑑𝑜
De esta manera por cada unidad que se produce de x2, se disminuye una hora de las 80
disponibles en el departamento de corte, luego se producen 80/1 = 80 escritorios tipo II,
por cada unidad de x2 producida en el departamento de armado se disminuyen 2 horas de
las 220 disponibles, por lo tanto, se producen 220/2 = 110 escritorios tipo II, por último,
si se produce un escritorio tipo II en el departamento de acabado se disminuyen 3 horas
de las 210 disponibles de esta forma se producen 210/3 = 70 unidades, por lo tanto la
mayor limitante corresponde a las unidades en el departamento de acabado.
P á g i n a 12 | 24
Con la justificación anteriormente expuesta x2 se convierte en variable básica y h3 es la
variable no básica.
Recordemos que los elementos aij son los coeficientes que acompañan a las variables de
decisión en las restricciones y los bi son los valores del lado derecho de las restricciones.
Ahora construimos una nueva columna en la tabla simplex inicial llamada bi / aij que
siempre nos indica el número de unidades producidas en cada departamento según lo
disponible con respecto a las horas por unidad.
Consideramos la tabla simplex con la columna bi / ai2
x1 x2 h1 h2 h3
Base cj 5 6 0 0 0 bi bi / ai2
h1 0 1 1 1 0 0 80 80/1=80 f1
h2 0 3 2 0 1 0 220 220/2=110 f2
h3 0 2 3 0 0 1 210 210/3=70 f3
zj 0 0 0 0 0 0
cj – zj 5 6 0 0 0
El criterio para elegir la variable no básica consiste en escoger el menor cociente bi / ai2
positivo, en caso de encontrar empates se escoge la fila que esté más arriba.
Columna pivote: Columna de la tabla simplex que corresponde a la variable básica que
está por quedar fuera de la solución.
Fila del pivote: Fila de la tabla simplex que corresponde a la variable básica que está por
quedar fuera de la solución.
P á g i n a 13 | 24
En el caso del problema que estamos tratando el elemento pivote es 3 porque es el cruce
entre la columna pivote de x2 y la fila pivote de h3, este elemento se cierra con un cuadrado
y se muestra en la tabla:
x1 x2 h1 h2 h3
Base cj 5 6 0 0 0 bi bi / ai2
h1 0 1 1 1 0 0 80 80/1=80 f1
h2 0 3 2 0 1 0 220 220/2=110 f2
h3 0 2 3 0 0 1 210 210/3=70 f3
zj 0 0 0 0 0 0
cj – zj 5 6 0 0 0
Como el objetivo es mejorar la solución para obtener la mayor utilidad posible, se desea
actualizar la tabla simplex inicial de manera que la columna en la variable básica x 2, sea
una columna con la siguiente forma:
0 𝑎12
[0] = [ 𝑎22 ]
1 𝑎32
Para realizar este proceso en la tabla simplex es necesario aplicar las operaciones
elementales entre filas.
Elemento pivote
Para obtener la nueva tabla simplex, la segunda columna de la matriz anterior debe tener
la forma:
0
[0]
1
Para transformar la segunda columna, aplicamos las operaciones elementales entre filas:
F3 ↔ 1/3 F3 (Se cambia la fila 3 por 1/3 de la fila 3, para convertir a a32 en 1)
P á g i n a 14 | 24
1 1 1 0 0 80
[ 3 2 0 1 0 220 ]
2/3 1 0 0 1/3 70
Para convertir en cero a a12 y a22, efectuamos sobre la matriz las siguientes operaciones
elementales:
Escribiendo la nueva tabla simplex con los datos de la matriz anterior, tenemos:
x1 x2 h1 h2 h3
Base cj 5 6 0 0 0 bi
h1 0 1/3 0 1 0 -1/3 10
h2 0 5/3 0 0 1 -2/3 80
x2 6 2/3 1 0 0 1/3 70
zj
cj – zj
P á g i n a 15 | 24
h2 0 5/3 0 0 1 -2/3 80
x2 6 2/3 1 0 0 1/3 70
zj 4 6 0 0 2 420
cj – zj 1 0 0 0 -2
Para interpretar los resultados de esta nueva tabla, escribimos las ecuaciones
correspondientes:
1/3x1 + h1 + -1/3h3 = 10
5/3x1 + h2 - 2/3h3 = 80
2/3x1 + x2 + 1/3h3 = 70
En este momento las variables básicas son h1, h2, x2 y las variables no básicas son x1 = 0
y h3 = 0, reemplazando estos valores en las ecuaciones anteriores los valores de las
variables básicas son:
h1 = 10 h2 = 80 x2 = 70
Ahora nos detenemos para hacer la siguiente pregunta: ¿Cómo saber que efectivamente
tenemos ya la solución optima factible?
cj - zj 01 0 0 -2
Nuevos indicadores
Los nuevos indicadores nos dicen que no se cumple la condición de que todos los
elementos cj - zj sean ceros o menores que cero, puesto que aparece un elemento positivo que
es 1, esto indica que todavía no tenemos la solución optima del problema, por lo tanto, tenemos
que iterar y crear una tabla simplex con el fin de dar paso a una mejor solución.
Nuevamente procedemos a determinar mirar cual es la variable que entra y la variable que sale
para la siguiente tabla. Si observamos los indicadores, escogemos a X1 como variable básica
puesto que tiene mayor coeficiente positivo.
X1 X2 H1 H2 H3
Base Cj 5 6 0 0 0 bi bi / ai1
h1 0 1/3 0 1 0 -1/3 10 10/1/3 =30
h2 0 5/3 0 0 1 -2/3 80 80/5/3=48
P á g i n a 16 | 24
X2 6 2/3 1 0 0 1/3 70 70/2/3=105
Zj 4 6 0 0 2 420
Cj - Zj 1 0 0 0 -2
Como 30 es el cociente mínimo, la variable que sale es h1, luego el elemento a11= 1/3 es
el pivote, queda como variable básica X1 y como variable no básica h, por lo tanto, las
operaciones elementales se deben realizar en la columna X1 para convertirla en columna
unidad de la forma siguiente:
1
0
0
X1 X2 H1 H2 H3
Base Cj 5 6 0 0 0 bi
h1 5 1 0 3 0 -1 30
h2 0 0 0 -5 1 1 30
X2 6 0 1 -2 0 1 50
Zj 5 6 3 0 1 450
Cj - Zj 0 0 -3 0 -1
Nuevos indicadores
Notemos que en la fila Cj - Zj los elementos son ceros o negativos, por lo tanto ya
hemos encontrado la solución optima del problema.
P á g i n a 17 | 24
En cuanto al manejo de los recursos como h2 = 30, la holgura del departamento de armado
es de 30 horas lo que equivale a que no se utilizan todas las 220 horas disponibles,
mientras que en el departamento de corte y acabado las variables de holgura son h1 = 0,
h3 = 0, lo que quiere decir que se utilizan todas las horas disponibles que son 80 y 210
horas respectivamente.
x1 +x2 + h1 = 80
3x1 +2x2 + h2 = 220
3x1 +x2 - h3 = 180
x1,x2, h1 , h2, h3 ≥0
X1 X2 H1 H2 H3 a3
Base Cj 5 6 0 0 0 -M bi bi/ai1
h1 0 1 1 1 0 0 0 80 80/1=80
h2 0 3 2 0 1 0 0 220 220/3=73.3
a3 -M 3 1 0 0 1 1 180 180/3=60
Zj -3M -M 0 0 M -M -180M
Cj - Zj 5+3M 6+M 0 0 -M 0
P á g i n a 18 | 24
Identificamos a la columna pivote y a la fila pivote, como las variables de entrada y salida
son : x1 y a3.Ahora el cruce de estas filas y columnas dará como resultado al elemento
pivote. De la columna que está encerrada en rojo, se dividirán con los bi, de esa división
se escogerá al menor y ese será el número pivot.
Ahora que ya sabemos que el número 3 es el número pivot lo que haremos es convertirlo
en 1.
Ahora para generar zj se multiplicará -M por sus números que está al costado de su fila.
Luego para generar la fila de cj - zj , se sumará luego la fila de cj.
Se escogerá el mayor valor de cj - zj que es 5+3M.
Luego multiplicamos el valor de X1=5 por los de su costado y eso dará origen al valor
de Zj.
X1 X2 H1 H2 H3 a3
Base Cj 5 6 0 0 0 -M bi
h1 0 0 2/3 1 0 1/3 -1/3 20
h2 0 0 1 0 1 1 -1 40
X1 5 1 1/3 0 0 -1/3 1/3 60
Zj 5 5/3 0 0 -5/3 5/3 300
Cj - Zj 0 13/3 0 0 5/3 -M-5/3
P á g i n a 19 | 24
Nueva gráfica con la región factible.
Aquí la variable
artificial a3 ya
desapareció, se le
suprime su
columna en la
cual se
encuentra.
X1=60,
FASE I FASE II
Se requieren las Se continúan las
variables artificiales para iteraciones del método
obtener una solución simplex sin variables
básica factible y luego se artificiales.
eliminan las variables
artificiales.
Fase I : Se suprime la columna a3
X1 X2 H1 H2 H3
Base Cj 5 6 0 0 0 bi bi
h1 0 0 2/3 1 0 1/3 20 20/2/3= 30
h2 0 0 1 0 1 1 40 40/1= 40
X1 5 1 1/3 0 0 -1/3 60 60/1/3 = 180
Zj 5 5/3 0 0 -5/3 300
Cj - Zj 0 13/3 0 0 5/3
P á g i n a 20 | 24
Fase II: Puesto que Cj -Zj,X2 no son menores o iguales a cero, aún no es óptimo.Se
escogerá a X2 como variable básica (Cj -Zj =13/3) ,donde el pivote será 2/3. Se aplicará
eliminación gaussiana .
X1 X2 H1 H2 H3
Base Cj 5 6 0 0 0 bi
X2 6 0 1 3/2 0 1/2 30
h2 0 0 0 -3/2 1 1/2 10
X1 5 1 0 -1/2 0 -1/2 50
Zj 5 6 13/2 0 1/2 430
Cj - Zj 0 0 -13/2 0 -1/2
Resumen
Fase I Fase II
O A C
Origen Optimo
Ahora que los elementos son menores o iguales a cero, el problema es óptimo.
X1=50
X2=30
h1=0
h2=10
h3=0
La compañía necesita producir 50 escritorios tipo I ,30 escritorios del tipo II, en el
departamento de corte se necesitan todas las 80 horas disponibles, en el departamento de
armado sobran 10 horas, se necesitan 210 horas, y hay que comprarle a los proveedores
180 cerraduras de seguridad.
1.5.SOLUCIÓN DE PROBLEMAS DE MINIMIZACIÓN CON EL MÉTODO
SIMPLEX.
Para utilizar el método simplex en un problema de minimización solo basta con
multiplicar la función objetivo por (-1), con el fin de convertir el problema de
minimización en un problema equivalente de maximización, donde su solución óptima
nos proporciona la solución para el de minimización. Ahora ilustraremos el siguiente
ejemplo:
P á g i n a 21 | 24
Ejemplo 2
La compañía Propapel S. A. produce papel bond para oficina de diferente tamaño, carta
y oficio. Para elaborarlos se utilizan dos máquinas de impresión que le dan el color,
máquinas I y II. En la máquina I se requieren 2 horas para para la elaboración de una
tonelada de papel tamaño carta y 2 horas para el papel tamaño oficio; en la máquina II se
requieren 2 horas para la elaboración de una tonelada de papel tamaño carta, y 6 horas
para una tonelada de papel tamaño oficio. La máquina I, para efectos de costo, puede
trabajar máximo 8 horas, mientras que la máquina II debe trabajar por lo menos 12 horas.
Cuántas toneladas diarias de papel de tamaño carta y oficio deben producirse con el fin
de minimizar el costo, si el costo por unidad de cada tonelada de papel es de 1.5 y 2
dólares para carta y oficio respectivamente.
Solución. Definamos primero las variables de decisión.
𝑥1 𝑥2 ℎ1 ℎ2 𝑎2
3
− −2 0 0
Base 𝑐𝑗 2 𝑏𝑗 𝑏𝑖 ⁄𝑎𝑖2
−𝑀
P á g i n a 22 | 24
2 2 1 0 8
ℎ1 0 0 8
=4
2
12 12
𝑎2 -M 2 6 0 -1 =2
6
1
-2M -6M 0 M -12M
𝑧𝑗 -M
3
𝑐𝑗 − 𝑧𝑗 − + 2𝑀 − 2 + 6𝑀 0
2
−𝑀 0
12
La expresión -2 + 6 M produce mayor valor para la función objetivo y el valor = 2 es
6
el menor cociente en la columna 𝑏𝑖 ⁄𝑎𝑖2 , luego el pivote para a primera iteración es 6,
entonces 𝑥2 se convierte en variable básica, mientras que 𝑎2 es variable no básica;
eliminando la columna de 𝑎2 obtenemos la siguiente tabla:
Tabla final
𝑥1 𝑥2 ℎ1 ℎ2
3 𝑏𝑖
−
Base 𝑐𝑗 2
−2 0 0
4 1 4
ℎ1 0 0 1
3 3 2
𝑎2 -M 1 1
1 0 −
3 6
2 1 -4
𝑧𝑗 − −2 0
3 3
𝑐𝑗 − 𝑧𝑗 5 1
− 0 0 −
6 3
𝑥1 = 0
𝑥2 = 2
ℎ1 = 4
ℎ2 = 0
𝑊 = −4
Toma de decisión de la compañía
El costo mínimo es de 4 dólares, ya que se multiplica por (-1) la función objetivo, además
hay que producir solo 2 toneladas diarias de papel tamaño oficio y suspender la
producción de papel de tamaño carta, utilizando solo 4 horas en la máquina I y 12 horas
en la máquina II.
P á g i n a 23 | 24
CONCLUSIONES
Este método busca la solución, en cada paso, de forma mejorada hasta que no
pueda seguir mejorando dicha solución.
REFERENCIAS BIBLIOGRÁFICAS
P á g i n a 24 | 24