Está en la página 1de 7

CAMPUS CUAUHTÉMOC

INVESTIGACION DE OPERACIONES I

TAREA #5

HUMBERTO CANO AREVALO

(314709)

Contesta lo siguiente:

-Define la programación entera.


Un problema de programación en enteros es un programa de optimización o
factibilidad matemática en el cual algunas o todas las variables tienen que ser
enteras. En muchos escenarios el término se refiere a programación lineal en
enteros (PLE), en el cual la función objetivo y las restricciones (aparte de las
restricciones enteras) son lineales.
La programación en enteros es NP-duro. Un caso especial, la programación lineal
en enteros 0-1, en el cual las incógnitas son binarias, es uno de los 21 problemas
NP-completo de Karp.

-Menciona los modelos de programación entera.


La programación lineal en enteros mixta (PLEM) involucra problemas en los
cuales algunas de las variables, {\displaystyle x_{i}} , están restringidas a ser
enteras, mientras que otras variables pueden no ser enteras.

La programación lineal cero-uno involucra problemas en los cuales las variables


son restringidas a los valores 0 ó 1. Note que cualquier variable entera acotada
puede ser expresada como un combinación de variables binarias.2 Por ejemplo,
dada una variable entera, {\displaystyle 0\leq x\leq U}, ésta puede ser expresada
usando {\displaystyle \lfloor \log _{2}U\rfloor +1} variables binarias:

{\displaystyle x=x_{1}+2x_{2}+4x_{3}+\ldots +2^{\lfloor \log _{2}U\rfloor


}x_{\lfloor \log _{2}U\rfloor +1}.}

-Explica el método de acotar y ramificar.


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

Introducción

El problema de programación lineal que se obtiene al omitir todas las restricciones


enteras ó variables 0-1 se llama relajación de programación lineal para la
programación entera.

Relajación de un problema de programación entera

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.

Ramificación y Acotamiento

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.

Procedimiento

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.

-Explica el método de planos cortantes.


MÉTODO DE PLANO CORTANTE O ALGORITMO DE GOMORY

Igual que en el algoritmo de Ramificación y Acotamiento, el algoritmo de plano


cortante también empieza en la solución óptima de la Programación Lineal

Ejemplo

Maximizar Z= 7X1 + 10X2

Rest. –X1 + 3X2 ≤ 6

7X1 + X2 ≤ 35

X1, X2 ≥ 0 y entero

Paso 1: Resolver la solución óptima primal:

Así, las soluciones óptimas para el problema serían:

X1= 3/2 X2= 3/2 Z= 66/2

Pero esta solución no es óptima para el modelo de programación lineal entera.

Paso 2: Aplicando el algoritmo

*Tomamos arbitrariamente la ecuación de X2:

X2+ 7/22 X3+ 1/22 X4= 3⁄2

*Se factoriza:

X2 + ( 0+ 7/22 ) X3 + ( 0+ 1/22 ) X4= 3 + 1⁄2

*Entonces el corte asociado es:


- 7/22 X3 - 1/22 X4+ 1⁄2 ≤ 0

*Agregando S1:

- 7/22 X3 - 1/22 X4 + S1= -1⁄2, S1 ≥ 0

(CORTE 1)

Entonces la nueva tabla sería :

Paso 3: Aplicamos Dual Simplex para volver factible la solución:

Así, las soluciones óptimas para el problema serian:

X1=16/7 X2= 3 Z=62

Pero esta solución no es óptima para el modelo de programación lineal entera.

Porque sigue existiendo varias variables fraccionarias.

Paso 4: Aplicando otra vez el Algoritmo:

*Seleccionamos X1:

X1+ 1/7 X4 - 1/7 S1 = 4+ 4/7

*Se factoriza:

X1 + ( 0+ 1/7) X4 + ( -1 + 6/7 ) S1 = 4+ 4/7

*Entonces el corte asociado es:

-1/7 X4 - 6/7 S1 + 4/7 ≤0

*Agregando S2:

-1/7 X4 - 6/7 S1 + S2 = - 4/7 , S2 ≥ 0


(CORTE 2)

Entonces la nueva tabla sería:

Paso 5: Aplicando otra vez el Algoritmo:

Aplicamos Dual Simplex para volver factible la solución

-Define el algoritmo aditivo de Balas.

METODO ADITIVO (ENUMERACION) DE EGON BALAS


Algoritmo aditivo de BalasOtro algoritmo enumerativo importante es el algoritmo
aditivo. Es debido originalmente aEgon Balas (1965). Se llama aditivo porque
todas las operaciones matemáticas que serealizan consisten en sumar o restar.El
procedimiento consiste en generar una secuencia de soluciones parciales
añadiendo encada iteración una variable y considerando las soluciones
complementarias (resto desoluciones posibles). De esta forma, podemos por
enumeración implícita, eliminarconjuntos de soluciones sin necesidad de
evaluarlos exhaustivamente.La selección de la variable añadida se hace en
función de reducir al máximo lainfactibilidad en la solución actual y eliminar la
redundancia.Este método es un procedimiento de enumeración que encuentra el
óptimo en forma másrápida; en el método de Balas, la eficacia consiste en la
evaluación solo de unas soluciones.El método empieza poniendo todas las
variables iguales a cero y luego por medio de unprocedimiento sistemático de
forma consecutiva se asigna a una por una de las variables elvalor 1. Luego se
reemplaza en cada una de las restricciones y se averigua la infactibilidad.Por esta
razón el método es algunas veces llamado el algoritmo aditivo. Para describir
elalgoritmo, se considera la forma general siguiente de un problema de
Programación Linealcon variables cero

uno: Paso 1. La función objetivo debe ser del tipo minimización, contodos los
coeficientes no negativos. Paso 2. Todas las restricciones deben ser del tipo £,
conlos lados derechos negativos de ser necesario. Luego, estas restricciones se
convierten aecuaciones, usando las variables auxiliares en el lado izquierdo de las
restricciones
ALGORITMO ADITIVO DE BALASEjemplo de Algoritmo Aditivo:
Resolver el siguiente problema 0−1:

Max w=3y1+2y2−5y3−2y4+3y5
Sujeta a:
y1 + y2 + y3 + 2y4 − y5 " 4

7y1 +3y3 − 4y4 − 3y5 " 8


11y1 −6y2 +3y4 − 3y5 " 5
y1,y2,y3,y4,y5 = (0_1)El problema se puede poner en la forma inicial requerida
por el algoritmo aditivo, utilizando lassiguientesoperaciones:
Multiplique la función objetivo por −1.

Multiplique la tercera restricción por −2.

Añada las variables s1,s2 y s3 para convertir las tres restricciones en ecuaciones.
Sustituya y1=1−x1 , y2=1−x2 , y5=1−x5 , y3=x3 , y y4=x4 para
producir todos los coeficientes
objetivopositivos

También podría gustarte