Está en la página 1de 11

1

Nombre del alumno: Luis Carlos Tijerina De La Rosa

Investigación De Operaciones

Tema: 3.3

Actividad: EF8: Ejercicio Método de Ramificación y acotamiento

Fecha de entrega: 10-05-2023


2

Método de Ramificación y Acotamiento

(Branch and Bound)

RESUMEN

Hasta el momento solo hemos visto métodos de resolución de problemas lineales

continuos. Sin embargo es muy frecuente que la naturaleza del problema nos diga que las

variables son enteras o binarias. Una alternativa es simplemente aproximar la solución hacia

el entero mas cercano, pero esta estrategia podría ser bastante mala como de hecho ocurre

para las variables binarias. El algoritmo de ramificación y acotamiento (o de branch and

bound) comienza con una relajación del problema (no considerar restricciones de

integralidad) y construye un árbol con soluciones enteras particionado el conjunto de

soluciones factibles de modo de descartar soluciones fraccionarias. Sin embargo, este solo

hecho de descomponer nos puede llevar a un problema inmanejable por lo que debemos podar

el árbol de manera inteligente.

Abstract

So far we have only seen methods of solving continuous linear problems. However, it is

very common for the nature of the problem to tell us that the variables are whole or binary.

An alternative is simply to approximate the solution for the closest set, but this strategy could

be quite bad as it actually happens for binary variables. The branch and bound algorithm

begins with a relaxation of the problem (does not need integrality constraints) and builds a
3

tree with whole solutions partitioning the set of feasible solutions in order to rule out

fractional solutions. However, this single fact of decomposing can lead to an unmanageable

problem so we must prune the tree intelligently.

INTRODUCCION

Un problema de programación entera es un problema de programación lineal.

El sentido común dicta que este tipo de problemas deben ser mucho más sencillos que los

problemas de programación lineales convencionales.

Existen tres casos de programación entera:

-Programación entera pura.

-Programación entera mixta.

-programación entera binaria.

Un enfoque para obtener soluciones enteras a un problema es resolver de la solución óptima

obtenida de la solución del Simplex y redondear las soluciones a números enteros.

Uno de los métodos más usados para solucionar este tipo de problemas es el método de

ramificación y acotamiento

OBJETIVOS

El objetivo de esta investigación es presentar un método para resolver problemas de

programación entera (PE) mediante la técnica de ramificación y acotamiento.


4

Además de conocer la ramificación y acotación de programación entera y los pasos para

llevarla acabo asimismo encontrar la solución optima del PE mediante la enumeración

exhaustiva de los puntos en una región factible de un subproblema.

algoritmo de ramificación y acotamiento

OBJETIVOS ESFECIFICOS

 Plantear problemas de programación Entera.

 Aplicar el algoritmo de Ramificación y Acotamiento

 Utilizar el WinQSB para el analisis respectivo

MARCO TEÓRICO

En 1960,Ailsa H.Land y Alison G. Doig, presentan el algoritmo Land-Doig. El nombre de

bifurcacion y acotamiento (o bien, ramificación y acotamiento y en ingles “Branch and

bound”) se lo dan posterirmente Little,Murty,Sweeney,Karel.Mas tarde, el algoritmo fue

modificado por Darkin, haciendo de manera mas general.

El método de ramificación y acotamiento que es muy elegante y simple, redondea y acota

varaibles enteras, resultantes de la solución de los problemas lineales correspondientes.Este

proceso de acotameinto y redondeo se hace de una manera secuencial lógica heurística que

permite eliminar con anticipación un buen numero de soluciones factibles alejadas del optimo

a medida que se itera,De tal suerte que su uan variable entera Xj ,j=1,n esta acotada entre un
5

limite inferior entero dj, j=1,n y un limite superior entero uj,j=1,n el proceso de ramificación y

acotación solo analiza un numero muy pequeño de toldas las soluciones posibles.

Método de ramificación y acotamiento

Es un método usado para resolver un problema de programación entera en el que los nodos

del arbol asociado se examinan de una manera sistematica tratando de eliminar por

consideración tantos nodos terminales como sea posible. Con el método de ramificación y

acotamiento, en vez de buscar nodos terminales directamente, comienza en el nivel superior

del arbol y procede de nodo en nodo, se resuelve el programa lineal asociado.sobre la base de

esta solución, se toma una decisión respecto a que nodos del arbol, si los hay, pueden

eliminarese para otras consideraciones, lo que reduce el numero de nodos terminales que

necesitan examinarse.

Características claves

 Si un problema de programación lineal en un nodo es infactible, entonces también lo es

el problema entero asociado en ese nodo, así como todos los problemas asociados con los

nodos debajo del actual.

 Si el programa lineal actual tiene una solución óptima, entonces el valor óptimo de la

función objetivo del problema entero correspondiente, así como de cualquier programa lineal

o entero asociado con un nodo debajo del actual, no puede exceder el del actual.

 Mientras más lejos se fije el valor de una variable de su valor en la solución óptima de

un programa lineal, peor será el valor de la función objetivo óptima del programa lineal

asociado
6

 Una vez que un problema de programación lineal es infactible para un valor entero fijo

de una variable mayor (menor) que su valor óptimo en el programa lineal, todos los valores

mayores (menores) de esta variable originan problemas de programación lineal infactibles.

 Si el programa lineal en un nodo es ilimitado, el problema de programación entera es

