Investigacion de operaciones I.docx

28
INVESTIGACION DE OPERACIONES I “Programación Lineal” 1.1. Introducción. La característica principal de la gestión económica de la empresa es la elección entre dos o más líneas de acción diferentes, mediante el proceso de convertir datos en información y está a su vez en acción; a este proceso lo llamamos Toma de Decisiones. El objeto de la teoría de la Toma de Decisiones es racionalizar dicha elección. Para ello provee de herramientas para la toma de decisiones importantes. Si bien no existe un conjunto de normas únicas para cualquiera de estas funciones, todas están relacionadas con diferentes formas de decisiones, por lo cual es posible elaborar una lista de pasos que se aplican a todas las circunstancias en las que se toman decisiones. El desarrollo y la aplicación de técnicas aumentaron a mediados de la década de 1940. Este impulso se debió principalmente al mejoramiento en las mediciones y al incremento de las matemáticas aplicadas en problemas administrativos corrientes. Así como a que se dispusieron con mayor facilidad de computadoras. La Programación Lineal (PL) es una técnica matemática de optimización, es decir, un método que trata de maximizar o minimizar un objetivo, por lo general es minimizar el costo para las actividades, ó bien maximizar las utilidades de la compañía. Se usa mucho en la industria militar y en la petrolera. Aunque el sector servicios y el sector público de la economía también la han aprovechado ampliamente. 1.2. Estructura básica de un problema de programación lineal (pl) Un problema de PL consta de una función objetivo (lineal) por maximizar o minimizar, sujeta a ciertas restricciones en la forma de igualdades o desigualdades.

Transcript of Investigacion de operaciones I.docx

Page 1: Investigacion de operaciones I.docx

INVESTIGACION DE OPERACIONES I “Programación Lineal”

1.1. Introducción.

La característica principal de la gestión económica de la empresa es la elección entre dos o más líneas de acción diferentes, mediante el proceso de convertir datos en información y está a su vez en acción; a este proceso lo llamamos Toma de Decisiones.

El objeto de la teoría de la Toma de Decisiones es racionalizar dicha elección. Para ello provee de herramientas para la toma de decisiones importantes. Si bien no existe un conjunto de normas únicas para cualquiera de estas funciones, todas están relacionadas con diferentes formas de decisiones, por lo cual es posible elaborar una lista de pasos que se aplican a todas las circunstancias en las que se toman decisiones.

El desarrollo y la aplicación de técnicas aumentaron a mediados de la década de 1940. Este impulso se debió principalmente al mejoramiento en las mediciones y al incremento de las matemáticas aplicadas en problemas administrativos corrientes. Así como a que se dispusieron con mayor facilidad de computadoras.

La Programación Lineal (PL) es una técnica matemática de optimización, es decir, un método que trata de maximizar o minimizar un objetivo, por lo general es minimizar el costo para las actividades, ó bien maximizar las utilidades de la compañía. Se usa mucho en la industria militar y en la petrolera. Aunque el sector servicios y el sector público de la economía también la han aprovechado ampliamente.

1.2. Estructura básica de un problema de programación lineal (pl)

Un problema de PL consta de una función objetivo (lineal) por maximizar o minimizar, sujeta a ciertas restricciones en la forma de igualdades o desigualdades.

Función objetivo .- La función por optimizar (maximizar o minimizar)

Restricciones .- Representan condiciones que es preciso satisfacer. Sistema de igualdades (=) y desigualdades (≤ó ≥).

Tipos de Restricciones:

Page 2: Investigacion de operaciones I.docx

o De no Negatividad .- Garantizan que ninguna variable de Decisión sea negativa.o Estructurales .- Reflejan factores como la limitación de recursos y otras condiciones que

impone la situación del problema.

1.3. Método Gráfico.

Un sistema de ecuaciones es un conjunto de dos o más ecuaciones con varias incógnitas que conforman un problema matemático consistente en encontrar los valores de las incógnitas que satisfacen dichas ecuaciones.

Dentro del sistema de ecuaciones algebraicas, las incógnitas son valores numéricos o funciones que al ser substituidas en las ecuaciones del sistema hace que éstas se cumplan automáticamente sin que se llegue a una contradicción. Es decir, se debe cumplir la igualdad del sistema.

El método gráfico se utiliza para la solución de problemas de Programación Lineal, representando geométricamente a las restricciones, condiciones técnicas y el objetivo.

El modelo se puede resolver en forma gráfica si sólo tiene dos variables. Para modelos con tres o más variables, el método gráfico es impráctico o imposible.

La característica distintiva de los modelos es que las funciones que representan el objetivo y las restricciones son lineales. No se permite multiplicación de variables ni variables elevadas a potencias.

