Está en la página 1de 6

Tema 5: Algoritmos de Programación Lineal Entera.

Problemas

1. Resolver los problemas siguientes utilizando el método de Branch and Bound,


ramificando sobre la variable con parte fraccionaria más cercana a 0.5 (re-
solver la relajación lineal de cada nudo utilizando Lingo). Hacer lo mismo
pero añadir previamente cortes (desigualdades válidas) del tipo que apare-
cen en el ejercicio 1 del tema 4. Comparar los árboles de Branch and Bound
obtenidos en cada caso.

(a) Max 17x1 + 10x2 + 25x3 + 17x4


s.a.: 5x1 + 3x2 + 8x3 + 7x4 ≤ 12
x1 , x2 , x3 , x4 ∈ {0, 1}

(b) Max 17x1 + 10x2 + 25x3 + 17x4


s.a.: 5x1 + 3x2 + 8x3 + 7x4 ≤ 12
x1 , x2 , x3 , x4 ≥ 0 y enteras

(c) Max 10x1 + 12x2 + 7x3 + 15x4


s.a.: 4x1 + 5x2 + 3x3 + x4 ≤ 10
x1 , x2 ≥ 0 y enteras, x3 , x4 ∈ {0, 1}

(d) Max 2x1 + x2 + 3x3 + 7y1 + 5y2


s.a.: 9x1 + 4x2 + 14x3 + 35y1 + 24y2 ≤ 80
−x1 + 2x2 + 3x3 − 2y1 + 4y2 ≤ 10
x1 , x 2 , x3 ≥ 0 y enteras, y1 , y2 ≥0

2. Sea N un conjunto de n puntos, que incluye un punto de salida d y sea pi ≥ 0


el premio que se obtiene si se visita la localización i ∈ N \{d}. El tiempo
necesario para ir de la localización i a la j, para i, j ∈ N es tij = tji . Un
jugador tiene un tiempo máximo T para hacer un recorrido que salga de d,
pase por un subconjunto de puntos de N y volver a d, de forma que el premio
total obtenido sea máximo. Este es el llamado Problema de Orientación.
Describir cómo se puede formular como un PLE. Sugerencia: Utilizar como
base la formulación del Problema del Viajante (TSP) e introducir variables
adicionales para decidir los puntos que se van a visitar.

3. Considerar el problema entero siguiente:


Max x1 + 2 x2
s.a.: x1 + 21 x2 ≤ 13
4
x1 , x2 ≥ 0 y enteras.

1
(a) Sin hacer ninguna modificación en el modelo, resolver la relajación
lineal del problema.
(b) ¿ Es posible resolver el problema entero usando cortes de Gomory ?
Justifica la respuesta.
(c) Resolver, usando cortes de Gomory, el problema entero obtenido des-
pués de multiplicar la restricción por 4.

4. Se dispone de 4 camiones para servir leche a 5 tiendas. La capacidad y coste


diario de utilización de los camiones aparecen en la Tabla 1. La demanda
de cada tienda tiene que ser servida por un único camión (no se permite
que parte de la demanda sea servida por un camión y la otra parte por
otro), pero un mismo camión puede servir varias tiendas (si tiene capacidad
suficiente). Las demandas diarias de leche de cada una de las tiendas son
las siguientes: tienda 1, 100 litros, tienda 2, 200 litros, tienda 3, 300 litros,
tienda 4, 500 litros y tienda 5, 800 litros. Formular y resolver con Lingo un
PLE para encontrar el conjunto de camiones que convendrı́a utilizar y la
asignación de tiendas a camiones de forma que se satisfaga las demandas de
las tiendas con un coste total mı́nimo. Sugerencia: utilizar variables binarias.
Explicar el significado de las variables utilizadas.

Tabla 1 Capacidad Coste diario


Camión 1 400 45
Camión 2 500 50
Camión 3 600 55
Camión 4 1100 60

5. Encontrar la solución óptima de los siguientes problemas usando un algo-


ritmo de planos de corte en el que, en cada iteración, se añada el corte de
Gomory más incumplido por la correspondiente solución lineal:

(a) Max 14x1 + 18x2 (b) Min 6x1 + 8x2


s.a.: −x1 + 3x2 ≤ 6 s.a.: 3x1 + x2 ≥ 4
7x1 + x2 ≤ 35 x1 + 2x2 ≥ 4
x1 , x2 ≥ 0 y enteras x1 , x2 ≥ 0 y enteras

(c) Min 2x1 − 4x2 (d) Max 5x1 + 3x2


s.a.: 2x1 + x2 ≤ 5 s.a.: x1 + x2 ≤ 9
−4x1 + 4x2 ≤ 5 4x1 − 5x2 ≤ 7
x1 , x 2 ≥ 0 y enteras x1 , x2 ≥ 0 y enteras

2
6. Considerar el siguiente problema de localización de servicios. Existen n lo-
calizaciones donde se pueden construir almacenes y m clientes a los que
se suministrarán productos desde los almacenes construidos. El coste de
construir un almacén en la localización j es fj y el coste de transportar la
demanda de un cliente i desde la localización posible j es cij . El objetivo es
determinar dónde se van a construir los almacenes y desde qué almacenes se
suministrará a cada cliente de forma que la suma de los costes de construc-
ción más la suma de los costes de transporte sea mı́nima (un cliente puede
ser suministrado desde varios almacenes). El problema se puede formular
como:

