5. optimizacion lineal

22
5. OPTIMIZACIÓN LINEAL El modelo de programación lineal (LP) es extensamente utilizado en casi todas las áreas del conocimiento. La relación lineal entre variables le confiere la particularidad de ser un modelo fácil de generar y simple de resolver y analizar. Esto permite automatizar el proceso de generación del modelo, por lo que es posible generar grandes modelos LP. Publicaciones recientes han reportado trabajo con modelos LP de más de cien mil variables. Para casos de 2 variables, puede emplearse el método gráfico. Para modelos de 2 a más variables, se emplea un algoritmo llamado SIMPLEX diseñado por Dantzig en la década del cincuenta. El problema de la resolución de un sistema lineal de inecuaciones se remonta, al menos, a Joseph Fourier, después de quien nace el método de eliminación de Fourier- Motzkin. La programación lineal se plantea como un modelo matemático desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los retornos, a fin de reducir los costos al ejército y aumentar las pérdidas del enemigo. Se mantuvo en secreto hasta 1947. En la posguerra, muchas industrias lo usaron en su planificación diaria. Los fundadores de la técnica son George Dantzig, quien publicó el algoritmo simplex, en 1947, John von Neumann, que desarrolló la teoría de la dualidad en el mismo año, y Leonid Kantoróvich, un matemático ruso, que utiliza técnicas similares en la economía antes de Dantzig y ganó el premio Nobel en economía en 1975. En 1979, otro matemático ruso, Leonid Khachiyan, diseñó el llamado Algoritmo del elipsoide, a través del cual demostró que el problema de la programación lineal es resoluble de manera eficiente, es decir, en tiempo polinomial.2 Más tarde, en 1984, Narendra Karmarkar introduce un nuevo método del punto interior para resolver problemas de programación 209

Upload: ponchoc2008

Post on 08-Sep-2015

257 views

Category:

Documents


1 download

DESCRIPTION

CAPITULO DE MANUAL QUE NOS EXPLICA OPTIMIZACION LINEAL, EMPIEZA CON DESIGUALDADES Y CONTINUA CON RESOLUCION GRAFICA Y LUEGO CON METODO SIMPLEX, UTILIZA A WINQSB Y EXCEL PARA RESOLUCION CON SOFTWARE

TRANSCRIPT

5. OPTIMIZACIN LINEALEl modelo de programacin lineal (LP) es extensamente utilizado en casi todas las reas del conocimiento. La relacin lineal entre variables le confiere la particularidad de ser un modelo fcil de generar y simple de resolver y analizar. Esto permite automatizar el proceso de generacin del modelo, por lo que es posible generar grandes modelos LP. Publicaciones recientes han reportado trabajo con modelos LP de ms de cien mil variables. Para casos de 2 variables, puede emplearse el mtodo grfico. Para modelos de 2 a ms variables, se emplea un algoritmo llamado SIMPLEX diseado por Dantzig en la dcada del cincuenta. El problema de la resolucin de un sistema lineal de inecuaciones se remonta, al menos, a Joseph Fourier, despus de quien nace el mtodo de eliminacin de Fourier-Motzkin. La programacin lineal se plantea como un modelo matemtico desarrollado durante la Segunda Guerra Mundial para planificar los gastos y los retornos, a fin de reducir los costos al ejrcito y aumentar las prdidas del enemigo. Se mantuvo en secreto hasta 1947. En la posguerra, muchas industrias lo usaron en su planificacin diaria.Los fundadores de la tcnica son George Dantzig, quien public el algoritmo simplex, en 1947, John von Neumann, que desarroll la teora de la dualidad en el mismo ao, y Leonid Kantorvich, un matemtico ruso, que utiliza tcnicas similares en la economa antes de Dantzig y gan el premio Nobel en economa en 1975. En 1979, otro matemtico ruso, Leonid Khachiyan, dise el llamado Algoritmo del elipsoide, a travs del cual demostr que el problema de la programacin lineal es resoluble de manera eficiente, es decir, en tiempo polinomial.2 Ms tarde, en 1984, Narendra Karmarkar introduce un nuevo mtodo del punto interior para resolver problemas de programacin lineal, lo que constituira un enorme avance en los principios tericos y prcticos en el rea.En los casos de programacin lineal, tanto la funcin objetivo, como las restricciones, son combinaciones lineales de las variables de inters:

Antes de abordar los temas de optimizacin repasaremos desigualdades.Las siguientes proposiciones son desigualdades en dos variables:1) 3x-2y < 6 y 2) x+y 6Un par ordenada (a,b) es una solucin de una desigualdad en x y y si la desigualdad es cierta cuando a y b se sustituyen. Por ejemplo (1,1) es una solucin de la desigualdad 1. La grfica de una desigualdad es la coleccin de todas las soluciones de la desigualdad. Para trazar la grfica de una desigualdad en trmino de dos variables:1. Sustituya el signo de desigualdad por uno de igualdad y trace la grfica de la ecuacin resultante. (se emplea una lnea discontinua para < >) y una lnea continua para ).