Algunas de las siguientes restricciones no se pueden emplear en un modelo de programación lineal.

Un modelo de programación lineal se define usualmente como sigue:  Maximizar o minimizar  Sujeto a:

Page 3: Investigacion de operaciones I.docx

Donde:  

 El objetivo de la solución gráfica es encontrar (entre todos los puntos del conjunto factible) el punto o los puntos que optimicen la función objetivo.

El proceso de resolución de un sistema de ecuaciones mediante el método gráfico se resuelve en los siguientes pasos:

Paso 1.- Se igualan las restricciones y se despeja la incógnita “Y” en ambas ecuaciones:

2X + 3Y = 12 Y = (12 - 2X) / 32X + Y = 8 Y = 8 – 2X

Paso 2.- Se construye para cada una de las dos ecuaciones de primer grado una tabla de valores correspondientes:

Page 4: Investigacion de operaciones I.docx

Paso 3.- Se representan gráficamente ambas rectas en los ejes coordenados:

Al trazarse las líneas dentro de una grafica, estas pueden comportarse en tres formas posibles:

a) Si ambas rectas se cruzan, las coordenadas del punto de corte son los únicos valores de las incógnitas (x,y) donde el sistema es: “Compatible Determinado".

b) Si ambas rectas son coincidentes, el sistema tiene infinitas soluciones. Por lo tanto el sistema es “Compatible Indeterminado".

c) Si ambas rectas son paralelas, el sistema no tiene solución. Por lo que el sistema es: "Incompatible".

Lo anterior se puede visualizar en las siguientes graficas:

(a) (b) (c)

Paso 4.- Identificar al conjunto factible (área sombreada de azul), donde cada punto es un candidato para resolver este problema.

Page 5: Investigacion de operaciones I.docx

Paso 5.- Después de haber encontrado las coordenadas de todas las esquinas es necesario que se sustituya el valor de cada una de ellas en la función objetivo, para que encuentres el valor máximo (o mínimo, según sea el caso). En este ejemplo se sustituye en la función objetivo:

Resultados:

Vértice A (0,4) Valor = 8Vértice B (3,2) Valor = 13Vértice C (4,0) Valor = 12

Observando los resultados podemos concluir que el máximo se encuentra en el vértice B.Ejemplo:

Entre Adriana y Carlos tienen 600 pesos, pero Carlos tiene el doble de dinero que Adriana. ¿Cuánto dinero tiene cada uno?

Sea "X" la cantidad de pesos de Adriana y "Y" la cantidad de pesos de Carlos. Para expresar las condiciones del problema se tienen las siguientes ecuaciones:

Si los dos tienen 600 pesos, esto nos proporciona la ecuación: X + Y = 600 Pero Carlos tiene el doble de dinero que Adriana, tendremos: Y = 2X 2X - Y

= 0

Ambas ecuaciones juntas forman el siguiente sistema, donde despejamos la incógnita “Y” en ambas ecuaciones:

Y = 600 – XY = 2X

Calcular sus respectivas tablas de valores:

Y = 600 - X Y = 2x

X

YX Y200 400600 0

Page 6: Investigacion de operaciones I.docx

100 200200 400

Como podemos observar en la gráfica, las dos rectas se cortan en el punto: (200, 400), por lo que la solución del sistema es:

Adriana = X = 200 PesosCarlos = Y = 400 Pesos

Ejercicios: Encontrar gráficamente las coordenadas del punto de corte entre cada par de rectas:

a) X = 5 X = Y

b) X + Y = 5 X² + Y² = 1

c) 2X + Y = 3 Y + 3Z = 2.

d) Y = 2/5 X.Y = 3X + 113.

Ejemplo:

Una compañía de auditores se especializa en preparar liquidaciones y auditorías de empresas pequeñas. Tienen interés en saber cuántas auditorías y liquidaciones pueden realizar mensualmente para maximizar sus ingresos. Tomando en cuenta lo siguiente:

Se dispone de 800 horas de trabajo directo y 320 horas para revisión. Una auditoría en promedio requiere de 40 horas de trabajo directo y 10 horas de revisión,

además aporta un ingreso de 300 dls. Una liquidación de impuesto requiere de 8 horas de trabajo directo y de 5 horas de

revisión, produce un ingreso de 100 dls. El máximo de liquidaciones mensuales disponibles es de 60.

Objetivo: Maximizar el ingreso total.

 Variable de Decisión:

Cantidad de auditorías (X1).

Page 7: Investigacion de operaciones I.docx

Cantidad de liquidaciones (X2). 

Restricciones: Tiempo disponible de trabajo directo. Tiempo disponible de revisión. Número máximo de liquidaciones. No negatividad.

  Grafica Resultante:  

