Programación Lineal Entera

10
INVESTIGACIÓN INGENIERÍA UNIVERSIDAD NACIONAL JOSÉ F. SÁNCHEZ 1. Introducción En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción solo se establecen expresiones lineales. Sin embargo no responden a problemas lineales ya que algunas (o todas) las variables del problema toman valores que no están en un conjunto continuo. Por ejemplo, pueden ser variables que toman valores 0 o 1 (binarias), o variables que toman valores enteros no negativos (0, 1, 2,...), etc. Con el termino Programación lineal entera, (PLE), nos referiremos al siguiente tipo de Problemas: problemas que formalmente son problemas de programación lineal, Max / Min Z=A x =b,x≥ 0 pero en los que algunas variables están restringidas a tomar valores enteros. Por ejemplo x 1 0 ,x 2 0 y entera, x 3 {0,1 } ,x 1 una variable como las que hemos manejado hasta ahora, x2 una variable entera no negativa y x3 una variable binaria, que toma únicamente dos valores, 0 o 1. 2. Aplicaciones De La Programación Lineal Entera (Ple) Las variables binarias x j {0,1 } pueden utilizarse para modelar situaciones en las que se decide si una acción se realiza, x j =1 o si no se realiza x j =0 . Un ejemplo típico de utilización de este tipo de variables es el problema de inversiones, a continuación se muestra una de sus versiones más simplificadas. EJEMPLO Una empresa se dedica a la elaboración de tres tipos de camisetas, C1, C2 y C3. Para dicha elaboración se utilizan PROGAMACIÓN LINEAL ENTERA Página 1

description

progamacion lineal

Transcript of Programación Lineal Entera

INGENIERA INFORMTICA INVESTIGACIN OPERATIVA I

PROGAMACIN LINEAL ENTERA (PLE)

1. IntroduccinEn este tema se presenta un tipo de problemas formalmente similares a los problemas de programacin lineal, ya que en su descripcin solo se establecen expresiones lineales. Sin embargo no responden a problemas lineales ya que algunas (o todas) las variables del problema toman valores que no estn en un conjunto continuo. Por ejemplo, pueden ser variables que toman valores 0 o 1 (binarias), o variables que toman valores enteros no negativos (0, 1, 2,...), etc.Con el termino Programacin lineal entera, (PLE), nos referiremos al siguiente tipo de Problemas: problemas que formalmente son problemas de programacin lineal, Max / Min pero en los que algunas variables estn restringidas a tomar valores enteros.Por ejemplo y entera, una variable como las que hemos manejado hasta ahora, x2 una variable entera no negativa y x3 una variable binaria, que toma nicamente dos valores, 0 o 1.2. Aplicaciones De La Programacin Lineal Entera (Ple)Las variables binarias pueden utilizarse para modelar situaciones en las que se decide si una accin se realiza, o si no se realiza . Un ejemplo tpico de utilizacin de este tipo de variables es el problema de inversiones, a continuacin se muestra una de sus versiones ms simplificadas.EJEMPLOUna empresa se dedica a la elaboracin de tres tipos de camisetas, C1, C2 y C3. Para dicha elaboracin se utilizan horas de trabajo, metros de tela y tres maquinas especificas (cada una para un tipo de camiseta). Dichas maquinas no son de su propiedad por lo que deben alquilarlas, en la tabla siguiente se muestran la disponibilidad diaria de horas de trabajo, metros de tela, costo de elaboracin por tipo de camiseta, precio de venta de cada camiseta y el costo diario de alquiler de las maquinas (una maquina se alquilara si se deciden elaborar unidades del tipo de camisetas que la requieren). Con dicha informacin hay que plantear un modelo de programacin lineal entera cuya resolucin proporcione el plan de produccin de mximo beneficio.

Camiseta 1Camiseta 2Camiseta 3Disponibilidad

Horas326150

Metros434160

Costo de produccin648

Precio de venta12815

Costo de alquiler de maquina200150100

SOLUCINPara plantear dicho problema en primer lugar se definen variables que representan el nmero de camisetas de cada tipo elaboradas, una primera versin del problema es:

s.a.:

Pero en este planteamiento no se tiene en cuenta el costo del alquiler, para ello se definen tres variables binarias , de tal forma que toma valor 1 si se elaboran camisetas de tipo j, es decir si y por tanto hay que alquilar la maquina correspondiente. La variable toma valor cero en caso contrario.De esta forma la funcin objetivo se puede escribir en la forma

Ahora hay que garantizar que las variables se comporten adecuadamente, para ello se introducen las siguientes restricciones:

Donde representa una cantidad grande que no pueda ser superada por ningn valor de . Se puede observar que si entonces para que se cumpla la restriccin correspondiente debe tenerse que . Por otro lado si entonces podra tomar cualquier valor 0 o 1, pero como estamos maximizando e tiene costo negativo entonces el propio algoritmo en el proceso de resolucin le asignara valor 0.

3. Resolucin de problemas de PLEEn esta seccin se desarrollan dos mtodos de resolucin de problemas de programacin lineal entera. El primero de ellos esta diseado para problemas de programacin lineal entera binaria (nicamente con variables 0,1) y el segundo para problemas de carcter general, es decir para PLE puros o mixtos.La idea bsica de ambos algoritmos es similar. Teniendo en cuenta que ciertas variables del problema toman soluciones enteras (0,1, 2, 3,. . ., o 0/1) los algoritmos realizan

3.1 Mtodo enumerativo sencillo para PLE binarios purosEste algoritmo solo es valido para problemas de programacin lineal entera con todas las variables binarias.

