La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Lineal Entera

Presentaciones similares


Presentación del tema: "Programación Lineal Entera"— Transcripción de la presentación:

1 Programación Lineal Entera
Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería – Maestría/Doctorado Programación Lineal Entera Antonio H. Escobar Z. 2013

2 Branch and Cut

3 Branch and Cut Con este nombre se define una familia de métodos usados para resolver problemas de programación lineal entera mixta PLEM. Se clasifica en el grupo de los métodos exactos, porque garantiza la solución óptima global del problema. Es un algoritmo que combina conceptos de Branch and Bound, planos de corte, extensiones, heurísticas primales y pre-procesamiento. Requiere resolver una secuencia de problemas de programación lineal cuyas características y orden de solución son determinados por la dinámica del algoritmo.

4 Branch and Cut Una etapa de pre-procesamiento precede a todas las demás, y en ella se intenta reducir restricciones y eliminar variables y fijar valores de variables. Esta etapa suele denominarse Cut-and-Branch. Pre-procesamiento

5 Branch and Cut Usa los criterios usados en Branch and Bound para ramificar nodos con soluciones fraccionarias. Pre-procesamiento

6 Branch and Cut En su interior requiere resolver un gran número de PL´s relajados. Es decir, necesita de una técnica eficiente (en tiempo de cómputo y memoria) para solucionar este tipo de problemas. Pre-procesamiento PL PL´s , PL,s … PL´s PL PL PL PL PL PL PL PL PL PL PL PL PL PL

7 Branch and Cut Cuando no logra sondar un nodo, adiciona desigualdades válidas (cortes) al PL relajado asociado a dicho nodo.

8 Gomory (1958) fue el primero en proponer cortes a partir del cuadro simplex, sin embargo, su aplicación cayó en desuso durante muchos años porque parecían quedar atrapados y eran poco eficientes. Land-Doig fueron los primeros en proponer un algoritmo Branch-and-Bound en 1960 creando el concepto de árbol de subproblemas. Como aplicación individual, el método Branch-and-Bound resultó ser más eficiente que el método de planos de corte, debido a las dificultades computacionales que presentaba este último. En teoría, los métodos de planos de corte puros pueden ser utilizados para resolver programas enteros sin necesidad de emplear ramificación, sin embargo, en la práctica los métodos de plano de corte puros no son tan eficientes.

9 El interés en los planos de corte resurgió en la década de 1980 como consecuencia del trabajo de Crowder que demostró la potencialidad de los cortes obtenidos para problemas enteros con restricciones tipo mochila. Zanette-Fischetti-Balas (2010) han desarrollado métodos con reglas lexicográficas puede dar lugar a un conjunto de planos de corte de Gomory que interactúan bien uno con el otro y permitir un método de planos de corte puro que trabaja efectivamente. El concepto de corte ha evolucionado y asume formas cada vez más sofisticadas, a tal punto que son fundamentales en el rendimiento de exitosos paquetes comerciales de programación entera.

10 El interés por los planos de cortes impulsó el desarrollo de una teoría poliedral para muchas clases de problemas, conduciendo al desarrollo de cortes específicos para cierta clase de problemas, que tuvieron mucho éxito debido a la reducción drástica de los tiempos de cómputo respecto a los necesarios por Branch-and-Bound. En el caso del problema TSP (Traveling Salesman Problem) se ha mostrado que las restricciones de subtours representan facetas del PLE. En 1990 Balas demostró que los planos de corte resultan ser muy efectivos en cualquier problema de programación entera cuando se combinan con conceptos de Branch-and-Bound.

11 En los trabajos iniciales los planos de corte se aplicaron únicamente al nodo raíz del árbol Branch-and-Bound. Los algoritmos desarrollados no resultaron ser muy eficientes. En 1987 Padberg-Rinaldi presentaron una propuesta en la que generan cortes adicionales en el interior del árbol, para el problema TSP, con muy buenos resultados. A pesar de que por muchos años hubo poco interés por el uso de los cortes de Gomory, Bixby-Rothberg (2007) mostraron que son los planos de corte generales más útiles. Uno de los problemas con los planos de corte de Gomory es que se eventualmente conduce a un problema dual degenerado, si no se tiene cuidado durante su construcción.

12 Branch and Cut - aspectos en investigación
En la actualidad la unión de planos de cortes y Branch-and-Bound es un línea de investigación en la que además se están incluyendo aspectos como computación paralela y computación en la nube. Un aspecto que resulta importante es buscar ortogonalidad entre los cortes generados. Andersen (2007) y Dey-Tramontani (2009) presentaron desarrollos en los cuales se obtienen cortes a partir de dos filas de la tabla símplex, que potencialmente podrían ser más fuertes que los cortes derivados de una sola fila. Estos métodos utilizan ideas de teoría de grupos.

13 Branch and Cut - aspectos en investigación
El estudio de generación de familias de cortes válidos fuertes sólo resulta útil en la práctica si va acompañado del desarrollo de rutinas de separación, que puedan encontrar eficientemente desigualdades violadas. El problema de la separación consiste en determinar en forma eficiente un plano de corte que separe la solución fraccionaria de un PL relajado y la envolvente convexa del problema de PLE.

14 Branch and Cut - aspectos en investigación
Los cortes generados en un nodo del árbol Branch-and-Bound son válidos para sus nodos descendientes únicamente. Estos se denominan cortes locales. Estos cortes pueden ser modificados para que sean válidos en todo el árbol, mediante un proceso de lifting (extensiones). Desigualdad válida para P1 infactible para P2 lifting P1 P2