La solución óptima siempre se encuentra en uno de los vértices del conjunto de soluciones factibles. Analizando estos valores en la función objetivo: 

 

 

Page 8: Investigacion de operaciones I.docx

Ejemplo: Un departamento de publicidad tiene que planear para el próximo mes una estrategia de publicidad para el lanzamiento de una línea de T.V. a color. Tiene a consideración 2 medios de difusión: La televisión y el periódico.

Los estudios de mercado han mostrado que:

1. La publicidad por T.V. Llega al 2% de las familias de ingresos altos y al 3% de las familias de ingresos medios por comercial.

2. La publicidad en el periódico llega al 3% de las familias de ingresos altos y al 6% de las familias de ingresos medios por anuncio.

 La publicidad en periódico tiene un costo de 500 dls por anuncio y la publicidad por T.V. tiene un costo de 2000 dls por comercial.

La meta es obtener al menos una presentación como mínimo al 36% de las familias de ingresos altos y al 60% de las familias de ingresos medios minimizando los costos de publicidad. Objetivo:

Minimizar los costos de publicidad.  Variable de Decisión:

Anuncios para las familias de ingreso alto (X1). Anuncios para las familias de ingreso medio (X2).

 Restricciones:

Porcentaje de presentación.o Mínimo al 36% de las familias de altos ingresos.o Mínimo al 60% de las familias de ingreso medio.

No negatividad Grafica Resultante:

Solución Óptima: 

 

Page 9: Investigacion de operaciones I.docx

Ejemplo: Un expendio de carnes acostumbra preparar carne para hamburguesa con una combinación de carne molida de res y carne molida de cerdo:

La carne de res contiene 80% de carne y 20% de grasa y le cuesta a la tienda 80 centavos por libra.

La carne de cerdo contiene 68% de carne y 32% de grasa y cuesta 60 centavos por libra.

¿Qué cantidad de cada tipo de carne debe emplear la tienda por cada libra de carne para hamburguesa si desea minimizar el costo y mantener el contenido de grasa no mayor de 25%?

Objetivo: Minimizar costos.

Restricciones: Mantener el contenido de grasa no mayor de 25%. No negatividad.

Grafica Resultante:

Solución Óptima: 

Uso de Microsoft Excel para aplicar el Método Grafico

Los pasos que se deben seguir para realizar gráficas en hojas de cálculo son los siguientes.

1. Escribimos los sistemas de ecuación que deseamos graficar. 2. Se despeja una de las variables de la ecuación sea ¨X¨ o ¨Y¨. 3. Se escribe en las filas y columnas los coeficientes de las ecuaciones. 4. Marcar las celdas y columnas ocupado por los coeficientes de la ecuación.5. Diríjase a la barra de herramientas, escoja la opción Insertar- gráfico, elige el tipo de

gráfico que desea y el rango que va a cumplir sea de x o y.6. Se puede elegir las opciones que ofrece el programa, por ejemplo ponerle nombre a la

gráfica y a las variables. 7. Escojamos la opción Terminar y nos aparece la gráfica de nuestro sistema.

Page 10: Investigacion de operaciones I.docx

1.4. Método Simplex.

Los problemas reales de programación lineal generalmente tienen variables de decisión y muchas restricciones. Tales problemas no pueden ser resueltos gráficamente. Se usan algoritmos tales como el simplex.

El método simplex es un procedimiento iterativo que progresivamente permite obtener una solución óptima para los problemas de programación lineal. Dicho método es especialmente útil en problemas de gran escala (resueltos con una computadora).

Variables de holgura

El método simplex empieza con el planteamiento de una función objetivo y ecuaciones de restricción, luego debe construirse la tabla simplex. Esto requiere que las restricciones sean establecidas como igualdades. En los problemas de maximización se logra esto añadiendo una variable de holgura (S) a cada restricción.

La holgura representa una cantidad no utilizada, o la diferencia entre lo que es usado y el límite de lo que puede usarse.

Procedimiento general del simplex

1. Copiar la función objetivo.2. Despejar las variables de la función para que esta sea igualada a cero (0).3. Agregar las inecuaciones correspondientes a las restricciones estructurales.4. Agregar la ó las variables de holgura en cada restricción.5. Se crea la tabla Simplex, es una tabla en donde se colocan en la cabecera de está la

función objetivo (Z), las variables de decisión (X, Y, …), variables de holgura (S) y la variable de restricción (R). Posteriormente se colocan debajo de cada una de ellas los valores de contribución de la variable en cada renglón, de acuerdo a una ecuación por renglón.

6. Identificar y seleccionar la columna pivote. Ésta es la columna con el número negativo más grande en el renglón de la función objetivo. Esta se convierte en la nueva variable de la solución.

