T E S I S: Programaci On Entera: El Problema de Localizaci On de Plantas
T E S I S: Programaci On Entera: El Problema de Localizaci On de Plantas
T E S I S: Programaci On Entera: El Problema de Localizaci On de Plantas
Facultad de Ciencias
T E S I S
QUE PARA OBTENER EL TÍTULO DE:
ACTUARIO
PRESENTA:
MAURICIO LECANDA BRICEÑO
DIRECTOR DE TESIS:
DR. RICARDO STRAUSZ SANTIAGO
2013
UNAM – Dirección General de Bibliotecas
Tesis Digitales
Restricciones de uso
DERECHOS RESERVADOS ©
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL
Todo el material contenido en esta tesis esta protegido por la Ley Federal
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México).
Agradecimientos VII
Introducción IX
1. Programación Lineal 1
1.3.1. Convexidad . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
iv ÍNDICE GENERAL
2. Programación Entera 17
4.3. Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Conclusiones 61
Bibliografı́a 63
Agradecimientos
Esta tesis se la dedico con mucho amor a mis padres Mauricio Lecanda Terán
y Patricia Elizabeth Briceño Duarte por haberme apoyado a lo largo de toda
mi vida en los buenos y en los malos momentos, otorgándome dı́a a dı́a su gran
sabidurı́a y su excelente educación y de quienes estoy muy orgulloso de ser su
hijo, a mi hermano David Lecanda Briceño con el que compartı́ tantas cosas
maravillosas en la niñez y en la adolescencia y que siempre hemos estado juntos
para apoyarnos y a mi flaco Jorge Alberto Romero Mendoza que es el amor de
mi vida, que me salvó del abismo y que ha estado conmigo durante todo este
tiempo ayudándome con sus ánimos, su paciencia y su gran amor.
Agradezco a mis abuelitos Raúl, Fede, Yola y Pera que con amor crearon a
las mejores familias en la que pude nacer, a todos mis tı́os, tı́as y primos Lecanda
y Briseño que tanto quiero y de quienes he recibido ayuda y consejos en todo
momento y finalmente a mi suegra Betty Mendoza que me adoptó como un hijo
más y que gracias a ella ahora con gran honor formo parte también de la familia
Mendoza.
A mis queridos amigos Agustı́n, Daniel, Ángel, Zaira, Adriana y Hany con
los que pasé los mejores años de mi carrera y que ahora se han convertido en
mis hermanos.
vii
Introducción
Los gastos generados por construir cualquier planta en cierta zona geográfica y
por atender a cualquier cliente son los que se buscan reducir al mı́nimo sin dejar
de satisfacer la demanda.
El objetivo de la tesis es mostrar una de las técnicas que encuentran una solución
rápida del problema de localización de plantas aunque se incurra en un error,
práctica que se hace comúnmente cuando se utilizan variables enteras en el
modelo, pues hay ocasiones en las que el número de variables es tan grande
que encontrar la mejor solución se complica en cuanto al tiempo requerido para
resolver el problema.
ix
x INTRODUCCIÓN
Programación Lineal
El modelo de programación lineal (LP) por sus siglas en inglés, es uno de los más
importantes en la investigación de operaciones y en las ciencias de la adminis-
tración. Muchas situaciones cotidianas que busquen obtener una mejorı́a pueden
ser resueltas o aproximadas por el LP; incluso en la programación entera, el LP
es usado como subrutina.
Los modelos matemáticos se usan desde siempre para resolver problemas y expli-
car fenómenos naturales. En particular la programación matemática surgió alre-
dedor del siglo XVIII como una herramienta para modelar problemas en donde
se debı́a optimizar cierta función continua f (x) con x ∈ Rn . Los programas ma-
temáticos más primitivos fueron utilizados por el economista Quesnay alrededor
del año 1759. [32]
1
2 CAPÍTULO 1. PROGRAMACIÓN LINEAL
Variables
Ejemplo
Sin embargo, existen i rutas diferentes entre ambas ciudades, unas más largas
que otras, lo que sugiere que la decisión es si conviene elegir la ruta i o no y esto
aplica para cada ruta, por lo tanto las variables de decisión son las siguientes:
1.2. MODELO DE PROGRAMACIÓN LINEAL 3
(
1 entonces se elige la ruta i
Si xi =
0 entonces no se elige la ruta i
Los valores que toman las variables de decisión varı́an dependiendo del pro-
blema, en este caso cada variable puede tomar solo dos valores (1 ó 0) pero en
otras situaciones, puede tomar valores enteros o racionales.
Función Objetivo
f (x) :D⊂R→R
f (x) = cx
Restricciones
X
xi = 1
i
ya que con esto se asegura que se debe elegir una y sólo una ruta para resolver
el problema.
4 CAPÍTULO 1. PROGRAMACIÓN LINEAL
n
X
Ri (x) = aij xj ≤ bi
j=1
donde i y j son los ı́ndices que numeran a las restricciones y a las variables
respectivamente. Cabe aclarar que el signo ≤ puede ser reemplazado por el
signo ≥ o por el signo =.
a11 a12 ... a1n
a21 a22 ... a2n
A= . .. .. ..
.. . . .
am1 am2 ... amn
maximizar f (x) = cx
sujeto a Ax ≤ b
x ≥ 0
el cual se dice que está en forma canónica; también existe la forma estándar en
el que la única diferencia es que el término Ax ≤ b es reemplazado por Ax = b.
Con esto, se puede definir el modelo para el ejemplo que se utilizó anterior-
mente:
El conjunto:
D = {x ∈ Rn |Ax ≤ b, x ≥ 0}
1.3.1. Convexidad
m
X m
X
λk xk con λk = 1 y λk ≥ 0 para k = 1, . . . , m
k=1 k=1
Demostración: Sean x, y ∈ D.
Se tiene que
Por lo tanto queda demostrado que para cualesquiera 2 puntos de D, sus com-
binaciones lineales convexas también están en D, por lo que D es un conjunto
convexo.
f (x) = 2x f (x) = 2x
(a) (b)
b
Máximo
x x
b
Óptimo no acotado Puntos Extremos
Para ver la utilidad de los puntos extremos véanse los incisos (a) y (b) de
la figura (1.1). En ambos incisos se intenta maximizar la función f (x) = 2x,
la diferencia es que en (a), D = R el cual no tiene puntos extremos y en (b),
D = [−1, 1] cuyos puntos extremos son -1 y 1.
maximizar f (x) = cx
sujeto a Ax = b
x ≥ 0
A = (B, N)
x = (xB , xN )
c = (cB , cN )
maximizar f (x) = cB xB + c N xN
r2
D
b b x1
r1
2 1 1 0 6
A= = a1 a2 a3 a4 b=
2 3 0 1 9
2 0 −1 1/2 0
B= = a1 a4 B =
2 1 −1 1
1 0 2 0
xB1 = (0, 0, 6, 9) B1 = xB2 = (3, 0, 0, 3) B2 =
0 1 2 1
1.4. MÉTODO SIMPLEX 11
1 1 9 3 2 1
xB3 = (0, 3, 3, 0) B3 = xB4 = ( , , 0, 0) B4 =
3 0 4 2 2 3
1 0 9 2 1
xB5 = (0, 6, 0, −9) B5 = xB6 = ( , 0, −3, 0) B6 =
3 1 2 2 0
Como se puede ver, B5 y B6 son bases no factibles, pues sus respectivas solu-
ciones tienen elementos negativos.
La técnica para resolver cualquier problema lineal fue desarrollada por Geor-
ge B. Dantzig y se llama método simplex [7].
maximizar z = c B xB + c N xN
X X X
(cB B−1 N−cN )xN = (cB B−1 aj − cj )xj = (cB yj − cj )xj = (zj − cj )xj
j∈N j∈N j∈N
Sustituyendo, se tendrı́a:
X
z = z0 − (zj − cj )xj
j∈N
CRITERIO DE OPTIMALIDAD
1.4. MÉTODO SIMPLEX 13
CRITERIOS DE SELECCIÓN
Luego se debe seleccionar la variable básica que dejará de serlo, para esto se
define al vector b como sigue:
b1
b2
B−1 b = b = .
..
bm
con
yj = (y1j , y2j , . . . , yij , . . . , ymj )t i∈B
bk bi
= mı́n | con yij > 0
ykj 1≤i≤m yij
el pivote ykj indica que la variable básica que debe salir de la base es xk .
Una vez que se tenga la nueva base, se recalcula todo y el proceso se repite
hasta que se obtenga la solución óptima, o bien se concluya que la solución es
no acotada.
Algoritmo Simplex
1.5. Dualidad
maximizar z = cx
sujeto a Ax ≤ b
x ≥ 0
es el siguiente
minimizar ν = bt y
sujeto a yA ≥ c
y ≤ 0
Hay ocasiones en las que el dual es más fácil de resolver que el primal, por
esta razón se necesita saber una manera de encontrar el problema dual a partir
de un primal dado, lo cual se logra con la siguiente tabla:
Primal Dual
minimizar maximizar
≤ ≤0
Restricciones ≥ ≥0 Variables
= s.r.s.
≥0 ≤
Variables ≤0 ≥ Restricciones
s.r.s. =
Capı́tulo 2
Programación Entera
La programación entera o IP por sus siglas en inglés, surgió alrededor del año
1958 por la necesidad de resolver problemas de optimización en los que la so-
lución, además de cumplir con todas las restricciones, debe ser entera para al
menos una de sus variables.
1960 [21]: Land y Doig describen otro de los métodos más importantes de la
IP, el llamado método de ramificación y acotamiento.
17
18 CAPÍTULO 2. PROGRAMACIÓN ENTERA
minimizar z = cx
sujeto a
Ax ≤ b
x≥ 0
x ∈ Zn
F = {x ∈ Rn |Ax ≤ b, x ≥ 0, x ∈ Z n }
Las técnicas más famosas que existen para resolver IP’s se clasifican en dos
tipos: planos de corte o cutting plane y ramificación y acotamiento o branch and
2.3. TÉCNICA BRANCH & BOUND 19
D0 = {x|Ax ≤ b, x ≥ 0}
para lograr que x0 sea no factible para P1 y P2 entonces sus regiones factibles
son:
20 CAPÍTULO 2. PROGRAMACIÓN ENTERA
F1 = F ∩ {x|xj0 ≤ [xj0 ]}
F2 = F ∩ {x|xj0 ≥ [xj0 ] + 1}
La cota inferior de P0 sirve como criterio para saber si alguno de sus sub-
problemas debe ser ramificado o no. Por ejemplo, en el caso de maximización
si la cota superior de P1 es menor que la cota inferior de P0 entonces no tiene
sentido seguir ramificando hacia P1 pues jamás se obtendrá una mejor solución,
es entonces cuando P1 se vuelve no prometedor.
Algoritmo de Dakin
Fk = Fn ∩ {x|xj ≤ [xj ]}
Fk+1 = Fn ∩ {x|xj ≥ [xj ] + 1}
⑤ Si L 6= ∅, Ir al paso 2.
En oto caso La solución óptima entero-factible de P0 es x∗n y su valor
objetivo es z.
x2
r2
b b
b b
F0 b
b b b b x1
r1
z = 3x1 + 4x2 = 0
Figura 2.1: Región factible del problema
51
P0 [−∞, 4
]
x2 ≤ 1 x2 ≥ 2
P1 P2
x2
r2
F2
b b r4
b b b r3
F1
b b b b x1
r1
z = 3x1 + 4x2 = 0
Figura 2.3: Región factible de P1 y P2
x2 ≤ 1 x2 ≥ 2
25
P1 P2 [−∞, 2
]
x1 ≤ 1 x1 ≥ 2
P3 P4
Figura 2.4: Árbol generado tras ramificar a P2
r2 F4 = ⊘
r5 r6
b
F3
b b r4
x1
r1
x2 z = 3x1 + 4x2 = 0
Figura 2.5: Regiones factibles de P3 y P4
51
P0 [−∞, 4
]
x2 ≤ 1 x2 ≥ 2
25
P1 P2 [−∞, 2
]
x1 ≤ 1 x1 ≥ 2
37
[−∞, 3
] P3 P4 [INFACTIBLE]
x2 ≤ 2 x2 ≥ 3
P5 P6
51
P0 [12, 4
]
x2 ≤ 1 x2 ≥ 2
25
[NO PROMETEDOR] P1 P2 [12, 2
]
x1 ≤ 1 x1 ≥ 2
37
[12, 3
] P3 P4 [INFACTIBLE]
x2 ≤ 2 x2 ≥ 3
Complejidad Algorı́tmica en
la Programación Entera
29
30 CAPÍTULO 3. COMPL. ALG. EN LA PROG. ENTERA
los que el tiempo que consumen al resolver algún problema puede ser acotado
por un polinomio. Por el contrario, los algoritmos no polinomiales carecen de
esa propiedad.
1
OP T (I) ≤ A(I) ≤ kOP T (I) con k ≥ 1
k
Al número k se le conoce como factor de aproximación pues nos indica que tan
lejos se está del óptimo.
Factibilidad Entera
Clase P
Clase NP
Transformaciones de problemas
Clase NP-Completo
Clase NP-Duro
Gracias al matemático Cook [5], el primer problema que se demostró que per-
tenece a la clase N P − Completo es el de satisfacibilidad, el cual consta de un
número de variables binarias en las que 1 significa verdadero y 0 significa falso
y un conjunto de clausulas que son la unión da varias variables. Un ejemplo de
tres variables serı́a:
3.2. EJEMPLOS DE PROBLEMAS NP-COMPLETOS 33
C = {x1 ∨ x2 ∨ x3 }
Para que C sea válida es necesario que al menos una de las xi con i = 1, 2, 3
sea verdadera. Una familia Z de clausulas es la intersección de todas ellas:
Z = C1 ∧ C2 ∧ . . . ∧ Cn
Si existe una asignación de verdad que satisfaga todas las clausulas al mismo
tiempo entonces el problema es satisfacible.
Tamaño de n
Tiempos 10 20 30 40 50 60
O(n) 0.00001 0.00002 0.00003 0.00004 0.00005 0.00006
segs segs segs segs segs segs
O(n2 ) 0.0001 0.0004 0.0009 0.0016 0.0025 0.0036
segs segs segs segs segs segs
O(n3 ) 0.001 0.008 0.027 0.064 0.125 0.216
segs segs segs segs segs segs
O(n5 ) 0.1 3.2 24.3 1.7 5.2 13.0
segs segs segs mins mins mins
O(2n ) 0.001 1.0 seg 17.9 12.7 35.7 366.0
segs mins dı́as años siglos
O(3n ) 0.059 58.0 6.5 3855 2 ∗ 108 N/D
segs mins años siglos siglos
Aunque existen muchos algoritmos para resolverlo, existe uno que tiene un
tiempo de ejecución eficiente, el cual recibe el nombre de Algoritmo Merge-Sort.
Algoritmo Merge-Sort
ρ:=Merge-Sort(a1 , . . . , am ).
σ:=Merge-Sort(am+1 , . . . , an ).
③ Hacer k := 1, l = 1.
Mientras k ≤ m y l ≤ n − m, Hacer:
Si aρ(k) ≤ am+σ(1) entonces π(k + l − 1) := ρ(k) y k := k + 1
en otro caso π(k + l − 1) := m + σ(l) y l = l + 1.
Mientras k ≤ m hacer: π(k + l − 1) := ρ(k) y k := k + 1.
Mientras l ≤ n − m hacer: π(k + l − 1) := m + σ(l) y l := l + 1.
Se propone ahora que T (n) ≤ 12n log n + 1. Como es fácil demostrarlo para
n = 1, se procederá vı́a inducción.
jnk lnm
2 2
T (n) ≤ 12 n + 1 + 12
log log n + 1 + 3n + 6
2 3 2 3
= 12n(log n + 1 − log 3) + 3n + 8
13
≤ 12n log n − n + 3n + 8 ≤ 12n log n + 1
2
37
pues log 3 ≥ 24 .
Capı́tulo 4
Problema de ubicación de
plantas
Existen situaciones en donde las empresas deben de decidir en que lugar cons-
truir sus centros de servicio para satisfacer la demanda eficientemente. Algu-
nos ejemplos pueden ser: fábricas, bodegas, depósitos, centros de distribución,
centros de atención al cliente, o también pueden ser librerı́as, supermercados,
estaciones de bomberos, hospitales, escuelas, etc. Tales situaciones se pueden
resolver matemáticamente mediante un modelo de ubicación de plantas.
39
40 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
sea mı́nima.
fS = c(S) = 1
(
1 para j ∈ S
cSj = (4.2)
3 para j ∈ U \S
El costo cSj es igual a 3 para no violar la desigualdad 4.1, sin embargo puede
ser reemplazado por cualquier número entre 1 y 3.
Por último, los óptimos de ambos problemas deben coincidir y en el caso del
PUPsC métrico es:
X X
fi + cσ(j)j
i∈X j∈D
42 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
k
X z }| {
fi = 1 + 1 + . . . + 1 = k en donde k = |X|
i∈X
Por el término (4.1), cij = 1 para todos los clientes asignados, por lo tanto,
la suma total del costo del problema PUPsC métrico es |X| + |D|, el cual es
óptimo si |R| = |X|, pues |R| es el valor óptimo del problema de la mı́nima
cubierta de conjuntos con pesos unitarios.
4.3. Modelo
Variables de decisión
En este problema hay dos tipos de decisiones, la primera es decidir en que zona
construir la planta y la otra es decidir que ciudades se atenderán con que plantas.
Por tal motivo, existen dos tipos de variables de decisión que se definen de
la siguiente manera:
(
1 entonces la ciudad j se asigna a la planta ubicada en la zona i
Si xij =
0 entonces j no se asigna a la planta en i
(
1 entonces se construye una planta en la zona i
Si yi =
0 entonces no se construye ninguna planta en i
Restricciones
X
xij = 1 para todo j ∈ D
i∈F
El segundo tipo de restricción tiene que ver más con un aspecto lógico, ya
que no se puede asignar una ciudad a una planta que no se construirá, por tanto
se deben incluir |F||D| restricciones del siguiente tipo:
El último tipo de restricciones, tiene que ver con los valores que pueden
tomar las variables:
xij ∈{0, 1} para todo i ∈ F, j ∈ D
yi ∈{0, 1} para todo i ∈ F
Función Objetivo
Tal cual lo muestra la definición, el objetivo del problema es minimizar los costos
totales de servicio y de construcción, por lo que la función objetivo serı́a:
XX X
minimizar z = cij xij + fi yi
i∈F j∈D i∈F
XX X
minimizar cij xij + fi yi
i∈F j∈D i∈F
sujeto a
xij ≤ yi para todo i ∈ F, j ∈ D
X
xij = 1 para todo j ∈ D
i∈F
xij , yi ∈ {0, 1} para todo i ∈ F, j ∈ D
44 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
Una de las técnicas usadas para resolver cualquier problema entero, es relajar
la restricción de integralidad para que se vuelva lineal y ası́ obtener información
valiosa sobre el problema, por ejemplo una cota superior para el óptimo.
XX X
minimizar cij xij + fi yi
i∈F j∈D i∈F
sujeto a
xij ≤ yi para todo i ∈ F, j ∈ D
X
xij = 1 para todo j ∈ D
i∈F
xij , yi ≥ 0 para todo i ∈ F, j ∈ D
X
maximizar νj
j∈D
sujeto a
νj − wij ≤ cij para todo i ∈ F, j ∈ D
X
wij ≤ fi para todo i ∈ F
j∈D
Por otro lado, en el año 2001 [16], Jain y Vazirani propusieron un nuevo
algoritmo con un factor de aproximación de 3 y un tiempo de ejecución de
O(m log2 (m)). El algoritmo de Jain y Vazirani, de ahora en adelante nombrado
JV, calcula la solución primal y la dual al mismo tiempo.
Y : que consta de todas las zonas que aún no están tentativamente selec-
cionadas para abrir un planta en ellas.
V : que contiene a todas aquellas zonas que sı́ están tentativamente selec-
cionadas.
U : formado por todas las ciudades que aún no han sido conectadas o
asignadas a ninguna planta.
nótese también que la variable wij puede verse como que es mayor o igual que
máx{0, νj − cij }, para todo i ∈ F, j ∈ D.
1. νj = cij para i ∈ V y j ∈ U .
P
2. j∈D wij = fi para i ∈ Y
Algoritmo de Jain-Vazirani
Entrada : Una instancia (D, F, (fi )i∈F , (cij )i∈F ,j∈D ) del PUPsC.
① Inicializar X = ∅, U = D y Y = F.
② Definir t1 = mı́n{cij |i ∈ V, j ∈ U }.
Definir t2 = mı́n{τ |∃i ∈ Y |ω(i, τ ) = fi } donde
P P
ω(i, τ ) = j∈U máx{0, τ − cij } + j∈D\U máx{0, νj − cij } = fi .
Definir t = mı́n{t1 , t2 }
⑤ Si U 6= ∅ entonces ir al paso 2.
X
νj ≤ OP T (I)
j∈D
.
Por otro lado, los costos de servicio y de apertura de las plantas se definen
de la siguiente manera:
4.4. ALGORITMOS DE APROXIMACIÓN 47
X X
cF (X) := fi y cS (X) := cσ(j)j
i∈X j∈D
.
X X
fi + cσ(j)j ≤ 3OP T (I) (4.3)
i∈X j∈D
Para cada zona i, todas las ciudades j con wij > 0, están conectadas a la
planta
Pconstruida en i, o dicho de otro modo, σ(j) = i, además se tiene que
fi = j∈D wij .
X XX XX
fi = wij ≤ 3 wij
i∈X i∈X j∈D i∈X j∈D
Para la segunda suma de (4.3), se propone que el costo de servicio para cada
cliente j es a lo más 3(νj − wσ(j)j ), es decir:
X X X X
cσ(j)j ≤ 3(νj − wσ(j)j ) = 3 νj − 3 wσ(j)j
j∈D j∈D j∈D j∈D
X X
cF (X) + cS (X) = fi + cσ(j)j
i∈X j∈D
XX X
≤3 wij +3 (νj − wσ(j)j )
i∈X j∈D j∈D
X X
=3 wij +νj − wσ(j)j
j∈D i∈X
P
Luego, i∈X wij = wσ(j)j , puesto que wij = 0 siempre que el cliente j no
esté asignado a la planta construida en i (es decir i 6= σ(j)), por lo que se sigue
que:
X X X
3 wij + νj − wσ(j)j =3 wσ(j)j + νj − wσ(j)j
j∈D i∈X j∈D
X
=3 νj
j∈D
≤ 3OP T (I)
Ui = {j ∈ U |cij ≤ t}
X X
ti2 = fi + (cij − νj ) + cij
j∈D \U :νj >cij j∈U i
Algoritmo de Ajuste-Dual
Entrada : Una instancia (D, F , (fi )i∈F , (cij )i∈F ,j∈D ) del PUPsC.
① Inicializar X = ∅, U = D.
② Definir t1 = mı́n{cij |i ∈ X, j ∈ U }.
Definir t2 = mı́n{τ |∃i ∈ F\X|ω(i, τ ) = fi } donde
P P
ω(i, τ ) = j∈U máx{0, τ − cij } + j∈D\U máx{0, cσ(j)j − cij } = fi .
Definir t = mı́n{t1 , t2 }
Teorema 4.3. El algoritmo de arriba calcula una solución dual y una solución
factible primal y puede ejecutarse en un tiempo de O(|F|2 |D|) [19]
2 2 1 5
2,5 6 5,5 8
4 3,5 10 4
8
C= 3 7 3
4 7 3 2
5,5 5 5 9
7 1 4 4
52 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
F = 30 25 18 35
t1 = mı́n{cij |i ∈ X, j ∈ U }
donde
X X
ω(i, τ ) = máx{0, τ − cij } + máx{0, cσ(j)j − cij } = fi
j∈U j∈D \U
El paso 3 del algoritmo indica que hay que abrir una planta en la zona 3, es
decir X = X ∪{3}. Además todos los clientes j ∈ U que hicieron una aportación
a la apertura de la planta 3 son asignados a ella, es decir todos aquellos clientes
tales que c3j < t.
y todas las demás variables valen 0, la cual tiene un valor en la función objetivo
de:
ν
Sin embargo en el año 2003, Jain et al, encontraron que el vector ( γj , j ∈ D)
54 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
resulta ser una solución dual factible y además demostraron que el número γ es
el factor de aproximación del algoritmo de Ajuste-Dual [17].
X
máx{νj /γ − cij , 0} ≤ fi (4.4)
j
ν 1 ≤ ν2 ≤ . . . ≤ νd
.
Sea j < k para la ciudad j, hay dos situaciones posibles justo antes de que la
ciudad k sea asignada por primera vez:
Con esta información se puede definir una variable que nos indique la situación
de las ciudades 1, 2, . . . , j, . . . , k − 1 al tiempo t = νk − ǫ.
4.5. ¿QUÉ TANTO SE PUEDE MEJORAR? 55
(
dj Si j ya estaba conectada a la planta construida en la zona F ∈ F
rj,k =
νk en otro caso, i.e. si νj = νk
máx{rj,k − dj , 0} si j < k, y
máx{t − dj , 0} si j ≥ k.
k−1
X d
X
máx{0, rj,k − dj } + máx{0, νk − dj } ≤ f. (4.6)
j=1 l=k
d
X
νj /γ − dj ≤ f
j=1
56 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
Despejando γ se obtiene:
Pd
j=1 νj
γ≥ Pd .
f+ j=1 dj
sujeto a
νj ≤ νj+1 (1 ≤ j < d)
rj,k ≥ rj,k+1 (1 ≤ j < k < d)
rj,k + dj + dk ≥ νk (1 ≤ j < k ≤ d)
Pk−1
j=1 máx{0, rj,k − dj }+
d
X
máx{0, νk − dl } ≤ f (1 ≤ k ≤ d)
l=k
d
X
dj > 0
j=1
f≥ 0
ν j , dj ≥ 0 (1 ≤ j ≤ d)
rj,k ≥ 0 (1 ≤ j < k ≤ d)
d
X
f+ dj ≤ 1
j=1
Pd
j=1 νj − γF f
maximizar Pd
j=1 dj
sujeto a
νj ≤ νj+1 (1 ≤ j < d)
rj,k ≥ rj,k+1 (1 ≤ j < k < d)
rj,k + dj + dk ≥ νk (1 ≤ j < k ≤ d)
Pk−1
j=1 máx{0, rj,k − dj }+
d
X
máx{0, νk − dl } ≤ f (1 ≤ k ≤ d)
l=k
d
X
dj > 0
j=1
f≥ 0
νj , dj ≥ 0 (1 ≤ j ≤ d)
rj,k ≥ 0 (1 ≤ j < k ≤ d)
GREEDY AUGMENTATION
SCALING
cF (Y )+cS (Y ) ≤
∗ cS (X) − cS (X ∗ )
cF (X) +cF (X ) ln máx 1, + cF (X ∗ ) + cS (X ∗ )
cF (X ∗ )
1
para cada ∅ 6= X ∗ ⊆ F y sea δ ≥ β.
γF γS − 1
máx + ln (βδ), 1 +
β βδ
60 CAPÍTULO 4. PROBLEMA DE UBICACIÓN DE PLANTAS
veces el óptimo
61
Bibliografı́a
[1] M. Andrews and L. Zang. The access network design problem. In Procee-
dings of the 39th Annual IEEE Symposium on Foundations of Computer
Science, 1998.
[2] G. Italiano Deng X B. Li, M. Golin and K. Soharby. On the optimal place-
ment of web proxies in the internet. In Proceedings of IEEE INFOCOM’99,
págs 1282-1290, 1999.
[3] M. Charikar and S. Guha. Improved combinatorial algorithms for the faci-
lity location and k-median problems. SIAM Journal on Computing vol. 34,
págs 803-824, 2005.
[4] F.A. Chudak and D.B. Shmoys. Improved approximation algorithms for the
uncapacited facility location problem. SIAM Journal on Computing vol. 33,
págs 1-25, 2003.
[6] R.J. Dakin. A tree-search algorithm for mixed integer programming pro-
blems. Mathematical and Phisical Sciences, Computer Journal, Volume 8,
1965.
[8] É. Tardos D.B. Shmoys and K. Aardal. On Approximation algorithms for
facility location problems. In Proceedings of the 29th annual ACM Sympo-
sium in theory of Computing, 1997, págs 265-274.
[9] L.R. Ford and Fulkerson D.R. Maximal flow though a network. Canadian
Journal of Mathematics 8, 1956.
63
64 BIBLIOGRAFÍA
[11] Nemhauser G.L. and L.A. Wolsey. Integer and Combinatorial Optimization.
John Wiley and Sons Inc., 1990.
[13] S. Guha and S. Khuller. Greedy strikes back: Improved facility locations
algorithms. Journal of algorithms vol. 31, págs 228-248, 1999.
[14] D.S. Houchbaum. Heuristics for the fixed cost median problem. Mathema-
tical Programming 22, págs 148-162, 1982.
[16] K. Jain and V.V. Vazirani. Approximation algorithms for metric facility
locations and k-median problems using primal-dual schema and Lagrangian
relaxation. Journal of the ACM 48, págs 274-296, 2001.
[18] R.M. Karp. Reductibility among combinatorial problems. págs 85-103. Ple-
num Press, New York, 1972.
[19] Bernhard Korte and Jens Vygen. Combinatorial Optimization, Theory and
Algorithms. Number 21 in Algorithms and Combinatorics. Springer, págs
561-598, third edition, 2005.
[20] H.W. Kuhn and A.W. Tucker. In Proceedings of the Second Berkeley Sym-
posium on Mathematical Statistics and Probability, 1951.
[21] A.H. Land and Doig A.G. An automatic model of solving discrete program-
ming problems. Econometrica 28, 1960.
[22] Venkata N. Padmanabhan Lili Qiu and Geoffrey M. Volker. On the place-
ment of web servers replicas. In Proceedings of IEEE INFOCOM’01, 2001.
[25] Garey M.R. and D.S. Johnson. Computers and Intractability A guide to
the theory of NP-Completeness. 1979.
[26] G. Cornuejols G.L. Nemhauser and L.A. Wolsey. Discrete Location Theory.
págs 119-171. John Wiley and Sons Inc., 1990.
BIBLIOGRAFÍA 65
[29] K.J. Arrow Scarf, H.E. and S. Karlin. Approximation Solutions to a Simple
Multi-Echelon Inventory Problem. Standford University Press, 1962.
[30] Hamdy A. Taha. Integer Programming, Theory, Applications and Compu-
tations. Academic Press, 1975.