3x-2y=6

2. Se comprueba un punto en cada una de las regiones formadas por la grfica formada. Si el punto satisface la desigualdad, entonces sombrea toda la regin para denotar que todo punto de la regin satisface la desigualdad. 3x-2y < 6

Por ejemplo si sustituimos el punto (3,0) da 9 < 6, lo que hace que el punto no se cumpla.En cambio el punto (0,0) da 0 < 6 que se cumple. La lnea punteada indica que no toca los puntos sobre la lnea, solo la regin sombreada.5.1 Sistemas de desigualdades. Una solucin de un sistema de desigualdades en x y y es un punto (x,y) que satisface cada una de las desigualdades del sistema. Por ejemplo (2,4) es una solucin del siguiente sistema:x+y123x-4y15x0 , y0

Para trazar la grfica de un sistema de desigualdades en dos variables, primero se traza la grfica de cada una de las desigualdades sobre el mismo sistema coordenado y luego se encuentra la regin que es comn a cada grfica del sistema.

Cualquier punto dentro de la regin sombreada, incluyendo los que estn sobre la lnea contina, son solucin al sistema de desigualdades. El rea sombreada es denominada conjunto solucin.Al resolver un sistema de desigualdades es necesario considerar la posibilidad de que el sistema no tenga solucin.

Otra posibilidad es que el conjunto de desigualdades puede no estar acotado

X + Y < 3,X + 2Y > 3 Tiene infinitasSoluciones.

5.2 OPTIMIZACION LINEAL CON DOS VARIABLES.La funcin objetivo es la que habr de maximizarse o minimizarse y las restricciones determinan el conjunto de soluciones factibles.Solucin ptima de un problema de programacin linealSi un problema de programacin lineal tiene solucin, sta debe ocurrir en un vrtice del conjunto soluciones factibles. Si el problema tiene ms de una solucin, entonces por lo menos una de ellas debe ocurrir en un vrtice del conjunto de soluciones factibles. En cualquier caso, el valor de la funcin objetivo es nico.Ejemplo 5.1.- Encuentre el valor mximo de: z = 3X + 2Y Funcin objetivoSujeto a las restricciones.X 0Y 0X+2Y 4X Y 1Utilizaremos el programa winqsb para graficar las restricciones y resolver el problema de forma grfica.1. Entra a winqsb, da clic en file y da en new problem, da el nombre del problema, en nmero de variables da 2 al igual que en restricciones, selecciona maximizacin como criterio del objetivo y elige spreadsheet matriz form como formato de entrada. Da ok.

2. Ingresa los coeficientes para la funcin objetivo y restricciones en la celda que le corresponda, sabiendo que X es X1, Y es X2.Observa que en lower bound estn por defecto que X e Y son mayores o iguales que cero.

3. Da clic en solve and analyze y selecciona graphic method. Y da ok en la pantalla que se desplega.

(2,1)(0,2)(1,0)(0,0)

Al sustituir el punto (2,1) la funcin objetivo graficada en rojo da un valor de 8.

Si despejamos la funcin objetivo de esta manera para graficarla es fcil observar que la que tenga mayor valor de z es porque da el valor ms grade en la ordenada al origen con pendiente -3/2.

De esto, se comprueba que la solucin siempre se localizara en uno de los vrtices de la regin factible.

En resumen para el mtodo grfico.1. Traza la regin correspodiente al sistema de restricciones.2. Encuentra los vrtices de la regin factible.3. Sustituye los vrtices en la funcin objetivo.4. Elige el punto que optimiza la funcin objetivo.5.3 METODO SIMPLEX MAXIMIZACIN.Para problemas de programacin lineal en el que aparecen dos variables es conveniente el mtodo grfico, sin embargo, para problemas que implican ms de dos variables o problemas en el que hay un gran nmero de restricciones, es mejor aplicar un mtodos de solucin ms adaptables a computadora. El ms utilizado es el mtodo simplex creado por George Dantzig en 1946. Proporciona una manera sistemtica de analizar los vrtices de la regin factible para determinar el valor ptimo de la funcin objetivo.

Forma estndar de un problema de maximizacinMaximizar sujeto a Es decir el problema de programacin lineal en forma estndar la funcin objetivo debe maximizarse. Una solucin bsica es una solucin (x1, x2,, xn, s1, s2, sm). Las variables diferentes de cero se denominan variables bsicas. Una solucin bsica en la que todas las variables son diferentes de cero se llama solucin bsica factible.El mtodo simplex se lleva a cabo al efectuar operaciones elementales en los renglones de una matriz denominada tabla simplex. Este mtodo lo veremos a modo de ejemplo.