7. Luego identifique y seleccione el renglón pivote. Éste es el renglón con la razón más pequeña del valor de restricción dividido por el valor de la columna pivote. Úsense sólo números positivos. Esto identifica la variable que deja la solución.

8. Encierra en un círculo el elemento pivote. Ésta es la intersección del renglón y la columna pivotes.

9. Convierte al elemento pivote en un uno (1), para ello se divide cada valor del renglón pivote entre el valor del elemento pivote, formando con ello una tabla nueva.

10. Generar los demás renglones de la nueva tabla con ceros en la columna pivote. Esto se hace multiplicando el nuevo elemento pivote (1) por el negativo del elemento en la columna pivote. El resultado será sumado al antiguo renglón. Introduzca este nuevo renglón en la nueva tabla.

11. Se repite todos y cada uno de los pasos ubicados desde el paso #6 con la nueva tabla simplex.

12. Cuando el renglón de la función objetivo y de las ecuaciones de restricción tienen cero (0), entonces ya se termino el ejercicio y los valores de cada variable son los que se encuentran en la columna de restricción (R) del renglón en donde se ubique el valor uno (1) en dicha variable de decisión.

Page 11: Investigacion de operaciones I.docx

Ejemplo:

La empresa química Chemical S.A. de C.V. produce limpiadores para automóviles (X) y pulidoras (Y); gana $10 dólares por cada lote de limpiador y $30 dólares por cada lote de pulidoras. Ambos productos requieren procesarse en las mismas máquinas, A y B, pero el limpiador requiere cuatro horas en A y ocho en B, mientras que un pulidor requiere seis horas en A y cuatro en B.

Durante la semana entrante las máquinas A y B tienen 12 y 16 horas de capacidad disponible, respectivamente. Suponiendo que existe demanda de ambos productos, ¿Cuántos lotes de cada producto deben producirse para alcanzar la unidad óptima Z?

La función objetivo es: Maximizar Z = $10X + $30Y

Las restricciones son: Máquina A: 4X + 6Y ≤ 12 Máquina B: 8X + 4Y ≤16No Negatividad: X, Y ≥ 0

El método simplex siempre comienza con la función objetivo y se iguala a cero:

Z = 10X + 30Y Z - 10X - 30Y = 0

Agregamos las ecuaciones de restricción:

4X + 6Y ≤ 128X + 4Y ≤16

Añadiendo variables de holgura a las desigualdades, se obtienen las nuevas ecuaciones que se muestran en la siguiente tabla:

Restricción Desigualdad Ecuación con holguraMáquina A 4x + 6y ≤ 12 4x + 6y + S1 = 12Máquina B 8x + 4y ≤ 16 8x + 4y + S2 = 16

La restricción de la máquina A ahora indica cuatro horas por el número de unidades de X producidas más seis horas por el número de unidades de Y producidas, más las horas de holgura = 12. Así, pues, si una unidad de X y una Y son producidas, se tienen dos horas de tiempo de holgura S en la máquina A, dado que 4(1) + 6(1) + 2 = 12. Si ni X ni Y son producidas, “se produce” una holgura total, y S1 = 12.

Al vaciar lo anterior en la tabla inicial de simplex

Z X Y S1 S2 R1 -10 -

300 0 0

0 4 6 1 0 120 8 4 0 1 16

Se identifica la columna y el renglón pivotes

Z X Y S1 S2 R1 -10 -30 0 0 00 4 6 1 0 1

212 / 6 = 2

0 8 4 0 1 16

16 / 4 = 4

Se identifica la columna y el renglón pivotes

Page 12: Investigacion de operaciones I.docx

Z X Y S1 S2 R1 -10 -

300 0 0

0 4 6 1 0 120 8 4 0 1 16

Se divide todo el renglón entre 6 para hacer al elemento pivote en uno (1) y posteriormente se transforma en cero (0) al resto de los valores en la columna pivote:

Z X Y S1 S2 R30R2 + R1 1 10 0 5 0 60(1/6) * R2 0 2/3 1 1/6 0 2R3 - 4R2 0 16/3 0 -4/6 1 8

Con los valores obtenidos obtenemos la nueva tabla simplex:

Z X Y S1 S2 R1 10 0 5 0 600 2/3 1 1/6 0 20 16/3 0 -

2/31 8

Dado que ahí no hay más números negativos, la solución queda de la siguiente manera:

Z = 60 X = 0 Y = 2 S2 = 8

Estos valores nos indican lo siguiente:

La variable de decisión X no aparece en la solución, lo que indica que no se producen unidades de limpiadores de automóviles.

La variable de decisión Y indica que se debe producir 2 unidades de pulidoras. La variable de holgura S2 indica que la maquina B tendrá un tiempo muerto de 8 horas. La función Z nos indica que la máxima utilidad a obtener es de $60 dólares.