Vamos a desarrollar el algoritmo para un formato especfico de los PLE: problema de mnimo con todos los costos, no negativos

Obviamente las dos imposiciones sobre los problemas no constituyen una restriccin para el tipo de problemas a resolver. Si un problema es de mximo basta con considerar la minimizacin de su funcin objetivo opuesta Por otro lado, si algn tiene entonces se realiza el cambio de variable , esta nueva variable tambin es una variable binaria y al realizar dicho cambio la nueva variable tiene su costo igual a . Por otro lado en la funcin objetivo aparece una constante que se puede suprimir ya que no va a afectar al proceso de optimizacin.

Por tanto cualquier PLE binario se puede poner como mnimo con todos sus costos no negativos.

EJEMPLO (Binarios Puros)

s.a.:Solucin

En primer lugar pasamos a mnimo considerando la funcin objetivo opuesto.

A continuacin, hacemos los cambios de variable , al sustituir obtenemos:

s.a.:

Y finalmente, para aplicar el algoritmo que vamos a desarrollar, ordenamos las variables del problema segn el coeficiente de la funcin objetivo, de menor a mayor (olvidndonos de la constante):

Una vez que se dispone el problema en la forma indicada, la idea del procedimiento es muy sencilla. Por un lado mantenemos en una variable el mejor valor encontrado hasta el momento, inicialmente Z = 1 (cota superior del valor optimo). Por otro lado tratamos de buscar las soluciones en orden creciente de funcin objetivo (de mejor a peor soluciones).

La mejor solucin posible, si fuera factible, ser la solucin con todas las variables tomando valor cero. . Pero esta solucin no verifica la segunda restriccin (ni la tercera), por tanto no puede ser candidata a ser solucin ptima.

Ahora continuamos considerando soluciones en las que solo una variable toma valor 1 y el resto son cero. La variable que toma valor 1 se toma siguiendo el orden que aparece en la funcin objetivo, ya que, si por ejemplo y el resto cero, fuera una solucin factible seguro que no podr ser mejorada por (resto cero), o (resto cero), etc.

y resto de variables valor cero. Solucin que no verifica la segunda restriccin.

Consideramos la siguiente mejor solucin en la que solo una variable toma valor, que es y el resto cero.

(resto cero), solucin no factible por restriccin 1. (resto cero), solucin no factible por restriccin 3.

(Resto cero), solucin factible de valor 3. Como dicho valor es mejor (menor) que la mejor solucin almacenada (hasta el momento no tenemos ninguna solucin almacenada), guardamos la solucin y actualizamos la cota superior Z = 3.

Aun queda una solucin en la que solo una variable toma valor pero esta solucin no se comprueba por que se encuentra a la derecha de y su coeficiente en la funcin objetivo ser igual o peor (mayor).

Tras comprobar las soluciones en las que solo una variable toma valor pasamos a considerar las soluciones en las que dos variables toman valor 1 y el resto son cero. La mejor de ellas ser la solucin en la que las dos primeras variables de la funcin objetivo ordenada toman valor, despus cuando la primera y la tercera toman valor, despus cuando la primera y la cuarta toman valor, y as sucesivamente.

Desde el momento el que se dispone de una cota superior Z lo primero que se hace antes de comprobar la factibilidad es comprobar el valor de la funcin objetivo, si dicho valor es peor que el de la cota, dicha solucin no merezca la pena y se elimina por lo que denominaremos acotacin. Si el valor es mejor se procede con la comprobacin de la factibilidad. (resto cero). El VFO = 4 > Z = 3 por tanto independientemente de si fuera factible o no dicha solucin no podr mejorar la que ya tenemos de antes, por tanto se descarta.

Adems de descartar la solucin anterior por acotacin hay que tener en cuenta que dicha solucin era, en cuanto a valor de la funcin objetivo, la mejor candidata de todas (tiene las dos variables de ms a la izquierda de la funcin objetivo ordenada). Por tanto, cualquier solucin de dos variables tomando valor 1 ser igual o peor que ella y como ya es peor que la que nos defino la cota superior, descartamos automticamente, por acotacin, todas las soluciones con dos variables tomando valor 1.

Las soluciones con 3, 4 o 5 variables tomando valor se descartan automticamente, por que la mejor de cada una de ellas contiene en particular que proporcionaba un valor peor que el de la cota superior almacenada.

Una vez estudiadas todas las soluciones, implcita o explcitamente, la solucin ptima corresponde a la ltima vez que se actualiz la cota Z. En nuestro caso la solucin es ; Tras obtenerla deshacemos los cambios de variable, obteniendo como solucin ; ; ; ; con un VFO=5.

3.2 Mtodo de ramificacin y acotacinEn este apartado se considera la resolucin de problemas de programacin lineal entera mixta con el formato siguiente:

Definicin 1. Llamaremos problema relajado de un problema de programacin lineal entera al problema de programacin lineal obtenido al eliminar todas las condiciones de integridad que existan sobre las variables.

EJEMPLO (Ramificacin y Acotamiento)

s.a.:

Resolucin Grafica

Si en los valores de en el punto B que es el punto optimo no son enteros se deber aplicar el mtodo de Ramificacin y Acotamiento para la solucin y as desaparecer los valores fraccionarios del valor optimo.Ramificacin y Acotamiento

En este mtodo partiremos del valor o valores fraccionarios del punto ptimo, los cuales son:

En caso de que hubiera dos o mas valores fraccionarios se tomara el valor ms pequeo, en este caso tomaremos.

s.a.:

s.a.:

s.a.:

Resultados

La nueva utilidad es Z=10 y los valores son:

Pgina 7UNIVERSIDAD NACIONAL JOS F. SNCHEZ CARRIN