Ejemplo

4
Ejemplo: Resolver: Max Z = 18.5X 1 + 20 X 2 Sujeto a: 0.05X1 + 0.05X2 <= 1100 0.05X1 + 0.1X2 <= 1800 0.1 X1 + 0.05 X2 <= 2000 C.N.N.(Condición de No Negatividad) 1. Convertir al Modelo Estándar: Cada restricción debe ser convertida de inecuación a una igualdad, agregando variables como se requiera. Con las restricciones de tipo <=, es supremamente fácil. Simplemente se agrega una en cada restricción con coeficiente 1 en la misma restricción y con coeficiente cero en la función objetivo. Por ejemplo: 0.05X1 + 0.05 X2 <= 1100 queda: 0.05X1 + 0.05 X2 + S1 = 1100 La primera restricción se puede leer como que 0.05 por las unidades de X1 más 0.05 por las unidades de X2, no puede exceder a 1100, pero lo mismo da decir que 0.05 por las unidades de X1 más 0.05 por las unidades de X2, más lo que sobre guardado en S1 sea totalmente igual a 1100. De esta forma se agregan tres variables, una por cada restricción y queda como se ve abajo. Para el caso de restricciones del tipo mayor o igual, se verá en el ejemplo de minimización. Max Z = 18.5X 1 + 20 X 2 + 0S 1 + 0S 2 + 0S 3 Sujeto a: 0.05X1 + 0.05X2 + S 1 = 1100 0.05X1 + 0.1X2 + S 2 = 1800 0.1 X1 + 0.05 X2 + S 3 = 2000 C.N.N.(Condición de No Negatividad) 2. Escribir en formato de Tabla Simplex. Si lo escribimos como una matriz, indicando los nombres de las variables en negro queda asi: X1 X2 S1 S2 S3 Max Z 18.5 20 0 0 0 RHS R1 0.05 0.05 1 0 0 1,100 R2 0.05 0.1 0 1 0 1,800 R3 0.1 0.05 0 0 1 2,000

Transcript of Ejemplo

Page 1: Ejemplo

Ejemplo:  Resolver: Max Z = 18.5X1 + 20 X2 

        Sujeto a:0.05X1 + 0.05X2 <= 11000.05X1 + 0.1X2  <= 18000.1 X1 + 0.05 X2 <= 2000 C.N.N.(Condición de No Negatividad) 

1. Convertir al Modelo  Estándar: Cada restricción debe ser convertida de inecuación a una igualdad, agregando variables como se requiera. Con las restricciones de tipo <=, es supremamente fácil. Simplemente se agrega una en cada restricción con coeficiente 1 en la misma restricción y con coeficiente cero en la función objetivo. Por ejemplo: 0.05X1 + 0.05 X2 <= 1100  queda:0.05X1 + 0.05 X2 + S1 = 1100 La primera restricción se puede leer como que 0.05 por las unidades de X1 más 0.05 por las unidades de X2, no puede exceder a 1100, pero lo mismo da decir que 0.05 por las unidades de X1 más 0.05 por las unidades de X2, más lo que sobre guardado en S1 sea totalmente igual a 1100.  De esta forma se agregan tres variables, una por cada restricción y queda como se ve abajo. Para el caso de restricciones del tipo mayor o igual, se verá en el ejemplo de minimización.  Max Z = 18.5X1 + 20 X2 + 0S1 + 0S2 + 0S3

        Sujeto a:0.05X1 + 0.05X2  +  S1                               = 11000.05X1 + 0.1X2                  +  S2                  =  18000.1 X1 + 0.05 X2                              + S3     = 2000 C.N.N.(Condición de No Negatividad) 

2. Escribir en formato de Tabla Simplex.  Si lo escribimos como una matriz, indicando los nombres de las variables en negro queda asi:

 

X1 X2 S1 S2 S3Max Z 18.5 20 0 0 0 RHSR1 0.05 0.05 1 0 0 1,100R2 0.05 0.1 0 1 0 1,800R3 0.1 0.05 0 0 1 2,000 Dónde X1, X2 son las variables de decisión, S1, S2 y S3 son las variables de Holgura (Se suelen llamar con S, por que en inglés se  escribe Surplus). R1, R2, R3 son las restricciones y RHS son las disponibilidades de las restricciones, se llama así por que significa Right Hand Side, como lo encontraran en los textos gringos, "el lado derecho".  Para facilitar el procesoiterativo se construyen tablas. Hay muchos formatos de tablas Simplex, que significan exactamente lo mismo. Lo importante es entender que significa cada cosa, y lo demás ya vendrá por añadidura. En la primera fila (fondo negro), colocamos los coeficientes de la función objetivo (18.5,20,0,0,0) y los títulos de las demás columnas.  Recuerda que le dije anteriormente, que había que definir un número de variables que iban a tomar el valor de cero? Las No Básicas, para poder resolver el sistema de ecuaciones de manera única. Entonces como tenemos 3 restricciones y 5 variables hay que dejar 2 como No

Page 2: Ejemplo