Se identifica y señala tanto a la columna y al renglón pivote:

Z X Y S1 S2 R1 10 0 5 0 600 2/3 1 1/6 0 2 2 / (2/3) = 6/20 16/3 0 -2/3 1 8 8 / (16/3) = 3/2

Se multiplica a todo el renglón por 3/16 para hacer al elemento pivote en uno (1) y posteriormente se transforma en cero (0) al resto de los valores en la columna pivote:

Z X Y S1 S2 RR1 – 10R2 1 0 0 25/4 -

15/845

R2 – (3/2)R3 0 0 1 17/48 -9/32

55/32 => 1

(3/16) * R2 0 1 0 -1/8 3/16 3/2

Page 13: Investigacion de operaciones I.docx

Nótese que la variable de holgura asociada con la restricción 2 también tiene un 1 y ceros, lo cual significa que tiene holgura en la solución y que la restricción no se agotó. Entonces hay sólo una variable de decisión (no holgura) en la solución (Y) y una restricción agotada (número 1). Esto concuerda con el teorema fundamental de programación lineal, que establece que el número de variables de decisión (no holgura) de la solución siempre será igual a número de restricciones que son agotadas.

Esta solución es la misma que la dada en el ejemplo resuelto por el método gráfico.

Ejemplo:

La empresa Kelson Sporting fabrica dos modelos de guantes de beisbol: uno normal y una manopla de cátcher. Dicha empresa dispone de 900 horas de tiempo de producción en su departamento de Corte y Costura, 300 horas en su departamento de Terminado y 100 horas en su departamento de Empaque y Embalaje.

Los requerimientos para producir algún producto son:

ProductoCorte y Costura

TerminadoEmpaque y Embalaje

Utilidad

Guante Normal 1 1/2 1/8 $5

Manopla de Cátcher

3/2 1/3 1/4 $8

La empresa está interesada en maximizar la utilidad total, así que se preguntan: ¿Cuántos guantes de cada modelo deberá fabricarse? y ¿Cuántas horas reales se necesitan programar?

Ejemplo:

La empresa Car Phones vende dos modelos de teléfono: el X y el Y. Los registros de ventas muestran que se utilizan 3 horas para vender un teléfono X y 5 horas para vender un teléfono Y. Además la empresa obtiene ganancias de $40 dólares por cada teléfono X y $50 dólares por cada teléfono Y.

Si la empresa dispone de un total de 600 horas de venta para el siguiente periodo de 4 semanas y las políticas de la empresa exigen ventas mínimas de 25 unidades de cada modelo. ¿Cuál es la meta optima de ventas para las próximas 4 semanas?

1.5. Método de la Gran M.

Mientras que los Programas  Lineales que solo tienen restricciones de <= se pueden resolver sólo usando variables de holgura, para aquellos programas lineales que involucren restricciones de tipo >= e = es necesario usar variables artificiales. 

Las variables de holgura tienen un significado físico real que corresponde a las disponibilidades o requerimientos no usados en las restricciones, pero que las  variables  artificiales no tienen ninguna representación física y sólo son usadas como un comodín matemático para ayudar en la solución del problema.

Definimos la letra M como un número muy grande pero finito para usarlo como coeficiente de las variables artificiales en  la función objetivo y con sentido contrario a la misma para penalizar de manera muy grande la existencia de las mismas en la solución.  Si el objetivo es minimizar las variables artificiales entraran con M positivo y si es maximizar las variables artificiales se usaran como -M.  

Page 14: Investigacion de operaciones I.docx

Ejemplo:Min Z  = 2X1 +  X2 + 3X3 Sujeto a:                  3X1 +   X2 + 2X3   <=    10                    X1 -  2X2 + 3X3    >=     6                  2X1 + 3X2 -    X3    <=     9                     X1 +  X2  + 2X3      =     7 C.N.N

 Procedimiento general del simplex

1. Convertir al Modelo Estándar:  

Cada restricción debe ser convertida de inecuación a una igualdad, agregando tantas variables como se requiera. Con las restricciones de tipo <=, simplemente se agrega una variable de holgura en cada restricción. Por ejemplo:

                    3X1 +   X2 + 2X3   <=    10                    3X1 +   X2 + 2X3 + S1  =    10

 Para las restricciones de tipo >=, también se coloca una variable de holgura pero negativa, la cual equivale decir: lo usado en la restricción2es igual al mínimo requerido que es 6 mas el adicional que está en S2:

                      X1 -  2X2 + 3X3 - S2    =    6  

