INVESTIGACION DE OPERACIONES INVESTIGACION UNIDAD IV Profesor: Samuel Galindo Carren
Integrantes: Uriel Martnez Mojica
Aguascalientes, Ags, Enero-Junio 2013 2
INDICE Pgina Temas:
4.1 INTRODUCCIN Y CASOS DE APLICACIN 1
4.2 DEFINICIN Y MODELOS DE PROGRAMACIN ENTERA Y BINARIO 2 a 6
4.3 MTODO DE GOMORY.. 7
4.4 MTODO DE BIFURCACIN Y ACOTACIN7 a 11
4.5 USO DE SOFTWARE.. 11
3
INTRODUCCIN Y CASOS DE APLICACIN
Sus pioneros fueron Wagner (1950) y Manne (1959). Tradicionalmente estos modelos se han considerado como subclases de la programacin lineal, sin embargo, las variables de decisin que aparecen en ellos slo toman valores enteros, por lo que realmente deben considerarse como problemas de programacin entera. El nmero de modelos lineales enteros y sus mtodos de solucin es en la actualidad bastante extenso, lo que nos ha llevado a hacer una seleccin considerando aquellos que creemos ms interesantes y que aparecen con mayor frecuencia en la realidad. No siempre es admisible que las variables de un PL tomen valores continuos, existen: Decisiones dicotmicas (si-no) Decisiones que deben tomarse en unidades discretas Si se requiere que todas las variables sean enteras, se dice quese habla de Programacin Lineal Entera Pura; si se necesita que algunas de las variables de decisin sean nmeros enteros, se tiene un problema de Programacin Lineal Entera Mixta. En algunas aplicaciones, slo se permite que todas las variables tomen valores de cero o uno, hablamos en estos casos de Programacin Lineal Entera Binaria (Digital); si se requiere que solamente algunas de las variables tomen valores de cero o uno, se tiene un problema de Programacin Lineal Entera Binaria Mixta.
DEFINICIN Y MODELOS DE PROGRAMACIN ENTERA Y BINARIO
Un modelo de programacin entera es un modelo que contiene restricciones y una funcin objetivo idnticas a las formuladas por planeacin lineal. La nica diferencia es que una o ms de las variables de decisin tienen que tomar un valor entero en solucin final. Existen tres tipos de modelos de programacin entera: * Pura * Mixta * Binaria
4
PROGRAMACIN ENTERA PURA
Un modelo entero puro (PLE), es cmo su nombre lo indica, un problema en el que se exige que todas las variables de decisin tengan valores enteros. Por ejemplo
* Es un modelo entero puro. Sin las restricciones adicionales x1, x2, x3 sean enteros (o sea las condiciones de integralidad) sera un problema de programacin lineal
Ejemplo:
Corte de madera
Una marquetera debe enmarcar 175 cuadros de 119x96 cm.En el mercado puede comparar varillas de la moldura indicada con longitud de 300 cm. Cmo deben cortase las varillas para obtener los marcos requeridos, obteniendo el menor sobrante posible?
Solucin
Modalidades de corte X1: Nmero de varillas estndar cortadas en la modalidad i (i= 1, 2, 3) Para 175 marcos se necesitan 350 piezas de cada longitud Minimizar: 62x1 + 1x2 + 30x3 longitud sobrante Sujeta a: 2x1 + 1x2 350 piezas de longitud 119 2x2 + 3x3 350 piezas de longitud 90
5
PROGRAMACIN ENTERA MIXTA Algunas de las variables de decisin tienen valores enteros. Las dems cumplen con la suposicin de divisibilidad. Un problema en el que solo se requieren que algunas variables tengan valores enteros mientras que otras pueden asumir cualquier numero no negativo (es decir, cualquier valor continuo) se llama programacin lineal entera mixta (PLEM). Por ejemplo, supngase que en el problema solo x1 y x2 deben ser enteros y x3 no. El problema resultante es:
Ejemplo: Programacin de la Produccin de un Ensamble Cierta empresa produce un artculo que se forma con cuatro piezas del componente A y tres piezas del componente B. Las piezas se pueden fabricar en cualquiera de las tres mquinas diferentes que posee la compaa, las cuales transforman las dos materias primas en las piezas que van al ensamble del producto final. La tabla siguiente muestrael nmero de gramos de cada materia prima que deben utilizarse en cada mquina para realizar un ciclo de produccin de las componentes. La misma tabla muestra el nmero de componentes de cada tipo que se obtienen en cada ciclo de produccin de cada una de las maquinas, as como el nmero de gramos disponibles de las materias primas.
Cmo debe programarse la produccin para obtener la mxima cantidad de artculos?
Construccin del modelo Para un mejor entendimiento elaboremos un diagrama de la situacin
Definicin de variables
Xi = Nmero de tandas de produccin que realiza la mquina i. Cada tanda de produccin de las mquinas utiliza cierta cantidad de las materias primas y produce cierta cantidad de los componentes A y B, con los cuales se obtiene el ensamble del 6
producto final. Como para cada unidad del ensamble se utilizan cuatro unidades del componente A y tres del componente B, se concluye que el nmero total de ensambles obtenidos ser el resultado de dividir por cuatro el nmero de componentes tipo A, pero tambin debe ser igual al nmero de componentes tipo B, dividido por tres. Necesitamos entonces definir tambin que
XA = nmero de componentes de tipo A obtenidas. XB = nmero de componentes de tipo B obtenidas.
En algunos problemas se restringe el valor de las variables a 0 o 1. Son de particular inters debido a que sepueden usar las variables 01 para representar decisiones dicotmicas (s o no). Diversos problemas de asignacin, ubicacin de plantas, planes de produccin y elaboracin de cartera, son de programacin lineal entera 01. Existen dos mtodos para generar las restricciones especiales que fuercen la solucin ptima del problema, hacia la solucin ptima entera deseada:
- Mtodo de ramificar y acotar. - Mtodo de planos de corte.
Desafortunadamente, ninguno de los dos mtodos es efectivo en la solucin de problemas de programacin lineal entera.
7
MTODO DE GOMORY (Mtodo de los planos cortantes) ste mtodo sirve para solucionar problemas de ms de dos (2) variables. Algoritmo 1.- Encontrar la solucin, empleando el mtodo simplex. 2.- Si la solucin es entera, entonces estamos en el ptimo. 3.- Si no es entera, introducir una restriccin nueva para la variable No entera, que tenga la mayor parte fraccional (Quebrar empates arbitrariamente) y resolver el nuevo problema mediante el mtodo dual simplex. Nueva restriccin a partir de la restriccin actual que tenga la variable cuyo valor en su parte fraccional sea mayor. a) Escriba cada constante como la suma de: Un nmero entero de cual quier signo y una fraccin no negativa, menor que uno (1). b) Cambiar la ecuacin trasladando los coeficientes enteros al lado derecho
MTODO DE BIFURCACIN Y ACOTACIN El mtodo de bifurcacin y acotacin (B&B, de Branch and Bound)resuelve un PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las restricciones de integralidad y aadiendo restricciones adicionales. El nmero de restricciones adicionales crece a medida que el mtodo B&B progresa. Estas restricciones permiten separar la regin factible en subregiones complementarias. El mtodo B&B establece inicialmente cotas inferior y superior del valor ptimo de la funcin objetivo. El mecanismo de bifurcacin aumenta progresivamente el valor de la cota inferior y disminuye tambin progresivamente el valor de la cota superior. La diferencia entre estas cotas es una medida de la proximidad de la solucin actual a la ptima, si sta existe. Al minimizar, se obtiene una cota inferior de la solucin ptima relajando las restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante. Adems, el valor de la funcin objetivo para cualquier solucin del PPLE original es una cota superior de la solucin ptima. De manera anloga, al maximizar, la solucin del PPL relajado es una cota superior para el ptimo y cualquier solucin del PPLE original es una cota inferior de la solucin ptima. 8
A continuacin se enumeran los pasos del algoritmo B&B para un PPLE Mixta: Paso 1: Iniciacin 1. Se establece una cota superior () y una cota inferior () de la solucin ptima. 2. Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad. 3. A) Si el problema relajado esinfactible, el original tambin lo es y no hay solucin. 4. B) Si la solucin obtenida satisface las condiciones de integralidad, es ptima. 5. C) En cualquier otro caso, se actualiza el valor de la cota correspondiente con el valor de la funcin objetivo resultante. Pas 2: Bifurcacin 1. Empleando la variable xk que ha de ser entera y no lo es, se generan mediante bifurcacin dos problemas. Si el valor de la variable que ha de ser entera xk es a.b, donde a y b son sus partes entera y fraccional respectivamente, los problemas fruto de la bifurcacin son los siguientes. 2. A) El primer problema es el PPLE relajado al que se la aade la restriccin xka B) El segundo es el PPLE relajado al que se le aade la restriccin xka+1 3. Estos problemas se colocan ordenadamente en una lista de problemas a procesar que son resueltos secuencialmente o en paralelo. Obsrvese que la tcnica de bifurcacin propuesta cubre completamente el espacio de soluciones. Pas 3: Solucin 3.1 Se resuelve el siguiente problema en la lista de problemas a procesar. Pas 4: Acotacin 4.1 Si la solucin del problema actual satisface las condiciones de integralidad y el valor ptimo de su funcin objetivo es menor que la cota superior actual, dicha cota se actualiza al valor ptimo de la funcin objetivo del problema resuelto, y el minimizador actual se almacena como el mejor candidato a minimizador del problema original. En caso de maximizaciones, la cota inferior actual se actualiza alvalor ptimo de la funcin objetivo del problema resuelto si ste es menor que dicha cota inferior.
4.2 Si, por el contrario, la solucin obtenida no satisface las restricciones de integralidad y el valor de la correspondiente funcin objetivo esta entre las cotas inferior y superior, se actualiza el valor de la cota inferior al valor de la funcin objetivo del problema resuelto y se procede a bifurcar de nuevo. En caso de maximizaciones, se actualiza el valor de la cota superior al valor de la funcin objetivo del problema resuelto y se procede a bifurcar de nuevo. 9
4.3 Los problemas generados en el proceso de bifurcacin se aaden a la lista de problemas que han de resolverse. Pas 5: Poda 5.1 Poda por cotas: Tiene lugar si la solucin no satisface las condiciones de integralidad y adems el valor de la funcin objetivo del problema resuelto es mayor que la cota superior para minimizaciones o menor que la cota inferior para maximizaciones. En este caso no es posible obtener soluciones mediante bifurcaciones adicionales de esa rama. 5.2 Poda por infactibilidad: Tiene lugar si el problema es infactible. 5.3 Poda por integralidad: Tiene lugar si la solucin del problema actual cumple las restricciones de integralidad.
Pas 6: Optimalidad 6.1 Si la lista de problemas a procesar no est vaca, se contina con el paso 3. 6.2 Si la lista de problemas a procesar est vaca, el procedimiento concluye. 6.3 Concluido el problema, si existe un candidato aminimizador, dicho candidato es el minimizador; en caso contrario, el problema es infactible. El algoritmo de B&B devuelve la solucin ptima o notifica la infactibilidad bien en el paso 1 en el paso 6. El proceso de bifurcacin concluye por la poda de la rama correspondiente como consecuencia de una de las tres razones siguientes: 1. La solucin del problema relajado es mayor que la cota superior disponible en el caso de minimizaciones, o menor que la cota inferior disponible para el caso de maximizaciones. 2. El problema considerado es infactible. 3. La solucin obtenida satisface las condiciones de integralidad.
Como puede verse, los pasos centrales del algoritmo B&B son la bifurcacin, la acotacin y la poda. La diferencia entre un algoritmo B&B u otro radica en las diferentes estrategias que pueden llevarse a cabo a la hora de implementar tales pasos. Estrategias de bifurcacin y procesamiento Cualquier variable que deba ser entera pero que no lo sea en la solucin actual, es una variable candidata para bifurcacin. Cul escoger no es una cuestin trivial, y su respuesta ha de basarse en la estructura del problema. Los problemas almacenados para ser procesados pueden tratarse mediante estrategias en 10
profundidad, en anchura o mixtas. La siguiente figura ilustra las dos primeras alternativas. Normalmente el conocimiento tcnico del problema permite establecer el tipo de estrategia a utilizar. Bsqueda en profundidad Bsqueda en anchura Unaestrategia de procesado en profundidad origina rpidamente problemas fuertemente restringidos que producen buenas cotas superiores e inferiores. Da lugar asimismo a problemas infactibles y por tanto a una deseable eliminacin de ramas. Por el contrario, una estrategia en anchura permite tratar problemas muy similares, de lo que pueden desprenderse ventajas computacionales como es la re optimizacin eficiente del problema relajado actual partiendo de la solucin del anterior. Estrategias de acotacin La acotacin es normalmente llevada a cabo mediante la denominada relajacin lineal, consistente en la obtencin de la cota a partir de la resolucin del PPL obtenido relajando las restricciones de integralidad del PPLE original. Sin embargo, existen otras posibles relajaciones del PPLE original, como la relajacin Lagrangiana en la que todo el conjunto de restricciones (Ax b en notacin matricial) es eliminado y la funcin objetivo del problema Maximixar z=cTx es reemplazada por Maximizar zR=cTx (Ax b), donde 0 es un vector fijo.
Si x* es una solucin ptima del problema original z zR, por lo que resolviendo la relajacin Lagrangiana el valor ptimo de zR proporciona una cota vlida para el problema original. Escogiendo adecuadamente el valor del vector dicha cota tiende a ser similar a la proporcionada por la solucin de la relajacin lineal, pero con la ventaja de que sin las restricciones del problema la resolucin de la relajacin Lagrangiana puedellegar a ser mucho ms rpida. En contrapartida, la poda llevada a cabo tras la acotacin mediante la relajacin Lagrangiana no suele ser tan potente como la llevada a cabo tras la relajacin lineal. En general, dos son los factores deseables a la hora de escoger una u otra estrategia de acotacin: (a) una rpida resolucin del problema relajado; y (b) la obtencin de una buena cota. En general, la relajacin lineal suele ofrecer un buen compromiso entre ambos factores. Estrategias de poda Como se ha comentado anteriormente, la poda de la rama correspondiente tiene lugar por una 11
de las tres razones siguientes: 1 1. La solucin del problema relajado es mayor que la cota superior disponible en el caso de minimizaciones, o menor que la cota inferior disponible para el caso de maximizaciones. 2. El problema considerado es infactible. 3. La solucin obtenida satisface las condiciones de integralidad. En cuanto al punto 1 puede optarse por convertir el problema a la forma estndar de maximizacin (tal y como se vio en el Tema 4) y podar siempre que la solucin del problema relajado sea inferior al ptimo actual.
En cuanto al punto 3, si el problema relajado y el subproblema generado mediante bifurcacin tan slo difieren en la falta de alguna restriccin, la poda puede simplemente basarse en comprobar si la solucin ptima de dicha relajacin es una solucin factible para el subproblema, ya que en este caso dicha solucin tambin ser ptima para este