¡Descarga Programación Lineal: Método Simplex y más Ejercicios en PDF de Programación Lineal solo en Docsity!
Taller 3 Programación Lineal Docente Oscar Castaño Elemento de competencia 3 Método Simplex: Este se utiliza para casos que requiere el análisis de 3 o más variables, no se puede realizar por el método gráfico. En el estudio de la Programación Lineal, el Método Simplex es una herramienta fundamental para encontrar soluciones óptimas a problemas de optimización en los que se buscan maximizar o minimizar una función lineal sujeta a un conjunto de restricciones lineales. Este método, desarrollado por George Dantzig en la década de 1940, ha demostrado ser uno de los algoritmos más eficientes y ampliamente utilizados para resolver este tipo de problemas. El Elemento de Competencia 3 de nuestro curso se centra en la comprensión y aplicación práctica del Método Simplex. A lo largo de esta sección, exploraremos en detalle los pasos fundamentales de este algoritmo, desde la inicialización hasta la obtención de la solución óptima. Además, analizaremos casos prácticos y ejemplos para ilustrar cómo se utiliza el Método Simplex en la resolución de problemas de programación lineal en diversas áreas, como la producción, la logística, las finanzas y la ingeniería. En resumen, el Elemento de Competencia 3 ofrece a los estudiantes una oportunidad invaluable para adquirir un dominio sólido del Método Simplex y su aplicación en la resolución de problemas complejos de optimización en diversos contextos industriales y comerciales. A través de ejercicios prácticos y ejemplos aplicados, los participantes estarán preparados para enfrentar desafíos reales y tomar decisiones estratégicas fundamentadas en el análisis cuantitativo de datos Nota: Recuerde que si presenta inquietudes para la presentación de este taller no dude en contactar al docente para que le brinde ayuda. Casos de estudio:
- Una compañía fabrica tres tipos de muebles para patio, sillas, mecedoras y sillones. Cada uno requiere madera, plástico y aluminio, como se muestra en la siguiente tabla: Madera Plástico Aluminio Silla 1 1 2 Mecedora 1 1 3 Sillón 1 2 5 La compañía tiene disponible 400 unidades de madera, 500 de plástico y 1450 de aluminio. Cada silla, mecedora y sillón se vende a$21, $24 y $36 respectivamente. Suponiendo que todos los muebles pueden venderse. a) ¿Cuál es la producción que maximiza el ingreso? b) ¿Cuál es el ingreso máximo? Respuesta:
Definiendo x 1 como el número de sillas, x 2 como el número de mecedoras y x 3 como el número de sillones,
se tiene que la función a optimizar es:
Z = 21 x 1 + 24 x 2 + 36 x 3
Se definen las restricciones: Restricción de madera
x 1 + x 2 + x 3 ≤ 400
Restricción de plástico
x 1 + x 2 + 2 x 3 ≤ 500
Restricción de aluminio
2 x 1 + 3 x 2 + 5 x 3 ≤ 14 50
La producción no puede ser negativa
x 1 , x 2 , x 3 ≥ 0
Se definen e incluyen las variables de holgura s 1 , s 2 y s 3 para crear la tabla de la matriz inicial
x 1 x 2 x 3 s 1 s 2 s 3 R
s 1 1 1 1 1 0 0 400
s 2 1 1 2 0 1 0 500
s 3 2 3 5 0 0 1 1450
Z -21 -24 -36 0 0 0 0
Al determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 3, por lo
que la variable que entra a la base es x 3. Para identificar el valor pivote:
s 1 →
s 2 →
s 3 →
= 29 0 El valor pivote está en la fila s 2 , siendo el mismo 2. Procedemos a ordenar la tabla con la
variable que entra, dejando el valor pivote en 1.
x 1 x 2 x 3 s 1 s 2 s 3 R
s 1 1 1 1 1 0 0 400
x 3 ½ ½ 1 0 ½ 0 250
s 3 2 3 5 0 0 1 1450
Z -21 -24 -36 0 0 0 0
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: s 1 − x 3 , s 3 −^5 x 3 y Z +^36 x 3
x 1 x 2 x 3 s 1 s 2 s 3 R
s 1 ½ ½ 0 1 -½ 0 150
x 3 ½ ½ 1 0 ½ 0 250
A(x1) 1 0.5 $0. B(x2) 1 0.2 $0. C(x3) 1 2 $ Recurso 2´500.000 800. Respuesta:
Definiendo x 1 como el dispositivo A, x 2 dispositivo B y x 3 la producción sin ningún dispositivo, se tiene que
la función a optimizar es:
Z =0.2 x 1 +0.25 x 2 + 0 x 3
Se definen las restricciones: Restricción de producción
x 1 + x 2 + x 3 = 2
'
Restricción de control ambiental
0.5 x 1 + 0.2 x 2 + 2 x 3 ≤ 800.0 00
La producción no puede ser negativa
x 1 , x 2 , x 3 ≥ 0
Se definen e incluyen las variables de holgura s 1 , s 2 y s 3 para crear la tabla de la matriz inicial, definiendo s 1
como una copia de la condición s 3 debido a que esa condición tiene el comparador “=”.
x 1 x 2 x 3 s 1 s 2 s 3 R
* s 1 1 1 1 -1 0 0 2500000
s 2 0.5 0.2 2 0 1 0 800000
s 3 1 1 1 0 0 1 2500000
Z -0.2 -0.25 0 0 0 0 0
Al determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 1, por lo
que la variable que entra a la base es x 1. Para identificar el valor pivote:
s 1 →
s 2 →
s 3 →
El valor pivote está en la fila s 2 , siendo el mismo 0.5. Procedemos a ordenar la tabla con la variable que
entra, dejando el valor pivote en 1.
x 1 x 2 x 3 s 1 s 2 s 3 R
* s 1 1 1 1 -1 0 0 2500000
x 1 1 0.4 4 0 2 0 1600000
s 3 1 1 1 0 0 1 2500000
Z -0.2 -0.25 0 0 0 0 0
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: s 1 − x 1 , s 3 − x 1 y Z +^
x 1
x 1 x 2 x 3 s 1 s 2 s 3 R
* s 1 0 0.6 -3 -1 -2 0 900000
x 1 1 0.4 4 0 2 0 1600000
s 3 0 0.6 -3 -1 -2 0 900000
Z 0 -0.17 0.8 0 0.4 0 320000
Al evidenciar que aún existen valores negativos en la fila Z , debemos realizar una segunda iteración. Al
determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 2, por lo
que la variable que entra a la base es x 2. Para identificar el valor pivote:
s 1 →
x 1 →
s 3 →
El valor pivote está en empate en las filas s 1 y s 3 , escogemos arbitrariamente la fila s 1 , siendo el pivote 0.6.
Procedemos a ordenar la tabla con la variable que entra, dejando el valor pivote en 1.
x 1 x 2 x 3 s 1 s 2 s 3 R
x 2 0 1 -5 -1.66 -3.33 0 1500000
x 1 1 0.4 4 0 2 0 1600000
s 3 0 0.6 -3 -1 -2 0 900000
Z 0 -0.17 0.8 0 0.4 0 320000
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: x 1 −^
x 2 , s 3 −0.6^ x 2 y Z +^ 0.17^ x 2
x 1 x 2 x 3 s 1 s 2 s 3 R
x 2 0 1 -5 -1.66 -3.33 0 1500000
x 1 1 0 6 0.66 3.33 0 1000000
s 3 0 0 0 0 0 0 0
- Z 0 0 0.05 -0.28 0.16 0 575000
La solución óptima es Z = 5750 00 , siendo x 1 =^100000 0 , x 2 =^15000 00 y s 1 =^0.
x 1 x 2 x 3 s 1 s 2 s 3 R
s 1 2 1 1 1 0 0 180
s 2 1 3 2 0 1 0 300
s 3 2 1 1 0 0 1 240
Z -6 -5 -4 0 0 0 0
Al determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 1, por lo
que la variable que entra a la base es x 1. Para identificar el valor pivote:
s 1 →
s 2 →
s 3 →
= 12 0 El valor pivote está en la fila s 1 , siendo el mismo 2. Procedemos a ordenar la tabla con la
variable que entra, dejando el valor pivote en 1.
x 1 x 2 x 3 s 1 s 2 s 3 R
x 1 1 ½ ½ ½ 0 0 90
s 2 1 3 2 0 1 0 300
s 3 2 1 1 0 0 1 240
Z -6 -5 -4 0 0 0 0
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: s 2 − x 1 , s 3 −^2 x 1 y Z +^6 x 1
x 1 x 2 x 3 s 1 s 2 s 3 R
x 1 1 ½ ½ ½ 0 0 90
s 2 0 5/2 3/2 -½ 1 0 210
s 3 0 0 0 0 0 1 60
Z 0 -2 -1 3 0 0 540
Al evidenciar que aún existen valores negativos en la fila Z , debemos realizar una segunda iteración. Al
determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 2, por lo
que la variable que entra a la base es x 2. Para identificar el valor pivote:
x 1 →
s 2 →
El valor pivote está en la fila s 2 , siendo el mismo
Procedemos a ordenar la tabla con la variable que entra, dejando el valor pivote en 1.
x 1 x 2 x 3 s 1 s 2 s 3 R
x 1 1 ½ ½ ½ 0 0 90
x 2 0 1 0.6 -0.2 0.4 0 84
s 3 0 0 0 0 0 1 60
Z 0 -2 -1 3 0 0 540
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: x 1 −^
x 2 y Z + 2 x 2
x 1 x 2 x 3 s 1 s 2 s 3 R
x 1 1 0 0.2 0.6 0.2 0 48
x 2 0 1 0.6 -0.2 0.4 0 84
s 3 0 0 0 0 0 1 60
Z 0 0 0.2 2.6 0.8 0 708
La solución óptima es Z = 70 8 , siendo x 1 =^48 , x 2 =^84 , x 3 =^0 , s 1 =^0 , s 2 =^0 y s 3 =^60.
- Una compañía petrolera tiene instalaciones de almacenamiento para combustible en las ciudades A, B, C y D. las ciudades C y D necesitan cada una exactamente 500.000 galones. La compañía determina que A y B pueden proveer cada un máximo 600.000 galones para satisfacer las necesidades de C y D, la tabla siguiente muestra los costos por galón para transportar el combustible entre las cuidades. Hacia Desde C D A $0.01 $0. B $0.02 $0. a) ¿Cómo debe distribuirse el combustible para minimizar el costo total del transporte? b) ¿Cuál es el costo mínimo de transporte? Respuesta:
Definiendo x 1 como el número de galones que van de la cuidad A a la ciudad C, a fabricar por día, x 2 como el
número de galones que van de la cuidad A a la ciudad D, x 3 como el número de galones que van de la cuidad
B a la ciudad C y x 4 como el número de galones que van de la cuidad B a la ciudad D, se tiene que la función
a optimizar es:
Z =0.01 x 1 +0.02 x 2 + 0.02 x 3 +0.04 x 4
Se definen las restricciones: Restricción de suministro de la ciudad A
x 1 + x 2 ≤ 60000 0
Restricción de suministro de la ciudad B
x 3 + x 4 ≤ 6000 00
Restricción de demanda de la ciudad C
s 1 0 1 -1 0 1 0 0 0 -1 0 100000
s 2 0 0 1 1 0 1 0 0 0 0 600000
* s 3 0 0 0 0 0 0 -1 0 -1 0 0
* s 4 0 1 0 1 0 0 0 -1 0 0 500000
x 1 1 0 1 0 0 0 0 0 1 0 500000
s 6 0 1 0 1 0 0 0 0 0 1 500000
Z 0 -0.02 -0.01 -0.04 0 0 0 0 0.01 0 5000
Al evidenciar que aún existen valores negativos en la fila Z , debemos realizar una segunda iteración. Al
determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 2, por lo
que la variable que entra a la base es x 2. Para identificar el valor pivote:
s 1 →
s 4 →
s 6 →
El valor pivote está en la fila s 1 , siendo el mismo 1 Procedemos a ordenar la tabla con la variable que entra,
dejando el valor pivote ya está en 1.
x 1 x 2 x 3 x 4 s 1 s 2 s 3 s 4 s 5 s 6 R
x 2 0 1 -1 0 1 0 0 0 -1 0 100000
s 2 0 0 1 1 0 1 0 0 0 0 600000
* s 3 0 0 0 0 0 0 -1 0 -1 0 0
* s 4 0 1 0 1 0 0 0 -1 0 0 500000
x 1 1 0 1 0 0 0 0 0 1 0 500000
s 6 0 1 0 1 0 0 0 0 0 1 500000
Z 0 -0.02 -0.01 -0.04 0 0 0 0 0.01 0 5000
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: s 4 − x 2 , s 6 − x 2 y Z +0.0^2 x 2
x 1 x 2 x 3 x 4 s 1 s 2 s 3 s 4 s 5 s 6 R
x 2 0 1 -1 0 1 0 0 0 -1 0 100000
s 2 0 0 1 1 0 1 0 0 0 0 600000
* s 3 0 0 0 0 0 0 1 0 1 0 0
* s 4 0 0 1 1 -1 0 0 -1 1 0 400000
x 1 1 0 1 0 0 0 0 0 1 0 500000
s 6 0 0 1 1 -1 0 0 0 1 1 400000
Z 0 0 -0.03 -0.04 0.02 0 0 0 -0.01 0 7000
Al evidenciar que aún existen valores negativos en la fila Z , debemos realizar una tercera iteración. Al
determinar el movimiento, se evidencia que la mejor tasa de mejoramiento se da en la columna 3, por lo
que la variable que entra a la base es x 3. Para identificar el valor pivote:
s 2 →
s 4 →
s 6 →
El valor pivote está en la fila s 4 , siendo el mismo 1 Procedemos a ordenar la tabla con la variable que entra,
dejando el valor pivote ya está en 1.
x 1 x 2 x 3 x 4 s 1 s 2 s 3 s 4 s 5 s 6 R
x 2 0 1 -1 0 1 0 0 0 -1 0 100000
s 2 0 0 1 1 0 1 0 0 0 0 600000
* s 3 0 0 0 0 0 0 1 0 1 0 0
x 3 0 0 1 1 -1 0 0 -1 1 0 400000
x 1 1 0 1 0 0 0 0 0 1 0 500000
s 6 0 0 1 1 -1 0 0 0 1 1 400000
Z 0 0 -0.03 -0.04 0.02 0 0 0 -0.01 0 7000
Procedemos a convertir los valores de la columna pivote (excepto el valor pivote) en 0, para ello realizamos
las siguientes operaciones entre filas: x 2 +^ x 3 , s 2 − x 3 , x 1 − x 3 , s 6 − x 3 y Z +^ 0.0^3 x 3
x 1 x 2 x 3 x 4 s 1 s 2 s 3 s 4 s 5 s 6 R
x 2 0 1 0 1 0 0 0 -1 0 0 500000
s 2 0 0 0 0 1 1 0 1 -1 0 200000
* s 3 0 0 0 0 0 0 1 0 1 0 0
x 3 0 0 1 1 -1 0 0 -1 1 0 400000
x 1 1 0 0 -1 1 0 0 1 0 0 100000
s 6 0 0 0 0 0 0 0 1 0 1 0
Z 0 0 0 -0.01 -0.01 0 0 -0.03 0.02 0 19000
La solución óptima es Z = 19000 , siendo x 1 =^100000 , x 2 =^500000 , x 3 =^400000 , x 4 =^0 , s 1 =^0 ,
s 2 = 20000 0 , s 3 = 0 , s 4 = 0 , s 5 = 0 y s 6 = 0.