Investigación Método de Ramificación y Acotación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

INSTITUTO TECNOLOGICO NACIONAL DE

MEXICO CAMPUS ORIZABA


MATERIA
INVESTIGACION DE OPERACIONES I
GRUPO
10-11 HRS 4b4 E

DOCENTE
JOSUE JOEL RIVERA MONTALVO
TRABAJO
INVESTIGACIÓN MÉTODO DE
RAMIFICACIÓN Y ACOTACIÓN

ESTUDIANTE
ÁVILA GÓMEZ JAIR

ORIZABA, VER. 18 DE MAYO DE 2022

Ávila Gómez Jair


1
MÉTODO DE RAMIFICACIÓN Y ACOTACIÓN

En qué consiste

El método de Branch and Bound (o Ramificación y Acotamiento) es un algoritmo


diseñado para la resolución de modelos de Programación Entera. Su operatoria
consiste en linealizar el modelo de Programación Entera, es decir, resolver éste
como si fuese un modelo de Programación Lineal y luego generar cotas en caso
que al menos una variable de decisión (entera) adopte un valor fraccionario.
El algoritmo genera en forma recursiva cotas (o restricciones adicionales) que
favorecen la obtención de valores enteros para las variables de decisión. En este
contexto resolver el modelo lineal asociado a un modelo de Programación Entera
se conoce frecuentemente como resolver la relajación continua del modelo entero.
Consiste en una enumeración en árbol en el cual el espacio de las variables enteras
se divide de forma sucesiva dando lugar a problemas lineales que se resuelven en
cada nodo del árbol. Estos problemas lineales se obtienen relajando las
restricciones de integralidad y añadiendo restricciones adicionales.
Este método funciona a modo de proceso de enumeramiento de las posibles
soluciones enteras al problema original, esto lo hace dividiendo (ramificando) el
problema original en subproblemas más sencillos, a los que generalmente se les
quita las restricciones más complicadas de resolver (que son generalmente las
restricciones que hacen que las variables sean enteras) para poder solucionarlo.

Metodología para su resolución


El procedimiento de ramificación y acotación establece inicialmente una cota inferior
y una cota superior del valor óptimo de la función objetivo.
El mecanismo de ramificación aumenta progresivamente el valor de la cota inferior
y disminuye progresivamente el valor de la cota superior.
La diferencia entre estas dos cotas es una medida de la proximidad del punto actual
a la solución óptima, si ésta existe.

Ávila Gómez Jair


2
Inicio:
Se establece una cota superior y una cota inferior de la solución óptima.
Se resuelve el MILP relajando las variables enteras como variables continuas.
Si el problema relajado es no factible, el original también lo es y no hay solución.
Si la solución obtenida satisface las restricciones de integralidad, es la solución
óptima del problema original.
En otro caso, se actualiza el valor de la cota inferior con el valor óptimo de la función
objetivo del problema relajado.

Ramificación:
Empleando la variable xk que ha de ser entera y no lo es, se generan mediante
ramificación dos problemas. Si xk= a.b , donde a es la parte entera y b su parte
decimal, los problemas fruto de la ramificación son los siguientes:
MILP inicial relajado con la restricción xk ≤ a
MILP inicial relajado con la restricción xk ≥ a+1
Estos problemas se colocan en una lista de problemas a procesar que pueden
resolverse secuencialmente o en paralelo.

Solución:
Se resuelve el problema siguiente en la lista de problemas a procesar.

Actualización de cotas:
Si la solución del problema actual satisface las condiciones de integralidad y el valor
óptimo de su función objetivo es menor que la cota superior actual, se actualiza la
cota superior con este valor óptimo y la solución óptima del problema actual se
almacena como el mejor candidato a minimizador del problema original.
Si la solución del problema actual no satisface las condiciones de integralidad y el
valor de la correspondiente función objetivo está entre las cotas inferior y superior,
se actualiza el valor de la cota inferior con este valor óptimo, y se procede a
ramificar.

Ávila Gómez Jair


3
Procedimiento
1. Platear un modelo de programación lineal entera.
2. Se escoge un criterio de selección del subproblema a resolver.
3. Realizamos la "Relajación de programación Lineal"
4. Hallamos los puntos óptimos y el valor de Z del PL de la "relajación"
5. Analizamos los resultados, si no se obtienen variables enteras debemos ramificar
y acotar Z.
6. Repetir el proceso hasta encontrar valores enteros para las variables.

Qué es la ramificación
La ramificación consiste en dividir cada problema en dos nuevos subproblemas,
obtenidos mediante el uso de restricciones excluyentes que dividen el conjunto de
oportunidades del problema original en dos partes, pero eliminando en ambas
partes la solución no entera del problema original.

A qué se refiere con el proceso de acotación


Consiste en una enumeración en árbol en el cual el espacio de las variables enteras
se divide de forma sucesiva dando lugar a problemas lineales que se resuelven en
cada nodo del árbol.

Ávila Gómez Jair


4
BIBLIOGRAFÍA

Alvarado, J. (2017, 13 abril). Algoritmo de Branch and Bound (RamificaciÃ3n y

Acotamiento) para la resoluciÃ3n de modelos de ProgramaciÃ3n Entera.

Investigación de Operaciones.

http://www.investigaciondeoperaciones.net/branch_and_bound.html

de Operaciones, I. (2015, 14 mayo). Programación Entera y Ejemplo del Algoritmo de

Branch and Bound. Investigación Operativa.

https://www.investigacionoperativa.com/programacion_entera.html

Jiménez, A. (2011, 8 noviembre). Métodos de Ramificación - Optimización Entera.

Optimización Entera.

https://sites.google.com/site/optimizacionenteraydinamica/introduccion/metodos-

de-solucion-en-programacion-entera/metodos-de-ramificacion

Martínez, Á. (2015, 20 julio). Programación lineal mixta (MILP). Programación entera.

http://www.dma.uvigo.es/~aurea/Programaci%C3%9Bn_entera_2015.pdf

Susana, A. (2021, 9 abril). ¿qué es el metodo de ramificacion y acotamiento? ALPH.

https://aleph.org.mx/que-es-el-metodo-de-ramificacion-y-acotamiento

Tutoriales, G. (2016, 29 julio). Ejemplo del Algoritmo de Branch and Bound (Ramificación

y Acotamiento). Gestión de Operaciones.

https://www.gestiondeoperaciones.net/programacion-entera/ejemplo-del-algoritmo-

de-branch-and-bound-ramificacion-y-acotamiento/

Ávila Gómez Jair


5

También podría gustarte