Además es necesario adicionar una variable comodín, llamada Variable Artificial, sin ningún significado físico, sólo como artificio matemático:

                     X1 -  2X2 + 3X3 - S2 + A1 =   6  

 La tercera restricción es de tipo <=, por lo que no tenemos ningún problema con ella:

                   2X1 + 3X2 - X3    <=  9                     2X1 + 3X2 - X3  + S3   =  9  

 La cuarta restricción es de tipo =, simplemente adicionamos una variable artificial al lado izquierdo:

                     X1 +  X2  +2X3      =     7

                  X1 +  X2  +2X3 + A2  =     7

Lo siguiente a realizar es obtener la nueva función objetivo Z agregando tanto las variables de holgura con coeficiente 0 como las variables artificiales con coeficiente M. Positiva si es minimizando o negativa si es maximizando.

  De acuerdo con todo lo anterior, el modelo del problema queda de la siguiente manera: 

Min Z  =  2X1 + X2  +  3X3  + 0S1 + 0S2 + MA1 + 0S3 + MA2 Sujeto a:                    3X1 +    X2   +  2X3   +   S1                                            =    10                     X1  -  2X2   +  3X3               - S2 + A1                           =     6                    2X1 +  3X2  -     X3                                + S3                  =     9                          X1 +    X2   +  2X3                                          + A2     =     7           C.N.N (Condición de No Negatividad)

 

2. Despejar las variables artificiales, A1 y A2 en este ejemplo:

Page 15: Investigacion de operaciones I.docx

A1 = 6 - X1  +  2X2 - 3X3  + S2 A2 = 7 - X1 -  X2  -  2X3

3. Sustituir los valores de las variables artificiales en la función objetivo y reducir términos semejantes, factorizando cada una de las variables é igualando la función a los términos independientes:

Min. Z = 2X1 + X2 + 3X3 + 0S1 + 0S2 + M(6 - X1 + 2X2 - 3X3 + S2) + 0S3 + M(7 - X1 - X2 - 2X3)

Z - X1 (2 - 2M) +  X2 (1 + M)  +  X3 (3 - 5M) - 0S1 - MS2 - 0S3 = 13M

4. Escribir en formato de Tabla Simplex.  

Z X1 X2 X3 S1 S2 S3 A1 A2

Z 1 -(2-2M) -(1+M) -(3-5M) 0 -M 0 0 0 13MR1 0 3 1 2 1 0 0 0 0 10R2 0 1 -2 3 0 -1 1 0 0 6R3 0 2 3 -1 0 0 0 1 0 9R4 0 1 1 2 0 0 0 0 1 7

  

5. Definir la Variable que entra  

Recordemos que tenemos un grupo de variables que llamamos base a las que tenemos en cuenta en cada iteración para dar la solución, las demás variables las llamamos No Básicas y se se toman con valor cero (de manera análoga a cuando resolvemos un sistema de ecuaciones que tiene más variables que ecuaciones, tenemos que hacer cierta cantidad de estas variables iguales a cero).

 En la primera iteración la regla para escoger las variables que estarán en  la base es la siguiente:

Si hay variables de decisión y de holgura, se toma la de holgura. Si hay variables de decisión, de holgura y artificiales se toma la variable artificial. Si hay variables de decisión y artificiales se toma la variable artificial.

 Por esta razón para la primera restricción dónde hay variables de decisión (Xi) y la de holgura S1, tomamos la S1 para  la base, en la segunda restricción hay de holgura, de decisión y artificial, tomamos la artificial A1, en la tercera hay de decisión y de holgura, tomamos la de holgura S3 y por último en la cuarta restricción hay de decisión y artificial, por lo que tomamos la A2 para la base. Todas las demás se asumen en la primera iteración con valor cero.

 Llenar la tabla inicial. Tal como se ve en la tabla de abajo. Hay muchos formatos de tablas, pero en esencia son el mismo. Esta el listado de variables que se tienen en la base (en la segunda columna rotulada como base), en la primera columna están los coeficientes de las variables básicas, luego vienen las restricciones con sus coeficientes, las disponibilidades/requerimientos de las restricciones en la columna RHS, una columna vacía llamada Theta que ya llenaremos. Las dos últimas filas son para determinar que variable va a entrar a la base. Algunas personas omiten la fila Z. Realmente no es necesaria, sólo para dar un poco más de claridad a la iteración. La fila Z es el resultado de la suma del producto de la columna 'coef' y de cada columna en la restricción, así:    0 * 3 + M * 1     +  0*2   +  M*1    =  2M