ilimitado o infactible.

Utilización

En algunos problemas los valores de las variables de decisión no pueden contener

decimales, como por ejemplo, en el caso de fabricación de artefactos para su venta, debido

que estos no pueden ser vendidos de forma incompleta, también se da el caso cuando se tiene

la asistencia de personas a eventos, pues en ellos las variables solo pueden tomar valores de 0-

1 (Binarios) los cuales indican si la persona asiste o no

BASES TEÓRICAS

ALGORITMO DE RAMIFICACION Y ACOTAMIENTO

Paso 1: Resuelva el Problema Lineal utilizando el método correspondiente.

Paso 2: ¿La solución es entera?

2.1 Si, Se obtuvo la Solución Optima, ir al Paso 8.

2.2 No, ir al Paso 3.

Paso 3: Escoger de la solución final una variable entera Xj, cuyo resultado es fraccionario

e igual a Xbi.
7

Paso 4: Resolver 2 P.L. iguales al anterior uno con restricción Xj <= [Xbj] y el otro con

restricción Xj >= [Xbj]+1

Paso 5: Incluir en el análisis aquellos programas cuyo resultado sea el mejor (máx., min.),

a cualquiera de las soluciones enteros conocidos.

Paso 6: Seleccionar el Programa que tenga el máximo valor de la F.O.

Paso 7: Ir al Paso 2.

Paso 8: Fin.

Diagrama de flujo

Inici

Resolver el P.L. correspondiente


(Método Simplex)

0 1
¿La
solución es
entera?

Escoja de esta estructura una


Solución
variable entera Xj , cuyo resultado es
Óptima
fraccionario e igual a XBi.
Resuelva dos P.L.s iguales al anterior uno

con restricción adicional Xj <= [XBj] y el otro

con restricción adicional Xj >= [XBj]+1 FIN


Incluir en el análisis aquellos programas
cuyo resultado sea mejor a cualquiera de las Fin
soluciones enteros conocidos

Selecciónese el programa que

tenga el máximo valor de la F.O.


8

Ejemplo

Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24

x1≥0,x2≥0, x1,x2∈Z+

Resolviendo en primer lugar el PL, es decir

Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24

x1≥0,x2≥0

método simplex

x1 = 2, x2 = 8/3, f(x) = 128/3

Primera Ramificación:

Solución: x1 = 2, x2 = 8/3, f(x) = 128/3

subproblema 1 subproblema 2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24 s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24 8x1 + 3x2 ≤ 24

x2 ≥ 3 x2 ≤ 2

x1≥0,x2≥0 x1≥0,x2≥0
9

solución x1=1,5, x2=3, F(x)=42 solución x1=2,5, x2=2, F(x)=38

Segunda ramificación:

Solución anterior mejor: x1=1,5, x2=3, F(x)=42

subproblema 1.1 subproblema 1.2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24 s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24 8x1 + 3x2 ≤ 24

x2 ≥ 3 x2 ≥ 3

x1 ≤ 1 x1 ≥ 2

x1≥0,x2≥0 x1≥0,x2≥0

solución x1=1, x2=10/3,F(x)=124/3 solución infactible.

Tercera ramificación

Solución anterior mejor: x1=1, x2=10/3,F(x)=124/3

subproblema 1.1.1 subproblema 1.1.2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24 s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤24 8x1 + 3x2 ≤ 24


10

x2 ≥3 x2 ≥ 3

x1 ≤1 x1 ≥ 2

x2 ≤ 3 x2 ≥ 4

x1≥0,x2≥0 x1≥0,x2≥0

solución x1=1, x2=3,F(x)=38 solución x1=0, x2=4,F(x)=40

Solución OPTIMA x1 = 0, x2 = 4, F(x) = 40

El árbol del problema resuelto es el siguiente:

2 X1=2,5,X2=2,F=3
1.1.1 X1=1,X2=2,F=3

X2≤3
X2≤2
PL X1=2,X2=8/3,F=128/3 1.1 X1=1,X2=10/3,F=124/3
X2≥3
X2≥4
X1≤1

1 X1=1,5,X2=3,F=4 1.1.2 X1=0,X2=4,F=4

X1≥2

1.2 INFACTIBLE

Gráfico 1
11

CONCLUSIONES

-La programación entera representa problemas donde las variables de decisión son enteras,

lo cual es un caso muy frecuente.

-El método de Acotamiento y Ramificación ofrece una manera sencilla para solucionar

problemas de programación entera de manera sencilla, aunque no siempre de manera

eficiente.

-A pesar de tener un número de soluciones finitas, los problemas de programación entera

tienen un grado de dificultad considerable, y muchas veces no existe solución para estos

problemas.

BIBLIOGRAFIA

Contreras, m. a. (2008). investigacion de operaciones. tacna: editorial S.A.

Goic, M. (s.f.). Analisis Post Optimal. Obtenido de Algoritmo de ramificacion y

acotamiento: https://www.u-cursos.cl/ingenieria/2008/2/IN34A/2/material_docente/bajar?

id_material=198948

Hillier, F. (1998). introduccion ala investigacion de operaciones. Mc Graw hill.

Investigacion de Operaciones. (5 de noviembre de 2011). Obtenido de

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

software TORA. (s.f.).

Taha, H. a. (2004). investigacion de operaciones. mexico: person educacion.

También podría gustarte