Básicas o sea iguales a cero. Siempre se escoge las de holgura (S1, S2, S3)  para estar en la base en el inicio y dejamos las variables de decisión como no básicas. Fijemonos en la tabla siguiente que no las colocamos en la columna de la base. En la primera columna vamos a colocar los coeficientes de las variables de la base. (Los coeficientes que tienen en la función objetivo). En la segunda columna como ya dijimos anteriormente, los nombres de las variables que tenemos actualmente en la base. De la tercera columna en adelante copiamos los coeficientes de las restricciones, luego en la columna RHS, colocamos cuanto tenemos de disponibilidad de las restricciones, lo que los gringos llaman "lado derecho" o RHS. La última columna vamos llamarla theta, más adelante la explico. 

3. Definir la variable que entra. Observemos un momento la tabla abajo; definamos dos filas adicionales. La fila Z y la fila Cj-Zj. En la fila Z vamos a colocar la suma del producto de los coeficientes de las variables que hay actualmente en la base por los coeficientes actuales en el área de las restricciones. Hagamos el ejemplo para el   primero: 0x0.05 + 0x0.05+ 0x0.1 = 0 y lo colocamos en seguida de la z. Para la columna siguiente será: 0x0.05+0x0.1+0x0.05 = 0. y así para las demás columnas hasta llegar a la columna RHS.  Fijemonos, que he puesto una celda en esta fila de color azul  más oscuro. En esta celda nos dirá el valor de la función objetivo, a medida que vamos iterando. Ahí debe quedar el mejor valor de Z cuando hayamos terminado. En la fila Cj - Zj vamos a hacer la siguiente resta: De la fila de coeficientes de la función objetivo (la que está de fondo negro), restemos  la fila que acabamos de calcular.  para la primera: 18.5 - 0 = 18.5, para la segunda 20-0 = 0  y así. Esta fila es importante por que nos dice lo siguiente: qué tanto contribuye una variable si se mete en la función objetivo. X1 contribuiría con 18.5 y X2 contribuiría con 20, etc. Cómo queremos hallar el máximo valor, lo que nos interesa es incluir la variable que más contribuya, o sea la que mayor valor tenga en esta fila.En este caso, por supuesto, gana X2 con 20.  X2 no está en la base, entonces la marcamos para entrar, fijése que abajo le pusimos: "entra".  

4. Definir la variable que sale. 

 

Coef Base 18.5 20 0 0 0 RHS Theta0 S1 0.05 0.05 1 0 0 1,100 22,0000 S2 0.05 0.1 0 1 0 1,800 18,000 Sale0 S3 0.1 0.05 0 0 1 2,000 40,000

Z 0 0 0 0 0 0Cj- Zj 18.5 20 0 0 0

Entra La variable que sale de la base es la que más restringe el crecimiento de la función objetivo y para ello sacamos un "ratio", es decir una división entre el RHS (la disponibilidad) y la columna de la variable que entra, esta queda en la columna que llamamos Theta. Para la primera fila queda: 1100/0.05 = 22,000. Luego de esta columna escogemos el menor valor que sea diferente de cero o de algún valor negativo.   

5. Iteración: Gauss-Jordan. Recuerda de sus estudios de algebra lineal el tema de la eliminación gaussiana? No? Pues debería pegarle una revisada al tema y volver aquí. Si no, será dificil que entienda la siguiente parte.  Una vez definida la variable que entra y la variable que sale, la intersección nos define la celda pivote.  La celda pivote es la que se tomará como base para hacer toda la iteración de gauss-jordan. En la tabla el pivote lo he colocado en fondo verde. Debemos, con base en operaciones entre filas, convertir la celda pivote en 1, y con base en ella convertir a las demás celdas en la misma columna en ceros. Entonces:

Page 3: Ejemplo

 a. Convertir el pivote en 1: Para ello dividamos toda la fila en el valor del pivote.0.05/0.1= 0.50.1/0.1=10/0.1=01/0.1=10 ... los resultados los copiamos reemplazando la fila que contenia el pivote. b. Convertir las demas celdas de la columna pivote en ceros. 0.5*(0.05*-1)+0.05 =0.025 1*(0.05*-1)+0.05 = 00*(0.05*-1) + 1= 1 ... y lo mismo para la tercera fila Reemplazamos S2 por X2 con su respectivo coeficiente y repetimos el paso 3 y 4.  

Coef Base 18.5 20 0 0 0 RHS Theta0 S1 0.025 0 1 -0.5 0 200 8,000 Sale

20 X2 0.5 1 0 10 0 18,000 36,0000 S3 0.075 0 0 -0.5 1 1,100 14,667

Z 10 20 0 200 0 360,000Cj- Zj 8.5 0 0 -200 0

Entra Repetir hasta que no se llegue al óptimo. Cómo lo sabemos? Cuando al evaluar si hay una variable que entrando mejore el resultado, es decir que la fila Cj - Zj tenga algun valor positivo, aún será posible mejorar la solución, si no hay ningún valor mayor que cero, significa que hemos llegado al óptimo, como se muestra en la siguiente y última tabla.  

Coef Base 18.5 20 0 0 0 RHS Theta19 X1 1 0 40 -20 0 8,00020 X2 0 1 -20 20 0 14,000

0 S3 0 0 -3 1 1 500Z 18.5 20 340 30 0 428,000

Cj- Zj 0 0 -340 -30 0