Page 16: Investigacion de operaciones I.docx

    0 * 1 + M * (-2) +   0*3   +  M*1    =  -M    0 * 2 + M * 3    +   0 *-1 +  M*2    =  5M ...de igual manera para las otras 5 columnas.

 La fila Cj-Zj es el resultado de restar el coeficiente de la función objetivo (la segunda fila de negro) con el valor de Z que acabamos de calcular.       2-2M = 2-M (evidente!)      1-(-M) = 1+M... etc.

 En este momento nos hacemos la siguiente pregunta: cuál variable al entrar a la base hace que la función objetivo disminuya más (porque estamos minimizando)? O en otras palabras, cuál es el valor más negativo de Cj-Zj? Recordemos que M representa un número finito, muy, muy grande.  Rapidamente nos damos cuenta que corresponde a 3-5M, puesto que de todas es la que tiene el valor negativo de M con mayor valor absoluto. Si no lo ve tan rápido, haga lo siguiente: reemplace M por un valor grande positivo en la fila Cj -Zj, digamos por 1000.000, notará de inmediato que el valor más negativo esta en la columna respectiva a la variable X3. Por lo tanto ésta variable debe entrar a reemplazar a otra variable en la base... a cuál??

     X1 X2 X3 S1 S2 A1 S3 A2      Coef Base 2 1 3 0 0 M 0 M RHS Theta  0 S1 3 1 2 1 0 0 0 0 10 5.00  M A1 1 -2 3 0 -1 1 0 0 6 2.00 Sale0 S3 2 3 -1 0 0 0 1 0 9 M  M A2 1 1 2 0 0 0 0 1 7 3.50    Z 2M -M 5M 0 -M M 0 M 13M      Cj- Zj 2-2M 1+M 3-5M 0 M 0 0 0              Entra                

6. Definir la Variable que Sale

Para establecer que variable debe salir de la base, hacemos un cociente entre la disponibilidad (RHS) y la columna de la variable que entra, en nuestro caso, acabamos de decir que es la variable X3. Este cociente lo vamos a llamar Theta. Algunos libros lo llaman 'ratio'. 

10 /2 = 56 / 3  = 2

   9 / -1 = ...

Bueno, en caso que dividamos por un valor negativo, no lo vamos a tener en cuenta para salir, por lo que lo rotulamos como M.

7/2   = 3.5 

La variable que más nos restringe, por lo tanto la que el valor de theta es menor (pero positivo) es de 2, correspondiendo a la variable A1. Por lo tanto sale A1 y entra X3.

 A la intersección entre la columna de la variable que entra y de la fila de la variable que sale, la llamamos pivote. Sobre ella se empleará el método de Gauss-Jordan. Aquí siempre he señalado el pivote de color verde.  En la fig 2 corresponde al valor 3.

 7. Iteración: Gauss-Jordan

 

Page 17: Investigacion de operaciones I.docx

Luego que se ha encontrado que variable sale de la base, y cual entra y que pr lo tanto ya tenemos una celda pivote, es necesario realizar la eliminación gaussiana. Ello lo podemos resumir como:

  Convertir la celda pivote en 1, dividiendo toda la fila por ella misma Convertir todas las celdas por  encima y por debajo de la celda pivote en cero.

 Vamos paso por paso: Convertir la celda pivote en 1.

 Llenamos un formato vacio simplex,  la fila que contiene el pivote la vamos a pasar al nuevo formato convertida mediante la siguiente operación: dividimos toda la fila por el valor del pivote. (Para convertir el pivote en 1).

 1/3  =  0.33-2/3 =  -0.673/3  = 1(Pivote)0/3= 0-1/3= -0.331/3=0.330/3=00/3=06/3= 2 (En la columna del RHS) 

 Y la pasamos al nuevo formato (Fig3).

Esta nueva fila que hemos calculado va a servir para convertir las demas celdas por la columna del pivote en cero, como es el requisito del método. Fijemonos un momento en la fig 2, en el pivote en verde, que contiene el 3, precisamente el que acabamos de convertir en 1. Por encima encontramos el 2 y por debajo encontramos el -1 y el 2. Estos valores son los que debemos convertir en ceros. 

Para ello hacemos operaciones entre filas y columnas de la siguiente manera (s recuerda bien los detalles de esto, de sus clases de algebra lineal sientase libre de saltar esta explicación): Multiplicamos la fila que contenia el pivote por el opuesto de cada número que deseamos eliminar y se lo sumamos a la fila que deseamos convertir.  Ej

 Para la primera fila que contiene el 2 que deseamos eliminar multiplicamos la fila pivote por -2 y se la sumamos asi:

 La fila pivote que quedó convertida en esto:  0.33    -0.67    1    0    -0.33    0.33    0    0   

2

La multiplicamos por -2 y nos da: -0.67    1.33    -2    0    0.67    -0.67   0    0    -4

El valor anterior lo sumamos componente a componente a la fila en la que queremos hacer la eliminación: que es la siguiente:

3    1    2    1    0    0    0    0    10

Y el resultado es:

2.33    2.33   0    1    0.67    -0.66    0    0    6 

Este valor es el que copiamos en el nuevo formato en la fig 3 en la fila correspondiente, la primera. 

Page 18: Investigacion de operaciones I.docx

Repetimos este procedimiento para la fila 3 y la fila 4. Con ello ya llenamos todo el formato.

8. Identificar y seleccionar la columna pivote. Ésta es la columna con el número negativo más grande en el renglón de la función objetivo. Esta se convierte en la nueva variable de la solución.

9. Luego identifique y seleccione el renglón pivote. Éste es el renglón con la razón más pequeña del valor de restricción dividido por el valor de la columna pivote. Úsense sólo números positivos. Esto identifica la variable que deja la solución.

10. Encierra en un círculo el elemento pivote. Ésta es la intersección del renglón y la columna pivotes.

11. Convierte al elemento pivote en un uno (1), para ello se divide cada valor del renglón pivote entre el valor del elemento pivote, formando con ello una tabla nueva.

12. Generar los demás renglones de la nueva tabla con ceros en la columna pivote. Esto se hace multiplicando el nuevo elemento pivote (1) por el negativo del elemento en la columna pivote. El resultado será sumado al antiguo renglón. Introduzca este nuevo renglón en la nueva tabla.

13. Se repite todos y cada uno de los pasos ubicados desde el paso #6 con la nueva tabla simplex.

14. Cuando el renglón de la función objetivo y de las ecuaciones de restricción tienen cero (0), entonces ya se termino el ejercicio y los valores de cada variable son los que se encuentran en la columna de restricción (R) del renglón en donde se ubique el valor uno (1) en dicha variable de decisión.

 5. Prueba de Optimidad:   La prueba de optimidad se debe hacer cada vez que se evalua si hay una variable que debe entrar a la base. Y es sencillamente lo siguiente. Se hace la pregunta: Hay alguna variable que al entrar mejora la solución? Ello lo vemos en la fila Cj-Zj. Si al calcular esta fila aún hay valores negativos y estamos minimizando, entonces es posible mejorar aún más la solución. Lo mismo para el caso de la maximización. Si hay valores positivos en la fila Cj-Zj y estamos maximizando, aún no hemos llegado al óptimo.  En la fig 2 nos damos cuenta que habían todavia valores negativos en Cj-Zj, por lo tanto no se había terminado, ahora en la fig 3, aún quedan valores negativos, el más negativo de ellos esta en la variable X2 por lo tanto debe entrar.  Continuando el algoritmo en la fig3 evaluamos que la variable A2 debe salir, la reemplazamos en el tablero de la figura 4. Hacemos gauss-jordan, luego calculamos Z y calculamos Cj-Zj.  Fig 3.     X1 X2 X3 S1 S2 A1 S3 A2      Coef

Base 2 1 3 0 0 M 0 M RHS

Theta  

0 S1 2.33 2.330.00

1.00 0.67 -0.67 0 0 6 2.57  

3 X3 0.33 -0.671.00

0.00 -0.33 0.33 0 0 2 M  

0 S3 2.33 2.330.00

0.00 -0.33 0.33 1 0 11 4.71  

M A2 0.33 2.330.00

0.00 0.67 -0.67 0 1 3 1.29

Sale

  Z 1+0.33 - 3 0 - 1-0.66M 0 M 6+3M    

Page 19: Investigacion de operaciones I.docx

M2+2.33M

1+0.66M

 Cj- Zj

1-0.33M 3-2.33M 0 0 1-0.66M

-1+1.66M 0 0      

      Entra                   

Page 20: Investigacion de operaciones I.docx

Aquí en el tablero de la figura 4, evaluamos si hay algún valor negativo en la fila Cj-Zj, nos damos cuenta que no, por lo que no hay ninguna variable que al entrar mejore la solución.

 

Hemos llegado al óptimo:

Z=9.8571 X1=0 (Por que no estaba en la base.)  X2= 1.29 X3=2.86

 

    X1 X2 X3 S1 S2 A1 S3 A2    Coef Base 2 1 3 0 0 M 0 M RHS Theta0 S1 2.00 0.00 0.00 1.00 0.00 0.00 0.00 -1.00 3.00  3 X3 0.43 0.00 1.00 0.00 -0.14 0.14 0.00 0.29 2.86  0 S3 2.00 0.00 0.00 0.00 -1.00 1.00 1.00 -1.00 8.00  1 X2 0.14 1.00 0.00 0.00 0.29 -0.29 0.00 0.43 1.29    Z 1.43 1.00 3.00 0.00 -0.14 0.14 0.00 1.29 9.8571    Cj- Zj 0.57 0.00 0.00 0.00 0.14 M+0.62 0.00 M+2.43