Como el lado izquierdo de cada desigualdad es menor o igual que el lado derecho, entonces deben existir nmeros no negativos s1, s2, s3 que sea posible sumar al lado izquierdo de cada ecuacin para obtener:Igualar la funcin objetivo a cero: - 3x - 2y + Z = 0 Ejemplo 5.2.- Suponga que se desea encontrarMaximizarZ= f(x,y)= 3x + 2y

sujeto a:2x + y18

2x + 3y 42

3x + y24

x 0 , y 0

2x + y+ s1=18

2x + 3y+s2 = 42

3x + y+s3 = 24

Escribir la tabla simplex, en las columnas aparecern todas las variables del problema y, en las filas, los coeficientes de las igualdades obtenidas, una fila para cada restriccin y la ltima fila con los coeficientes de la funcin objetivo:

Encontrar la variable de decisin que entra y la variable bsica que sale1. Para escoger la variable de decisin que entra, nos fijamos en la ltima fila, la de los coeficientes de la funcin objetivo y escogemos la variable con el coeficiente negativo mayor. Si existiesen dos o ms coeficientes iguales que cumplan la condicin anterior, entonces se elige uno cualquiera de ellos. Si en la ltima fila no existiese ningn coeficiente negativo, significa que se ha alcanzado la solucin ptima. Por tanto, lo que va a determinar el final del proceso de aplicacin del mtodo del simplex, es que en la ltima fila no haya elementos negativos. La columna de la variable que entra en la base se llama columna pivote.2. Para encontrar la variable de holgura que tiene que salir, se divide cada trmino de la columna valores solucin por el trmino correspondiente de la columna pivote, siempre que estos sean mayores que cero. Si hubiese algn elemento menor o igual que cero no se hace dicho cociente. En el caso de que todos los elementos fuesen menores o iguales a cero, entonces tendramos una solucin no acotada y no se puede seguir. El trmino de la columna pivote que en la divisin anterior d lugar al menor cociente positivo, indica la fila de la variable bsica que sale. Esta fila se llama fila pivote. Si al calcular los cocientes, dos o ms son iguales, indica que cualquiera de las variables correspondientes pueden salir de la base. En la interseccin de la fila pivote y columna pivote tenemos a pivote.Use las operaciones elementales en los renglones para que el pivote sea 1 y los dems elementos de la columna de entrada sean cero. Pivoteo. Fila del pivote: Nueva fila del pivote= (Vieja fila del pivote) / (Pivote) Resto de las filas: Nueva fila= (Vieja fila) - (Coeficiente de la vieja fila en la columna de la variable entrante) X (Nueva fila del pivote)

PIVOTEO

Observa que en la ltima fila todava hay elementos negativos por lo que se tiene que repetir el procedimiento anterior.

PIVOTEO

Nuevamente hay elemento negativo en la ltima fila. Repetimos.

PIVOTEO

Como todos los coeficientes de la fila de la funcin objetivo son positivos, hemos llegado a la solucin ptima. La solucin ptima viene dada por el valor de Z en la columna de los valores solucin, en nuestro caso: 33. En la misma columna se puede observar el vrtice donde se alcanza, observando las filas correspondientes a las variables de decisin que han entrado en la base: D(3,12).

Ejemplo 5.3.- A refinery has available two crude oils that have the yields shown in the following table. Because of equipment and storage limitations, production of gasoline, kerosene, and fuel oil must be limited as also shown in this table. There are no plant limitations on the production of other products such as gas oils. The profit on processing crude #1 is $1.00/bbl and on crude #2 it is $0.70/bbl. Find the approximate optimum daily feed rates of the two crudes to this plant.

Para solucionar el problema usaremos como software a excel y a winqsb para dar solucin al problema, usted realcelo por el mtodo simplex.X1 ser el crudo #1, x2, ser el crudo #2.Constraints:Gasoline production0.7x1 + 0.31 x2 < 6000Kerosene production0.06 x 1+ 0.09 x2 < 2400Fuel oil production0.24 x 1+ 0.60 x2 < 12000

Also: , profit = 1.00 x1 + 0.70 x2 ($/day)1. Ingresa a winqsb y define el problema como en el ejemplo 5.1.

2. Da clic en solve and analyze y elige solve the problema

Solucin en excel3. Crea una hoja de clculo como la que aparece abajo. En la celda debajo de profit y en la columna de valor actual ingresa las formulas dadas por el problema.