15 Branch and Cut - aspectos en investigación
El uso de los coeficientes de costo reducido puede conducir a la fijación de variables en sus valores mínimos o a la introducción de variables a la solución actual dando como resultado un algoritmo Branch-and price-and-Cut. Deben considerarse metodologías de manejo de simetría en problemas cuyas formulaciones contienen simetría natural. Por ejemplo, en la programación de tareas en las que se usan máquinas idénticas. El método Branch-and-Bound pierde eficiencia en esta clase de problemas. El método de punto interior puede presentar varias ventajas respecto al método simplex si se usa dentro de un esquema Branch-and-Cut. Entre estas se encuentran: Mayor eficiencia computacional en problemas de gran tamaño. Los cortes son generados sobre una solución que es más central, conduciendo a cortes más profundos. No presenta ciclaje cuando se tienen PL´s degenerados.

16 Conceptos asociados: Pre-procesamiento: Reducción del espacio solución, reducción de variables, obtención de buenas soluciones iniciales factibles. Métodos de solución de PL: Primal simplex, dual simplex, dual simplex canalizado, método de punto interior. Branch-and-Bound: Ramificación, limitación y sondaje. Planos de corte o desigualdades válidas: Cortes generales (Gomory, cover, clique, zero-half, etc), cortes específicos del problema (ejemplo, subtours en el problema TSP). Extensiones: lifting para cortes cover, lifting para cortes disyuntivos.

17 Conceptos asociados: Pre-procesamiento: Produce reducciones en el tiempo final de cálculo en factores del orden de 10 veces. Variables principales: Algunas variables del problema siempre permanecen fuera de la base en los PL´s. Fijación de variables: Algunas variables están obligadas a asumir ciertos valores específicos para garantizar factibilidad. Reducción de restricciones: Existen restricciones redundantes y la posibilidad de compactar restricciones existentes. Redondeo de partes fraccionarias: Algunas variables y algunas desigualdades pueden hacerse más restrictas. Determinación de soluciones heurísticas iniciales de buena calidad y factibles → A partir de heurísticas y heurísticas primales.

18 Heurísticas primales Son algoritmos heurísticos que generan o tratan de construir soluciones enteras factibles de buena calidad para problemas de PLE o PLEM. Utilizan como referencia una solución óptima fraccionaria asociada a la relajación lineal del problema. Permiten encontrar limitantes superiores para la incumbente del problema de PLE, ya que representan soluciones enteras factibles.

19 Heurísticas primales Existen diversas propuestas en la literatura especializada como las siguientes: Simple Rounding: Realiza redondeo asegurando factibilidad. Rounding: Realiza redondeo violando potencialmente algunas restricciones. Shifting: Altera los valores de variables enteras o continuas, en su vecindad, para recuperar factibilidad. Integer Shifting: Altera valores de variables enteras para obtener factibilidad.

20 Heurísticas primales Diving Heuristics:
Imitan un procedimiento similar a Branch and Bound. Toma una solución de un PL relajado y redondea iterativamente las componentes fraccionarias de la solución buscando una solución entera factible. Generalmente realiza búsqueda usando la regla LIFO. A diferencia de un Branch and Bound, que busca la mejor forma de subdividir un nodo y evaluarlo (resolviendo PLs), las reglas de ramificación de estas heurísticas buscan la mejor forma de alcanzar la factibilidad.

21 Ejemplo: A partir de la solución del PL correspondiente, encontrar una solución factible usando Diving. - C

22 Factible? Factible? Variable seleccionada para asignar valor entero.
( Branching ) Factible? Factible? La variable x2 conserva su valor fraccionario de 9/4

23 Las dos soluciones generadas son infactibles (violan restricciones)

24 infactible infactible Variable seleccionada para asignar valor entero.
( Branching ) infactible infactible No sonda ninguna de las soluciones.

25 infactible infactible Factible? Factible? Factible? Factible?

26 infactible infactible Factible? Factible?

27 - C Una solución es factible y entera, la otra es infactible. x2= 3

28 infactible infactible factible y entera infactible
Finaliza el proceso, se encontró una solución factible entera. infactible infactible factible y entera infactible

29 Si se explora la otra rama del árbol se tienen dos soluciones infactibles:

30 infactible infactible factible y entera infactible infactible
Solución heurística primal usando diving

31 Resumen: Solución heurística primal usando diving - C

32 Heurísticas primales Diving Heuristics: Existen varias propuestas en la literatura para realizar este proceso: Dive-and-Fix Fractional Diving Coefficient Diving Linesearch Diving Guide Diving Pseudocost Diving Vectorlength Diving

33 Heurísticas primales Large Neighborhood Search (LNS): Resuelven subproblemas de PLE del PLE original. Los subproblemas se crean fijando en algún valor el mayor número de variables en un nodo no sondado. Existen varias propuestas en la literatura para realizar este proceso: Local Branching RINS Crossover Mutation S S S S Sub_PLE Sub_PLE

34 Limitante inferior y superior
- C Mínimo valor posible de la función objetivo Máximo valor posible de la función objetivo Mejor solución entera factible

35 Branch and Cut ? ? ? ? ? ? ? ? ? ? Variable para ramificar?
Próximo PL a resolver? ? ? Pseudocostos? Mejor estimado? LIFO? ? ? ? Cortes? Extensiones? Heurísticas primales? Sub-PLE? De que tipo? Cuantos? Donde? ? ? ? ?

36

37

38

39

40


Descargar ppt "Programación Lineal Entera"

Presentaciones similares


Anuncios Google