Pm Pn Pn
Min i=1 j=1 cij xij + j=1 fj yj
Pn
s.a.: j=1 xij = 1 ∀ i = 1, . . . , m
Pm
i=1 xij ≤ myj ∀ j = 1, . . . , n
xij ≥ 0, yj ∈ {0, 1} ∀ i, ∀ j

(a) Explicar el significado de las variables yj y xij , ası́ como las restricciones
que aparecen en la formulación.
(b) Resolver la instancia del problema con m = 6 clientes y n = 5 posibles
localizaciones, costes de transporte
 
6 2 1 3 5

 4 10 2 6 1 

3 2 4 1 3
 
 
(cij ) =  

 2 0 4 1 4 

1 8 6 2 5
 
 
3 2 4 8 1

y costes fijos f = (4, 8, 11, 7, 5), mediante un algoritmo de planos de


corte (ver página 6 del Tema 5-1). Resolver las relajaciones lineales
resultantes utilizando Lingo. Utilizar como cortes las desigualdades
xij ≤ yj , añadiendo en cada iteración todas las que no son satisfechas
por la correspondiente solución fraccionaria.

7. Resolver el siguiente problema utilizando el método de planos de corte de


Gomory:

Max −2x1 − 7x2 − 2x3


s.a.: x1 + 4x2 + x3 ≥ 10
4x1 + 2x2 + 2x3 ≥ 13
x1 + x2 − x3 ≥ 0
x1 , x2 , x3 ≥ 0 y enteras

3
8. Considerar el siguiente problema lineal entero mixto:
Min 6x1 − 4x2 − 10x3 − 6y1 − 10y2
s.a.: −4x1 + 2x2 + 4x3 − y1 + 3y2 ≤ 10
14x1 − 6x2 + 10x3 + 6y1 − 4y2 ≤ 4
x1 , x 2 , x3 ≥ 0 y enteras, y1 , y2 ≥ 0
a) Resolver la relajación lineal, obteniendo una solución óptima tal que
x2 , y1 > 0.
b) Resolver el problema mediante el método de Branch and Bound a
partir de la solución del apartado anterior. Resolver la RL en cada
nudo utilizando Lingo.

9. la Figura 1 representa parte del árbol del algoritmo de Branch and Bound
que se obtiene al resolver un problema entero de Minimización. Los valores
encima de cada nodo corresponden al valor de una solución posible encon-
trada con un método heurı́stico en ese nodo. Los valores por debajo co-
rresponden a los valores encontrados resolviendo óptimamente la relajación
lineal del nodo. A partir del la información del gráfico, obtener las cotas
inferiores y superiores más ajustadas posibles para cada nodo del árbol.
Indicar qué nodos hay que seguir explorando y cuales se pueden saturar.

Figura 1: Árbol de Branch and Bound

10. Resolver los problemas siguientes utilizando el método de Branch and Bound
resolviendo la RL en cada nudo con Lingo:
(a) Max 7x1 + 2x2 (b) Max 2x1 + x2
s.a.: −x1 + 2x2 ≤ 4 s.a.: x1 + x 2 ≤ 5
5x1 + x2 ≤ 20 −x1 + x2 ≤ 0
−2x1 − 2x2 ≤ −7 6x1 + 2x2 ≤ 21
x1 , x2 ≥ 0 y enteras x1 , x2 ≥ 0 y enteras

4
11. Una compañı́a aérea tiene 3 aviones de tipo A y 4 aviones de tipo B para
hacer tres rutas. La capacidad del avión del tipo A es de 140 pasajeros y
la del tipo B es de 100. Además, cada avión puede hacer dos viajes al dı́a
como máximo. El número esperado de pasajeros en las tres rutas es de 300,
700 y 220 al dı́a. La tabla siguiente muestra los costes por viaje de cada tipo
de avión en las distintas rutas. La compañı́a quiere determinar los aviones
que harán cada ruta de forma que el coste total sea mı́nimo. Un avión no
puede hacer dos viajes en dos rutas distintas en el mismo dı́a. Formular el
problema como un PLE.

Ruta 1 Ruta 2 Ruta 3


Avión tipo A 3000 2500 2000
Avión tipo B 2400 2000 1800

a) Hallar la solución óptima del problema lineal.


b) Resolver el problema entero con Lingo.

12. 2 puntos Al resolver un problema de programación lineal entera (PLE)


(todas las variables son enteras), se obtiene el siguiente árbol de ramifica-
ción:

P0

P1 P2

P3 P4

P5 P6

P0 : x = (4/3, 5/3), z = 17/3


P1 : x = (1, 5/2), z = 11/2
P2 : No factible
P3 : x = (1, 2), z = 5
P4 : x = (4/5, 3), z = 27/5
P5 : No factible

5
P6 : x = (0, 26/5), z = 26/5

a) Determina razonadamente si se trata de un problema de maximización


o de minimización.
b) Indica la restricción que se ha añadido en cada rama.
c) ¿Se ha llegado a la solución óptima? ¿Cuáles son los nudos vivos?
Indicar el intervalo en el cual se sabe que está el coste de la solución
óptima. Indicar cuál serı́a el siguiente nudo a ramificar y cuáles serı́an
los nuevos nudos.
d ) Suponer ahora que nos dicen que todos los costes son números enteros.
Responder a las mismas preguntas del apartado anterior teniendo en
cuenta esa información. ¿Habrı́a hecho falta estudiar el nudo P4 ?

También podría gustarte