4. Luego ve a datos (versin 2007) y en el cuadro anlisis selecciona solver. En la celda objetivo selecciona a la celda que tiene el valor de profit. Selecciona la opcin mximo. En cambiando las celdas selecciona las celdas que tienen los valores de x1 y x2. Y en restricciones agrega cada una de las mismas, colocando en referencia al valor de la celda actual para cada tem y en restriccin el valor para cada tem. Luego ve a opciones y la tolerancia dala como 1%. Da clic en aceptar y luego en resolver. Acepta que deje la solucin propuesta por Excel.

Se puede observar el mismo resultado obtenido con winqsb, quiere decir que no es necesario utilizar el crudo 1, solo procesar el crudo 2.

5.4 METODO SIMPLEX MINIMIZACION.Forma estndar de un problema de minimizacinw = c1x1+c2x2++cnxn sujeta a las restricciones El procedimiento bsico aplicado para resolver el problema es convertirlo a un problema de maximizacin en forma estndar y luego aplicar el mtodo simplex. Veamos su aplicacin a modo de ejemploEjemplo 5.4.- encuentre el mnimo de W = 0.12x1 + 0.15x2 Funcin objetivoSujeto a las restricciones60x1 + 60x2 30012x1 + 6x2 3610x1 + 30x2 90 donde x1 0 , x2 0El primer paso para convertir este problema en un problema de maximizacin es formar la matriz aumentada de este sistema de desigualdades. A la matriz aumentada se agrega un ltimo rengln que representa los coeficientes de la funcin objetivo, luego se forma la transpuesta de esta matriz:

TRANSPUESTA La nueva matriz se interpreta como un problema de maximizacin y se denomina dual del problema de minimizacin original. Asi seguiremos el mtodo simplex formando la tabla simplex y su metodologa normal.

PIVOTEO

Como an hay negativos en la fila inferior.

PIVOTEO

As la solucin del problema de maximizacin dual es z=33/60=0.66. Este es la solucin al problema de minimizacin donde x1= 3 y x2 = 2 para w= 0.66.Ejemplo 5.5.- Una pequea compaa petrolera posee dos refineras. Los costos diarios de operacin de la refinera 1 son de 20, 000 dlares y diariamente puede producir 400 barriles de petrleo de alto grado, 300 barriles de petrleo de grado medio y 200 barriles de petrleo de bajo grado.La refinera 2 es ms reciente y moderna. Sus costos de operacin diarios ascienden a 25, 000 dlares y puede producir diariamente 300 barriles de petrleo de alto grado, 400 barriles de petrleo de grado medio y 500 barriles de petrleo de bajo grado.La compaa tiene pedidos por un total de 25, 000 barriles de petrleo de alto grado, 27, 000 barriles de petrleo de grado medio y 30, 000 barriles de petrleo de bajo grado. Cuntos das debe trabajar cada refinera para minimizar sus costos aunque refinando an suficiente petrleo para satisfacer sus pedidos? Resolveremos con winqsb.x1 y x2 el nmero de das que operan las dos refineras.W=20,000x1 + 25,000x2 sujeto a las restricciones400x1 + 300x2 25,000300x1 + 400x2 27,000200x1 + 500x2 30,000 donde x1 0 , x2 0

Por lo tanto la refinera uno debe operar 25 das y la dos 50 das. Usted compruebe resolviendo con el problema dual. Resuelva tambin en Excel.Se deja al lector exponer el tema cuando se trabaja con restricciones mixtas.

5.5 ACTIVIDADES1.

2. Encuentre el valor mximo y mnimo de: 3.

4. 5. Suponga que una planta procesadora de gasolina recibe cada semana una cantidad fija de materia prima para gasolina. Esta ltima se procesa en dos tipos de gasolina, de calidad regular y prmium. Estas clases de gasolina son de alta demanda; es decir, se tiene garantizada su venta y se obtiene diferentes utilidades para la compaa. Sin embargo, su produccin involucra ambas restricciones, tiempo y almacenaje en sitio. Por ejemplo, slo una de las clases se puede producir a la vez, y las instalaciones estn abiertas solamente 80 horas por semana. Adems, existe un lmite de almacenamiento para cada uno de los productos. Todos estos factores se enlistan abajo (observe que una tonelada mtrica, o ton, es igual a 1 000 kg):

Maximice las utilidades de esta operacin.6.

7.

5.6 BIBLIOGRAFA Luque, R. S., Simulacin y optimizacin avanzada en la industra qumica y de procesos: HYSYS. Espaa, Impreso en universidad de Oviedo, 2005. Larson, R. E., Introduccin al algebra lineal. Editorial Limusa, 2002. Himmelblau D.M.; Optimization of Chemical Processes. Ed. Mc Graw Hill C. Chapra S. Metodos numricos para ingenieros. Ed. Mc Graw Hill. Quinta edicin.

225