IO José Niño Mora
IO José Niño Mora
investigación operativa:
la ciencia de la optimización
de decisiones
Índice general I
Prefacio VII
1 Introducción 1
1.1. Investigación operativa y optimización de decisiones . . . . . . 1
1.2. Origen y evolución de la IO . . . . . . . . . . . . . . . . . . . . . 2
1.3. Sociedades científicas y profesionales de IO . . . . . . . . . . . . 4
I OPTIMIZACIÓN LINEAL 7
4 El método símplex 35
I
Í NDICE GENERAL
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2. Formato estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3. Soluciones básicas factibles y vértices . . . . . . . . . . . . . . . . 38
4.3.1. Problemas con restricciones linealmente independientes 38
4.3.2. Bases, variables básicas y soluciones básicas . . . . . . 39
4.3.3. Soluciones básicas factibles y el Teorema Fundamental 40
4.3.4. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.5. Resolución por enumeración completa de vértices . . . 42
4.4. Introducción al método símplex de Dantzig . . . . . . . . . . . . 43
4.4.1. Descripción del método símplex mediante un ejemplo 43
4.4.2. Cálculo directo de la tabla símplex para un vértice . . . 50
4.4.3. Análisis de sensibilidad para cambios en el objetivo . . 51
4.4.4. Visualización del método símplex . . . . . . . . . . . . 52
4.5. Problemas con objetivo no acotado . . . . . . . . . . . . . . . . . 52
4.5.1. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5.2. Cálculo de una semirrecta con objetivo no acotado . . . 56
4.6. Justificación teórica del método símplex . . . . . . . . . . . . . . 57
4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
II OPTIMIZACIÓN ENTERA 91
7 Optimización entera 93
7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.2. Un modelo de selección óptima de proyectos . . . . . . . . . . . 93
7.3. La relajación lineal de una formulación de OE . . . . . . . . . . . 95
II
Índice general
III
Í NDICE GENERAL
IV
Índice general
V
Í NDICE GENERAL
VI SIMULACIÓN 271
Bibliografía 291
VI
Prefacio
VII
Capítulo 1
Introducción
1
1. I NTRODUCCIÓN
Dado el uso reiterado que haremos de los términos modelo y modelizar, in-
dicamos a continuación sus definiciones según el Diccionario de la lengua española
(23.ª edición) de la RAE.
Modelo y modelizar
-Modelo (acepción 4): “Esquema teórico, generalmente en forma ma-
temática, de un sistema o de una realidad compleja, como la evolución
económica de un país, que se elabora para facilitar su comprensión y el
estudio de su comportamiento”.
2
1.2. Origen y evolución de la IO
“Maniobrar, llevar a cabo alguna acción con auxilio de aparatos” del diccionario de la
RAE) de forma efectiva con las últimas tecnologías del momento, en particular el
radar. Esta iniciativa contó con el apoyo decisivo de destacadas figuras políticas
del momento, como Winston Churchill 2 .
La efectividad práctica del enfoque de la IO quedó demostrada en su aplica-
ción por las fuerzas aliadas al análisis de decisiones operativas clave en la II Guerra
Mundial. Un ejemplo de ello tuvo lugar en el contexto de la Batalla del Atlántico. Un
equipo de IO de la RAF Coastal Command’s Operational Research Section dirigido por
el físico P. M. S. Blackett (1897–1974) abordó el problema de determinar el tamaño
óptimo de los convoyes de suministro marítimo, teniendo en cuenta el riesgo de
detección y destrucción por los submarinos alemanes (los temidos U-boats). Dicho
grupo era conocido informalmente como el circo de Blackett, por la variopinta diver-
sidad de sus miembros, entre los que se contaban físicos, fisiólogos, matemáticos
y un agrimensor. Del calibre científico del mismo da cuenta el hecho de que dos
de sus miembros, incluido el propio Blackett, recibieron el premio Nobel. Mientras
que los mandos militares creían que el uso de convoyes compuestos por un gran
número de buques era demasiado arriesgado, al ser más fáciles de detectar, y de-
fendían el uso de convoyes pequeños, los analistas de IO razonaron que las pérdi-
das sufridas por un convoy dependían, no del tamaño de su área, sino del tamaño
de su escolta de barcos militares, el cual es proporcional a su perímetro. Como este
crece en proporción a la raíz cuadrada del área, concluyeron que la eficiencia de la
escolta es mayor en los convoyes grandes que en los pequeños. La implantación
de la estrategia resultante, aumentando el tamaño de los convoyes de suministro,
contribuyó sustancialmente a reducir las pérdidas humanas y materiales.
Con la entrada de EE. UU. en la II Guerra Mundial, y debido a la influencia de
la experiencia británica, el físico estadounidense P. M. Morse (1903–1985) organizó
el primer grupo de IO en dicho país, el Anti-Submarine Warfare Operations Research
Group (nótese el uso del término Operations Research en EE. UU. en contraste
con el británico Operational Research), encargado de diseñar tácticas efectivas de
combate contra los submarinos alemanes. El historiador estadounidense J. E. Bur-
chard (1898–1975) escribió al respecto lo siguiente: “That Morse’s group was an im-
portant factor in winning the war is fairly obvious to everyone who knows anything about
the inside of the war.”3
Otro ejemplo de éxito de la IO se produjo en la optimización de rutas de trans-
porte, abordada primero por F. L. Hitchcock en 1941, y con posterioridad por T.
C. Koopmans, a quien nos referimos más arriba.4
Llegada la paz, y animados por los éxitos obtenidos mediante el enfoque de la
IO, los miembros de aquellos grupos pioneros vislumbraron su potencial en apli-
caciones civiles, y comenzaron a formarse equipos encargados de optimizar las
decisiones de producción, transporte, marketing, inversión, planificación, logísti-
ca, etc., en diversas empresas y organizaciones.
2
Véase M. W. Kirby. Operational Research in War and Peace: The British Experience from the 1930s to
1970. Imperial College Press, 2003.
3
Véase J. E. Burchard y J. R. Killian. QED: MIT in World War II, Wiley, 1948, p. 92.
4
El modelo clásico del transporte óptimo fue formulado en primer lugar en F. L. Hitchcock (1941).
The distribution of a product from several sources to numerous localities. Journal of Mathematics
and Physics, vol. 20, pp. 224–230. Un influyente análisis posterior se debe a T. C. Koopmans (1949).
Optimum utilization of the transportation system. Econometrica, vol. 17, pp. 136–146.
3
1. I NTRODUCCIÓN
4
1.3. Sociedades científicas y profesionales de IO
5
Parte I
OPTIMIZACIÓN LINEAL
Capítulo 2
Formulaciones de optimización
lineal
2.1. Introducción
Entre los diversos tipos de modelos de optimización de decisiones empleados
en IO, la Optimización Lineal1 es uno de los más ampliamente aplicados en la
práctica. La importancia de los modelos de OL se debe tanto a su versatilidad para
modelizar una enorme variedad de problemas de decisión, como a la disponibili-
dad de buenos algoritmos implementados en excelentes paquetes de software para
la rápida resolución numérica de modelos de gran tamaño.
Para representar un problema de decisión en el marco de un modelo de OL,
tenemos que identificar los tres elementos de que se compone su formulación.
1
En las últimos décadas se ha producido un cambio gradual en la denominación de este y otros
campos de la optimización, ya que anteriormente se solía emplear el término programación en lugar
de optimización, como en Programación Lineal (PL). Además de en libros y artículos, este cambio se
ha visto reflejado en el cambio de denominación de la Mathematical Programming Society, fundada en
1973, que en 2010 cambio su nombre a Mathematical Optimization Society.
9
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL
10
2.3. Ejemplos de formulaciones
se formula un modelo de OL. Aunque este es demasiado sencillo para ser de inte-
rés aplicado, ilustra las características esenciales de modelos realistas — lo cual es
válido para los demás modelos que trataremos en este texto.
Imaginemos una empresa que produce dos tipos de zumo de naranja, que lla-
maremos “normal” (N) y “extra” (E). Para ello emplea como recursos o materias
primas dos variedades de naranjas, que llamaremos A y B. La siguiente tabla mues-
tra datos que indican la disponibilidad diaria en kg de cada variedad de naranjas
(determinada, por ejemplo, por un contrato de suministro con un proveedor), el
número de kg de cada variedad empleado para producir un litro (L) de cada tipo
de zumo, y el beneficio neto, en e/L, que la empresa obtiene de la venta de cada
tipo de zumo:
Así, cada día hay disponibles 1000 kg y 1400 kg de naranjas de las variedades
A y B, respectivamente. Para producir 1 L de zumo N se emplean 0.5 kg y 1.4 kg
de naranjas A y B, respectivamente, mientras que 1 L de zumo E requiere 1.5 kgde
naranjas A y 1 kg de naranjas B. El beneficio por L es de 0.05 e/L para el zumo N
y 0.09 e/L para el E.
Además, nos indican que no se debe producir más de 500 L/día de zumo E
(p. ej., porque su demanda diaria estimada tiene ese límite), y que la diferencia
absoluta entre las producciones de zumos N y E no puede superar los 300 L.
El problema que se plantea la empresa es: ¿Cuál es el mejor plan de produc-
ción? Es decir, ¿cuántos litros de cada tipo de zumo hay que producir por día para
maximizar el beneficio?
A continuación, formularemos este problema como un modelo de OL, identifi-
cando los tres elementos de que consta su formulación:
1. Variables de decisión: como las decisiones relevantes son qué cantidad producir
de cada tipo de zumo, introducimos las variables de decisión x1 y x2 , que
representan las producciones diarias (en kL) de zumos N y E.
2. Objetivo: El beneficio resultante de producir x1 y x2 kL de zumos N y E es
50x1 `90x2 e. Por tanto, el objetivo del problema será maximizar 50x1 `90x2 .
3. Restricciones: La cantidad utilizada, en toneladas (tons.), de naranjas A corres-
pondiente al plan de producción x “ px1 , x2 q es de 0.5x1 ` 1.5x2 , mientras
que para las naranjas B es de 1.4x1 ` x2 . Por tanto, formulamos el requisito
de que no se ha de utilizar más cantidades de recursos que las disponibles
mediante las desigualdades lineales 0.5x1 ` 1.5x2 ď 1 y 1.4x1 ` x2 ď 1.4.
Además, formulamos la condición de que no se ha de producir más de 0.5
kL/día de zumo E como como x2 ď 0.5, mientras que la condición de que
la diferencia absoluta entre las producciones de zumos N y E no debe supe-
rar los 0.3 KL la formulamos como el par de desigualdades x2 ´ x1 ď 0.3 y
x1 ´ x2 ď 0.3. Finalmente, añadimos explícitamente las restricciones de no
negatividad x1 ě 0, x2 ě 0, que formulan la condición — implícita hasta
ahora — de que las cantidades producidas deben ser no negativas.
11
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL
Se trata de elaborar una mezca de coste mínimo que satisfaga tales requisitos
nutricionales. Los elementos de la formulación de OL del problema son:
2
El artículo original sobre el modelo de la dieta es G. J. Stigler (1945). The cost of subsistence.
Journal of Farm Economics, vol. 27, 303–314. Una revisión de extensiones y aplicaciones se presenta en
S. G. Garille y S. I. Gass (2001). Stigler’s diet problem revisited. Operations Research, vol. 49, 1–13.
12
2.3. Ejemplos de formulaciones
La dieta en cuestión ha de asegurar 2000 calorías por día. Así, la tabla indica
que una ración de leche aporta el 24.8% de 2000 calorías, el 13% de la CDR de
carbohidratos, el 37% de la CDR de proteínas, etc.
Se trata de diseñar una dieta de coste mínimo que satisfaga tales requisitos
nutricionales. Los elementos de la formulación de OL del problema son:
1. Variables de decisión: número de raciones de leche (x1 ) y de maíz (x2 ) en la
dieta diaria.
13
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL
La tabla anterior indica, por ejemplo, que a partir de un barril de petróleo del
país A se obtienen 0.3 barriles de gasolina, 0.4 barriles de fuel, y 0.2 barriles de
lubricante. Además, se dispone a lo sumo de 9000 barriles de dicho petróleo por
día, a un coste de 20 e/barril. Por otra parte, la producción diaria de gasolina, fuel
y lubricante ha de ser, al menos, de 2000, 1500 y 500 barriles, respectivamente.
La empresa busca determinar el número de barriles diarios que ha de adquirir
a los países A y B para satisfacer sus requisitos de producción a coste mínimo.
Los elementos de la formulación de OL del problema son:
1. Variables de decisión: miles de barriles adquiridos por día a A (x1 ) y a B (x2 )
14
2.4. Una formulación general: el modelo de asignación
15
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL
16
2.6. Ejercicios
2.6. Ejercicios
Ejercicio 2.1. Un seleccionador de natación se dispone a seleccionar un equipo de
cuatro nadadoras para competir en la prueba de relevos 4 ˆ 4, en la que cada una
de las cuatro mangas se nada con uno de los cuatro estilos: libre, braza, espalda y
mariposa. El seleccionador ha de elegir a cuatro nadadoras de entre diez candida-
tas. Los tiempos medios (en segundos) durante la temporada de cada candidata en
cada prueba son:
Ejercicio 2.2. Se busca diseñar una dieta óptima diaria a partir de dos alimentos,
que llamaremos A y B. El coste de una ración es de 2.5 e para el alimento A y de 3 e
para el alimento B. La dieta diaria ha de satisfacer las necesidades nutricionales de
cinco nutrientes, a los que nos referiremos como “el nutriente i”, para i “ 1, . . . , 5.
La siguiente tabla contiene datos que indican la cantidad de cada nutriente por
ración de cada alimento, así como la cantidad diaria recomendada (CDR) de cada
nutriente. Por ejemplo, una ración de alimento A contiene 2 unidades del nutriente
1, 1 unidad del nutriente 2, 4 unidades del nutriente 3, 2 unidades del nutriente 4,
y 3 unidades del nutriente 5; además, la dieta diaria requiere al menos 3 unidades
del nutriente 1.
17
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL
Supongamos que el restaurante tiene una reserva de 16 clientes, por lo que será
necesario preparar 16 platos, a repartir entre A y B, por anticipado. Formula como
un modelo de OL el problema de decidir cuántas unidades hay que preparar de
cada plato para maximizar los beneficios, y resuélvelo con el software Excel.
18
Capítulo 3
3.1. Introducción
Los paquetes de software para OL incorporan implementaciones de algoritmos
para la resolución de dichos modelos. El primero de ellos, que continúa siendo el
más ampliamente empleado, es el método símplex, desarrollado por el matemáti-
co estadounidense G. B. Dantzig (1914–2005) en 1947. Antes de describirlo, dedi-
caremos este capítulo a sentar las bases para la comprensión de las ideas en que se
basa su diseño. Para ello, nos centraremos en el caso en que el problema de interés
tiene solo dos variables de decisión. Veremos que este caso se puede resolver direc-
tamente a partir de su representación gráfica. Aunque tal caso pudiera parecer de
interés limitado, veremos que, al contrario, su estudio nos proporcionará una va-
liosa comprensión intuitiva sobre las propiedades fundamentales de los problemas
de OL. Posteriormente, veremos que tales propiedades se extienden a problemas
con múltiples variables de decisión.
19
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
Teorema Fundamental de la OL
Si un problema de OL tiene solución óptima, esta se alcanza en un vértice de su
región factible.
Nótese que el Teorema Fundamental no descarta que pueda haber otras solu-
ciones óptimas que no sean vértices. De hecho, es fácil argumentar que, si dos vér-
20
3.4. Análisis de sensibilidad
tices distintos son óptimos, también serán óptimas todas los puntos del segmento
que los une.
Las restricciones que se satisfacen con igualdad en un vértice óptimo, es decir,
que son activas en dicho vértice, se denominan restricciones críticas.
3.5. Ejemplos
A continuación, resolveremos mediante el método gráfico algunas de las for-
mulaciones de OL que comentamos en el Capítulo 1.
21
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
1
x2
0
0 1 x1 2
22
3.5. Ejemplos
1
x2
A
B
0
0 1 x1 2
1
x2
E
A
B
0
0 1 x1 2
23
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
D2 D1
1
x2 E
A
B
0
0 1 x1 2
0.6
x3 x4
0.5 x5
0.4
x6
x2
0.3
x2
0.2
0.1
x1 x7
0
0 0.1 0.2 0.3 0.4 x1 0.5 0.6 0.7 0.8
24
3.5. Ejemplos
aquella que da el mayor valor del objetivo sin salir de la región factible, es la que
pasa por el vértice x5 , determinado por las restricciones críticas A y B. Por tanto, el
vértice x5 es la única solución óptima. A partir de sus coordenadas, obtenemos el
valor óptimo z ˚ “ 73.75.
En el caso de que a partir de la representación gráfica no sea posible determinar
visualmente cuál es el mejor vértice entre varios posibles, habremos de calcular
las coordenadas de cada uno de ellos, y evaluar los valores correspondientes del
objetivo. Cualquier vértice que dé el mejor valor será óptimo.
0.6
z = 73.75
0.5
x5
0.4
x2
0.3
0.2
0.1
z = 30
0
0 0.1 0.2 0.3 0.4 x1 0.5 0.6 0.7 0.8
25
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
26
3.5. Ejemplos
que caracterizan la región de incrementos admisibles p∆r1 , ∆r2 q para los que el
vértice x5 es óptimo para el objetivo modificado.
Los paquetes de software para OL no suelen dar la región completa (3.1) para
cambios simultáneos en todos los coeficientes, sino solo el intervalo, o rango, de in-
crementos admisibles para cambios en cada uno de los coeficientes, considerados
27
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
Dr2
50
0 Dr1
-50
-50 0 50
Figura 3.10: Región de incrementos admisibles p∆r1 , ∆r2 q para los que x5 es ópti-
mo.
de forma separada. Así, para cambios en el coeficiente del objetivo para x1 , obte-
nemos el intervalo de incrementos admisibles ∆r1 fijando ∆r2 “ 0 en (3.1), lo cual
da el intervalo ´20 ď ∆r1 ď 76. Del mismo modo, obtenemos el rango de incre-
mentos admisibles ∆r2 fijando ∆r1 “ 0 en (3.1): ´54.29 « ´1140{21 ď ∆r2 ď 60.
nuestra intuición visual sugiere que A p yBp continuarán siendo las restricciones crí-
ticas, siempre que la magnitud del vector de incrementos p∆b1 , ∆b2 q sea lo bastante
pequeño.
Esto nos lleva a considerar la siguiente cuestión: ¿Para qué región de incremen-
tos admisibles p∆b1 , ∆b2 q se cumple que el vértice xp 5 determinado por las restric-
ciones modificadas A p yB p es óptimo?
Para resolver esta cuestión, comenzamos por calcular las coordenadas del vér-
tice x
p5 , resolviendo el sistema de ecuaciones lineales
28
3.5. Ejemplos
Así, obtenemos
ˆ ˙
5 11 ´ 10∆b1 ` 15∆b2 7 ` 14∆b1 ´ 5∆b2
p “
x , .
16 16
A continuación, tenemos que asegurar que el vector de incrementos p∆b1 , ∆b2 q
es tal que el punto x
p5 satisface cada una de las restantes restricciones. Así, para que
se cumpla la restricción E: x2 ď 0.5, ha de ser
7 ` 14∆b1 ´ 5∆b2 1
ď ,
16 2
es decir,
14∆b1 ´ 5∆b2 ď 1.
Procediendo del mismo modo, obtenemos que x p5 cumplirá las restricciones D1
y D2 si ´30∆b1 `25∆b2 ď 1 y 30∆b1 ´25∆b2 ď 11, respectivamente. Por otra parte,
p5 debe satisfacer las restricciones de no negatividad, para lo cual se ha de cumplir
x
que 10∆b1 ´ 15∆b2 ď 11 y ´14∆b1 ` 5∆b2 ď 7.
Así, hemos obtenido que la región de incrementos admisibles p∆b1 , ∆b2 q, para
los cuales el vértice x
p 5 es óptimo, está caracterizado por las desigualdades lineales
14∆b1 ´ 5∆b2 ď 1
´30∆b1 ` 25∆b2 ď 1
30∆b1 ´ 25∆b2 ď 11 (3.2)
10∆b1 ´ 15∆b2 ď 11
´14∆b1 ` 5∆b2 ď 7.
29
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
económico para la empresa, es de 95{2 “ 47.5 e/ton., mientras que el valor margi-
nal de las naranjas B es de 75{4 “ 18.75 e/ton. Esto quiere decir que, si la empresa
incrementase la cantidad diaria disponible de naranjas de clase A en ∆b1 tons., su
beneficio se incrementaría en 47.5∆b1 e, siempre que ´1{30 ď ∆b1 ď 1{14. Y, de
forma similar, si la empresa incrementase la cantidad diaria disponible de naranjas
de clase B en ∆b2 tons., su beneficio se incrementaría en 18.75∆b2 e, siempre que
´1{5 ď ∆b2 ď 1{25.
Los valores marginales de recursos se denominan también precios sombra,
los cuales tienen un rango de validez, dado en el ejemplo por los intervalos
´0.071 « ´1{30 ď ∆b1 ď 1{14 « 0.033 y ´1{5 ď ∆b2 ď 1{25. El precio som-
bra de un recurso representa su valor marginal para la empresa, y no tiene por
qué coincidir con el precio de mercado del recurso. Conocer el valor de los precios
sombra es útil para tomar decisiones sobre la adquisición de más recursos, o sobre
la venta de recursos disponibles. Así, supongamos que el precio de mercado de
las naranjas de clase A fuese de 50 e/ton. ¿Le interesará en tal caso a la empresa
adquirir más naranjas de la variedad A? Claramente no, ya que si lo hiciera estaría
perdiendo dinero a razón de 50 ´ 47.5 “ 2.5 e/ton. ¿Y si el precio de mercado
de las naranjas A fuese de 47 e/ton.? En este caso sí sería rentable adquirir más
naranjas de clase A, ya que la empresa ganará dinero a razón de 47.5 ´ 47 e/ton.
Finalmente, si el precio de mercado de estas naranjas fuese exactamente de 47.5
e/ton, entonces sería indiferente para la empresa adquirir o no más naranjas A.
Nótese que tales respuestas son correctas para incrementos ∆b1 y ∆b2 dentro de
sus rangos de validez, que satisfagan (3.2).
30
3.6. Ejercicios
3.6. Ejercicios
Ejercicio 3.1. Considera el siguiente problema:
minimizar x1 ` 2x2
sujeto a
4x1 ´ 3x2 ě 12
x1 ` 6x2 ě 6
x2 ď 4
x1 , x2 ě 0.
31
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD
minimizar x1 ` 2x2
sujeto a
´ 4x1 ` x2 ě 2
2x1 ` x2 ě 24
x1 ě 1
x2 ď 40
minimizar ´3x1 ` x2
sujeto a
4x1 ´ 3x2 ď 4
5x1 ` 2x2 ě 10
x1 ď 5
x2 ď 6
x1 , x2 ě 0.
32
3.6. Ejercicios
33
Capítulo 4
El método símplex
4.1. Introducción
En el capítulo anterior enunciamos el siguiente resultado.
Teorema Fundamental de la OL
Si un problema de OL tiene solución óptima, esta se alcanza en un vértice de su
región factible.
35
4. E L MÉTODO SÍMPLEX
36
4.2. Formato estándar
37
4. E L MÉTODO SÍMPLEX
como una restricción equivalente con lado derecho no negativo, además de cam-
biar el signo de los coeficientes debemos cambiar el tipo de desigualdad. En este
caso, obtenemos la restricción equivalente
´2x1 ` x2 ´ x` ´
3 ` x3 ď 10.
maximizar r 1 x1 ` ¨ ¨ ¨ ` rn xn
sujeto a
a11 x1 ` ¨ ¨ ¨ ` a1n xn “ b1
.. .. .. ..
. . . .
am1 x1 ` ¨ ¨ ¨ ` amn xn “ bm
x1 , ... xn ě 0.
38
4.3. Soluciones básicas factibles y vértices
Diremos que los rj son los coeficientes del objetivo, los bi ě 0 son los coefi-
cientes del lado derecho, y los aij son los coeficientes del lado izquierdo, para las
filas/restricciones indexadas por i “ 1, . . . , m, y las columnas/variables indexadas
por j “ 1, . . . , n. Es conveniente emplear notación matricial, escribiendo
¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛
x1 r1 b1 a11 ¨ ¨ ¨ a1n
x “ ˝ ... ‚, r “ ˝ ... ‚, b “ ˝ ... ‚, A “ ˝ ... .. ‹ ,
˚ ‹ ˚ ‹ ˚ ‹ ˚ ..
. . ‚
xn rn bm am1 ¨ ¨ ¨ amn
maximizar rT x
sujeto a
Ax “ b
x ě 0,
amj
A “ ra1 ¨ ¨ ¨ an s.
39
4. E L MÉTODO SÍMPLEX
a11 x1 ` ¨ ¨ ¨ ` a1m xm “ b1
.. .. .. ..
. . . .
am1 x1 ` ¨ ¨ ¨ ` amm xm “ bm ,
o, en notación matricial por columnas,
a1 x1 ` ¨ ¨ ¨ ` am xm “ b.
s “ psb1 , . . . , sbm , 0, . . . , 0q .
T
x
4.3.4. Un ejemplo
Ilustraremos los conceptos introducidos más arriba mediante un ejemplo. Con-
sideremos el problema en formato estándar
40
4.3. Soluciones básicas factibles y vértices
Como a1 y a2 son l. i., constituyen una base de A. Para calcular la solución básica
correspondiente, fijamos a cero la variable no básica x3 , y resolvemos el sistema
lineal 2 ˆ 2 resultante en las variables básicas x1 y x2 :
x1 ` 2x2 “ 10
2x1 ´ x2 “ 8.
donde la notación xt1,2u indica que nos referimos a la solución básica correspon-
diente a tomar como base el subconjunto t1, 2u de columnas de A. Como xt1,2u ě 0,
xt1,2u es una SBF, esto es, un vértice.
Consideremos a continuación las columnas 1 y 3 de A:
ˆ ˙ ˆ ˙
1 1
a1 “ y a3 “ .
2 3
Como a1 y a3 son l. i., son una base. Para calcular la solución básica, fijamos a cero
la variable no básica x2 , y resolvemos el sistema
x1 ` x3 “ 10
2x1 ` 3x3 “ 8.
41
4. E L MÉTODO SÍMPLEX
Vemos que no se cumple que xt1,3u ě 0. Por tanto, xt1,3u no es una SBF: no es un
vértice.
Finalmente, consideramos las columnas 2 y 3 de A:
ˆ ˙ ˆ ˙
2 1
a2 “ y a3 “ .
´1 3
Como a2 y a3 son l. i., forman una base de A. Para calcular la solución básica,
fijamos a cero la variable no básica x1 , y resolvemos el sistema
2x2 ` x3 “ 10
´x2 ` 3x3 “ 8.
Como la solución de este es x2 “ 22{7, x3 “ 26{7, la solución básica es
¨ ˛
0
xt2,3u “ ˝22{7‚.
26{7
42
4.4. Introducción al método símplex de Dantzig
a pensar que tal método puede ser útil en la práctica, veremos que, al contrario, re-
sulta en general extremadamente ineficiente e imposible de aplicar en los modelos
que aparecen en la práctica.
Consideremos un problema en formato estándar con n “ 100 variables y
m “ 50 restricciones. ¿Cuántas bases habría que evaluar? Como cada base co-
rresponde a una
` ˘elección de 50 columnas de entre 100, el número de posibles bases
no superará 100
50 « 1029 : una cantidad inmensa. Si bien muchos de tales subcon-
juntos de columnas no darán lugar a SBFs, se pueden obtener ejemplos en los que
el número de SBFs es del orden de la mitad de tal cantidad. Por tanto, el método
de enumeración completa no es útil en la práctica para resolver los problemas de
OL que aparecen en aplicaciones reales.
43
4. E L MÉTODO SÍMPLEX
x1 x2 x3 x4 x5 LD
2 1 1 0 0 40
1 1 0 1 0 30
1 0 0 0 1 15
z
En esta tabla, hay una columna por cada variable xj , que contiene los coefi-
cientes de la columna correspondiente aj de la matriz A. La tabla también incluye
una columna a la derecha, rotulada como “LD” (lado derecho). Además, hay una
fila inferior, rotulada a la izquierda como z, que se refiere al objetivo. Por ahora,
dejaremos esta fila en blanco.
A continuación, vamos a seleccionar la base inicial, que nos proporcionará el
vértice inicial. En general, la selección de una base inicial es un problema no trivial,
que abordaremos en el próximo capítulo. Solo hay un caso en el que es inmediato
elegir una base inicial.
44
4.4. Introducción al método símplex de Dantzig
VB x1 x2 x3 x4 x5 LD
x3 2 1 1 0 0 40
x4 1 1 0 1 0 30
x5 1 0 0 0 1 15
z
Aun falta por rellenar la fila inferior. Para ello, ampliamos la tabla con otra
fila arriba y otra columna a la izquierda, y escribimos en ellas los coeficientes del
objetivo para cada variable. Además, incorporamos un ´1 en la entrada de arriba
a la izquierda de la tabla ampliada, y un 0 en la entrada de arriba a la derecha:
´1 4 3 0 0 0 0
VB x1 x2 x3 x4 x5 LD
0 x3 2 1 1 0 0 40
0 x4 1 1 0 1 0 30
0 x5 1 0 0 0 1 15
z
Para calcular la fila inferior, multiplicamos cada fila de la tabla anterior por
el número en la primera columna a la izquierda, y sumamos las filas resultantes.
Obtenemos así la primera tabla:
VB x1 x2 x3 x4 x5 LD
x3 2 1 1 0 0 40
x4 1 1 0 1 0 30
x5 1 0 0 0 1 15
z ´4 ´3 0 0 0 0
maximizar z
sujeto a
2x1 ` x2 ` x3 “ 40
x1 ` x2 ` x4 “ 30
x1 ` x5 “ 15
z´ 4x1 ´ 3x2 “ 0
x1 , x2 , x3 , x4 , x5 ě 0.
45
4. E L MÉTODO SÍMPLEX
Vemos que la tabla anterior no supera dicho test, ya que los costes reducidos de
las variables x1 y x2 son negativos. Por ello, debemos continuar, llevando a cabo
una iteración, que consiste en una operación de pivotaje: modificaremos la base
actual, reemplazando una variable básica por otra que no lo era.
46
4.4. Introducción al método símplex de Dantzig
VB x1 x2 x3 x4 x5 LD cocientes
x3 2 1 1 0 0 40 40{2
x4 1 1 0 1 0 30 30{1
x5 1 0 0 0 1 15 15{1
z ´4 ´3 0 0 0 0
Primer pivotaje
Para sacar de la base x5 y poner en su lugar x1 , realizamos el primer pivota-
je, a partir del elemento pivote. Procederemos como en el método de eliminación
gaussiana para resolver sistemas de ecuaciones lineales, llevando a cabo operacio-
nes elementales por filas del tipo “sumar a una fila un múltiplo escalar de otra fila”
con el propósito de obtener un 0 en cada elementos de la columna para la variable
que sale de la base (x1 ), salvo para el lugar del pivote, en cuyo lugar debe quedar
un 1.
Como el pivote ya vale 1, dejamos su fila como está (operación fila: F3 Ñ F3 ).
Si el pivote valiese, p. ej., 3, tendríamos que comenzar dividiendo su fila por 3 para
obtener un 1 en la posición del pivote.
A continuación, buscamos obtener un 0 en lugar del ´4 que aparece en la cuarta
fila. Para ello, multiplicamos la fila del pivote por 4, y sumamos el resultado a
la cuarta fila. Denotamos tal operación fila por F4 ` 4F3 Ñ F4 . Después, para
obtener un 0 en lugar del 1 en el elemento de la segunda fila y la columna del
pivote, restamos a esta fila la del pivote, es decir, aplicamos la operación fila F2 ´
F3 Ñ F2 . Por último, para obtener un 0 en lugar del 2 que aparece en la entrada
correspondiente a la primera fila y la columna del pivote, multiplicamos la fila del
pivote por ´2 y sumamos el resultado a la primera fila. La operación fila resultante
es F1 ´ 2F3 Ñ F1 .
Procediendo de este modo, completamos el primer pivotaje, obteniendo la se-
gunda tabla símplex, a la que hemos añadido una columna a la izquierda rotulada
como “OF” (operaciones fila):
47
4. E L MÉTODO SÍMPLEX
OF VB x1 x2 x3 x4 x5 LD
F1 ´ 2F3 Ñ F1 x3 0 1 1 0 ´2 10
F2 ´ F3 Ñ F2 x4 0 1 0 1 ´1 15
F3 Ñ F3 x1 1 0 0 0 1 15
F4 ` 4F3 Ñ F4 z 0 ´3 0 0 4 60
Vemos que el valor del objetivo ha aumentado de 0 a 60. Además, la tabla indica
que las variables básicas son ahora x3 , x4 y x1 , cuyas columnas correspondientes
forman, como debe ser, la matriz identidad.
Nótese que la segunda tabla que hemos obtenido representa el siguiente pro-
blema, que es equivalente al primero:
maximizar z
sujeto a
x2 ` x3 ´ 2x5 “ 10
x2 ` x4 ´ x5 “ 15
x1 ` x5 “ 15
z ´ 3x2 ` 4x5 “ 60
x1 , x2 , x3 , x4 , x5 ě 0
Segundo pivotaje
La tabla anterior tampoco cumple el test de optimalidad, ya que el coste redu-
cido de x2 es negativo: s
c2 “ ´3 ă 0. Como esta es la única variable en tal situación,
será la que entre en la base.
Para determinar qué variable sale de la base, aplicamos la regla del menor co-
ciente con denominador positivo, a partir de los cocientes correspondientes:
VB x1 x2 x3 x4 x5 LD cocientes
x3 0 1 1 0 ´2 10 10{1
x4 0 1 0 1 ´1 15 15{1
x1 1 0 0 0 1 15 —
z 0 ´3 0 0 4 60
OF VB x1 x2 x3 x4 x5 LD
F1 Ñ F1 x2 0 1 1 0 ´2 10
F2 ´ F1 Ñ F2 x4 0 0 ´1 1 1 5
F3 Ñ F3 x1 1 0 0 0 1 15
F4 ` 3F1 Ñ F4 z 0 0 3 0 ´2 90
48
4.4. Introducción al método símplex de Dantzig
maximizar z
sujeto a
x2 ` x3 ´ 2x5 “ 10
´ x3 ` x4 ` x5 “ 5
x1 ` x5 “ 15
z ` 3x3 ´ 2x5 “ 90
x1 , x2 , x3 , x4 , x5 ě 0
Tercer pivotaje
La tabla anterior tampoco cumple el test de optimalidad, ya que el coste redu-
cido de x5 es negativo: s
c5 “ ´2 ă 0. Será esta la variable que entre en la base.
Para determinar qué variable sale de la base, calculamos los cocientes, como se
muestra en la siguiente tabla:
VB x1 x2 x3 x4 x5 LD cocientes
x2 0 1 1 0 ´2 10 —
x4 0 0 ´1 1 1 5 5{1
x1 1 0 0 0 1 15 15{1
z 0 0 3 0 ´2 90
OF VB x1 x2 x3 x4 x5 LD
F1 ` 2F2 Ñ F1 x2 0 1 ´1 2 0 20
F2 Ñ F2 x5 0 0 ´1 1 1 5
F3 ´ F2 Ñ F3 x1 1 0 1 ´1 0 10
F4 ` 2F2 Ñ F4 z 0 0 1 2 0 100
maximizar z
sujeto a
x2 ´ x3 ` 2x4 “ 20
´ x3 ` x4 ` x5 “ 5
x1 ` x3 ´ x4 “ 10
z ` x3 ` 2x4 “ 100
x1 , x2 , x3 , x4 , x5 ě 0
49
4. E L MÉTODO SÍMPLEX
2. Si la tabla inicial es
VB xT LD
A b
s
cT z
calculamos la tabla para la SBF con variables básicas x2 , x5 , y x1 como sigue:
primero, en lugar de la matriz A y el vector b en la tabla inicial, ponemos el
resultado de B´1 A y B´1 b, con lo cual obtenemos
VB xT LD
xB B´1 A B´1 b
¨¨¨ ¨
En este caso, obtenemos la tabla
VB x1 x2 x3 x4 x5 LD
x2 0 1 ´1 2 0 20
x5 0 0 ´1 1 1 5
x1 1 0 1 ´1 0 10
z
Finalmente, calculamos los costes reducidos en la tabla anterior, procediendo
como se explicó más arriba:
´1 4 3 0 0 0 0
VB x1 x2 x3 x4 x5 LD
3 x2 0 1 ´1 2 0 20
0 x5 0 0 ´1 1 1 5
4 x1 1 0 1 ´1 0 10
z 0 0 1 2 0 100
50
4.4. Introducción al método símplex de Dantzig
´1 ∆r3 ∆r4 0
VB x3 x4 LD
3 ` ∆r2 x2 ´1 2 20
∆r5 x5 ´1 1 5
4 ` ∆r1 x1 1 ´1 10
z s
c3 s
c4 zs
En la tabla anterior,
y
zs “ 100 ` 10∆r1 ` 20∆r2 ` 5∆r5 .
Por tanto, aplicando el test de optimalidad, podemos asegurar que el vértice
obtenido anteriormente continuará siendo óptimo para incrementos en los coefi-
cientes del objetivo tales que los costes reducidos de la tabla anterior sean no ne-
gativos:
´∆r1 ` ∆r2 ` ∆r3 ` ∆r5 ď 1
(4.1)
∆r1 ´ 2∆r2 ` ∆r4 ´ ∆r5 ď 2.
Como se comentó más arriba, el software para OL solo suele dar los intervalos
de incrementos admisibles para cada coeficiente, considerando tales cambios de
forma separada. En este caso, para cambios en el coeficiente del objetivo para x1 ,
obtenemos de (4.1) el intervalo de incrementos admisibles ∆r1 (suponiendo ∆r2 “
∆r3 “ ∆r4 “ ∆r5 “ 0):
´1 ď ∆r1 ď 2.
De forma similar:
Para ∆r2 , el intervalo de incrementos admisibles es ´1 ď ∆r2 ď 1.
Para ∆r3 , el intervalo de incrementos admisibles es ∆r3 ď 1.
Para ∆r4 , el intervalo de incrementos admisibles es ∆r4 ď 2.
Para ∆r5 , el intervalo de incrementos admisibles es ´2 ď ∆r5 ď 1.
Fijémonos en que en este análisis de sensibilidad se cumple la siguiente pro-
piedad, que tiene validez general.
51
4. E L MÉTODO SÍMPLEX
30
25
20
x2
15
10 P
5
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.1: Región factible del problema.
maximizar x
sujeto a
x ě 0.
52
4.5. Problemas con objetivo no acotado
30
25
20
x2
15
P
10
5 xt3,4,5u
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.2: Vértice inicial: xt3,4,5u .
30
25
20
x2
15
P
10
5
xt3,4,1u
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.3: Primer pivotaje: vértice xt3,4,1u .
30
25
20
x2
15 xt2,4,1u
P
10
5
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.4: Segundo pivotaje: vértice xt2,4,1u .
53
4. E L MÉTODO SÍMPLEX
30
25 xt2,5,1u
20
x2
15
P
10
5
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.5: Tercer pivotaje: vértice xt2,5,1u .
30 z ˚ “ 100
25 xt2,5,1u
20
x2
15
P
10
5
0
0 2 4 6 8 10 12 14 16
x1
Figura 4.6: El vértice xt2,5,1u es óptimo (máximo).
minimizar x
sujeto a
x ě 0.
Así, aunque este último OL tiene una región factible no acotada, su solución ópti-
ma es el vértice x˚ “ 0.
Supongamos que, en el curso de aplicar el método símplex a un problema, he-
mos determinado que cierta variable xj con coste reducido negativo s cj ă 0 entraría
en la base. Para determinar cuál de las variables básicas ha debe salir de la base,
tratamos de aplicar la regla del menor cociente con Denominador Positivo. Esta re-
quiere que calculemos cocientes sbi {saij , que se obtienen tomando como numerador
para cada fila i de la tabla su coeficiente sbi del lado derecho y, como denominador,
la entrada en la tabla correspondiente a la fila en cuestión y la columna de la va-
riable xj . Sin embargo, recordemos que tales cocientes solo se deben calcular para las
54
4.5. Problemas con objetivo no acotado
4.5.1. Un ejemplo
Como ejemplo, consideremos el problema en formato estándar
maximizar x3
sujeto a
x2 ´ 3x3 “ 5
x1 ´ 5x3 “ 8
x1 , x2 , x3 ě 0.
Construimos la primera tabla, tomando como variables básicas iniciales x2 , y
x1 — ya que las columnas correspondientes de la matriz de coeficientes A forman
la matriz identidad. Para ello, partimos de una tabla ampliada con una fila arri-
ba y una columna a la izquierda, que contienen coeficientes del objetivo, además
de los coeficientes ´1 y 0 en las esquinas superior izquierda y superior derecha,
respectivamente:
´1 0 0 1 0
VB x1 x2 x3 LD
0 x2 0 1 ´3 5
0 x1 1 0 ´5 8
0 z
´1 0 0 1 0
VB x1 x2 x3 LD
0 x2 0 1 ´3 5
0 x1 1 0 ´5 8
0 z 0 0 ´1 0
55
4. E L MÉTODO SÍMPLEX
´1 0 0 1 0
VB x1 x2 x3 LD cocientes
0 x2 0 1 ´3 5 —
0 x1 1 0 ´5 8 —
0 z 0 0 ´1 0
La tabla anterior muestra que no podemos aplicar tal regla en este caso, ya que
entre los denominadores que obtendríamos en la columna de la variable x3 no hay
ninguno positivo. Concluimos, por tanto, que este problema es no acotado, esto es,
z ˚ “ 8.
56
4.6. Justificación teórica del método símplex
s ´ λs
b aj .
2. Ecuaciones para la variable que entraría en la base: Asignamos a tal variable
el valor del parámetro, esto es, xj “ λ.
3. Ecuaciones para las restantes variables: Si hay variables que no están cu-
biertas en los casos anteriores, les asignamos el valor 0.
y x3 “ λ.
A partir de la información anterior, ordenamos las variables y damos las ecua-
ciones paramétricas de la semirrecta de interés:
¨ ˛ ¨ ˛ ¨ ˛
x1 8 5
˝x2 ‚ “ ˝5‚` λ ˝3‚, λ ě 0. (4.2)
x3 0 1
Así, en este ejemplo la semirrecta factible no acotada parte del punto p8, 5, 0qT —
que es el vértice para la tabla símplex anterior— y, a partir de este, se extiende en
la dirección del vector p5, 3, 1qT .
Es inmediato comprobar que la semirrecta obtenida es factible y que el objetivo
diverge a lo largo de la misma a 8 cuando λ Ñ 8.
maximizar r1 x1 ` ¨ ¨ ¨ ` rn xn
sujeto a
a11 x1 ` ¨ ¨ ¨ ` a1n xn “ b1
.. .. .. ..
. . . .
am1 x1 ` ¨ ¨ ¨ ` amn xn “ bm
x1 , ... xn ě 0,
o, en notación matricial,
maximizar rT x
sujeto a
Ax “ b
x ě 0.
57
4. E L MÉTODO SÍMPLEX
donde
¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛
r1 rm`1 x1 xm`1
rB “ ˝ ... ‚, “ ˝ ... ‚, xB “ ˝ ... ‚, “ ˝ ... ‚.
˚ ‹ ˚ ‹ ˚ ‹ ˚ ‹
rN xN
rm rn xm xn
s N “ b.
xB ` Nx s (4.4)
58
4.6. Justificación teórica del método símplex
Costes reducidos
La notación scTN anterior
“ T seTrefiere
‰ al bloque de coeficientes de las variables no
básicas del vector s
cT “ scB scN , definido como
s ´ rT .
cT “ rTB A
s (4.6)
Diremos que s c es el vector de costes reducidos para la base B. Nótese que los
costes reducidos de las variables básicas valen 0, ya que
s ´ rT “ rT I ´ rT “ rT ´ rT “ 0.
cTB “ rTB B
s B B B B B
Nótese que dicha tabla general presenta las siguientes características que ya
observamos en las tablas particulares vistas más arriba en ejemplos concretos: (1)
las columnas correspondientes a las variables básicas forman una submatriz iden-
tidad; y (2) los costes reducidos de las variables básicas valen 0.
El test de optimalidad
Supongamos que los costes reducidos de las variables no básicas son no nega-
tivos, esto es, s
cN ě 0. En tal caso, podemos aplicar (4.5) para obtener que el valor
del objetivo en una solución factible x arbitraria del problema cumplirá que
ÿ
rT x “ rTB xB ` rTN xN “ zs ´ s
cTN xN “ zs ´ cj xj ď zs,
s (4.7)
j : aj PN
59
4. E L MÉTODO SÍMPLEX
Por tanto, el coste reducido scj representa la tasa de pérdida económica (con
respecto al valor óptimo del objetivo) que resulta de modificar el vértice óptimo
actual aumentando el valor de la variable no básica xj . Si este representa el nivel al
que se desarrolla una actividad económica j, s
cj representa el coste de oportunidad
por unidad de dicha actividad.
rT x
spλq “ rT ps
x ` λdqs
s
“ zs ` λ rT d
` T ˘
“ zs ` λ rB ds B ` rT d
s
N N
` ˘ (4.9)
“ zs ` λ ´ rTB asj ` rj
“ zs ´ λs
cj
ą zs,
60
4.6. Justificación teórica del método símplex
En este caso, el método símplex salta del vértice actual x sax s que también
spλq,
es un vértice, con x s
sı̂ pλq “ 0. Nótese que el cálculo en (4.11) corresponde a la
regla del menor cociente con denominador positivo. Así, la variable básica xı̂
saldría de la base.
2. Si s
aij ď 0 para cada fila i de la tabla actual, el“ rango buscado de valores
válidos de λ ě 0 será el intervalo semiinfinito 0, 8q. En este caso, hemos
encontrado la semirrecta factible x spλq, para λ ě 0, a lo largo de la cual el
objetivo tiende a 8 cuando λ Ñ 8, por lo que el problema tiene objetivo no
acotado.
Pivotajes degenerados
Al realizar un pivotaje en una tabla símplex, puede ocurrir que el cociente mí-
nimo que determina qué variable sale de la base valga 0. En tal caso, es inmediato
comprobar a partir de lo anterior que el nuevo vértice obtenido tras pivotar será
el mismo que el actual. Cuando esto ocurre, decimos que se ha llevado a cabo un
pivotaje degenerado. Tales pivotajes pueden llegar a provocar que el método sím-
plex no converja. Se han desarrollado versiones más sofisticadas de dicho método
que garantizan la convergencia a un vértice óptimo cuando este existe.
61
4. E L MÉTODO SÍMPLEX
` ˘ ` ˘
ĉTN “ rTB ` ∆rTB Ns ´ rT ` ∆rT “ s s ´ ∆rT ,
cTN ` ∆rTB N
N N N
donde s
cTN corresponde a los costes reducidos no modificados, y
„
∆rB
∆r “
∆rN
∆rj ď s
cj . (4.13)
p “ B´1 pb ` ∆bq ě 0.
b
62
4.7. Ejercicios
4.7. Ejercicios
Ejercicio 4.1. Considera el problema
63
Capítulo 5
5.1. Introducción
En el Capítulo 4 hemos visto cómo aplicar el método símplex a problemas de
OL en formato estándar para los cuales es trivial encontrar un vértice inicial: aque-
llos en los que la matriz de coeficientes A contiene una submatriz identidad. En
tales casos, tomamos como variables básicas iniciales las correspondientes a las
columnas de tal submatriz. Pero, ¿cómo podemos encontrar un vértice inicial en
otros casos, o determinar que no es posible encontrarlo porque el problema es no
factible?
En este capítulo responderemos a tales cuestiones, extendiendo el método sím-
plex a una versión en dos fases: la Fase I aplica el método símplex a un problema
auxiliar, para encontrar un vértice inicial, o concluir que el problema es no factible;
en el primer caso, se continúa con la Fase II, que parte del vértice inicial obteni-
do en la Fase I, y aplica el método símplex al problema original para obtener un
vértice óptimo, o concluir que el objetivo del problema es no acotado.
maximizar x1 ` x2 ` x3
sujeto a
x1 ` x2 `
x3 ě 100
x3 ď 5
´x1 ` x2 ` x3 “ 0
2x1 ´ x2 ` 2x3 “ 0
x1 , x2 , x3 ě 0.
65
5. E L MÉTODO SÍMPLEX EN DOS FASES
maximizar x1 ` x2 ` x3
sujeto a
x1 ` x2 `
x3 ´ x4 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 “ 0
2x1 ´ x2 ` 2x3 “ 0
x1 , x2 , x3 x4 x5 ě 0.
Observamos que la matriz de coeficientes A “ paij q de este problema, dada por
¨ ˛
1 1 1 ´1 0
“ ‰ ˚0 0 1 0 1‹
A “ a1 a2 a3 a4 a5 “ ˚ ˝´1 1 1 0 0‚,
‹
2 ´1 2 0 0
66
5.2. Fase I del método símplex: un ejemplo
x1 ` x2 `
x3 ´ x4 ` x6 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 ` x7 “ 0
2x1 ´ x2 ` 2x3 ` x8 “ 0
x1 , x2 , x3 x4 x5 x6 , x7 , x8 ě 0.
minimizar x6 ` x7 ` x8 ,
maximizar ´x6 ´ x7 ´ x8 .
maximizar ´ x6 ´ x7 ´ x8
sujeto a
x1 ` x2 `
x3 ´ x4 ` x6 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 ` x7 “ 0
2x1 ´ x2 ` 2x3 ` x8 “ 0
x1 , x2 , x3 x4 x5 x6 , x7 , x8 ě 0.
Denotaremos por z I el valor óptimo del objetivo del problema auxiliar de la Fa-
se I. Fijémonos en cuál es la motivación del objetivo artificial: al minimizar la suma
de las variables artificiales, estamos tratando de eliminarlas, es decir, de encontrar
una solución factible en la que dichas variables se anulen: x6 “ x7 “ x8 “ 0. Si lo
conseguimos caso, habremos obtenido un vértice del problema original.
Al resolver el problema auxiliar mediante el método símplex, podemos encon-
trar dos casos:
67
5. E L MÉTODO SÍMPLEX EN DOS FASES
´1 0 0 0 0 0 ´1 ´1 ´1 0
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
´1 x6 1 1 1 ´1 0 1 0 0 100
0 x5 0 0 1 0 1 0 0 0 5
´1 x7 ´1 1 1 0 0 0 1 0 0
´1 x8 2 ´1 2 0 0 0 0 1 0
zI
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 1 1 1 ´1 0 1 0 0 100
x5 0 0 1 0 1 0 0 0 5
x7 ´1 1 1 0 0 0 1 0 0
x8 2 ´1 2 0 0 0 0 1 0
zI ´2 ´1 ´4 1 0 0 0 0 ´100
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 1 1 1 ´1 0 1 0 0 100 100{1 “ 100
x5 0 0 1 0 1 0 0 0 5 5{1 “ 5
x7 ´1 1 1 0 0 0 1 0 0 0{1 “ 0
x8 2 ´1 2 0 0 0 0 1 0 0{2 “ 0
zI ´2 ´1 ´4 1 0 0 0 0 ´100
68
5.2. Fase I del método símplex: un ejemplo
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 2 0 0 ´1 0 1 ´1 0 100
x5 1 ´1 0 0 1 0 ´1 0 5
x3 ´1 1 1 0 0 0 1 0 0
x8 4 ´3 0 0 0 0 ´2 1 0
zI ´6 3 0 1 0 0 4 0 ´100
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 2 0 0 ´1 0 1 ´1 0 100 100{2 “ 50
x5 1 ´1 0 0 1 0 ´1 0 5 5{1 “ 5
x3 ´1 1 1 0 0 0 1 0 0 —
x8 4 ´3 0 0 0 0 ´2 1 0 0{4 “ 0
zI ´6 3 0 1 0 0 4 0 ´100
Vemos que el menor cociente se alcanza en la cuarta fila y que, una vez más,
tiene el valor cero. Hemos marcado el pivote, que muestra que x1 entra en la base,
y x8 sale. Tras llevar a cabo el segundo pivotaje, que será degenerado, obtenemos
la tabla:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 0 3{2 0 ´1 0 1 0 ´1{2 100
x5 0 ´1{4 0 0 1 0 ´1{2 ´1{4 5
x3 0 1{4 1 0 0 0 1{2 1{4 0
x1 1 ´3{4 0 0 0 0 ´1{2 1{4 0
zI 0 ´3{2 0 1 0 0 1 3{2 ´100
Una vez más, vemos que esta tabla no cumple el test de optimalidad, ya que la
variable x2 tiene coste reducido negativo, y es la única variable en tal situación. Por
tanto, x2 entraría en la base. A continuación, calculamos los cocientes requeridos
para determinar qué variable saldrá de la base, como se muestra en la siguiente
tabla:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 0 3{2 0 ´1 0 1 0 ´1{2 100 100{p3{2q “ 200{3
x5 0 ´1{4 0 0 1 0 ´1{2 ´1{4 5 —
x3 0 1{4 1 0 0 0 1{2 1{4 0 0{p1{4q “ 0
x1 1 ´3{4 0 0 0 0 ´1{2 1{4 0 —
zI 0 ´3{2 0 1 0 0 1 3{2 ´100
69
5. E L MÉTODO SÍMPLEX EN DOS FASES
Vemos que el menor cociente, con un valor de cero, se alcanza en la tercera fila,
por lo que la variable x3 saldrá de la base. Tras llevar a cabo el tercer pivotaje —
una vez más, degenerado — obtenemos la siguiente tabla:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 0 0 ´6 ´1 0 1 ´3 ´2 100
x5 0 0 1 0 1 0 0 0 5
x2 0 1 4 0 0 0 2 1 0
x1 1 0 3 0 0 0 1 1 0
zI 0 0 6 1 0 0 4 3 ´100
1 ´1 1 0 0
70
5.3. Fase I del método símplex: otro ejemplo
x1 `x2 ` x3 ´ x4 ` x6 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 ` x7 “ 0
x1 ´ x2 ` x3 ` x8 “ 0
x1 , x2 , x3 x4 x5 x6 , x7 , x8 ě 0.
minimizar x6 ` x7 ` x8 ,
maximizar ´x6 ´ x7 ´ x8 .
maximizar ´ x6 ´ x7 ´ x8
sujeto a
x1 ` x2 ` x3 ´ x4 ` x6 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 ` x7 “ 0
x1 ´ x2 ` x3 ` x8 “ 0
x1 , x2 , x3 x4 x5 x6 , x7 , x8 ě 0.
71
5. E L MÉTODO SÍMPLEX EN DOS FASES
´1 0 0 0 0 0 ´1 ´1 ´1 0
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
´1 x6 1 1 1 ´1 0 1 0 0 100
0 x5 0 0 1 0 1 0 0 0 5
´1 x7 ´1 1 1 0 0 0 1 0 0
´1 x8 1 ´1 1 0 0 0 0 1 0
zI
A partir de esta tabla, multiplicamos cada fila por su coeficiente en el lado iz-
quierdo, y sumamos las filas resultantes para obtener la fila inferior. Así, obtene-
mos la tabla inicial para el problema auxiliar:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 1 1 1 ´1 0 1 0 0 100
x5 0 0 1 0 1 0 0 0 5
x7 ´1 1 1 0 0 0 1 0 0
x8 1 ´1 1 0 0 0 0 1 0
zI ´1 ´1 ´3 1 0 0 0 0 ´100
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 1 1 1 ´1 0 1 0 0 100 100{1 “ 100
x5 0 0 1 0 1 0 0 0 5 5{1 “ 5
x7 ´1 1 1 0 0 0 1 0 0 0{1 “ 0
x8 1 ´1 1 0 0 0 0 1 0 0{1 “ 0
zI ´1 ´1 ´3 1 0 0 0 0 ´100
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 2 0 0 ´1 0 1 ´1 0 100
x5 1 ´1 0 0 1 0 ´1 0 5
x3 ´1 1 1 0 0 0 1 0 0
x8 2 ´2 0 0 0 0 ´1 1 0
zI ´4 2 0 1 0 0 3 0 ´100
Vemos que esta tabla no supera el test de optimalidad, y que la variable x1 en-
traría en la base. Calculamos los cocientes requeridos para determinar qué variable
saldrá de la base:
72
5.3. Fase I del método símplex: otro ejemplo
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 2 0 0 ´1 0 1 ´1 0 100 100{2 “ 50
x5 1 ´1 0 0 1 0 ´1 0 5 5{1 “ 5
x3 ´1 1 1 0 0 0 1 0 0 —
x8 2 ´2 0 0 0 0 ´1 1 0 0{2 “ 0
zI ´4 2 0 1 0 0 3 0 ´100
Así, vemos que la variable x8 saldrá de la base. Tras llevar a cabo el siguiente
pivotaje, que es degenerado, obtenemos la siguiente tabla:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x6 0 2 0 ´1 0 1 0 ´1 100
x5 0 0 0 0 1 0 ´1{2 ´1{2 5
x3 0 0 1 0 0 0 1{2 1{2 0
x1 1 ´1 0 0 0 0 ´1{2 1{2 0
zI 0 ´2 0 1 0 0 1 2 ´100
Vemos que esta tampoco supera el test de optimalidad, y que la variable x2 en-
traría en la base. Calculamos los cocientes requeridos para determinar qué variable
saldrá de la base:
VB x1 x2 x3 x4 x5 x6 x7 x8 LD cocientes
x6 0 2 0 ´1 0 1 0 ´1 100 100{2 “ 50
x5 0 0 0 0 1 0 ´1{2 ´1{2 5 —
x3 0 0 1 0 0 0 1{2 1{2 0 —
x1 1 ´1 0 0 0 0 ´1{2 1{2 0 —
zI 0 ´2 0 1 0 0 1 2 ´100
VB x1 x2 x3 x4 x5 x6 x7 x8 LD
x2 0 1 0 ´1{2 0 1{2 0 ´1{2 50
x5 0 0 0 0 1 0 ´1{2 ´1{2 5
x3 0 0 1 0 0 0 1{2 1{2 0
x1 1 0 0 ´1{2 0 1{2 ´1{2 0 50
zI 0 0 0 0 0 1 1 1 0
Esta tabla es óptima y concluye la Fase I. Como en la solución óptima dada las
variables artificiales x6 , x7 y x8 toman el valor cero y, por tanto, z I “ 0, concluimos
que el problema original es factible.
En este caso, además, las variables artificiales son no básicas en la tabla óptima.
Si no fuera Así, habráa que continuar pivotando (con pivotajes que serán degene-
rados) hasta sacar todas las variables artificiales de la base.
Esta tabla final óptima de la Fase I nos da el siguiente vértice factible para el
problema original:
px1 , x2 , x3 , x4 , x5 q “ p50, 50, 0, 0, 5q,
73
5. E L MÉTODO SÍMPLEX EN DOS FASES
VB x1 x2 x3 x4 x5 LD
x2 0 1 0 ´1{2 0 50
x5 0 0 0 0 1 5
x3 0 0 1 0 0 0
x1 1 0 0 ´1{2 0 50
z
´1 5 8 12 0 0 0
VB x1 x2 x3 x4 x5 LD
8 x2 0 1 0 ´1{2 0 50
0 x5 0 0 0 0 1 5
12 x3 0 0 1 0 0 0
5 x1 1 0 0 ´1{2 0 50
z
VB x1 x2 x3 x4 x5 LD
x2 0 1 0 ´1{2 0 50
x5 0 0 0 0 1 5
x3 0 0 1 0 0 0
x1 1 0 0 ´1{2 0 50
z 0 0 0 ´13{2 0 650
74
5.5. Ejercicios
VB x1 x2 x3 x4 x5 LD cocientes
x2 0 1 0 ´1{2 0 50 —
x5 0 0 0 0 1 5 —
x3 0 0 1 0 0 0 —
x1 1 0 0 ´1{2 0 50 —
z 0 0 0 ´13{2 0 650
5.5. Ejercicios
Ejercicio 5.1. Resuelve mediante el método símplex en dos fases el siguiente pro-
blema, indicando si el problema tiene solución óptima, es no factible, o no acotado
(si este fuera el caso, identifica una semirrecta factible a lo large de la cual el obje-
tivo diverja a ´8):
minimizar x1 ´ x3 ` x4
sujeto a
´ 2x1 ´ 2x2 ` x3 ` x4 “ ´3
x1 ` 2x2 ` 3x3 “ 6
2x1 ` 2x2 ` x3 ` x4 “ 5
x1 , x2 , x3 , x4 ě 0.
Ejercicio 5.2. Resuelve mediante el método símplex en dos fases el siguiente pro-
blema, indicando si el problema tiene solución óptima, es no factible, o no acotado
(si este fuera el caso, identifica una semirrecta factible a lo largo de la cual el obje-
tivo diverja a ´8):
75
5. E L MÉTODO SÍMPLEX EN DOS FASES
maximizar x1 ` 3x2 ´ x3
sujeto a
x1 ´ x2 ` 2x3 ď 3
x1 ´ x2 ` 3x3 ě 4
x1 , x2 , x3 ě 0,
se pide que:
(a) Calcules un vértice factible inicial (empleando el método de las dos fases)
(b) A partir del punto anterior, apliques el método símplex para resolver el pro-
blema. Si el problema tiene solución óptima, calcúlala. Si es no acotado, da
una dirección o familia de soluciones a lo largo de las cuales el objetivo tienda
a `8.
(a) Plantea un problema auxiliar que te permita obtener un vértice factible inicial
para aplicar el método símplex, e indica un vértice factible inicial de dicho
problema auxiliar (no del problema original).
(b) Calcula un vértice factible del problema original resolviendo el problema au-
xiliar.
(c) Continúa aplicando el método símplex para encontrar una solución óptima
del problema original.
(a) Formúlalo en formato estándar. Para aplicar el método símplex, ¿necesitas em-
plear la Fase I? En caso afirmativo, aplícala.
(b) ¿Qué puedes concluir del resultado del apartado (a)? ¿necesitas aplicar la Fase
II del método símplex para resolver el problema? En caso afirmativo, aplícala
e interpreta el resultado.
(c) Resuelve el problema por el método gráfico, y contrasta los resultados obteni-
dos con los de los apartados anteriores.
76
5.5. Ejercicios
77
Capítulo 6
6.1. Introducción
Entre la amplia variedad de problemas que se puede formular como modelos
de OL, destaca la clase de modelos de flujo óptimo en redes. Tales problemas, que
aparecen en diversas áreas de aplicación, tratan de optimizar el flujo de algún tipo
de material o mercancía a través de una red de transporte.
Imaginemos, p. ej., una empresa que opera a escala global, y que produce com-
ponentes para PCs en varias plantas de fabricación dispersas geográficamente.
Desde estas, las componentes han de ser transportadas a almacenes, que se encuen-
tran en distintas ciudades. Finalmente, desde los almacenes se ha de satisfacer la
demanda de varios puntos de venta, también repartidos en distintas ciudades. En
tal situación, la empresa ha de resolver el problema de diseñar un plan de distri-
bución de su producto a través de la red, que satisfaga la demanda de sus clientes
minimizando el coste total de transporte.
En otro tipo de modelos de flujo en redes se trata de encontrar una ruta óptima
(más corta o más rápida) en una red de transporte. P. ej., los terminales que encon-
tramos en algunas estaciones de metro, y que nos indican la ruta más rápida para
ir de una estación a otra, implementan y resuelven un modelo de este tipo. Tales
modelos de ruta óptima también son relevantes en el contexto de las redes de con-
mutación de paquetes en Internet. Así, p. ej., cuando enviamos un e-mail, este se
descompone en una serie de paquetes, que son transportados a través de Internet
de unos nodos a otros hasta llegar a su destino. Entre los protocolos de encami-
namiento implementados en Internet para determinar qué rutas han de seguir los
paquetes, los modelos de ruta óptima desempeñan un papel destacado.
En este capítulo tratamos tales modelos clásicos de flujo en redes: el problema
del transporte, el problema del flujo de coste mínimo, y el problema de la ruta ópti-
ma. Para cada tipo de modelo, lo describiremos, damos un ejemplo, lo formulamos
como un problema de OE, y comentamos cómo resolverlo. Además, veremos que
los problemas de flujo en redes poseen la Propiedad de integralidad: bajo ciertas
condiciones, tienen soluciones óptimas enteras.
79
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
a1 1
c11
x11
1 b1
suministro demanda
a2 2
2 b2
a3 3
3. Restricciones:
80
6.2. El modelo del transporte
ÿ
Capacidad de suministro en el origen i: xij ď ai , i P M .
jPN
ÿ
Demanda en el destino j: xij “ bj , j P N .
iPM
No negatividad: xij ě 0, i P M , j P N .
Pues bien, al resolver la formulación de OL dada más arriba para el modelo
del transporte se observa que, cuando los datos de suministro ai y de demanda bj
son enteros, siempre se obtienen soluciones óptimas enteras. Tal resultado ha sido
demostrado teóricaamente, y constituye una propiedad fundamental del modelo.
Notemos que tal propiedad no hace referencia a los datos de coste cij . Aunque
probar esta propiedad queda fuera del alcance de este texto, a partir del material
que hemos visto podemos comprender el siguiente hecho: El motivo de que se
cumpla la propiedad de integralidad es que, cuando los datos de suministro ai y
de demanda bj son enteros, los vértices de la región factible del problema tienen
componentes enteras.
6.2.3. Un ejemplo
Consideremos el ejemplo del problema de transporte representado en la Figura
6.1 con los siguientes datos: hay m “ 3 orígenes y n “ 2 destinos; los suministros
en cada origen son a1 “ 1000, a2 “ 1500 y a3 “ 1200; las demandas en cada destino
son b1 “ 2300 y b2 “ 1400; además, la matriz de costes de transporte por unidad es
¨ ˛
80.20 215.85
C “ pcij q “ ˝100.34 108.68‚.
102.39 68.72
81
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
82
6.3. El modelo del flujo de coste mínimo
b1 “ 100 b4 “ ´150
c14 “ 1.25 e
1 4
pℓ14 , u14 q “ p50, 80q
2.79 e
4.82 e 1.27 e p50, 120q
b3 “ 50 p70, 120q
3.50 e 3 6
b6 “ ´120
2.34 e
5.37 e 4.83 e
2 5
6.84 e
b2 “ 200 b5 “ ´80
Figura 6.2: Red para un ejemplo de flujo de coste mínimo.
entiende que toman los valores por defecto ℓij “ 0 y uij “ `8 (o un número lo
bastante grande).
Finalmente, tenemos los datos económicos: el coste de transporte por unidad
en cada arco pi, jq, que designamos por cij . Así, en la red de la figura, p. ej., el coste
de cada unidad transportada por el arco p3, 5q es de 2 e.
En tal contexto, el modelo del flujo de coste mínimo consiste en encontrar un
plan factible de distribución de producto a través de la red con un coste mínimo.
3. Restricciones:
Balance del flujo en el nodo i:
ÿ ÿ
xij ´ xji “ bi , i P N.
jPN : pi,jqPA jPN : pj,iqPA
83
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
Así, el primer sumatorio calcula la suma de flujos de producto que salen del nodo. Notemos
que la notación “j P N : pi, jq P A ” se lee como “el conjunto de nodos j de la red
tales que pi, jq es un arco”.
En cuanto al segundo sumatorio en la fórmula (6.1), al aplicarlo al nodo i “ 3
del ejemplo se reduce a
ÿ
xji “ x13 ` x23 .
jPN : pj,iqPA
Así, el segundo sumatorio calcula la suma de flujos de producto que entran al nodo. Note-
mos que la notación “j P N : pj, iq P A ” se lee como “el conjunto de nodos j de la
red tales que pj, iq es un arco”. Podemos pues escribir la restricción de balance del
flujo para el nodo 3 del ejemplo como
En palabras, tal restricción dice que “la diferencia entre el flujo de producto que
sale del nodo menos el que entra es igual a su suministro neto”. Otra forma de
escribir la restricción, aún más intuitiva, es
lo cual indica que “el flujo de producto que sale del nodo es igual a su suministro
neto más el flujo que entra”.
Tales interpretaciones son válidas y muestran el sentido intuitivo — que justi-
fica su denominación — de las restricciones de balance del flujo (6.1).
Al resolver la formulación de OL dada más arriba, se observa que, cuando los
datos de suministro neto bi , y de los límites de capacidad ℓij y uij son enteros,
siempre se obtienen soluciones óptimas enteras. Tal resultado ha sido demostrado
teóricaamente, y constituye una propiedad fundamental del modelo.
84
6.3. El modelo del flujo de coste mínimo
Notemos que tal propiedad no hace referencia a los datos de coste cij . Como
en el caso del modelo del transporte, el motivo de que se cumpla tal propiedad
es que, bajo las condiciones dadas, los vértices de la región factible de la relajación
lineal tienen componentes enteras.
Es decir, tal entrada toma el valor 1 si el arco en cuestión sale del nodo, toma el
valor ´1 si el arco entra en el nodo, y el valor 0 en otro caso.
Así, la matriz de incidencia nodo-arco A que representa la estructura de la red
en la Figura 6.2 se muestra a continuación:
nodozarco p1, 2q p1, 3q p1, 4q p2, 3q p2, 5q p3, 4q p3, 5q p4, 6q p5, 6q
1 1 1 1 0 0 0 0 0 0
2 ´1 0 0 1 1 0 0 0 0
3 0 ´1 0 ´1 0 1 1 0 0
4 0 0 ´1 0 0 ´1 0 1 0
5 0 0 0 0 ´1 0 ´1 0 1
6 0 0 0 0 0 0 0 ´1 ´1
85
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
minimizar cT x
sujeto a
balance del flujo: Ax “ b
capacidad superior: x ď u
capacidad inferior: x ě ℓ
no negatividad: x ě 0
6.3.4. Un ejemplo
Para el ejemplo de red mostrado en la Figura 6.2, la formulación del modelo
del flujo de coste mínimo, dada en función de los parámetros del modelo, es:
minimizar c12 x12 ` c13 x13 ` c14 x14 ` c23 x23 ` c25 x25
` c34 x34 ` c35 x35 ` c46 x46 ` c56 x56
sujeto a
balance del flujo en el nodo 1 : x12 ` x13 ` x14 “ b1
balance del flujo en el nodo 2 : x23 ` x25 ´ x12 “ b2
balance del flujo en el nodo 3 : x34 ` x35 ´ x13 ´ x23 “ b3
balance del flujo en el nodo 4 : x46 ´ x14 ´ x34 “ b4
balance del flujo en el nodo 5 : x56 ´ x23 ´ x35 “ b5
balance del flujo en el nodo 6 : ´ x46 ´ x56 “ b6
capacidades superiores: xij ď uij
capacidades inferiores : xij ě ℓij
no negatividad : xij ě 0.
Al resolver el problema, con los datos mostrados en la Figura 6.2, se obtiene la
solución óptima x˚13 “ 20, x˚14 “ 80, x˚23 “ 50, x˚25 “ 150, x˚34 “ 120, x˚46 “ 50,
x˚56 “ 70, y x˚12 “ x˚35 “ 0.
86
6.4. El modelo del camino más corto
son: encontrar un camino más corto, a partir de unos datos de distancia en los
arcos de la red; y encontrar un camino más rápido, dados unos datos de tiempos
de desplazamiento. Dos ejemplos con los que podemos estar familiarizados son la
determinación de caminos que minimicen los tiempos de desplazamiento de un
origen a un destino en carretera mediante un sistema GPS, o de una estación a
otra en una red de metro. Los sistemas informáticos que calculan tales caminos
mínimos incorporan y resuelven el modelo que tratamos en esta sección.
Otra área de aplicación aparece en sistemas informáticos, concretamente en re-
des de conmutación de paquetes, como Internet, en las que se ha de determinar la
ruta que han de seguir los paquetes para viajar de un nodo origen a un nodo des-
tino a través de la red. Aunque los protocolos de encaminamiento utilizados en la
práctica son complejos, podemos decir que el modelo de la ruta óptima (de menor
tiempo estimado) desempeña un papel importante.
En el modelo general, se da una red de transporte, representada por un grafo
orientado G “ pN, A q, en que se asocia a cada arco pi, jq P A un dato de coste
cij : este puede representar la distancia recorrida en tal arco, o el tiempo correspon-
diente.
El modelo del camino óptimo consiste en, dados un nodo origen s y un nodo
destino t, encontrar un camino óptimo para ir de s a t. Aunque podemos formular
el problema como un modelo de OE partiendo de cero, podemos ahorrarnos el
trabajo si somos observadores, y nos damos cuenta de que este problema es un
caso particular del modelo del flujo de coste mínimo que tratamos en la sección
anterior. Así, basta con imaginar que el “producto” transportado somos nosotros
mismos. Por tanto, nuestro “suministro neto” en cada nodo, dado que estamos en
el nodo s y queremos ir al t, sería de:
$
’
&1 si i “ s
bi “ ´1 si i “ t
’
%
0 en otro caso.
Por otra parte, podemos prescindir de las restricciones de límites inferior y su-
perior de capacidad en cada arco, puesto que no son relevantes en este contexto.
Con estos valores para los “suministros netos”, podemos aprovechar la formu-
lación del modelo del flujo de coste mínimo. Simplemente, tenemos que reinter-
pretar en el contexto actual las variables de decisión, como
#
1 si empleamos el arco pi, jq en la ruta seleccionada
xij “
0 en otro caso.
87
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
b1 “ 0 b4 “ 0
c14 “ 1.25 km
1 4
2.79 km
4.82 km 1.27 km
b3 “ 0
3.50 km 3 6
b6 “ ´1
2.34 km
5.37 km 4.83 km
2 5
6.84 km
b2 “ 1 b5 “ 0
Figura 6.3: Un ejemplo del modelo del camino más corto.
6.6. Ejercicios
Ejercicio 6.1. Considera la red de transporte mostrada en la Figura 6.4, donde el
número adyacente a cada arco indica su longitud en kms.
(a) Formula como un modelo de OE el problema de encontrar el camino más
corto del nodo 1 a cada uno de los otros nodos.
(b) Resuelve cada uno de los problemas formulados en la parte (a), y muestra
los caminos más cortos correspondientes.
Ejercicio 6.2. Considera la red de comunicaciones mostrada en la Figura 6.5. Para
cada uno de los arcos orientados pi, jq mostrados en la red, se conoce el tiempo tij
de transporte necesario para ir del nodo i al nodo j.
(a) Considera el problema de encontrar la ruta más rápida para ir del nodo 1 al
nodo 7. Formula este problema como un modelo de OE.
(b) Supongamos que los tiempos tij toman valores fraccionarios. ¿Se puede ga-
rantizar en tal caso que la solución de la relajación lineal del problema de OE
formulado en (a) será entera?
88
6.6. Ejercicios
2
2 4
4 3
3
1
4
3
3 5
5 6
2 3
Ejercicio 6.3. Una compañía eléctrica dispone de tres plantas (P1, P2 y P3) que han
de suministrar energía a cuatro ciudades (C1, C2, C3 y C4). Las plantas P1, P2 y P3
pueden producir, respectivamente, 35, 50 y 40 millones de kW-hora (kW h); las ciu-
dades C1, C2, C3 y C4 necesitan 45, 20, 30 y 30 millones de kW h, respectivamente.
Los costes de suministro por millón de kW h aparecen en la siguiente tabla:
C1 C2 C3 C4
P1 8 6 10 9
P2 9 12 13 7
P3 14 9 16 5
(a) Formula de modo explícito el modelo que minimiza el coste de servir toda la
energía que se necesita. En particular, no olvides indicar cómo se definen las
variables y qué significan las restricciones que incluyas.
89
6. M ODELOS DE FLUJO ÓPTIMO EN REDES
(b) ¿Existe la posibilidad de que la solución óptima de este problema sea fraccio-
naria? ¿Por qué?
(c) Supón que el coste de enviar un millón de kW h desde P1 hasta C1 pasa a ser
7.9. ¿Cambiaría en algo tu respuesta del apartado anterior? ¿Por qué?
90
Parte II
OPTIMIZACIÓN ENTERA
Capítulo 7
Optimización entera
7.1. Introducción
En los capítulos anteriores hemos tratado de la formulación y resolución de
problemas de OL. Una característica clave de estos es que sus restricciones permi-
ten que las variables de decisión tomen valores numéricos no enteros. Así, si la variable
de decisión x1 representa el número de hectolitros producidos de zumo de naranja,
los valores fraccionarios de x1 , como x1 “ 250{3, tienen sentido, ya que el zumo es
un producto continuo (divisible). En otros problemas, sin embargo, las variables
de decisión solo tienen sentido cuando toman valores enteros. Tal será el caso si
x1 representa el número de unidades de un modelo de automóvil que una fábri-
ca va a producir cada mes. Otro ejemplo es el Modelo de Asignación de tareas a
personas tratado en la Sección 2.4. Recordemos que las variables de decisión solo
tenían sentido cuando tomaban los valores binarios 0 o 1. Para resolverlo, había-
mos ignorado este requisito, procediendo como si el problema fuese de OL, con
lo cual estábamos permitiendo que las variables tomasen valores fraccionarios. En
este capítulo veremos que, en general, necesitamos métodos distintos a los que vi-
mos para la OL para resolver problemas en los que las variables de decisión toman
valores enteros.
Un modelo de optimización (lineal) entera (OE) se obtiene a partir de un mo-
delo de OL añadiéndole restricciones de integralidad, que indican que las varia-
bles de decisión deben tomar valores enteros. Un caso de especial interés lo cons-
tituyen los llamados problemas binarios, en los que se requiere que las variables
de decisión tomen valores binarios (0 o 1).
93
7. O PTIMIZACIÓN ENTERA
nados se desarrollan en tres años consecutivos, durante los cuales incurren costes.
Tras ser completados, proporcionan un retorno económico. La empresa dispone
de un presupuesto limitado en cada año para repartir entre los proyectos selec-
cionados. Los datos correspondientes se muestran en la siguiente tabla, donde las
unidades monetarias son Me:
coste/año
proyecto año 1 año 2 año 3 retorno
1 5 1 8 20
2 4 7 10 40
3 3 9 2 20
4 7 4 1 15
5 8 6 10 30
presupuesto 25 25 25
3. Restricciones:
Nótese que hemos incluido las restricciones xj ď 1, que indican que el valor
de cada variable no puede exceder de la unidad. Además, hemos añadido a las
restricciones lineales un nuevo tipo de restricción que no aparecía en OL: las res-
tricciones de integralidad, que indican que las variables de decisión deben tomar
valores enteros.
94
7.3. La relajación lineal de una formulación de OE
Relajación lineal
La relajación lineal de una formulación de OE es la formulación de OL que se
obtiene eliminando las restricciones de integralidad de la primera.
95
7. O PTIMIZACIÓN ENTERA
96
7.5. El test de optimalidad para OE
zF ď zE ď zL.
zF zE zL
zL ď zE ď zF.
En el resultado anterior, rzs denota el techo (entero) del número z, que se define
como el menor entero mayor o igual que z; p. ej., r108.68s “ 109, y r´25.34s “ ´25.
97
7. O PTIMIZACIÓN ENTERA
zL zE zF
z F “ 95 ď z E ď zs “ 95,
de donde se seguiría que z E “ 95 y, por tanto, que xF es una solución óptima para
(E).
En general, tenemos el siguiente resultado, que se ilustra gráficamente en la
Figura 7.3.
z F “ z E “ zs
A la vista del test de optimalidad, cabe preguntarse cómo obtendremos las co-
tas superiores que necesitamos para poder aplicarlo. P. ej., en el problema de selec-
98
7.6. Brecha de optimalidad
ción óptima de proyectos, si tomamos como cota superior para el valor óptimo z E el
suelo entero del valor óptimo de su relajación lineal, esto es, zs “ tz L u “ 108, vemos
que la solución xF “ p1, 1, 1, 1, 0q no cumpliría el test de optimalidad, pese a ser
óptima. Esta es una situación típica en OE, que ilustra el hecho de que reconocer la
optimalidad de una solución entera factible dada es una tarea considerablemente
más difícil que reconocer la optimalidad de una solución factible para un proble-
ma. Más adelante, estudiamos el método estándar para resolver un problema de
OE, basado en calcular cotas cada vez más ajustadas para su valor óptimo: el mé-
todo Ramifica & Acota (R & A). Como veremos, dicho método está implementado
en Solver.
Para el caso de un problema de OE de tipo “minimizar”, el resultado anterior
se modifica como sigue.
99
7. O PTIMIZACIÓN ENTERA
zE ´ zF zF zF zs ´ z F
“ 1 ´ ď 1 ´ “ .
zE zE zs zs
100
7.6. Brecha de optimalidad
101
7. O PTIMIZACIÓN ENTERA
brecha de optimalidad de xF
zF zE zs
102
7.7. Resolución gráfica
103
7. O PTIMIZACIÓN ENTERA
3
x2
2
0
0 1 2 3 4 5 6
x1
Figura 7.6: región factible y solución óptima de la relajación lineal (L).
3
x2
0
0 1 2 3 4 5 6
x1
Figura 7.7: Región de soluciones factibles del problema de OE (E).
104
7.9. Otros ejemplos de formulaciones de OE
minimizar c1 x1 ` ¨ ¨ ¨ ` cn xn .
3. Restricciones:
105
7. O PTIMIZACIÓN ENTERA
minimizar c1 x1 ` ¨ ¨ ¨ ` cn xn .
3. Restricciones:
La zona i ha de tener cobertura: ai1 x1 ` ¨ ¨ ¨ ` ain xn ě 1, i “ 1, . . . , m.
límite máximo para cada variable: xj ď 1, para cada j.
No negatividad: xj ě 0, para cada j.
Variables enteras: xj es entera, para cada j.
Notemos que tales restricciones implican que las variables son binarias. Obser-
vamos que la formulación dada es muy similar a la anterior, correspondiente al
modelo de asignación de tripulaciones a vuelos. La principal diferencia se encuen-
tra en el bloque de restricciones correspondiente a la matriz de incidencia: en el
caso anterior, tales restricciones son del tipo ““”, mientras que en caso presente
son del tipo “ě”.
106
7.10. Ejercicios
7.10. Ejercicios
Ejercicio 7.1. Considera el problema de OE
107
7. O PTIMIZACIÓN ENTERA
(a) Dibuja la región factible de su relajación lineal (L) y la región factible del
problema de OE (E).
(b) A partir de los resultados del apartado anterior, determina la solución óptima
de la relajación lineal (L) y del problema de OE (E).
(c) Calcula la cota superior para la brecha de optimalidad relativa de una solu-
ción óptima entera obtenida en (b). ¿Satisface dicha solución el test de opti-
malidad?
Ejercicio 7.3. Considera el problema
minimizar x1 ` 2x2
sujeto a
4x1 ´ 3x2 ě 12
x1 ` 6x2 ě 6
x2 ď 4
x1 , x2 ě 0.
(a) Dibuja la región factible, e identifica sus vértices.
(b) Dibuja dos rectas de nivel de la función objetivo.
(c) ¿Tiene el problema solución óptima? En caso negativo, indica por qué. En
caso afirmativo, calcula una solución óptima y el valor óptimo.
(d) Considera ahora el problema de OE obtenido a partir del anterior añadiendo
las restricciones de que las variables sean enteras. Resuélvelo por el método
gráfico a partir de la información obtenida en los apartados (a), (b) y (c).
(e) Calcula la cota superior para la brecha de optimalidad relativa de una solu-
ción óptima entera obtenida en (d). ¿Satisface dicha solución el test de opti-
malidad?
Ejercicio 7.4. Considera el problema
pLq minimizar ´3x1 ` x2
sujeto a
4x1 ´ 3x2 ď 4
5x1 ` 2x2 ě 10
x1 ď 5
x2 ď 6
x1 , x2 ě 0.
(a) Dibuja la región factible y calcula todos sus vértices.
(b) Resuelve el problema mediante el método gráfico. ¿Tiene el problema solu-
ción óptima? En caso negativo, indica por qué. En caso afirmativo, calcula
una solución óptima y el valor óptimo del objetivo.
(c) Considera ahora el problema de OE (E) que se obtiene añadiendo al anterior
problema de OL la restricción de que las variables x1 y x2 tomen valores
enteros. Resuelve este problema de OE mediante el método gráfico, calcula
una solución óptima entera y el valor óptimo del objetivo, z E .
(d) Calcula la cota superior para la brecha de optimalidad relativa de una solu-
ción óptima entera obtenida en (d). ¿Satisface dicha solución el test de opti-
malidad?
108
Capítulo 8
8.1. Introducción
En este capítulo aplicamos los conceptos y resultados vistos en el capítulo ante-
rior para desarrollar el algoritmo más utilizado en la práctica para resolver proble-
mas de OE: el método Ramifica y Acota (R & A) — Branch and Bound en su deno-
minación en inglés. Este método fue introducido en un artículo clásico publicado
en 1960 por Ailsa H. Land y Alison G. Doig.1 Solver incorpora una implementa-
ción de dicho método, que se invoca cuando indicamos en el menú de restricciones
que alguna variable es entera.
Centraremos la teoría y los ejemplos del método R & A en el caso de problemas
de OE binaria. Después comentaremos cómo se extiende el método a problemas de
OE generales, y a problemas de OE mixta, en los que algunas variables son enteras
y otras continuas.
109
8. E L MÉTODO R AMIFICA Y A COTA
` ˘
Ep0,¨,¨q maximizar x1 ` 2x2 ` x3
sujeto a
5x1 ` 4x2 ` 3x3 ď 9
xj ď 1, j “ 1, . . . , 3
x1 “ 0
xj ě 0 y entera, j “ 1, . . . , 3,
cuyo valor óptimo denotamos por z p0,¨,¨q . La notación p0, ¨, ¨q indica que el valor de
la variable x1 se fija al valor 1, mientras que las variables x2 y x3 permanecen libres,
en el sentido de que sus valores no han sido fijados.
El subproblema correspondiente al caso x1 “ 1 es
` ˘
Ep1,¨,¨q maximizar x1 ` 2x2 ` x3
sujeto a
5x1 ` 4x2 ` 3x3 ď 9
xj ď 1, j “ 1, . . . , 3
x1 “ 1
xj ě 0 y entera, j “ 1, . . . , 3,
110
8.2. “Ramifica”: El árbol de enumeración de subproblemas
` ˘
Ep0,1,¨q maximizar x1 ` 2x2 ` x3
sujeto a
5x1 ` 4x2 ` 3x3 ď 9
xj ď 1, j “ 1, . . . , 3
x1 “ 0
x2 “ 1
xj ě 0 y entera, j “ 1, . . . , 3.
Notemos que los subproblemas de segundo nivel tienen, en realidad, una sola
variable de decisión, x3 , ya que podemos eliminar las dos variables x1 y x2 , al
haber sido fijados sus valores.
A continuación, hacemos crecer el árbol ramificándolo al tercer nivel, descom-
poniendo cada uno de los cuatro subproblemas de segundo nivel en otros dos.
Para ello, seleccionamos la única variable en la cual aún no hemos ramificado: x3 .
Así, descomponemos cada subproblema de segundo nivel en sus dos subproble-
mas hijos, que corresponden a los dos posibles valores de x3 . Designamos estos
subproblemas como Ep0,0,0q , Ep0,0,1q , Ep0,1,0q , Ep0,1,1q , Ep1,0,0q , Ep1,0,1q , Ep1,1,0q , Ep1,1,1q , sien-
do sus valores óptimos z p0,0,0q , z p0,0,1q , . . . , etc. P. ej., el subproblema de tercer nivel
Ep0,1,1q es
111
8. E L MÉTODO R AMIFICA Y A COTA
` p0,1,1q ˘
E maximizar x1 ` 2x2 ` x3
sujeto a
5x1 ` 4x2 ` 3x3 ď 9
xj ď 1, j “ 1, . . . , 3
x1 “ 0
x2 “ 1
x3 “ 1
xj ě 0 y entera, j “ 1, . . . , 3.
Estos últimos subproblemas son triviales, ya que tienen a lo sumo una solu-
ción factible. Así, el subproblema Ep0,1,1q tiene una única solución factible, p0, 1, 1q,
mientras que el subproblema Ep1,1,1q no tiene ninguna solución factible.
En el árbol mostrado en la Figura 8.1, representamos tales subproblemas de
tercer nivel como ocho nodos bajo los nodos de segundo nivel, con ramas que
indican la filiación de cada uno. Ya no podemos hacer crecer más el árbol, al no
quedar variables en las que ramificar. Los últimos nodos añadidos son las hojas
del árbol.
La Figura 8.1 muestra el árbol de enumeración completa para el problema (E),
obtenido al ramificar primero en la variable x1 , después en x2 , y finalmente en x3 .
Si hubiéramos seleccionado las variables para ramificar en otro orden, p. ej., x2 , x3 ,
y x1 , habríamos obtenido un árbol de enumeración distinto.
Ep0,¨,¨q Ep1,¨,¨q
112
8.3. “Acota”: podando el árbol de enumeración mediante cotas
el valor del objetivo en cada hoja factible del árbol; y (3) seleccionar una hoja del
árbol cuya solución tenga el mayor valor. Tal procedimiento, conocido como el
método de enumeración completa, claramente produce una solución óptima para
el problema de OE.
Sin embargo, este método no se utiliza en la práctica. Para comprender por qué,
imaginemos un problema de OE binaria con n variables de decisión. Para resolver-
lo por enumeración completa, tendríamos que construir su árbol de enumeración
completa, p. ej., seleccionando las variables en el orden x1 , x2 , . . . , xn . Calculemos
cuántos nodos tendrá dicho árbol. Tendremos un nodo raíz y dos nodos de primer
nivel. Para cada uno de estos, tendremos dos nodos de segundo nivel, lo que da
un total de 22 nodos de segundo nivel. Repitiendo este razonamiento, vemos que
tendremos 2k nodos de nivel k, para k “ 0, 1, 2, . . . , n. Así, el árbol de enumeración
completa tendrá un total de
1 ` 2 ` 22 ` ¨ ¨ ¨ ` 2n “ 2n`1 ´ 1
nodos, de los cuales 2n serán hojas. Para cada hoja factible, habrá que calcular el
valor de su solución.
Por tanto, el número de hojas del árbol crece exponencialmente en el número n de
variables. Y esto son malas noticias para la aplicación práctica del método. La si-
guiente tabla muestra el número de hojas del árbol para varios valores de n, así
como el tiempo de cálculo que sería necesario para evaluar todas las hojas, si dis-
pusiéramos de un ordenador capaz de evaluar un millón de hojas por segundo:
n.o de variables (n) n.o de hojas (2n ) tiempo de cálculo (con 106 hojas/seg.)
10 1.02400 ˆ 103 0.001 segundos
20 1.04858 ˆ 106 1 segundo
30 1.07374 ˆ 109 17.9 minutos
40 1.09951 ˆ 1012 12.7 días
50 1.12590 ˆ 1015 35.7 años
60 1.15292 ˆ 1018 36.6 milenios
70 1.18059 ˆ 1021 37.4 millones de años
79 6.04463 ˆ 1023 19.2 miles de millones de años
113
8. E L MÉTODO R AMIFICA Y A COTA
114
8.3. “Acota”: podando el árbol de enumeración mediante cotas
La tercera fase, mostrada a la derecha en la Figura 8.2, muestra las cotas actua-
lizadas en el nodo progenitor A aplicando la regla anterior. La nueva cota superior
para A vale 25 e, que es el máximo entre las cotas superiores de sus hijos: 20 e y
25 e. Además, obtenemos la cota inferior de 20 e para A, que es el máximo de las
cotas inferiores disponibles de sus hijos: en este caso, la cota inferior para el nodo
B. Tras completar la tercera fase, solo el nodo C está activo.
115
8. E L MÉTODO R AMIFICA Y A COTA
27 27 25
A A A
20
20 25 25
B C B 20 C
20
116
8.4. El método R & A
26 26 26
A A A
21 21 21
26 20 26 26
C B C B C
21 21 21
117
8. E L MÉTODO R AMIFICA Y A COTA
118
8.4. El método R & A
Esta tiene la solución óptima xL “ p1, 1, 1{2, 0q, con valor z L “ 22 e. Así,
hemos obtenido la primera cota superior para el valor óptimo de (E), dada por
zs “ z L “ 22 e. Por ahora no disponemos de ninguna cota inferior, ya que no he-
mos obtenido aún ninguna solución entera factible. Indicamos esta información en
la representación del nodo raíz mostrada en la Figura 8.4. Notemos que el nodo
raíz es aún inactivo (blanco).
zs “ 22
zs “ 22
E
x3 “ 0 x3 “ 1
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
119
8. E L MÉTODO R AMIFICA Y A COTA
z p¨,¨,0,¨q , zsp¨,¨,1,¨qu “ 21
zs “ máxts
E
x3 “ 0 x3 “ 1
zsp¨,¨,0,¨q “ 21 zsp¨,¨,1,¨q “ 21
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
zs “ 21
E
x3 “ 0 x3 “ 1
zsp¨,¨,0,¨q “ 21 zsp¨,¨,1,¨q “ 21
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
x2 “ 0 x2 “ 1
Ep¨,0,1,¨q Ep¨,1,1,¨q
120
8.4. El método R & A
zs “ 21
E
z “ 18
x3 “ 0 x3 “ 1
zsp¨,¨,0,¨q “ 21 zsp¨,¨,1,¨q “ 21
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
z p¨,¨,1,¨q “ 18
x2 “ 0 x2 “ 1
zsp¨,1,1,¨q “ 21
z p¨,0,1,¨q “ 18 Ep¨,0,1,¨q Ep¨,1,1,¨q
121
replacements
8. E L MÉTODO R AMIFICA Y A COTA
zs “ 21
E
z “ 18
x3 “ 0 x3 “ 1
zsp¨,¨,0,¨q “ 21 zsp¨,¨,1,¨q “ 21
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
z p¨,¨,1,¨q “ 18
x2 “ 0 x2 “ 1
zsp¨,1,1,¨q “ 21
z p¨,0,1,¨q “ 18 Ep¨,0,1,¨q Ep¨,1,1,¨q
x1 “ 0 x1 “ 1
Ep0,1,1,¨q Ep1,1,1,¨q
122
8.5. Algunas cuestiones sobre el método R & A
zs “ 21
E
z “ 21
x3 “ 0 x3 “ 1
zsp¨,¨,0,¨q “ 21 zsp¨,¨,1,¨q “ 21
Ep¨,¨,0,¨q Ep¨,¨,1,¨q
z p¨,¨,1,¨q “ 21
x2 “ 0 x2 “ 1
zsp¨,1,1,¨q “ 21
z p¨,0,1,¨q “ 18 Ep¨,0,1,¨q Ep¨,1,1,¨q
z p¨,1,1,¨q “ 21
x1 “ 0 x1 “ 1
Figura 8.10: Árbol final: Actualización de cotas y poda de Ep0,1,1,¨q , Ep1,1,1,¨q y Ep¨,¨,0,¨q .
123
8. E L MÉTODO R AMIFICA Y A COTA
17
ÿ
pEq maximizar ´x0 ` 2xj
j“1
sujeto a
17
ÿ
x0 ` 2xj ď 17
j“1
xj ď 1, j “ 0, . . . , 17
xj ě 0, j “ 0, . . . , 17
xj entera, j “ 1, . . . , 17.
8.6. Ejercicios
Ejercicio 8.1. Resuelve mediante el método R & A el problema
E
x1 “ 0 x1 “ 1
E0 E1 p1, 43 , 1, 0q
x2 “ 0 x2 “ 1
Ejercicio 8.2. En el curso de aplicar el método R & A para resolver cierto problema
de OE binaria, con variables px1 , x2 , x3 , x4 q, y objetivo maximizar 4x1 `8x2 `75x3 `
80x4 , se obtiene el Árbol 1 mostrado en la Figura 8.11. Al lado de los nodos E00 , E01
y E1 se muestran las soluciones obtenidas al resolver sus relajaciones lineales. Por
ejemplo, al resolver la relajación lineal del subproblema E1 se obtiene la solución
relajada p1, 34 , 1, 0q.
(a) La información dada en el Árbol 1 y el objetivo dado permiten calcular cotas
inferiores y/o superiores para el valor de la solución óptima entera de cada
nodo. Calcula estas cotas e indícalas en el Árbol 1.
124
8.6. Ejercicios
E
x1 “ 0 x1 “ 1
E0 E1
x2 “ 0 x2 “ 1 x2 “ 0 x2 “ 1
(b) El Árbol 1 muestra una solución entera factible. ¿Se puede asegurar que sea
óptima? ¿Por qué?
(c) Calcula una cota superior para la brecha de optimalidad de la solución en-
tera factible del subproblema E00 , a partir de la información dada hasta este
apartado. Calcula también una cota superior para la brecha de optimalidad
relativa correspondiente.
(d) Al ramificar en el nodo E1 se obtiene el Árbol 2 mostrado en la Figura 8.12,
donde se indican las soluciones de las relajaciones lineales de los nodos E10 y
E11 . Actualiza las cotas inferiores y superiores para los nodos, e indícalas en
el árbol. ¿Se ha encontrado una solución óptima para el problema o hay que
continuar explorando el árbol?
125
8. E L MÉTODO R AMIFICA Y A COTA
E
x2 “ 0 x2 “ 1
E0 E1
x4 “ 0 x4 “ 1
E10 E11
E
x2 “ 0 x2 “ 1
E0 E1
x4 “ 0 x4 “ 1 x4 “ 0 x4 “ 1
(a) En el árbol parcial mostrado en la Figura 8.15, las soluciones de las relajacio-
nes lineales de los nodos E0 , E10 y E11 son, respectivamente, p3{4, 0, 2{5, 1{9q,
p0, 1, 0, 0q y p1{5, 1, 6{11, 1q. A partir de esta información, indica junto a ca-
da nodo del árbol la mejor cota superior y/o inferior que puedes obtener.
¿Puedes podar algún nodo? Si es así, ¿por qué argumento?
(b) Da una cota superior para la brecha de optimalidad de la solución factible
p0, 1, 0, 0q, esto es, para la diferencia entre el valor óptimo entero y el valor de
esa solución factible. ¿Puedes asegurar que dicha solución es óptima para el
problema de OE?
(c) En el siguiente árbol parcial, mostrado en la Figura 8.16, las soluciones de
las relajaciones lineales correspondientes a los nodos E00 y E01 son, respec-
tivamente, p1{30, 0, 1{50, 0q y p1{5, 0, 2{3, 1q. Indica en este árbol las nuevas
cotas que puedes obtener a partir de esta información, y actualiza las cotas
anteriores. ¿Puedes podar algún nodo? Si es así, ¿por qué argumento?
(d) ¿Puedes ahora asegurar que la solución p0, 1, 0, 0q es óptima para el problema
de OE? En caso negativo, acota por arriba su brecha de optimalidad.
126
8.6. Ejercicios
E
x2 “ 0 x2 “ 1
E0 E1
x4 “ 0 x4 “ 1
E10 E11
E
x2 “ 0 x2 “ 1
E0 E1
x4 “ 0 x4 “ 1 x4 “ 0 x4 “ 1
127
8. E L MÉTODO R AMIFICA Y A COTA
E
x1 “ 0 x1 “ 1
x2 “ 0 x2 “ 1
9
p0, 0, 41 , 10 q Ep0,0,¨,¨q Ep0,1,¨,¨qp0, 1, 0, 1q
E
x1 “ 0 x1 “ 1
Ep0,¨,¨,¨q Ep1,¨,¨,¨q
x2 “ 0 x2 “ 1 x2 “ 0 x2 “ 1
p0, 0, 41 , 10
9
q p0, 1, 0, 1q p1, 0, 0, 7
15 q p1, 1, 0, 16 q
Figura 8.18: Árbol 2 para el Ejercicio 8.5.
128
Capítulo 9
Optimización combinatoria
9.1. Introducción
Hemos visto en los capítulos anteriores que los modelos de OE resultan útiles
para formular una amplia variedad de problemas aplicados de optimización en los
que las variables de decisión solo pueden tomar un conjunto discreto de valores.
A menudo, los problemas de interés se pueden enunciar en términos de encontrar
la mejor solución de un conjunto combinatorio de soluciones factibles con una es-
tructura especial. Así, el modelo del camino más corto que vimos en el Capítulo
6 consiste en encontrar, de entre todos los caminos posibles que van de un nodo
origen a un nodo destino en una red de transporte, un camino con el menor coste
posible. Otro ejemplo clásico, que tratamos en este capítulo, es el llamado proble-
ma de la mochila, que consiste en encontrar, entre todos los posibles subconjuntos
de objetos que se pueden llevar en una mochila de capacidad limitada, un subcon-
junto que proporcione la mayor utilidad posible. Tales modelos son ejemplos de
problemas de optimización combinatoria.
Hemos visto en el capítulo anterior que el método estándar de resolución de
los problemas de OE es el algoritmo R & A, que se basa en la exploración implícita
del árbol de enumeración. Este es podado aplicando argumentos de poda basados
en cotas obtenidas de la resolución de relajaciones lineales.
Los modelos de flujo en redes que tratamos en el capítulo 6, cuando se incluye
en ellos la restricción de que las variables de decisión (el flujo en cada arco) sean
enteras, son problemas de OE fáciles, en el sentido de que, si los datos de suministro
y demanda son enteros, la Propiedad de Integralidad garantiza que la solución
óptima de su relajación lineal será entera y, por tanto, el algoritmo R & A termina
con la exploración del nodo raíz.
Tal situación resulta ser excepcional. Lo habitual en las formulaciones de OE
de problemas de optimización combinatoria es precisamente lo contrario: la apli-
cación del método R & A es a menudo muy costosa computacionalmente, ya que
el número de relajaciones lineales que se han de resolver puede ser muy elevado.
En términos prácticos, esto se traduce en el hecho de que, pese a la considerable
129
9. O PTIMIZACIÓN COMBINATORIA
potencia de los ordenadores actuales, resulta frecuente que no sea posible encon-
trar una solución óptima en un plazo de tiempo razonable para modelos de OE
que aparecen en aplicaciones reales.
Para remediar en lo posible tal situación, se han desarrollado métodos para
mejorar la eficiencia del algoritmo R & A. Recordemos que la clave de tal algorit-
mo es la poda sistemática del árbol de enumeración mediante el empleo de cotas,
obtenidas como valores óptimos de relajaciones lineales. Así, cuanto mejores sean
tales cotas, es decir, cuanto más próximas están a los valores óptimos de los sub-
problemas enteros que aproximan, mayores porciones del árbol de enumeración
podremos podar, y más rápido terminará el algoritmo.
Esto nos lleva a plantearnos la cuestión: ¿Cómo mejorar la calidad de las co-
tas? O, en otras palabras, ¿Cómo obtener cotas más ajustadas? Un enfoque que se
ha desarrollado y aplicado con éxito en la práctica se basa en Reforzar las formu-
laciones, esto es, añadir nuevas desigualdades válidas a la formulación original.
Una desigualdad válida para un problema de OE es una restricción de desigual-
dad satisfecha por todas sus soluciones enteras factibles, pero no necesariamente
por todas las soluciones factibles de su relajación lineal.
¿Y de dénde obtendremos las nuevas restricciones? Para ello, los investigado-
res especialistas en un problema han de desarrollar restricciones a medida para cada
problema de interés, que exploten su estructura y propiedades particulares. Los
usuarios simplemente han de utilizar las librerías de restricciones que se encuentran
disponibles para una gran variedad de problemas, incorporándolas a sus formula-
ciones para reforzarlas.
En este capítulo, esbozamos tales conceptos en el contexto de un problema clá-
sico de optimización combinatoria: el problema de la mochila, al que nos referi-
mos anteriormente.
130
9.2. El problema de la mochila
3. Restricciones: ÿ
Capacidad (carga ď carga máxima): ai xi ď b.
iPN
Una unidad disponible de cada objeto: xi ď 1, i P N.
No negatividad: xi ě 0, i P N .
Integralidad: xi es entera (binaria), para i P N .
Consideremos el problema de la mochila con n “ 5 objetos, y datos b “ 178,
a “ pai q “ p79, 53, 53, 45, 45q, y c “ pri q “ p2, 5, 5, 1, 8q. La formulación de OE
anterior será
con valor óptimo z L . Al resolver esta última, obtenemos que la solución relajada
óptima es: x˚1 “ 0.34, x˚2 “ x˚3 “ x˚5 “ 1, y x˚4 “ 0, con valor óptimo z L “ 18.68.
131
9. O PTIMIZACIÓN COMBINATORIA
Dt1,2,3u : x1 ` x2 ` x3 ď 2.
¿Por qué? ¿De dónde hemos obtanido tal restricción? Tratemos de entender el
significado de la nueva restricción, que tenemos quesignado por Dt1,2,3u : en pala-
bras, esta indica que no podemos seleccionar a la vez los objetos 1, 2 y 3. ¿Y por
qué no podemos? Si observamos sus pesos respectivos, que son 79, 53 y 53 kgs.,
comprobamos que su suma es de 185 kgs., cuando el límite que se había marcado
para el peso total de la mochila era de 178 kgs. Por tanto, la razón de que no se pueda
llevar esos tres objetos es que su peso total supera la capacidad de la mochila.
Al añadir la nueva restricción, obtenemos la siguiente formulación reforzada:
z E “ z E1 ,
esto es, el valor óptimo de la formulación entera reforzada es igual al valor óptimo
de la formulación entera original. Ello es así porque la nueva desigualdad váli-
da añadida no modifica el conjunto de soluciones factibles, o región factible, del
problema de OE.
El efecto de añadir la nueva restricción se observa en la correspondiente relaja-
ción lineal. Así, se cumple la relación
z L1 ď z L ,
132
9.2. El problema de la mochila
la cual indica que la relajación pL1 q es más fuerte que pLq, en el sentido de que da
mejores cotas, más próximas al valor óptimo z E del problema de OE de interés.
Comprobémoslo. Al resolver la relajación lineal reforzada pL1 q, obtenemos la
solución óptima relajada x˚4 “ 0.6, x˚2 “ x˚3 “ x˚5 “ 1, y x˚1 “ 0, con z L1 “ 18.6. Así,
hemos obtenido una cota más ajustada que la dada por la relajación anterior, que
era de z L “ 18.68.
Continuemos reforzando la formulación. Por el mismo argumento anterior, se
puede comprobar que la restricción
Dt2,3,4,5u : x2 ` x3 ` x4 ` x5 ď 3
z E “ z E1 “ z E2 ď z L2 ď z L1 ď z L .
133
9. O PTIMIZACIÓN COMBINATORIA
Así, podemos formular la condición de que el peso total del subconjunto de objetos
S supere la capacidad de la mochila como
ÿ
ai ą b.
iPS
Para un subconjunto S que cumpla tal condición, es claro que no podemos llevar
en la mochila todos los objetos que contiene. Es decir, a lo sumo podemos seleccionar
|S| ´ 1 objetos de entre los que integran el subconjunto S, lo cual formulamos como
ÿ
xi ď |S| ´ 1.
iPS
es válida.
En la práctica, las desigualdades válidas de una familia dada se suelen añadir
una a una, ya que su número total es típicamente demasiado grande para poder
añadirlas todas a la vez. Hay disponibles numerosas librerías de desigualdades
válidas para una creciente variedad de problemas, implementadas en paquetes
de software para OE, que el usuario puede incorporar a sus formulaciones para
reforzarlas, y así reducir el tiempo de cálculo del método R & A.
Para concluir este capítulo, comentamos brevemente la siguiente cuestión: ¿Y
si se añade al problema de la mochila todas las restricciones válidas de la familia
dada más arriba? En el ejemplo, basta con añadir dos de ellas para que la relaja-
cion lineal reforzada tuviera una solución óptima entera. ¿ocurrirá siempre que,
si añadimos todas las restricciones válidas de tal familia, la solución óptima de la
relajación lineal así reforzada será entera? La respuesta resulta ser negativa. De
hecho, se conocen otras familias de restricciones válidas distintas de la anterior. In-
cluso si se añadieran todas las restricciones válidas de todas las familias conocidas,
no se podría garantizar que la solución de la relajación lineal correspondiente sería
entera.
134
Parte III
OPTIMIZACIÓN NO LINEAL
Capítulo 10
137
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
En esta sección trataremos de cómo resolver tales problemas. Pero, antes, tene-
mos que aclarar a qué nos referimos con el término “resolver”.
Óptimos globales.
f px˚ q ď f pxq, x P S.
f px˚ q ě f pxq, x P S.
138
10.1. Introducción: Problemas con una variable de decisión
una solución factible que alcanza el menor valor de la función f pxq en un entorno
de la misma.
1200
1000
800
y=f(x)
600
400
200
0
−25 −20 −15 −10 −5 0 5 10 15 20
x
Óptimos locales.
139
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
Aproximaciones de Taylor.
˚ 1 ˚ ˚ 1 2 ˚
p2q
Tf,x ˚ pxq fi f px q ` f px qpx ´ x q ` f px qpx ´ x˚ q2 , x P S. (10.4)
2
Nótese que las aproximaciones de Taylor son aproximaciones locales, que con-
vergen a f px˚ q cuando x Ñ x˚ .
140
10.1. Introducción: Problemas con una variable de decisión
f HxL
15
10
x
1 2 3 4 5
141
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
f HxL
1.5
1.0
0.5
x
1 2 3 4 5
-0.5
Sea x˚ P S.
Aproximación lineal de Taylor para funciones convexas. Si f es con-
vexa en S, entonces
142
10.1. Introducción: Problemas con una variable de decisión
Notemos que la validez de los tests de optimalidad global dados más arriba es
consecuencia de las propiedades de las aproximaciones lineales de Taylor indica-
das anteriormente.
Los puntos x˚ en los cuales se anula la derivada de la función objetivo desem-
peñan un papel central en optimización. Nos referiremos en adelante a ellos como
puntos estacionarios.
Punto estacionario.
143
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
estar seguros de que lo sean realmente. Las CNs para la optimalidad local de un
punto x˚ P S se indican a continuación.
Un ejemplo
Para la función f pxq fi x{p1 ` x2 q y la región factible S “ p0, 8q, obtenemos lo
siguiente. Al aplicar CN1-ópL, tenemos que
1 ´ x2
f 1 pxq “ “ 0, x ą 0 ùñ x “ 1.
p1 ` x2 q2
Otro ejemplo
Para la función f pxq fi p1 ` x2 qp2 ` senpxqq mostrada en la Figura 10.1, se tiene
que f 1 pxq “ p1 ` x2 q cospxq ` 2xp2 ` sinpxqq y f 2 pxq “ 4 ` p1 ´ x2 q sinpxq ` 4x cospxq.
Por tanto, los puntos estacionarios para f en R son las raíces de la ecuación
p1 ` x2 q cospxq ` 2xpsinpxq ` 2q “ 0.
Se puede comprobar que dicha ecuación tiene infinitas soluciones. Una de sus raí-
ces es el punto x˚ « ´0.30725, el cual, por tanto, estacionario. Para dicho punto,
obtenemos f 2 px˚ q « 2.55467. Por tanto, x˚ no puede ser un máximo local, aunque
podría ser un mínimo local.
144
10.2. Problemas con n variables de decisión
145
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
146
10.2. Problemas con n variables de decisión
x2
3
0 x1
-1
-2
-3
-3 -2 -1 0 1 2 3
Además, denotaremos por fij2 pxq la derivada parcial de 2.o orden (o segunda)
de la función f pxq con respecto a las variables xi y xj , evaluada en el punto x.
Nótese que en otros textos se emplea la notación B2 {Bxi Bxj f pxq de fij2 pxq. La matriz
cuadrada n ˆ n cuyas componentes son las n2 derivadas parciales de 2.o orden de
la función f pxq se denomina la matriz hessiana de f pxq, y se denota por
¨ 2 2 pxq ¨ ¨ ¨ f 2 pxq
˛
f11 pxq f12 1n
` ˘ ˚f 2 pxq f 2 pxq ¨ ¨ ¨ f 2 pxq ‹
˚ 21 22 2n ‹
∇2 f pxq fi fij2 pxq 1ďi,jďn “ ˚ . .. . .. ‹ .
˝ . . . . . . ‚
2 pxq
fn21 pxq fn22 pxq ¨ ¨ ¨ fnn
Aproximaciones de Taylor.
ÿn
“ f px˚ q ` fj1 px˚ qpxj ´ x˚j q.
j“1
147
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
x˚ es
˚ ˚ T ˚ 1
p2q
Tf,x ˚ pxq fi f px q ` ∇f px q px ´ x q ` px ´ x˚ qT ∇2 f px˚ qpx ´ x˚ q
2
ÿ 1ÿ 2 ˚
“ f px˚ q ` fj1 px˚ qpxj ´ x˚j q ` fij px qpxi ´ x˚i qpxj ´ x˚j q.
j
2 i,j
dT Ad ě 0.
dT Ad ą 0.
dT Ad ď 0.
dT Ad ă 0.
Clasificar una matriz simétrica a partir del cálculo de sus autovalores resulta
demasiado costoso computacionalmente.
148
10.2. Problemas con n variables de decisión
A es DP si y solo si Dk ą 0 para k “ 1, 2, . . . , n.
A es DN si y solo si p´1qk Dk ą 0 para k “ 1, 2, . . . , n.
tenemos que D1 “ a11 y D2 “ a11 a22 ´ a12 a21 , por lo que el test anterior da:
A es DP si y solo si D1 ą 0 y D2 ą 0.
A es DN si y solo si D1 ă 0 y D2 ą 0.
hay dos menores principales de orden 1, a11 y a22 , y un menor principal de orden
2, a11 a22 ´ a12 a21 .
Tenemos el siguiente resultado.
149
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
Notemos que la función f pxq es cóncava si y solo si ´f pxq es convexa. Por otra
parte, aunque en este curso nos centraremos en el caso de funciones diferencia-
bles, no se requiere
řn que una función lo seanpara poder ser convexa o cóncava. Por
ejemplo, f pxq fi j“1 |xj | es convexa en R , aunque no es diferenciable en x “ 0.
Cuando se pretende determinar si una función f pxq que es diferenciable dos
veces en su dominio S es convexa o cóncava, en lugar de aplicar directamente
las definiciones dadas más arriba resulta más sencillo aplicar las caracterizaciones
dadas a continuación, en términos de la hessiana ∇2 f pxq.
150
10.2. Problemas con n variables de decisión
Sea x˚ P S.
Aproximación lineal de Taylor para funciones convexas. Si f pxq es
convexa en S, entonces
151
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
Notemos que la validez de los tests de optimalidad global dados más arriba es
consecuencia de las propiedades de las aproximaciones lineales de Taylor indica-
das anteriormente.
En adelante nos referiremos a un punto x˚ en que se anula el gradiente de f pxq,
esto es, tal que ∇f px˚ q “ 0, como un punto estacionario.
152
10.3. Ejemplos
10.3. Ejemplos
10.3.1. Función objetivo cuadrática
Un caso de especial interés se obtiene cuando la función objetivo es cuadrática,
es decir, es de la forma
n
ÿ n ÿ
ÿ n
1 1
f pxq fi ai xi ` qij xi xj “ aT x ` xT Qx, (10.15)
2 2
i“1 i“1 j“1
∇f pxq “ a ` Qx,
y la hessiana de f es
∇2 f pxq “ Q.
Para encontrar óptimos locales, comenzamos por identificar los posibles puntos
estacionarios x˚ , que satisfacen que ∇f px˚ q “ 0, esto es, tales que
Qx “ ´a. (10.16)
153
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
Además, vemos que la matriz Q es DP, ya que sus menores principales domi-
nantes valen D1 “ 8 ą 0 y D2 “ 8 ´ 4 “ 4 ą 0. Por tanto, x˚ es el único mínimo,
local y global, de f px1 , x2 q, que es una función estrictamente convexa.
En cuanto a máximos locales, f px1 , x2 q no tiene ninguno.
Q “ b0 ` b1 P ` ǫ.
q k “ b0 ` b1 p k ` u k , k “ 1, . . . , m,
Escribiendo
¨ ˛ ¨ ˛ ¨ ˛
q1 1 p1 ˆ ˙ u1
q “ ˝ ... ‚,
˚ .. .. ‹ , u “ ˝ ... ‚,
˚ ‹ b ˚ ‹
P “ ˝. . ‚ b“ 0 ,
b1
qm 1 pm um
q “ Pb ` u.
154
10.3. Ejemplos
esto es,
` ˘ ` ˘
f px1 , x2 q “ pT p ` qT q ´ 2 pT 1 x1 ´ 2 qT 1 x2 ` x21 1T 1 ` x22 1T 1
ó
m
ÿ m
ÿ ˆ ˙ ˆ ˙ˆ ˙
` řm řm ˘ x1 ` ˘ m 0 x1
f px1 , x2 q “ p2i ` qi2 ´2 i“1 pi i“1 qi ` x1 x2 .
x2 0 m x2
i“1 i“1
Tenemos que:
ˆř m ˙ ˆ ˙ˆ ˙ ˆř m ˙ ˆ ˙ ˆ ˙
p i m 0 x1 p i x 0
∇f px1 , x2 q “ ´2 řmi“1 `2 “ ´2 řmi“1 `2m 1 “ ,
i“1 q i 0 m x2 i“1 q i x2 0
Además, como ˆ˙
2 m 0
∇ f px1 , x2 q “ 2 ,
0 m
que es DP, se sigue que x˚ es el único mínimo, local y global.
155
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES
10.4. Ejercicios
Ejercicio 10.1. Una empresa se propone determinar el nivel óptimo x˚ ą 0 de pu-
blicidad en TV, medido en minutos/día, para cierto producto, sabiendo que para
?
un nivel de publicidad x se obtiene un volumen de ventas de vpxq fi 1 ` x miles
de unidades, que el precio de venta por unidad es de p e, y que el coste por uni-
dad (minuto) de publicidad es de c e, con p ą 0 y c ą 0. Identifica supuestos en la
función vpxq bajo las cuales el problema tiene una única solución óptima, e indica
las ecuaciones que determinan dicha solución.
(a) Formula las condiciones que debe cumplir un punto px˚1 , x˚2 q para poder ser
candidato a óptimo local de f px1 , x2 q.
(b) Identifica todos los puntos que cumplen las condiciones necesarias de 1.er
orden para óptimo local.
(c) Para cada punto obtenido en (b), da las aproximaciones de Taylor de 2.o or-
den.
(d) Para cada punto obtenido en (b), determina si es un máximo local, un mínimo
local, o ninguna de ambas opciones.
(a) Formula las condiciones que debe cumplir un punto x para poder ser candi-
dato a óptimo local de f .
(b) Identifica todos los puntos que cumplen las condiciones necesarias de 1.er
orden para óptimo local.
(c) Para cada punto obtenido en (b), da las aproximaciones de Taylor de 2.o or-
den.
(d) Para cada punto obtenido en (b), determina si es un máximo local, un mínimo
local, o un punto de silla. ¿Puedes asegurar que algún punto es un óptimo
global?
156
Capítulo 11
11.1. Introducción
Continuamos nuestro estudio de la ONL considerando problemas en los que
hay una o más restricciones de igualdad. Una formulación de ONL con restriccio-
nes de igualdad consta de los elementos indicados a continuación.
157
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
minimizar f pxq
sujeto a : x P S (11.1)
gi pxq “ bi , i “ 1, . . . , m
o
maximizar f pxq
sujeto a : x P S (11.2)
gi pxq “ bi , i “ 1, . . . , m.
y ˜ ¸
n
ÿ n ÿ
ÿ n
Var rrj xj “ qij xi xj “ xT Qx,
j“1 i“1 j“1
1
H. M. Markowitz. Portfolio selection. The Journal of Finance 7: 77–91, 1952
158
11.2. Ejemplos de formulaciones
Por otra parte, como se pretende obtener un rendimiento medio anual b, tenemos
la restricción adicional
ÿn
rj xj “ b.
j“1
xj ě 0, j “ 1, . . . , n. (11.3)
minimizar xT Qx
sujeto a : x1 , . . . , xn ě 0
(11.4)
x1 ` ¨ ¨ ¨ ` xn “1
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b.
minimizar xT Qx
sujeto a : x1 , . . . , xn ą 0
(11.5)
x1 ` ¨ ¨ ¨ ` xn “1
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b.
159
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
dada por una función de utilidad de tipo Cobb–Douglas U pxq fi xα1 1 xα2 2 ¨ ¨ ¨ xαnn ,
donde las αj son constantes positivas.
Así, formulamos el problema de consumo óptimo como el siguiente problema
de ONL con una restricción de igualdad:
maximizar U pxq
sujeto a : x1 , . . . , xn ą 0 (11.6)
p1 x1 ` ¨ ¨ ¨ ` pn xn “ b.
En este caso, es claro que tiene sentido considerar únicamente vectores de con-
sumo x con componentes positivas.
160
11.3. Condiciones necesarias para óptimo local
161
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
gi px˚ q “ bi , i “ 1, . . . , m, (11.11)
y cumplir, además, que
x˚ P S. (11.12)
162
11.3. Condiciones necesarias para óptimo local
gi pxq “ bi , i “ 1, . . . , m (11.15)
x21 ` x22 “ 1
determina un elipsoide en R3 .
Intuitivamente, resulta claro que, dado un punto x˚ P S de la curva o superficie
determinada por (11.15), hay ciertas direcciones d P Rn que son tangentes a la
163
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
misma en dicho punto. La siguiente definición formaliza tal concepto. En ella nos
referimos a la matriz jacobiana m ˆ n de las m funciones gi pxq, dada por
¨ 1 ˛
¨ T
˛ 1 pxq ¨ ¨ ¨ g 1 pxq
g11 pxq g12 1n
∇g1 pxq ˚ 1 1 1 ‹
˚ .. ‹ ˚ g21 pxq g22 pxq ¨ ¨ ¨ g2n pxq ‹
T
∇gpxq fi ˝ . ‚ “ ˚ . .. .. .. ‹ (11.16)
T
˝ .. . . . ‚
∇gm pxq 1 pxq g 1 pxq ¨ ¨ ¨ g 1 pxq
gm1 m2 mn
d3
164
11.3. Condiciones necesarias para óptimo local
Recordemos que la matriz ∇2xx L px˚ ; λ˚ q es SDP si, para toda dirección d P Rn ,
dT ∇2xx L px˚ ; λ˚ qd ě 0. (11.20)
Sin embargo, esta última condición resulta ser demasiado fuerte, ya que un
punto factible regular x˚ puede ser un mínimo local para (11.1) sin cumplirla. Lo
que vamos a necesitar es una versión más débil de la desigualdad (11.20), que solo
es necesario que se cumpla para direcciones d que pertenezcan al subespacio lineal
TX px˚ q de direcciones tangentes a la región factible X en el punto x˚ . Ver la Sección
11.3.5.
Ahora podemos formular la condición requerida.
165
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
166
11.5. Optimalidad global y dualidad
Dualidad Débil
L ˚ pλq ď f pxq.
El Teorema 11.5.1 de Dualidad Débil nos indica que, para cualquier vector mul-
tiplicador λ P Rm , el valor ínfimo L ˚ pλq de la relajación lagrangiana (11.25) da una
cota inferior para el valor f pxq de cualquier solución factible x P X del problema
(11.1). La justificación de tal resultado se basa en la observación de que cada so-
lución factible x del problema primal (11.1) también es factible para el problema
relajado (11.25), siendo el valor del objetivo igual para ambos problemas.
La relación de Dualidad Débil L ˚ pλq ď f pxq nos lleva a plantearnos el proble-
ma de determinar la mejor cota inferior que se puede obtener para el valor mínimo
del problema primal mediante relajaciones lagrangianas. Ello nos lleva a formular
el problema dual.
167
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
El problema dual
maximizar
m
L ˚ pλq. (11.26)
λPR
Brecha de dualidad
Dualidad Fuerte
168
11.5. Optimalidad global y dualidad
En la práctica, para aplicar el Teorema 11.5.5 basta probar que la función la-
grangiana x ÞÑ L px; λ˚ q es convexa en el dominio x P S.
Comenzamos por notar que, si x P X es una solución factible para el problema pri-
mal de maximización (11.2), y el valor máximo (o supremo, para ser más precisos)
de la relajación lagrangiana (11.29) es L ˚ pλq fi suptL px; λq : x P Su, entonces se
tiene el siguiente resultado.
Dualidad Débil
f pxq ď L ˚ pλq.
El Teorema 11.5.1 de Dualidad Débil nos indica que, para cualquier vector mul-
tiplicador λ P Rm , el valor supremo L ˚ pλq de la relajación lagrangiana (11.29) da
una cota superior para el valor f pxq de cualquier solución factible x P X. La jus-
tificación de tal resultado se basa en la observación de que cada solución factible
x del problema primal (11.2) también es factible para el problema relajado (11.29),
siendo el valor del objetivo igual para ambos problemas.
La relación de Dualidad Débil L ˚ pλq ě f pxq nos lleva a plantearnos el pro-
blema de determinar la mejor cota superior que se puede obtener para el valor
máximo del problema primal mediante relajaciones lagrangianas. Dicho problema
se conoce como el problema dual.
El problema dual
minimizar
m
L ˚ pλq. (11.30)
λPR
169
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
Brecha de dualidad
Dualidad Fuerte
En la práctica, para aplicar el Teorema 11.5.10 basta probar que la función la-
grangiana x ÞÑ L px; λ˚ q es cóncava en el dominio x P S.
170
11.6. Interpretación económica de los multiplicadores
B ˚
λ˚i pbq “ f pbq, (11.33)
Bbi
Esto es, el multiplicador de Lagrange λ˚i pbq es la tasa de variación del valor
óptimo local f ˚ pbq con respecto a cambios en la constante bi del lado derecho.
Debido a esta interpretación económica, también se denomina el multiplicador
˚
λi como el precio sombra asociado al lado derecho de la restricción i-ésima.
11.7. Aplicaciones
Ejemplo 11.7.1 (Optimización de una cartera de inversiones (cont. Ejemplo
11.2.1)). Consideremos de nuevo el problema (11.5) de optimización de una cartera
de inversiones financieras. Por conveniencia en el cálculo, multiplicaremos el ob-
jetivo por 1{2. Para el problema resultante, asociamos el vector de multiplicadores
λT “ pλ1 , λ2 q a las restricciones de igualdad del problema, con lo cual obtenemos
la relajación lagrangiana
˜ ¸ ˜ ¸
n
ÿ ÿn
1 T
minimizar L px; λq fi x Qx ´ λ1 xj ´ 1 ´ λ2 rj xj ´ b . (11.34)
xą0 2
j“1 j“1
donde donde 1 denota el vector de unos, y r “ prj q1ďjďn . Notemos que, al ser las
restricciones lineales, se sigue que todos los puntos x que cumplan las restricciones
del problema serán regulares.
Ahora, formulamos el sistema de n ` 2 ecuaciones en las n ` 2 variables
x1 , . . . , xn , y λ1 , λ2 , que se debe satisfacer en la condición CN1-ópL:
171
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
∇x L px; λq “ Qx ´ λ1 1 ´ λ2 r “ 0
1T x “ 1 (11.35)
T
r x “ b.
Suponiendo que la matriz de covarianzas de los rendimientos Q sea invertible,
la primera ecuación vectorial en (11.35) tiene una única solución, que denotaremos
por x˚ pλq, la cual está dada por
` ˘
x˚ pλq fi λ1 Q´1 1 ` λ2 Q´1 r “ Q´1 1 r λ. (11.36)
Para determinar el vector multiplicador λ, observamos que x˚ pλq debe satisfa-
cer las ecuaciones segunda y tercera en (11.35), esto es,
ˆ ˙ ˆ ˙ ˆ T ´1 ˙
1 1T ` ˘ 1 Q 1 1T Q´1 r
Cλ “ , con C fi Q ´1
1 r “ .
b rT 1T Q´1 r rT Q´1r
ˆ ˙ ˆ T ´1 ˙
˚ 1 1 r Q r ´ b1T Q´1 r
λ fi C ´1
“ . (11.38)
1T Q´1 1rT Q´1r ´ p1T Q´1rq2 1 Q 1b ´ 1 Q r
T ´1 T ´1
b
Así, la única solución de las ecuaciones (11.35) está dada por el vector multipli-
cador λ˚ dado por (11.38), y el vector x˚ dado por
ˆ ˙
˚ ˚ ˚
` ˘ ˚ ` ´1 ˘ rT Q´1r ´ b1T Q´1 r
x fi x pλ q “ Q ´1 ´1
1 r λ “γ Q 1 Q r . (11.39)
1T Q´1 1b ´ 1T Q´1r
Para chequear si el vector x˚ es factible para el problema (11.5), aún falta com-
probar si se cumple x˚ ą 0 (esto es, que x˚j ą 0 para j “ 1, . . . , n). En tal caso,
habremos obtenido que el vector x˚ dado por (11.39) es el único candidato a ópti-
mo local.
Suponiendo x˚ ą 0, comprobemos a continuación si x˚ cumple la condición
suficiente CS1-mín. Vemos que la hessiana del objetivo de la relajación lagrangiana
(11.34) no depende de los valores de x ni de λ, estando dada por
∇2xx L px; λq ” Q.
Como hemos supuesto que Q es invertible se sigue que, al ser Q una matriz de
covarianzas, será DP. Por tanto, la condición CS2-mínL garantiza que x˚ es un
mínimo local estricto
Vamos a argumentar que, además, x˚ es un mínimo global. Para ello, invoca-
mos las condiciones suficientes para mínimo global dadas en el Teorema 11.5.5,
que se cumplen en este caso, al ser la función lagrangiana x ÞÑ L px; λq convexa.
172
11.7. Aplicaciones
La solución es
¨ ˛ ¨ ˛
ˆ ˚˙ ˆ ˙ˆ ˙ x˚1 1.7038 ´7.9254 ˆ ˙
λ1 0.0308 ´0.2392 1 ˝x˚2 ‚ “ ˝´0.5121 1
“ , 5.8738‚
λ˚2 ´0.2392 2.8453 b b
x˚3 ´0.1918 2.0516
.
Ahora imponemos el requisito de que sea x˚ ą 0:
Así, obtenemos que la solución anterior es válida solo para rendimientos me-
dios b que satisfacen
0.09347 ă b ă 0.21499.
Para rendimientos medios en tal intervalo, el valor óptimo del objetivo es
ˆ ˙ˆ ˙
˚
` ˘ 0.015 ´0.119 1
f pbq “ 1 b “ 0.015 ´ 0.2392b ` 1.42265b2 .
´0.119 1.423 b
Observamos que
d ˚
f pbq “ ´0.2392 ` 2.8453b “ λ˚2 .
db
173
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
Para cada elección del valor numérico del multiplicador λ (p. ej., tomando λ “ 5),
(11.41) es un problema de ONL sin restricciones, que vimos cómo resolver en el
tema anterior.
Ahora, formulamos el sistema de n ` 1 ecuaciones en las n ` 1 variables
x1 , . . . , xn , y λ, que se deben satisfacer en la condición CN1-ópL:
∇x L px; λq “ ∇f pxq ´ λp “ 0
(11.42)
pT x “ b.
Notemos que la primera ecuación vectorial en (11.42) se puede reformular co-
mo
f11 pxq f 1 pxq
“ ¨¨¨ “ n “ λ. (11.43)
p1 pn
αj
fj1 pxq “ , j “ 1, . . . , n. (11.44)
xj
λx “ q.
pT q a
pT x˚ pλq “ b ùñ λ “ λ˚ fi “ , (11.47)
b b
ř
donde a fi nj“1 αj .
Por tanto,
b
x˚ “ x˚ pλ˚ q “ q. (11.48)
a
Para comprobar las condiciones de 2.o orden , tenemos que evaluar la hessiana
de f . A partir de (11.44), calculamos las segundas derivadas parciales de f como
sigue: para j ‰ k,
2
fjk pxq “ 0, (11.49)
y para j “ k,
2 αj
fjj pxq “ ´ . (11.50)
x2j
174
11.7. Aplicaciones
Es fácil comprobar que dicha hessiana es DN para todo x y, por tanto, la fun-
ción lagrangiana L px; λq es estrictamente cóncava en x. Por tanto, x˚ es el único
máximo, local y global, de la relajación lagrangiana, y x˚ es el único máximo global
para el problema.
Nótese que el valor óptimo, como función de b, es
n
ÿ ` ˘ ÿn ` ˘ n
ÿ
f ˚ pbq “ αj ln bqj {a “ αj lnpb{aq ` lnpqj q “ a lnpb{aq ` αj lnpqj q.
j“1 j“1 j“1
∇L px; λq “ x ´ p ´ λa “ 0
(11.52)
aT x “ b.
De la primera ecuación obtenemos
x˚ pλq “ p ` λa.
Sustituyendo en la segunda ecuación, obtenemos
b ´ aT p
aT x˚ pλq “ b ùñ λ˚ “ .
aT a
Como la función lagrangiana x ÞÑ L px; λq es estrictamente convexa, se sigue
que x˚ “ x˚ pλ˚ q es el único mínimo global.
175
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
g1 pxq fi x21 ` x2 ` x3 “ 2
g2 pxq fi x1 ` x22 ` 2x3 “ 2.
(a) Formula la condición necesaria de 1.er orden CN1-ópL para óptimo local.
(b) Calcula todos los puntos que cumplen CN1-ópL en (a), junto con los multi-
plicadores correspondientes.
(c) Formula las CN de 2.o orden para máximo local y para mínimo local, así
como las condiciones suficientes (CS) correspondientes.
176
11.8. Un ejercicio resuelto
(d) Para cada punto obtenido en (b), aplica las condiciones formuladas en (c)
para determinar si es un máximo local, un mínimo local, o ninguna de ambas
opciones. ¿Puedes identificar algún óptimo global, argumentando que lo es?
Solución.
(a) La función lagrangiana es
La CN de 1.er orden es aplicable solo a puntos factibles regulares x˚ , esto es, que
cumplan las dos restricciones y para los cuales los gradientes ∇g1 px˚ q y ∇g2 px˚ q
sean linealmente independientes. Como
` ˘ ` ˘
∇g1 pxqT “ 2x1 1 1 y ∇g2 pxqT “ 1 2x2 2 ,
para que ∇g1 pxq y ∇g2 pxq sean linealmente dependientes tendría que cumplirse
que x1 “ 1{4 y x2 “ 1. Pero es fácil comprobar que ningun punto factible cumple
tales condiciones. Por tanto, concluimos que todos los puntos factibles son regula-
res.
Así, la condición CN1-ópL para que un punto factible x˚ pueda ser óptimo
local es que exista λ˚ P R2 tal que ∇L px˚ ; λ˚ q “ 0. Formulamos tal condición
como sigue:
L11 px; λq “ ´2λ1 x1 ´ λ2 “ 0
L21 px; λq “ 2px2 ` x3 ´ 3q ´ λ1 ´ 2λ2 x2 “ 0
L31 px; λq “ 2px2 ` x3 ´ 3q ´ λ1 ´ 2λ2 “ 0,
o, en formato matricial,
¨ ˛¨ ˛¨ ˛
´2λ1 0 0 x1 λ2
˝ 0 2 ´ 2λ2 2‚˝x2 ‚˝ 6 ` λ1 ‚.
0 2 2 x3 6 ` λ1 ` 2λ2
(b) Para resolver las ecuaciones anteriores, aplicaremos que son lineales en x
para valores dados de los multiplicadores λi , lo cual nos permitirá despejar las xj
en términos de las λi .
En el caso λ1 ‰ 0, podemos despejar x1 de la primera ecuación:
λ2
x1 “ ´
.
2λ1
Si fuese λ1 “ 0, la primera ecuación nos daría que λ2 “ 0 y, en las restantes
ecuaciones, obtendríamos que x2 ` x3 “ 3. Pero esto no es posible, ya que sus-
tituyendo en la primera restricción tendríamos que x21 ` 3 “ 2. Por tanto, basta
considerar el caso λ1 ‰ 0.
En cuanto a las ecuaciones segunda y tercera, podemos formularlas y resolver-
las como sigue: ˆ ˙ˆ ˙ ˆ ˙
2 ´ 2λ2 2 x2 6 ` λ1
“ ,
2 2 x3 6 ` λ1 ` 2λ2
de donde
ˆ ˙ ˆ ˙´1 ˆ ˙ ˜ 1
¸
x2 2 ´ 2λ2 2 6 ` λ1
“ “ 4 ` λ1 ` 2λ2 ,
x3 2 2 6 ` λ1 ` 2λ2
2
177
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
´2λ1 ´ λ2 “ 0
´λ1 ´ 2λ2 “ 4,
λ1 ´ λ2 “ 0
5
´λ1 ´ 2λ2 “ ,
2
de donde obtenemos λB1 “ λB2 “ ´5{6.
(c) Calculamos la hessiana de la función lagrangiana:
¨ ˛
´2λ1 0 0
∇2xx L px; λq “ ˝ 0 2 ´ 2λ2 2‚,
0 2 2
que no depende de x.
Para formular las condiciones de optimalidad de 2.o orden para un punto x˚
que cumpla CN1-ópL, tenemos que caracterizar las direcciones d “ pd1 , d2 , d3 qT
178
11.8. Un ejercicio resuelto
tangentes a la curva determinada por las restricciones en dicho punto. Tales direc-
ciones cumplen ∇g1 px˚ qT d “ 0 y ∇g2 px˚ qT d “ 0, esto es,
2x˚1 d1 ` d2 ` d3 “ 0
(11.55)
d1 ` 2x˚2 d2 ` 2d3 “ 0.
(d) Para el punto xA “ p1, 1, 0qT , la hessiana de la función lagrangiana está dada
por ¨ ˛ ¨ ˛
´2λA1 0 0 ´8{3 0 0
∇2xx L px; λA q “ ˝ 0 2 ´ 2λA2 2‚ “ ˝ 0 22{3 2‚
0 2 2 0 2 2
Los menores principales dominantes de esta matriz cumplen D1 ă 0, D2 ă 0, y
D3 ă 0. Por tanto, esta matriz es indefinida.
En cuanto a las direcciones tangentes en xA a la región X determinada por las
restricciones, son aquellas que cumplen
2d1 ` d2 ` d3 “ 0
d1 ` 2d2 ` 2d2 “ 0,
esto es, las direcciones d que tienen
d1 “ 0, d3 “ ´d2 .
179
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD
11.9. Ejercicios
Ejercicio 11.1. Para la función
f pxq fi x1 ` x2 ` x3 , x P R3 ,
180
11.9. Ejercicios
(d) Para cada punto que cumpla CN1, determina las direcciones d P R3 que sean
tangentes a la región de soluciones factibles en dicho punto.
(e) Para cada punto que cumpla CN1, ¿puedes afirmar que es un máximo o un
mínimo local?
(f) Para cada punto que cumpla CN1, ¿puedes afirmar que es un máximo o un
mínimo global? Si para responder necesitas determinar si una matriz simé-
trica Q “ pqij q1ďi,jď3 es SDP o SDN, puedes aplicar los siguientes resultados,
donde M1 “ q11 , M2 “ q22 , M3 “ q33 ,
q11 q12 q q q q
M12 “ , M13 “ 11 13 , M23 “ 22 23 , M123 “ |Q|.
q21 q22 q31 q33 q32 q33
181
Capítulo 12
12.1. Introducción
Continuamos nuestro estudio de la ONL abordando problemas en los que hay
restricciones de desigualdad no estricta, esto es, de la forma “ď” o ě”. Una formu-
lación de ONL con restricciones de desigualdad consta de los elementos indicados
a continuación.
183
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
minimizar f pxq
sujeto a : x P S
(12.1)
gi pxq “ bi , i “ 1, . . . , m
hi pxq ě ci , i “ 1, . . . , l,
en el que las restricciones de desigualdad son de la forma “ě”.
Para un problema de maximización, emplearemos el formato estándar
maximizar f pxq
sujeto a : x P S
(12.2)
gi pxq “ bi , i “ 1, . . . , m
hi pxq ď ci , i “ 1, . . . , l,
en el que las restricciones de desigualdad son de la forma “ď”.
minimizar xT Qx
sujeto a
x1 ` ¨ ¨ ¨ ` xn “ 1 (12.3)
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b
x1 , . . . , xn ě 0.
184
12.3. Condiciones necesarias para óptimo local
Cualificaciones de restricciones
CR de linealidad: Las funciones restricción gi y hi son lineales.
CR de regularidad: El punto factible x˚ es regular, esto es, los gradien-
tes t∇gi px˚ q, i “ 1, . . . , mu Y t∇hi px˚ q, i P Apx˚ qu son linealmente in-
dependientes.
185
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
` ˘ ` ˘
λi gi pxq ´ bi y µi hi pxq ´ ci , obteniendo la función lagrangiana
m
ÿ ` ˘ ÿl ` ˘
L px; λ, µq fi f pxq ´ λi gi pxq ´ bi ´ µi hi pxq ´ ci ,
i“1 i“1
con µ ě 0.
Estas condiciones fueron presentadas por primera vez en la tesis de Máster
de 1939 en la Universidad de Chicago del matemático estadounidense William
Karush (1917–1997), titulada “Minima of functions of several variables with inequalities
as side conditions”. Sin embargo, al no haber sido publicada, sus resultados fueron
ignorados durante años, hasta que fueron redescubiertos de forma independiente
por los matemáticos Harold W. Kuhn (n. 1925) y Albert W. Tucker (1905–1995),
que los publicaron en un artículo conjunto de 19511 Por ello, dichas condiciones se
conocen actualmente como las condiciones necesarias de Karush–Kuhn–Tucker
1
H. W. Kuhn y A. W. Tucker (1951). Nonlinear programming. En: Proceedings of the 2nd Berkeley
Symposium on Mathematical Statistics and Probability, pp. 481–492. University of California Press.
186
12.3. Condiciones necesarias para óptimo local
(KKT) de 1.er orden para óptimo local. También se emplea el término puntos KKT
de 1.er orden para referirse a aquellos puntos que satisfacen dichas condiciones.
Los vectores multiplicadores λ˚ y µ˚ en las condiciones necesarias KKT para
óptimo local se denominan multiplicadores KKT.
La tercera condición necesaria en (12.6) se conoce como Holgura Complemen-
taria. Podemos reformularla de forma equivalente como se indica a continuación.
187
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
minimizar f pxq
sujeto a : x P S
gi pxq “ bi , i “ 1, . . . , m (12.11)
hi pxq ě ci , i “ 1, . . . , l
xj ě 0, j “ 1, . . . , n,
y
maximizar f pxq
sujeto a : x P S
gi pxq “ bi , i “ 1, . . . , m (12.12)
hi pxq ď ci , i “ 1, . . . , l
xj ě 0, j “ 1, . . . , n.
Comencemos por el problema de minimización (12.11). Para formular las con-
diciones necesarias de 1.er orden asociamos multiplicadores λi a las restricciones
de igualdad gi pxq “ bi , multiplicadores µi ě 0 a las restricciones hi pxq ě ci , y
multiplicadores νj ě 0 a las restricciones de no negatividad xj ě 0, obteniendo la
función lagrangiana
m
ÿ ` ˘ ÿl ` ˘ ÿn
L px; λ, µ, νq fi f pxq ´ λi gi pxq ´ bi ´ µi hi pxq ´ ci ´ νj xj .
i“1 i“1 j“1
188
12.3. Condiciones necesarias para óptimo local
m
ÿ l
ÿ
fj1 px˚ q ´ λ˚i gij
1
px˚ q ´ µ˚i h1ij px˚ q ě 0 p““” si x˚j ą 0q, j “ 1, . . . , n
i“1 i“1
µ˚i ě 0 p““” si hi px˚ q ą ci q, i “ 1, . . . , l.
(12.14)
El vector
m
ÿ ÿ
ν ˚ “ ∇f px˚ q ´ λ˚i ∇gi px˚ q ´ µ˚i ∇hi px˚ q (12.15)
i“1 iPApx˚ q
Resulta más sencillo reformular las condiciones (12.16) eliminando los multipli-
cadores νj de las restricciones de no negatividad, y reformulando las condiciones
de Holgura Complementaria como se muestra a continuación.
189
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
m
ÿ l
ÿ
fj1 px˚ q ´ λ˚i gij
1
px˚ q ´ µ˚i h1ij px˚ q ď 0 p““” si x˚j ą 0q, j “ 1, . . . , n
i“1 i“1
µ˚i ě 0 p““” si hi px˚ q ă ci q, i “ 1, . . . , l.
(12.17)
El vector
m
ÿ ÿ
∇f px˚ q ´ λ˚i ∇gi px˚ q ´ µ˚i ∇hi px˚ q (12.18)
i“1 iPApx˚ q
maximizar 0
sujeto a
ÿm ÿ
1
gij px˚ qλi ` h1ij px˚ qµi “ fj1 px˚ q, j “ 1, . . . , n (12.19)
i“1 iPApx˚ q
190
12.3. Condiciones necesarias para óptimo local
maximizar 0
sujeto a
ÿm ÿ
1
gij px˚ qλi ` h1ij px˚ qµi ď fj1 px˚ q p““” si x˚j ą 0q, j “ 1, . . . , n (12.20)
i“1 iPApx˚ q
minimizar 0
sujeto a
ÿm ÿ
1
gij px˚ qλi ` h1ij px˚ qµi ě fj1 px˚ q p““” si x˚j ą 0q, j “ 1, . . . , n (12.21)
i“1 iPApx˚ q
λi no restringida en signo, i “ 1, . . . , m
µ˚i ě 0, i P Apx˚ q,
12.3.6. Aplicación a la OL
Consideremos el caso de un problema de OL general en formato estándar:
maximizar r1 x1 ` ¨ ¨ ¨ ` rn xn
sujeto a
(12.22)
ai1 x1 ` ¨ ¨ ¨ ` aim xn “ bi , i “ 1, . . . , m
x1 , . . . , xn ě 0.
Claramente, el problema (12.22) es un caso particular del problema (12.12) de
maximización con restricciones de no negatividad. Dada una solución factible x˚
para el problema de OL, las condiciones necesarias CN1-ópL para que x˚ sea má-
ximo local, reformuladas como en (12.14), se muestran en el siguiente resultado.
191
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
Por otra parte, en el caso de la OL tales condiciones son no solo necesarias para
óptimo local, sino suficientes para óptimo global.
192
12.5. Condiciones suficientes de 2.o orden para óptimo local
se cumple
dT ∇2xx L px˚ ; λ˚ , µ˚ qd ą 0, (12.28)
entonces x˚ es un mínimo local estricto.
(b) En el caso de complementariedad estricta, en el que µ˚i ą 0 pa-
ra cada restricción activa i P Apx˚ q, si d “ Uγ, con γ P Rp , son
unas ecuaciones paramétricas correspondientes a (12.24), entonces la
condición suficiente en (a) es equivalente a que la hessiana reducida
UT ∇2xx L px˚ ; λ˚ , µ˚ qU sea DP.
193
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
se cumple
dT ∇2xx L px˚ ; λ˚ , µ˚ qd ă 0, (12.30)
dT ∇2xx L px˚ ; λ˚ , µ˚ qd ă 0, entonces x˚ es un máximo local estricto.
(b) En el caso de complementariedad estricta, en el que µ˚i ą 0 pa-
ra cada restricción activa i P Apx˚ q, si d “ Uγ, con γ P Rp , son
unas ecuaciones paramétricas correspondientes a (12.24), entonces la
condición suficiente en (a) es equivalente a que la hessiana reducida
UT ∇2xx L px˚ ; λ˚ , µ˚ qU sea DN.
Entonces, los valores f pxq y L ˚ pλ, µq están relacionados como indica el siguiente
resultado.
194
12.6. Optimalidad global y dualidad
195
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
196
12.7. Interpretación económica de los multiplicadores
197
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
B ˚
λ˚i “ f pb, cq, i “ 1, . . . , m
Bbi
(12.39)
B ˚
µ˚i “ f pb, cq, i “ 1, . . . , l
Bci
Así, el multiplicador de KKT µ˚i pb, cq es la tasa de incremento del valor óptimo
local f ˚ pb, cq con respecto a incrementos en la constante ci del lado derecho. La
interpretación de los multiplicadores λ˚i es análoga. Por tanto, para incrementos
pequeños,
m
ÿ l
ÿ
f ˚ pb ` ∆b, c ` ∆cq « f ˚ pb, cq ` λ˚i ∆bi ` µ˚i ∆ci .
i“1 i“1
La relajación lagrangiana es
minimizar
n
L px; λ, νq, (12.40)
xPR
n
ÿ
νj˚ fi qji x˚i ´ λ˚1 ´ λ˚2 rj ě 0 p““” si x˚j ą 0q, para j “ 1, . . . , n (12.42)
i“1
198
12.7. Interpretación económica de los multiplicadores
199
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
x1 x2 ě x3
x21 ` x22 ` x23 ď 3.
(a) Formula las condiciones necesarias KKT de 1.er orden que debe cumplir un
punto factible regular x˚ que sea máximo local (condiciones CN1-ópL).
(b) Calcula todos los puntos que cumplan las condiciones CN1-ópL, junto con sus
multiplicadores.
(c) Para cada punto obtenido en (b), determina si cumple las condiciones necesa-
rias de 2.o orden para máximo local (CN2-máx).
(d) Para cada punto que cumpla CN2-máx, determina si cumple las condiciones
apropiadas que aseguran que es un máximo local o global.
Solución. (a) La función lagrangiana es
L px; µq fi 4x3 ´ x21 ´ x22 ´ x23 ´ µ1 px3 ´ x1 x2 q ´ µ2 px21 ` x22 ` x23 ´ 3q.
Las condiciones necesarias KKT de 1.er orden para que un punto factible regular
x sea óptimo local son: que exista un vector multiplicador µ tal que:
(b)
Caso I: h1 pxq ă 0 y h2 pxq ă 3.
HC
h1 pxq ă 0, h2 pxq ă 3 ùñ µ1 “ µ2 “ 0
ùñ x “ p0, 0, 2qT : no factible.
200
12.8. Ejercicio resuelto
´2 µ1
“ 4 ´ µ21 ‰ 0 ðñ ´2 ‰ µ1 ‰ 2.
µ1 ´2
Ahora, notamos que la ecuación vectorial anterior tiene como única solución
px1 , x2 q “ p0, 0q si y solo si
ˆ ˙
´2p1 ` µ2 q µ1
“ 4p1 ` µ2 q2 ´ µ21 ‰ 0.
µ1 ´2p1 ` µ2 q
2p1 ` µ2 q “ ˘µ1 .
2p1 ` µ2 q “ µ1 .
201
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
de donde
µ1 ´ 2µ2 “ 2, µ1 ` 2µ2 “ 2 ùñ µ1 “ 2, µ2 “ 0.
Para el punto xT “ p´1, ´1, 1q,
de donde
µ1 ´ 2µ2 “ 2, µ1 ` 2µ2 “ 2 ùñ µ1 “ 2, µ2 “ 0.
Así, hay tres puntos que cumplen las condiciones CN1-ópL: xA “ 0T , con µA “
p4, 0qT , xB “ p1, 1, 1qT , con µB “ p2, 0qT y xC “ p´1, ´1, 1qT , con µC “ p2, 0qT .
(c) La hessiana de la función lagrangiana es
¨ ˛
´2p1 ` µ2 q µ1 0
∇2xx L px; µq “ ˝ µ1 ´2p1 ` µ2 q 0 ‚
0 0 ´2p1 ` µ2 q
Para µA , obtenemos
¨ ˛
´2 4 0
∇2xx L px; µA q “ ˝ 4 ´2 0 ‚.
0 0 ´2
Los menores principales dominantes de esta matriz valen ´2, ´12 y 24, por lo que
es indefinida.
Solo la primera restricción es activa en xA . Tenemos que
Las direcciones d P R3 que cumplen (12.24) están determinadas por las ecuaciones
implícitas
∇h1 pxA q d “ 0,
T
202
12.9. Ejercicios
Como la matriz ˆ ˙
´2 4
4 ´2
es indefinida, el punto xA no cumple CN2-máx.
Para µB “ µC , obtenemos
¨ ˛
´2 2 0
∇2xx L px; µB q “ ˝ 2 ´2 0 ‚.
0 0 ´2
Esta matriz es SDN, por lo que los puntos xB y xC cumplen la condición CN2-máx.
(d) Además, como la hessiana ∇2xx L px; µB q no depende de x, se sigue que la
función x ÞÑ L px; µB q es cóncava y, por tanto, xB y xC son máximos globales.
12.9. Ejercicios
Ejercicio 12.1. Resuelve el problema
1
minimizar f pxq fi px21 ´ x22 q
2
sujeto a
hpxq fi ´x2 ě 0.
minimizar f pxq fi x1 x2
sujeto a
hpxq fi ´px21 ` x22 q ě ´25.
f pxq fi x1 ` 5x2 ´ x3 ` x1 x2 x3 , x P R3 ,
(a) Formula las condiciones necesarias (CN) de 1.er orden para máximo local.
(b) ¿Hay algún punto x que cumpla las CN de 1.er orden para máximo local con
px1 ` 2q2 ` x22 ` x3 ă 8 y x21 ` px2 ` 1q2 ` x3 ă 4?
(c) Considera el punto x˚ “ p0, 0, 3qT . ¿Es regular? ¿Cumple las CN de 1.er orden
para máximo local?
`a a ˘T
(d) Considera el punto x˚ “ 2{13, ´1 ` 5 2{13, 0 ¿Es regular? ¿Cumple
las CN de 1.er orden para máximo local?
(e) Formula las CN y las condiciones suficientes (CS) de 2.o orden para máximo
local.
203
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD
(f) Para cada punto x˚ considerado en (b), (c) y (d), chequea si cumple o no
las CN y las CS de 2.o orden para máximo local. ¿Puedes identificar algun
máximo local? ¿Y algún máximo global?
x1 x2 ď 4
x21 ` x22 ď 16.
x1 x2 “ 4
x21 ` x22 “ 16
x2 ě x21
x1 ` x2 ď 2.
(a) ¿Qué tiene que cumplir un punto factible x˚ para ser regular? Determina qué
puntos factibles son regulares.
(b) Formula las condiciones necesarias de 1.er orden CN1-ópL para mínimo local.
(c) Formula las CN y las condiciones suficientes (CS) de 2.o orden para mínimo
local.
(d) Calcula los puntos que cumplen las CN en (a), con sus multiplicadores.
(e) Para cada punto obtenido en (e), argumenta si es o no un mínimo local. ¿Pue-
des probar que algún punto es un mínimo global?
204
Capítulo 13
13.1. Introducción
En los temas anteriores hemos visto cómo formular condiciones de optimali-
dad, necesarias y suficientes, que hemos empleado para identificar puntos candi-
datos a óptimo local, y para asegurar que un punto es un mínimo o un máximo
local o global. En los ejemplos que hemos considerado, el cálculo de los puntos
que cumplían las condiciones necesarias para óptimo local se podía llevar a cabo
mediante manipulaciones algebraicas. En la práctica, sin embargo, lo habitual es
que no sea posible obtener soluciones explícitas, en cuyo caso el cálculo de dichos
puntos tiene que realizarse mediante métodos iterativos de cálculo numérico.
En dichos métodos, se parte de una aproximación inicial x0 , y se genera una
sucesión x1 , x2 , . . . , de sucesivos puntos iterados, aplicando una regla o fórmula
que nos indique cómo calcular xk`1 a partir de xk . De este modo, se pretende que
la sucesión generada converja a un punto límite x˚ que cumpla las condiciones
necesarias para óptimo local en el problema de interés.
205
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES
y resuelve la ecuación
Tfp1q
1 ,x pxq “ 0,
0
obteniendo el punto ` ˘
f 1 x0
x1 “ x0 ´ 2 ` ˘ ,
f x0
` ˘
suponiendo que sea f 2 x0 ‰ 0.
Repitiendo este algoritmo iterativo, generamos la sucesión txk u8
k“0 , donde los
sucesivos iterados se obtienen aplicando la iteración de Newton.
exk ´ 1
xk`1 “ xk ´ “ xk ` e´xk ´ 1, k “ 0, 1, 2, . . .
exk
La siguiente tabla muestra los resultados de aplicar el método a este problema,
comenzando con x0 “ ´1:
` ˘
k xk f 1 xk
0 ´1.0000 ´0.6321
1 0.7183 1.0509
2 0.2059 0.2286
3 0.0198 0.0200
4 0.0002 0.0002
5 0.0000 0.0000
206
13.2. Cálculo de soluciones para ONL sin restricciones
x
Resolución de φ(x) = f’(x) = e − 1 = 0 por el Método de Newton
5
3
f(x)
0 2
4 3
x0 x x x 1
x
φ(x)
−1
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
x
La iteración de Newton es
2
1´
1 ` x2k 1 ´ x4k
xk`1 “ xk ´ xk “ xk ` , k “ 0, 1, 2, . . .
4` ˘ 4xk
2
1 ` x2k
Así, observamos que, en este caso, la sucesión generada por el método de Newton–
Raphson no converge a un punto, sino que diverge. La Figura 13.2 muestra la geo-
metría de la divergencia del método de Newton–Raphson en este ejemplo.
Sin embargo, si elegimos otros valores iniciales x0 , la sucesión generada con-
verge, bien a la raíz x˚ “ 1, o a la raíz x˚ “ ´1. Véase la Figura 13.3.
Consideremos ahora, en este ejemplo, la siguiente cuestión. Denotemos por
Ap1q el conjunto de valores iniciales x0 para los cuales la sucesión txk u generada
por la iteración de Newton converge a la raíz 1. De forma similar, denotemos por
Ap´1q el conjunto de valores iniciales x0 para los cuales la sucesión txk u converge a
la raíz ´1. Y denotemos por ApDq el conjunto de valores iniciales x0 para los cuales
la sucesión txk u diverge. La cuestión es si podemos determinar los conjuntos Ap1q,
207
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES
3
f(x) φ(x)
0
x2x0 x1 x3
−1
−2
−5 −4 −3 −2 −1 0 1 2 3 4 5
x
2
Método de Newton: φ(x) = f’(x) = 1 − 2/(1 + x ) = 0 : convergencia a un máximo local de f(x)
5
2
φ(x)
1
f(x)
0
0 2 4 3
x x x x5 x 1
x
−1
−2
−5 −4 −3 −2 −1 0 1 2 3 4 5
x
208
13.2. Cálculo de soluciones para ONL sin restricciones
209
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES
xk`1 “ xk ` dk .
Al tratar de aplicar el método de Newton–Simpson, pueden surgir varias difi-
cultades, entre las que destacan las siguientes: (1) que la matriz hessiana Hf pxk q no
sea invertible para algún punto xk , en cuyo caso la iteración de Newton mostrada
más arriba no sería aplicable; y (2) en el caso de que se requiera que los puntos facti-
bles x pertenezcan a una región abierta S Ă Rn , puede ocurrir que, aunque xk P S,
la iteración de Newton genere un iterado xk`1 que no pertenezca a S; en tal caso,
tras calcular la dirección de Newton dk , buscaríamos un escalar 0 ă αk ă 1 tal que
xk ` αk dk P S, y tomaríamos
xk`1 “ xk ` αk dk .
con x P R2 . El gradiente de f es
ˆ ˙
50x1 ´ 48x31 ´ 6x2 ´ 48x1 x22
∇f pxq “ ,
´6x1 ` 50x2 ´ 48x21 x2 ´ 48x32
y la hessiana es
ˆ ˙
50 ´ 144x21 ´ 48x22 ´6 ´ 96x1 x2
Hf pxq “ .
´6 ´ 96x1 x2 50 ´ 48x21 ´ 144x22
Los puntos que pueden ser candidatos a óptimo local son aquellos que resuel-
ven la ecuación vectorial
∇f pxq “ 0.
La iteración de Newton (13.2) para resolver dicha ecuación se puede imple-
mentar de forma sencilla en una hoja de cálculo.
Las Figuras 13.4, 13.5 y 13.6 muestran tres posibilidades de convergencia de la
sucesión generada por el método de Newton en este ejemplo.
210
13.2. Cálculo de soluciones para ONL sin restricciones
B
x
0.5
xC
2
0 * 0
x
x x
−0.5
D A
x x
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x1
xB
C
x
0.5
x0
*
x2
0 x
−0.5
xD x
A
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x
1
(
Velocidad de convergencia de la sucesión xk
Sea
ek`1
r fi lı́m .
kÑ8 ek
211
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES
B
x
xC
0.5
0
x
*
x
2
0
x
−0.5
D
x A
x
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x1
(
Si r “ 1, xk converge sublinealmente (más lento que linealmente) a
x˚ . (
Si 0 ă r ă 1, (xk converge linealmente a x˚ .
Si r “ 0, xk converge con converge superlinealmente (más rápido
que linealmente) a x˚ .
212
13.3. Ejercicio resuelto
1.6
1.4
1.2
* 2
− x ||/||x − x ||
1
k
*
0.8
k+1
||x
0.6
0.4
0.2
0
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
k
213
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES
La matriz hessiana es
¨ ˛
´12x21 5x3 5x2
Hf pxq “ ˝ 5x3 ´12x22 5x1 ‚.
5x2 5x1 ´12x23
CN de 2.o orden para máximo local: Hf px˚ q es SDN. CN de 2.o orden para
mínimo local: Hf px˚ q es SDP.
(b) Ver (13.2).
(c) • x0 “ p´22, ´1.7, 1.9q T : xk Ñ x˚ “ p0.942508, ´1.27334, ´0.0548162q T ,
que es un punto de silla.
• x0 “ p´21.9, ´1.7, 1.9q T : xk no converge en 100 iteraciones.
• x0 “ p´21.6, ´1.7, 1.9q T : xk Ñ x˚ “ p1.43029, ´1.58291, ´1.09973q T , que
es un máximo local.
• x0 “ p´21.4, ´1.7, 1.9q T : xk Ñ x˚ “ p´1.39976, ´1.6964, 1.64707q T , que
es un máximo local.
214
Parte IV
OPTIMIZACIÓN DINÁMICA
Capítulo 14
Optimización dinámica
14.1. Introducción
En temas anteriores hemos considerado problemas de optimización estática,
formulados como modelos de OL o de OE, en los que se trata de optimizar el
beneficio o el coste total de una empresa u organización, mediante la toma de de-
cisiones una sola vez. Así, imaginemos una empresa que se propone maximizar
su beneficio a corto plazo, durante el mes actual, tomando decisiones operativas
que se mantendrán fijas hasta fin de mes. Aunque tales modelos estáticos son re-
levantes para ciertas aplicaciones, se muestran inadecuados para otras en las que
se pretende planificar de forma óptima a lo largo del tiempo durante un plazo
determinado, tomando decisiones de forma secuencial a intervalos regulares, por
ejemplo, al comienzo de cada mes, que tengan en cuenta posibles cambios en el
estado del sistema en cuestión. Imaginemos una empresa que pretende maximizar
el beneficio total que obtendrá durante los próximos cinco años, mediante la toma
de decisiones operativas mensuales. En tal caso, diremos que el horizonte de pla-
nificación es de cinco años. Los problemas de este último tipo constituyen el objeto
de estudio de la Optimización Dinámica (OD).
Consideremos el siguiente ejemplo de un modelo de OD para el control óp-
timo de existencias. El gestor de una empresa se propone optimizar la gestión
del inventario de existencias, o stock, de cierto producto durante un horizonte de
planificación de T meses. La empresa cuenta con un espacio de almacenamiento
limitado, de forma que solo puede almacenar, a lo sumo, b unidades del producto.
El primer día de cada mes t “ 0, 1, . . . , T ´ 1, donde t “ 0 denota el mes actual,
el gestor observa el nivel de existencias en almacén, que denotaremos por st y, en
función del mismo, determina si ordena un pedido a su proveedor para reponer
existencias y, si es así, decide el tamaño del pedido, at , es decir, el número de uni-
dades encargadas. Supondremos que el pedido se entrega el mismo día en que se
realiza, de forma que no se pierde ninguna venta por entregas tardías.
También supondremos que la empresa conoce de antemano, de forma deter-
minista, cuál será la demanda Dt del producto en cada mes t “ 0, 1, . . . , T ´ 1, p.
217
14. O PTIMIZACIÓN DINÁMICA
ej., por un contrato de suministro que especifica dichas cantidades, y que la de-
manda insatisfecha en un mes dado por falta de existencias se pierde. En cuanto
a las consecuencias económicas de la gestión de existencias, la empresa ingresa p
e por cada unidad vendida, mientras que soporta los siguientes tipos de costes:
costes fijos de pedido, a razón de f e por pedido, costes variables de pedido, a razón de
c e por unidad pedida, costes de almacenamiento en inventario, a razón de h e por
unidad y mes, y costes por demanda insatisfecha, a razón de q e por unidad. Ade-
más, si al final del horizonte de planificación quedan existencias remanentes, éstas
se liquidan incurriendo costes de liquidación, a razón de l e por unidad.
El objetivo de la empresa es maximizar su beneficio total acumulado hasta el
horizonte de planificación, mediante la determinación del tamaño del pedido cada
mes.
Anteriormente, vimos que para formular un modelo de optimización tenemos
que identificar sus tres elementos: 1) las variables de decisión; 2) el objetivo de op-
timización que se pretende alcanzar; y 3) las restricciones que determinan cuáles
son las decisiones factibles.
En el presente ejemplo, las variables de decisión son las acciones at . El objetivo
de optimización es: maximizar
´1 `
Tÿ ˘
p mı́npDt , st ` at q ´ hpst ` at ´ Dt q` ´ qpDt ´ st ´ at q` ´ cat ´ f 1tat ě1u ´ lsT ,
t“0
(14.1)
donde la notación y ` denota la parte positiva del número y, es decir, y `
fi máxpy, 0q,
y 1tat ě1u es la función indicador que toma el valor 1 si se cumple la condición at ě 1,
y el valor 0 en otro caso. En cuanto a las restricciones, tenemos, por una parte, que
el tamaño del pedido tiene que ser tal que no se supere la capacidad del almacén,
es decir,
st ` at ď b, t “ 0, 1, . . . , T ´ 1. (14.2)
Por otra parte, es fácil comprobar que se cumple la siguiente relación entre los
niveles de existencias al comienzo del mes t y del mes t ` 1:
218
14.2. Formulación general
ÿ
T ´1
219
14. O PTIMIZACIÓN DINÁMICA
` ˘
vt˚ pst q “ máx rt pst , at q ` βvt`1
˚
gt pst , at q , st P S, t “ 0, 1, . . . , T ´ 1
at PAt psq
En (14.6), reemplazamos en el lado derecho la función de valor óptimo vT˚ psq por
su valor rT psq, que conocemos, y determinamos para qué acción o acciones a se
alcanza el máximo. De esta forma, obtenemos tanto la función de valor óptimo
para el instante anterior, vT˚´1 psT ´1 q, como una acción óptima a˚T ´1 psT ´1 q para cada
estado sT ´1 P S. Este procedimiento recursivo se repite hasta alcanzar el instante
inicial t “ 0.
220
14.4. Problemas de minimización
ÿ
T ´1
` ˘
vt˚ pst q “ mı́n ct pst , at q ` βvt`1
˚
gt pst , at q , st P S, t “ 0, 1, . . . , T ´ 1
at PAt psq
221
14. O PTIMIZACIÓN DINÁMICA
parámetro b p f c h q l β T
valor 5 200 20 150 10 15 40 0.9 5
t 0 1 2 3 4
Dt 4 3 4 1 5
s5 v5˚ ps5 q
0 0
1 ´40
2 ´80
3 ´120
4 ´160
5 ´200
222
14.7. Un modelo de OD para el problema de la mochila
223
14. O PTIMIZACIÓN DINÁMICA
En particular,
esto es, reemplazando vT˚´1 p¨q por la fórmula obtenida más arriba,
Z ^
˚ sT ´2 ´ wT ´2 aT ´2
vT ´2 psT ´2 q “ máx rT ´2 aT ´2 ` rT ´1 ,
0ďaT ´2 ďtsT ´2 {wT ´2 u wT ´1
En esta última fórmula, no podemos determinar en general para qué valor de
la acción aT ´2 se alcanzará el máximo. En cambio, sí podemos resolver esta y las
restantes ecuaciones de Bellman numéricamente, para valores dados de los pará-
metros.
Consideremos el siguiente ejemplo, con T “ 3 y b “ 4:
224
14.7. Un modelo de OD para el problema de la mochila
t wt rt
0 2 31
1 3 47
2 1 14
! Y ])
Tenemos que A2 ps2 q fi 0, . . . , ws22 “ t0, . . . , s2 u, y que
Finalmente, A0 ps0 q fi 0, . . . , 2 , y
0
Para determinar la acción óptima a˚0 ps0 q y el valor óptimo v0˚ ps0 q en función del
estado inicial s0 , construimos la siguiente tabla:
225
14. O PTIMIZACIÓN DINÁMICA
rt pst , at q “ p1 ` r1 qT ´t at ` p1 ` r2 qT ´t pst ´ at q, t “ 0, . . . , T ´ 1.
st`1 “ gt pst , at q fi Pt`1 ` q1,t at ` q2,t pst ´ at q “ Pt`1 ` pq1,t ´ q2,t qat ` q2,t st ,
226
14.8. Ejemplo resuelto
maximizar rt pst , at q ` sT
t“0
sujeto a: para t “ 0, 1, . . . , T ´ 1, (14.9)
at P At pst q
st`1 “ gt pst , at q,
ÿ!
T ´1 )
maximizar p1 ` r1 qT ´t at ` p1 ` r2 qT ´t pst ´ at q ` rT psT q
t“0
sujeto a:
(14.10)
0 ď at ď st , t “ 0, 1, . . . , T ´ 1
st`1 “ Pt`1 ` pq1,t ´ q2,t qat ` q2,t st , t “ 0, 1, . . . , T ´ 1
sT “ q1,T´1 aT´1 ` q2,T´1 psT´1 ´ aT´1 q
La función de valor óptimo vt˚ pst q representa el valor óptimo de las inversiones
para los años t y siguientes, dado un capital disponible de st al comienzo del año
t. Está caracterizada por las ecuaciones de Bellman:
˚
vt˚ pst q “ máx rt pst , at q ` vt`1 pst`1 q, t “ 0, . . . , T ´ 1
0ďat ďst
y
vT˚ psT q “ rT psT q.
Resolvamos el ejemplo con los siguientes datos:
r1 r2 T
0.030 0.025 4
t 0 1 2 3
Pt 4000 2000 2000 2000
q1,t 0.018 0.017 0.021 0.025
q2,t 0.030 0.035 0.026 0.031
Solución. Vamos a formular y resolver las ecuaciones de Bellman con estos da-
tos. Para el instante terminal, t “ T , la función de valor óptimo está dada por
v4˚ ps4 q “ s4 .
227
14. O PTIMIZACIÓN DINÁMICA
14.9. Ejercicios
Ejercicio 14.1. Un profesional tiene 5 tareas pendientes de realizar, y se propone
seleccionar cuáles llevará a cabo mañana, teniendo en cuenta que cada tarea se
puede realizar una sola vez, para maximizar su ganancia total del día, teniendo
en cuenta que dedicará no más de 8 horas a trabajar. La siguiente tabla muestra la
duración en horas y el beneficio económico para cada tarea.
228
14.9. Ejercicios
tarea: 1 2 3 4 5
duración (horas): 1 3 3 4 5
beneficio (e): 15 25 35 45 60
(a) Formula este problema como un modelo de OD, identificando sus elementos.
(b) Formula las Ecuaciones de Bellman para este problema (no en general), indi-
cando qué representan las incógnitas de dichas ecuaciones.
(c) Resuelve las Ecuaciones de Bellman y calcula todas las selecciones óptimas
de tareas.
229
Parte V
TEORÍA DE COLAS
Capítulo 15
Modelos de colas
15.1. Introducción
Este es el primero de tres capítulos sobre Teoría de Colas (TC). Mientras que
en los anteriores capítulos hemos tratado modelos deterministas de IO, es decir,
modelos de sistemas cuyo funcionamiento no depende del azar, en este y los si-
guientes capítulos trataremos de modelos probabilistas, que incorporan elemen-
tos aleatorios. Aunque es importante optimizar el rendimiento en tales modelos,
en este texto no nos centraremos en tal cuestión, debido a su mayor complejidad.
Nos limitaremos a describir y aplicar los conceptos básicos de la TC, y a analizar
algunos modelos sencillos.
Los modelos de TC representan uno de los principales tipos de modelos proba-
bilistas. Se emplean para modelizar una amplia variedad de sistemas de servicio,
en el sentido más amplio del término: un sistema al que acuden clientes solici-
tando un servicio, y que tiene una capacidad limitada de servicio, lo cual causa
fenómenos de congestión y demora.
Entre los numerosos ejemplos de colas que encontramos en la vida cotidiana,
se encuentran las listas de espera de atención médica, quirúrgica, administrativa,
judicial, o para adquirir algún producto o servicio. Tales colas no tienen que ser
necesariamente físicas, como las que se forman ante un cajero de un banco, sino
que, a menudo, son virtuales, como las listas de espera quirúrgicas, en las que un
sistema informático realiza un seguimiento de los datos relevantes (p. ej., fechas de
entrada y salida de cada paciente).
Por otra parte, los “clientes” que esperan en cola pueden ser objetos. Así, con-
sideremos las colas de paquetes de datos que se forman en las redes informáticas de
conmutación de paquetes. Imaginemos, p. ej., un servidor web que aloja un servi-
cio de compra de entradas para un concierto. Los interesados envían a través de
sus conexiones a Internet solicitudes de compra de entradas, que se descomponen
y viajan por la red como paquetes de bits. Cuando estos llegan al servidor, se alma-
cenan en un espacio de almacenamiento, llamado buffer, haciendo cola a la espera
de que llegue su turno de servicio. Intuitivamente, sabemos que, si se produce una
233
15. M ODELOS DE COLAS
15.2. Parámetros
En este texto introductorio solo trataremos un tipo particular de modelos de
TC que representan un sistema con una única cola y uno o varios servidores que
trabajan en paralelo. Todos hemos observado ejemplos reales de tales sistemas al
esperar nuestro turno en un banco en el que hay una única cola y uno o varios
cajeros. Los parámetros básicos de tales modelos se indican a continuación.
234
15.2. Parámetros
Notemos que, en cada caso particular, tenemos que especificar qué unidad de
medida del tiempo estamos empleando: segundos, minutos, horas, días, etc.
La Figura 15.1 representa de forma esquemática una cola con m “ 1 servidor,
espacio de almacenamiento K “ 8 ilimitado, tasa de llegada de λ clientes/unidad
de tiempo, y tasa de servicio de µ clientes/unidad de tiempo. Hemos representado
la dirección del flujo de clientes mediante flechas de entrada y salida, el servidor
como un cuadrado, y los clientes como círculos: blancos si están en espera, y gris
si está(n) en servicio. La Figura 15.2 representa una cola con m “ 2 servidores en
paralelo, y espacio de almacenamiento K “ 8 ilimitado.
λ
µ
235
15. M ODELOS DE COLAS
Aunque los procesos anteriores son aleatorios, si corresponden a una cola con
tasa de llegada λ y tasa de servicio µ, podemos obtener los siguientes promedios:
El tiempo medio entre las llegadas de dos clientes consecutivos es
236
15.4. Políticas de servicio
ErTn s “ 1{λ,
y el tiempo medio de servicio de un cliente es
ErXn s “ 1{µ.
Recordemos que la notación ErY s designa la media o esperanza de una varia-
ble aleatoria Y .
237
15. M ODELOS DE COLAS
Ss “ W
Ď ` 1{µ, (15.2)
es decir, el tiempo medio que un cliente permanece en el sistema es igual a su
tiempo medio en espera más su tiempo medio en servicio.
Por otra parte, t
s “Q
N s ` B,
s (15.3)
es decir, el número medio de clientes en el sistema es igual al número medio de
clientes en espera más el número medio de clientes en servicio.
238
15.7. Una relación puente: la ley de Little
N ptq “ 5
Figura 15.3: Una cola general a la que se puede aplicar la ley de Little.
Ley de Little
Supongamos que N s ă 8 o Ss ă 8. Entonces, N s “ λS:s el número medio de
clientes en el sistema es igual a la tasa de llegada de clientes multiplicada por
el tiempo medio en el sistema por cliente.
Nótese que la ley de Little requiere que las métricas de rendimiento involucra-
das tomen valores finitos (N s ă 8 o Ss ă 8). En otras palabras, la ley de Little solo
se aplica a colas estables. Ver la Sección 15.8.
La ley de Little resulta muy útil para calcular métricas de rendimiento. Así, en
el próximo capítulo veremos que, p. ej., para calcular S,s nos bastará calcular N s y
después despejar Ss “ N s {λ.
Una gran ventaja de la ley de Little es que se puede aplicar de forma flexible,
ya que podemos variar el significado del término “sistema”. En la Figura 15.3, el
sistema es el espacio limitado por la frontera dibujada.
Así, supongamos que interpretamos que el “sistema” está constituido solo por
los clientes que se encuentran en espera. En tal caso, aplicando la ley de Little
obtenemos que, si Q să8oW Ď ă 8, entonces
s “ λW
Q Ď, (15.4)
es decir, el número medio de clientes en espera es igual a la tasa de llegada
multiplicada por el tiempo medio en espera por cliente.
239
15. M ODELOS DE COLAS
s “ λ ˆ 1 “ λ{µ,
B (15.5)
µ
es decir, el número medio de clientes en servicio es igual a la tasa de llegada divi-
dida por la tasa de servicio.
1
tasa media de llegada de trabajo por unidad de tiempo “ λ ˆ .
µ
ya que tal tasa máxima se alcanza cuando todos los servidores están ocupados.
Por tanto, podemos calcular el factor de utilización como
λ
ρ“ . (15.6)
mµ
En cuanto a la interpretación intuitiva del factor de utilización, observemos
que, a partir de las fórmulas (15.5) y (15.6) obtenemos
s
ρ “ B{m. (15.7)
240
15.8. Factor de utilización y estabilidad
241
15. M ODELOS DE COLAS
15.9. Ejercicios
Ejercicio 15.1. Considera una cola con tasa de llegada λ, y 7 servidores idénticos
en paralelo, cada uno con tasa de servicio µ.
(a) Formula la condición que han de cumplir los parámetros dados para que la
cola sea estable.
(b) Nos dan los siguientes datos: (i) el número medio de servidores ocupados es
6; (ii) el tiempo medio que un cliente permanece en el sistema (incluyendo
su tiempo en servicio) es de 30 min; y (iii) el tiempo medio que un cliente
permanece en espera es de 18 min. Calcula: (1) el factor de utilización del
sistema; (2) la tasa de llegada; (3) la tasa de servicio; (4) el número medio de
clientes en el sistema; y (5) el número medio de clientes en espera. ¿Es estable
el sistema?
Ejercicio 15.2. Considera una cola con tasa de llegada λ, y 5 servidores idénticos
en paralelo, cada uno de los cuales tiene tasa de servicio µ.
(a) Formula la condición que han de cumplir los parámetros λ y µ para que esta
cola sea estable.
(b) Nos dan los siguientes datos: (i) el número medio de servidores ocupados es
de 4; (ii) el tiempo medio que un cliente permanece en el sistema (incluyendo
su tiempo en servicio) es de 15 min; y (iii) el tiempo medio que un cliente
permanece en espera es de 18 min. Calcula: (1) el factor de utilización del
sistema; (2) la tasa de llegada; (3) la tasa de servicio; (4) el número medio de
clientes en el sistema; y (5) el número medio de clientes en espera. ¿Es estable
el sistema?
242
15.9. Ejercicios
243
Capítulo 16
El modelo M/M/1
16.1. Introducción
En este capítulo y el siguiente analizaremos modelos particulares de colas. Para
cada modelo, calcularemos sus métricas de rendimiento en función de sus paráme-
tros. Además, comentaremos la intuición que proporcionan las fórmulas obtenidas.
En este capítulo comenzamos con el modelo más sencillo de la TC: la llamada “cola
M/M/1”.
PtTn ď tu “ 1 ´ e´λt , t ě 0.
245
16. E L MODELO M/M/1
λ
µ
Por tanto, la probabilidad de que la duración del intervalo entre llegadas sea mayor
que t es
PtTn ą tu “ e´λt , t ě 0.
La Figura 16.2 muestra esta última probabilidad en función de t, para λ “ 1. Ob-
servamos que tal probabilidad tiende a cero de forma muy rápida según aumenta
t.
Recordemos además que la media de una variables aleatoria exponencial con
tasa λ es
ErTn s “ 1{λ,
lo cual concuerda con la fórmula que vimos anteriormente para el tiempo medio
entre llegadas de clientes.
El proceso estocástico correspondiente a los instantes de llegada de la cola
M/M/1, con los intervalos de tiempo entre llegadas consecutivas exponenciales
e independientes, se conoce como proceso de Poisson.
1
0.9
0.8
0.7
PtTn ą tu
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7
t
Figura 16.2: Probabilidad de que el intervalo entre llegadas sea mayor que t.
Por otra parte, habíamos designado los tiempos de servicio de los clientes por
X1 , X2 , . . . , Xn , . . .. En la cola M/M/1, la distribución de tales tiempos está dada
por
PtXn ď tu “ 1 ´ e´µt , t ě 0,
y, por tanto, su media vale
ErXn s “ 1{µ,
246
16.3. Factor de utilización y estabilidad
de acuerdo con la fórmula que vimos anteriormente para el tiempo medio de ser-
vicio por cliente.
que indica que ρ es el número medio de servidores ocupados. Como solo hay un
servidor, podemos escribir
s “ ErBs “ 0 ˆ PtB “ 0u ` 1 ˆ PtB “ 1u “ PtB “ 1u.
B
Así, vemos que ρ mide la probabilidad de que el servidor esté ocupado, o la frac-
ción media de tiempo (a largo plazo) que el servidor está ocupado.
16.4. Cálculo de Ns
Calcularemos todas las métricas de rendimiento para la cola M/M/1, comen-
zando por el número medio de clientes en el sistema (en espera o en servicio): N s.
Supondremos que la cola es estable (ρ ă 1).
En el capítulo anterior, vimos la definición de N s como una media temporal a
largo plazo:
żT
Ns fi lı́m 1 N ptq dt.
T Ñ8 T 0
247
16. E L MODELO M/M/1
8
ÿ
s “ ErN s “
N nPtN “ nu “ PtN “ 1u ` 2PtN “ 2u ` ¨ ¨ ¨ . (16.1)
n“0
pn “ PtN “ nu, n “ 0, 1, 2, . . .
λ λ λ λ λ λ
n-1 n n+1
µ µ µ µ µ µ µ
Figura 16.3: El diagrama de tasas de transición entre estados para la cola M/M/1.
Cada círculo en la figura representa uno de los posibles estados del sistema,
donde el estado es el número de clientes presentes, que hemos denotado por N .
Así, el círculo con un “0” dentro representa el estado N “ 0, en el cual el sistema
248
s
16.4. Cálculo de N
está vacío. En general, el círculo con una “n” dentro representa el estado N “ n,
en que hay n clientes en el sistema. Notemos que el número de estados es ilimita-
do: 0, 1, 2, . . .. Por tanto, el diagrama en la Figura 16.3 solo muestra una parte del
diagrama completo.
Podemos visualizar la evolución del sistema en tal diagrama imaginando que
el estado actual corresponde a un círculo iluminado. Así, cuando llega un cliente,
el círculo iluminado anteriormente se apaga, y se enciende el siguiente. Y, cuan-
do sale un cliente, el círculo iluminado anteriormente se apaga, y se enciende el
anterior.
A continuación, como muestra la figura, dibujamos arcos orientados que re-
presentan las posibles transiciones entre estados. Por ejemplo, el arco que va del
estado 0 al 1 representa la transición que se produce cuando se pasa de un sistema
vacío a un sistema con un cliente. La transición inversa (pasar de un cliente en el
sistema a ninguno) se representa por el arco que va del estado 1 al 0. Notemos que,
en el modelo M/M/1, en cada instante no puede llegar o salir más de un cliente,
por lo que únicamente se pueden dar transiciones entre estados contiguos.
Notemos que el estado del sistema solo puede cambiar cuando ocurre uno de
los siguiente sucesos: cuando llega un cliente al sistema, en cuyo caso se produce
una transición que aumenta el estado en una unidad; o cuando se completa el ser-
vicio de un cliente (y este sale del sistema), en cuyo caso se produce una transición
que disminuye el estado en una unidad.
Finalmente, incorporamos tal información al diagrama, indicando al lado de
cada arco la tasa asociada al suceso que causa la correspondiente transición. Así,
el arco que va del estado 0 al 1 corresponde al suceso “llega un cliente”, cuya tasa
asociada es la de llegada, λ. De forma similar, el arco que va del estado 1 al 0
corresponde al suceso “sale un cliente”, cuya tasa es la de servicio, µ. Tal pauta se
repite como muestra la figura.
249
16. E L MODELO M/M/1
n n`1
Figura 16.4: Balance de flujo entre dos estados contiguos en la cola M/M/1.
y
tasa de transición de n ` 1 a n “ µpn`1 .
Consideremos a continuación la cuestión: ¿Qué relación cabe esperar entre la
tasa de transición de n a n`1 y la tasa de transición de n`1 a n. Intuitivamente, co-
mo hemos supuesto que el sistema es estable, para cada cruce de frontera que tenga
lugar de izquierda a derecha en la Figura 16.4 se producirá, tarde o temprano, un
cruce de frontera correspondiente de derecha a izquierda. Por tanto, cabe esperar
que ambas tasas sean iguales: para cada estado n ě 0,
250
s
16.4. Cálculo de N
pn`1 “ ρ pn , n “ 0, 1, 2, . . . (16.3)
p n “ ρn p 0 , n ě 1. (16.4)
251
16. E L MODELO M/M/1
Esta es la ecuación que nos faltaba. Ahora, la combinamos con (16.4), sustitu-
yendo en (16.5) las variables p1 , p2 , . . . por sus valores en términos de p0 dados por
(16.4). Simplificando la expresión resultante, obtenemos
8
ÿ 8
ÿ 8
ÿ
n p0
1“ pn “ ρ p0 “ p0 ρn “ ,
n“0 n“0 n“0
1´ρ
p0 “ 1 ´ ρ.
1 ´ p0 “ ρ,
p0 “ 1 ´ ρ.
252
s
16.4. Cálculo de N
16.4.4. Determinación de Ns
A partir de las identidades (16.1) y (16.6) podemos calcular el número medio
de clientes en el sistema sumando una serie infinita:
8
ÿ 8
ÿ
s “ ErN s “
N npn “ p1 ´ ρq nρn .
n“0 n“0
Sin embargo, hay una forma más sencilla de determinar N s . Para ello, fijémonos
en la fórmula de las probabilidades pn “ PtN “ nu dada en (16.6). Tal fórmula
debería resultarnos conocida: muestra que la v. a. N , que representa el número de
clientes en el sistema, tiene una distribución geométrica con probabilidad de éxito
1 ´ ρ. Recordemos que una v. a. con distribución geométrica representa el número
de fracasos antes del primer éxito, en pruebas independientes de tipo Bernoulli (éxito o
fracaso). P. ej., el número de veces que jugamos a la lotería antes de que nos toque
un reintegro sigue una distribución geométrica con probabilidad de éxito 1{10.
La ventaja que nos da tal observación es que conocemos la media de la distribu-
ción geométrica: es igual a la probabilidad de fracaso dividida por la probabilidad
de éxito. De este modo, obtenemos el siguiente resultado.
s“ ρ
N . (16.7)
1´ρ
lo cual indica que la congestión media del sistema diverge a infinito cuando la
utilización se acerca al 100%.
Podemos usar la fórmula (16.7) para calcular otras cantidades de interés. Así,
calculamos a continuación la elasticidad de la congestión media N s con respecto
a la utilización ρ. Tal elasticidad, que mide el incremento porcentual en Ns que
resulta de aumentar el valor de ρ en un 1%, se puede calcular como
s p1.01ρq ´ N
N s pρq 100
100 s “ ,
Npρq 100 ´ 101ρ
253
16. E L MODELO M/M/1
100
90
80
70
60
50
s
N
40
30
20
10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
ρ
s ) en función de la utilización (ρ).
Figura 16.5: Congestión media (N
16.5. s
Cálculo de Q
Continuemos los cálculos para determinar las restantes métricas de rendimien-
to. Consideremos el número medio de clientes en servicio, que denotamos por B. s
Ya hemos visto que, para la cola M/M/1, se cumple que que
s “ ρ.
B
s como sabemos que N
En cuanto al número medio de clientes en espera, Q, s “
s s s s s
Q ` B, despejamos Q de tal identidad y sustituimos N y B por las fórmulas dadas
anteriormente, para obtener que
s“N
s ´B
s“ ρ ρ2
Q ´ρ“ .
1´ρ 1´ρ
săN
Como cabe esperar, tenemos que Q s , ya que ρ2 ă ρ para 0 ă ρ ă 1.
16.6. Cálculo de Ss y W
Ď
254
16.7. Distribuciones de demora
255
16. E L MODELO M/M/1
16.8. Ejercicios
Ejercicio 16.1. Considera una cola M/M/1 con tasa de llegada de λ clientes/min
y tasa de servicio de µ “ 6 clientes/min.
(a) Da la condición que ha de cumplir la tasa de llegada λ para que la cola sea
estable.
(b) Da fórmulas para N s , Q,
s Ss y W
Ď en función de λ.
(c) Supongamos que la tasa de llegada aumenta en un 1% a partir de λ. Deter-
mina el incremento porcentual correspondiente para Ns , Q,
s Ss y W
Ď en función
de λ.
Ejercicio 16.2. Considera una cola M/M/1 con tasa de llegada de λ “ 5 clien-
tes/min y tasa de servicio de µ clientes/min.
(a) Da la condición que ha de cumplir la tasa de servicio µ para que la cola sea
estable.
(b) Da fórmulas para N s , Q,
s Ss y W
Ď en función de µ.
(c) Supongamos que la tasa de servicio disminuye en un 1% a partir de µ. Deter-
mina el incremento porcentual correspondiente para N s , Q,
s Ss y W
Ď.
(d) Supongamos que la tasa de servicio aumenta en un 1% a partir de µ. Deter-
mina la disminución porcentual correspondiente para N s , Q,
s Ss y W
Ď.
Ejercicio 16.3. Considera una cola M/M/1 con tasa de llegada λ clientes/min y
tasa de servicio µ clientes/min, con ρ “ λ{µ ă 1.
(a) Calcula la varianza del número de clientes en el sistema, VarrN s.
(b) Supongamos que el factor de utilización se incrementa en un 1% a partir de
su valor actual ρ. Calcula el incremento correspondiente en las métricas de
rendimiento N s yW Ď.
Ejercicio 16.4. Considera una cola M/M/1 con tasa de llegada de λ clientes/min
y tasa de servicio de µ “ 8 clientes/min.
(a) Determina el máximo valor de la tasa de llegada para el cual el tiempo medio
de espera por cliente no excede de 15 min.
(b) Determina el valor del factor de utilización para la tasa de llegada encontrada
en el apartado (a), así como los valores de las demás métricas de rendimiento.
Ejercicio 16.5. Considera una cola M/M/1 con tasa de llegada de λ “ 8 clien-
tes/min, y tasa de servicio de µ “ 9 clientes/min.
(a) Calcula la probabilidad de que haya más de 10 clientes en el sistema.
(b) Calcula la probabilidad de que haya un número par de clientes en el sistema.
(c) Supongamos que podemos controlar la tasa de llegada λ como una variable
de decisión. Calcula la máxima tasa de llegada para la cual la probabilidad
de que el número de clientes en el sistema sea mayor que 20 no supere el 5%.
Ejercicio 16.6. Los tiempos entre llamadas al teléfono de una empresa son varia-
bles aleatorias exponenciales con una media de 10 min. La duración de una llama-
da es una v. a. exponencial con una media de 3 min.
(a) ¿Puedes o no asegurar que el sistema es estable? ¿Cuál es su factor de utili-
zación, y qué indica su valor en este sistema?
(b) Calcula el número medio de clientes en el sistema, el número medio en es-
pera, el tiempo medio en espera por cliente, y el tiempo medio en el sistema
por cliente.
(c) ¿Cuál es la proporción de tiempo que una llamada sea puesta en espera?
256
Capítulo 17
El modelo M/M/m
17.1. Introducción
En este capítulo extendemos el análisis de la cola M/M/1 al caso en que el sis-
tema dispone de un número m ě 2 de servidores idénticos dispuestos en paralelo.
El sistema resultante se conoce como la “cola M/M/m”.
Un ejemplo cotidiano de tal tipo de sistema lo encontramos cuando acudimos
a un banco a realizar una transacción. Al llegar, encontramos una única cola, y
varios cajeros dispuestos en paralelo, que comienzan a atender a los clientes según
su orden de llegada. Otros ejemplos de sistemas de este tipo se encuentran en el
ámbito de la informática. Pensemos en un ordenador con múltiples procesadores,
o en un router de Internet que da paso a paquetes de datos a través de múltiples
canales de comunicación.
La Figura 17.1 muestra en forma esquemática una cola M/M/2, con tasa de
llegada λ, tasa de servicio µ, y m “ 2 servidores.
λ
ρ“ ,
mµ
esto es, por el cociente que tiene como numerador la tasa de llegada, y como deno-
minador el número de servidores multiplicado por la tasa de servicio. Para que la
cola sea estable, su factor de utilización debe ser menor que la unidad:
ρ ă 1.
Así, la cola M/M/m es estable si λ ă mµ, esto es, si la tasa de llegada no supera la
capacidad de servicio, que se alcanza cuando todos los servidores están ocupados.
257
17. E L MODELO M/M/m
Combinando esta última fórmula con la dada para ρ más arriba, obtenemos la
relación
Bs
ρ“ ,
m
que indica que el factor de utilización ρ representa la proporción media de servi-
dores ocupados.
Así, si ρ “ 0.9, diremos que: (i) se está utilizando el 90% de la capacidad de
servicio del sistema; y (ii) en promedio, el 90% de los servidores está ocupado.
17.3. s
Cálculo de N
Dadas las relaciones entre métricas de rendimiento que vimos en el Capítulo 15,
las calcularemos para la cola M/M/m a partir de N s , el número medio de clientes
en el sistema (en espera o servicio). Supondremos en adelante que la cola es estable
(ρ ă 1).
Procederemos extendiendo el análisis del capítulo anterior para la cola
M/M/1. Así, supondremos que el sistema ha estado operando durante mucho
tiempo, de modo que, en lugar de considerar el número de clientes en el sistema
en un instante t fijo, N ptq, consideraremos el número N de clientes en el sistema al
cabo de un tiempo muy grande, cuando el sistema se encuentra en un régimen de
estado estacionario. Así, podemos eliminar el tiempo t de los cálculos y evitar las
complicaciones asociadas.
Así, podemos representar el número medio de clientes en el sistema como
s “ ErN s,
N
s es la media de la variable aleatoria N .
es decir, N
258
s
17.3. Cálculo de N
λ λ λ λ λ
m-1 m m+1
µ 2µ (m-1)µ mµ mµ mµ
Figura 17.2: El diagrama de tasas de transición entre estados para la cola M/M/m.
Cada círculo en la figura representa uno de los posibles estados del sistema,
donde el estado es el número de clientes en el sistema N . Así, el círculo con un
“0” dentro representa el estado N “ 0, es decir, el estado en el que no hay ningún
cliente en el sistema. De forma similar, el círculo con una “n” dentro representa el
estado N “ n, es decir, el estado en que hay n clientes en el sistema. Notemos que
el número de estados es ilimitado: 0, 1, 2, . . .. Por tanto, el diagrama en la Figura
17.2 solo muestra una pequeña parte del diagrama completo.
Podemos visualizar la evolución del sistema en tal diagrama suponiendo que el
estado actual corresponde a un círculo iluminado. Así, cuando llega un cliente, el
círculo iluminado anteriormente se apaga, y se enciende el siguiente. Y, cuando se
va un cliente, el círculo iluminado anteriormente se apaga, y se enciende el anterior.
A continuación, como muestra la figura, dibujamos arcos orientados que repre-
sentan las posibles transiciones entre estados. Por ejemplo, el arco orientado que
va del estado 0 al 1 representa la transición que se produce cuando se pasa de un
sistema vacío a un sistema con un cliente. La transición inversa (pasar de un cliente
259
17. E L MODELO M/M/m
260
s
17.3. Cálculo de N
n n`1
mı́npn ` 1, mqµ
que lleguen observen el sistema como lo haría un observador externo, lo cual está
asegurado por la propiedad PASTA vista en el capítulo anterior; y (ii) como se pro-
ducen mı́npn ` 1, mqµ transiciones por unidad de tiempo de derecha a izquierda
cuando el sistema está en el estado n ` 1, lo cual ocurre con probabilidad pn`1 , se
producirán, en promedio, mı́npn ` 1, mqµpn`1 transiciones del estado n ` 1 al n por
unidad de tiempo.
Podemos resumir los resultados anteriores como sigue: para cada estado n ě 0,
y
tasa de transición de n ` 1 a n: mı́npn ` 1, mqµpn`1 .
Consideremos a continuación la cuestión: ¿Qué relación cabe esperar entre la
tasa de transición de n a n ` 1 y la tasa de transición de n ` 1 a n. Intuitivamen-
te, como hemos supuesto que el sistema es estable, para cada cruce de frontera de
izquierda a derecha en la Figura 17.3 se producirá eventualmente un cruce de fron-
tera de derecha a izquierda en la figura. Por tanto, cabe esperar que ambas tasas
sean iguales: para cada estado n ě 0,
261
17. E L MODELO M/M/m
b fi λ{µ,
262
s
17.3. Cálculo de N
pm`1 “ ρ pm
pm`2 “ ρ pm`1 “ ρ2 pm
pm`3 “ ρ pm`2 “ ρ3 pm
....
..
Cálculo de pm
Fijémonos en que al sistema anterior de ecuaciones le tenemos que añadir una
ecuación más, ya que, p. ej., pn “ 0 para todo n es claramente una solución, que
sin embargo no es de interés para nuestro objetivo. ¿Cuál es la ecuación que falta?
Recordemos que las variables pn representan probabilidades, de modo que
pn “ PtN “ nu es la probabilidad de que haya n clientes en el sistema. Por tanto,
la suma de tales variables debe ser la unidad:
8
ÿ
pn “ p0 ` p1 ` p2 ` ¨ ¨ ¨ “ 1. (17.6)
n“0
263
17. E L MODELO M/M/m
Cálculo de pm
bm
1 p1 ´ ρq
pm “ m´1 “ m! . (17.7)
ÿ m´1
ÿ
m! 1 bn bm
` p1 ´ ρq `
n“0
n!bm´n 1 ´ ρ n“0
n! m!
Nótese que, si empleamos Excel para evaluar la fórmula anterior, podemos cal-
cular el sumatorio que aparece en (17.7) empleando la fórmula de Excel en el lado
derecho de la siguiente identidad:
m´1
ÿ bn
“ EXP(b)*(1-DISTR.GAMMA(b; m; 1; VERDADERO)).
n“0
n!
Notemos que
m bm
m´b m!
PW “ řm´1 bn m bm
. (17.9)
n“0 n! ` m´b m!
k
donde pM{M{
k denota la probabilidad pk en la cola M{M{k.
17.3.6. Cálculo de Ns
A continuación, sustituiremos las expresiones para las probabilidades dadas
anteriormente en la fórmula que representa Ns como una media, para calcular su
valor:
264
s
17.3. Cálculo de N
8
ÿ m´1
ÿ 8
ÿ m´1
ÿ 8
ÿ 8
ÿ
s“
N npn “ npn ` npn “ npn ` m pn ` pn ´ mqpn
n“0 n“0 n“m n“0 n“m n“m
8
ÿ ρ
“ b ` pm pn ´ mqρn´m “ b ` pm ,
n“m p1 ´ ρq2
s “b` ρ bm
N pm “ b ` pm . (17.11)
p1 ´ ρq2 pm ´ bq2
s M{M{m ´ b “ b
N , m ą b ` 1, (17.12)
pm ´ 1qpm ´ bq2 m´b
` ˘´
pm ´ 1 ´ bq2 Ns M{M{m´1 ´ b m´1´b
265
17. E L MODELO M/M/m
s “b` 2b 4b
N 2
p2 “
p2 ´ bq 4 ´ b2
ρ 2ρ ρ ρ
“b` 2
p2 “ 2
“ ` .
p1 ´ ρq p1 ´ ρ q 1´ρ 1`ρ
s,
La última fórmula que hemos obtenido para N
s“ ρ ρ
N ` , (17.14)
1´ρ 1`ρ
resulta especialmente valiosa para reforzar nuestra comprensión intuitiva. Recor-
demos que el primer término en el lado derecho de tal expresión, ρ{p1 ´ ρq, es
precisamente el valor de Ns para una cola M/M/1 con el mismo factor de utiliza-
ción ρ.
266
17.5. Comparación de las colas M/M/1 y M/M/2
267
17. E L MODELO M/M/m
17.6. Ejercicios
Ejercicio 17.1. Considera una cola con tasa de llegada λ y 7 servidores idénticos en
paralelo, cada uno de los cuales tiene tasa de servicio µ.
(a) Formula la condición que deben cumplir los parámetros para que la cola sea
estable.
(b) Nos dan los siguientes datos: (i) el número medio de servidores ocupados es
6; (ii) el tiempo medio que un cliente permanece en el sistema (incluyendo su
tiempo en servicio) es de 19.366 min.; y (iii) el tiempo medio que un cliente
permanece en espera es de 7.366 min. Calcula: (1) el factor de utilización del
sistema; (2) la tasa de llegada; (3) la tasa de servicio; (4) el número medio de
clientes en el sistema; y (5) el número medio de clientes en espera. ¿Es estable
el sistema?
(c) Si los tiempos entre llegadas de clientes y los tiempos de servicio son varia-
bles aleatorias exponenciales, representa el diagrama de tasas de transición
entre estados y formula las ecuaciones de balance de flujo correspondientes.
Ejercicio 17.2. Considera una cola con tasa de llegada λ y 5 servidores idénticos en
paralelo, cada uno de los cuales tiene tasa de servicio µ.
(a) Formula la condición que deben cumplir los parámetros λ y µ para que esta
cola sea estable.
(b) Nos dan los siguientes datos: (i) el número medio de servidores ocupados es
4; (ii) el tiempo medio que un cliente permanece en el sistema (incluyendo
su tiempo en servicio) es de 6.216 min.; y (iii) el tiempo medio que un cliente
permanece en espera es de 2.216 min. Calcula: (1) el factor de utilización del
sistema; (2) la tasa de llegada; (3) la tasa de servicio; (4) el número medio de
clientes en el sistema; y (5) el número medio de clientes en espera. ¿Es estable
el sistema?
(c) Si los tiempos entre llegadas de clientes y los tiempos de servicio son varia-
bles aleatorias exponenciales, representa el diagrama de tasas de transición
entre estados y formula las ecuaciones de balance del flujo correspondientes.
268
17.6. Ejercicios
269
17. E L MODELO M/M/m
(b) Suponiendo que los tiempos entre llegadas y los tiempos de servicio son va-
riables aleatorias exponenciales, dibuja el diagrama de tasas de transición
entre estados para este sistema, y formula las ecuaciones de balance de flujo.
(c) Se observa que el 3.77 % (exactamente, el 100ˆ2{53 %) del tiempo no hay nin-
gún pasajero en el sistema. ¿Cuál es la probabilidad de que no haya ningún
pasajero en espera de ser atendido?
d) ¿Cuál es la probabilidad de que un pasajero que se dirige a facturar en dicha
compañía sea atendido sin demora?
Ejercicio 17.7. Un Punto de Información del Campus (PIC) está atendido por 3
personas, cada una de las cuales tarda, en promedio, 5 min. en resolver la cuestión
que le plantea un alumno. El tiempo medio que un alumno permanece en el PIC,
desde que llega hasta que se va después de ser atendido, es de 18.618 min. Además,
se utiliza el 90% de la capacidad de servicio del sistema.
(a) Calcula la tasa de llegada, la tasa de servicio, el número medio de operado-
res ocupados, el tiempo medio que un alumno permanece en el sistema, el
número medio de alumnos en espera, el número medio de alumnos en el
sistema, y el número medio de alumnos en espera.
(b) Si los tiempos entre llegadas y los tiempos de servicio son variables aleato-
rias exponenciales, dibuja el diagrama de tasas de transición entre estados y
formula las ecuaciones de balance de flujo.
(c) Sabiendo que la probabilidad de que haya 3 alumnos en el sistema es del
8.17061 % (exactamente, 6561{80300), calcula la probabilidad de que haya n
alumnos en el sistema, para 0 ď n ď 4. Calcula también la probabilidad de
que un alumno tenga que esperar su turno al ir al PIC.
270
Parte VI
SIMULACIÓN
Capítulo 18
El método de Montecarlo
18.1. Introducción
Los profesionales que analizan sistemas de, p. ej., informática, telecomunicacio-
nes, producción, aeronáutica, logística, finanzas, etc., a menudo tienen que evaluar
el efecto de posibles alternativas en el diseño o la política de operación del sistema,
con objeto de elegir la mejor. Sin embargo, implementar cada una de las posibles
alternativas bajo consideración en el sistema real de interés, para después evaluar-
las, resulta excesivamente costoso.
En lugar de trabajar directamente con el sistema real, un enfoque relativamen-
te económico, ampliamente aplicado en la práctica, consiste en investigar el efecto
de las alternativas consideradas en el marco de un modelo de simulación del sis-
tema. Tales modelos pueden incorporan tantos aspectos del sistema real como se
estime necesario, y proporcionan una amplia flexibilidad al analista para variar pa-
rámetros o supuestos. En particular, los modelos de simulación permiten simular
la evolución en el tiempo del sistema de interés, incluyendo los sucesos aleatorios
que pueden influir en tal evolución. Para estudiar el comportamiento del sistema
simulado se emplean técnicas y métodos de la estadística, tales como la estimación
de parámetros y el cálculo de intervalos de confianza. Tal enfoque se conoce como
método de Montecarlo, por el célebre casino del mismo nombre en Mónaco, ya
que se busca obtener resultados mediante el empleo del azar.
Como ejemplo relacionado con el tema anterior del curso, podemos considerar
una red de ordenadores modelizada como un sistema de colas. Aunque la Teoría
de Colas proporciona fórmulas y análisis exactos para sistemas sencillos, a menudo
no se dispone de tales resultados para modelos de colas más complejos y realistas.
En tal contexto, los sucesos aleatorios de interés incluyen los tiempos de llegada y
de servicio de cada cliente.
Para simular tales sucesos aleatorios, se emplean modelos probabilistas, que
incorporan variables aleatorias (v. a.) con distribuciones especificadas por el ana-
lista (p. ej., geométrica, exponencial, etc.). Como el programa informático que im-
plemente el modelo de simulación ha de generar tales variables, se plantea la si-
273
18. E L MÉTODO DE M ONTECARLO
guiente dificultad: ¿Es posible conseguir que un programa informático, que es una
máquina determinista, produzca números aleatorios? La respuesta, como pode-
mos suponer, es que ello no es posible. Sin embargo, los investigadores han desa-
rrollado técnicas para generar mediante ordenador los llamados números pseudo-
aleatorios. Estos no son realmente números aleatorios, ya que se generan de forma
determinista, pero se comportan en ciertos aspectos como si lo fueran.
µ “ Erf pXqs,
274
18.2. El método de Montecarlo
x2
0
0 1 x1
Figura 18.1: ¿Cómo estimar el área µ de la región R?
x2
0
0 1 x1
Figura 18.2: Estimación por el método de Montecarlo del área µ de la región R:
p “ 9{24.
µ
275
18. E L MÉTODO DE M ONTECARLO
y estimarla por
n n
1 ÿ 1 ÿ
p“
µ f pXj q “ f pX1j , X2j q.
n j“1 n j“1
276
18.3. Optimización: el problema del kiosco
µ “ Erf pXqs.
Así, el método de Montecarlo para estimar tal integral consiste en: (1) generar
una muestra i.i.d. X1 , X2 , . . . , Xn „ Unifra, bs; y (ii) estimar la integral por la media
muestral de las f pXi q:
n
1 ÿ
µp“ f pXi q.
n i“1
277
18. E L MÉTODO DE M ONTECARLO
maximizar µpaq.
aě0
278
18.4. Generación de números pseudo-aleatorios
1
W. H. Press, S. A. Teukolsky, W. T. Vetterling y B. P. Flannery. Numerical Recipes in C, 2nd Ed.
Cambridge University Press, 1992 (reimpresión de 2002).
2
W. H. Press, S. A. Teukolsky, W. T. Vetterling y B. P. Flannery. Numerical Recipes, 3rd Ed. Cam-
bridge University Press, 2007.
279
Capítulo 19
19.1. Introducción
Vimos en el capítulo anterior que un elemento clave de los modelos de simu-
lación es la capacidad de simular eventos aleatorios con distribuciones de proba-
bilidad de interés: geométrica, exponencial, etc. también vimos que, aunque un
ordenador no puede generar auténticas variables aleatorias, sí que puede gene-
rar los llamados números pseudo-aleatorios: aunque no son aleatorios, ya que se
calculan mediante una recursión determinista, se comportan, a efectos prácticos,
como si lo fueran. En particular, vimos cómo generar números pseudo-aleatorios
que simulan una muestra independiente de variables aleatorias con distribución
Unifr0, 1s. Pero, ¿y si necesitamos generar otra distribución?
En este capítulo veremos cómo, a partir de una variable aleatoria U „
Unifr0, 1s, podemos generar otra variable aleatoria con cualquier distribución de
probabilidad dada, sea esta discreta o continua.
PtX “ an u “ pn , n “ 0, 1, . . . ,
281
19. S IMULACIÓN DE VARIABLES ALEATORIAS
0 p0 p0 ` p1 p0 ` p1 ` p2 1
Figura 19.1: Partición del intervalo r0, 1s para generar una variable aleatoria dis-
creta.
282
19.2. Generación de variables aleatorias discretas
Generación de X „ Bernoullippq
#
0 si U ď 1 ´ p
X“
1 si U ą 1 ´ p.
1´p 1´p
ErXs “ y Var rXs “ .
p p2
y que
n
ÿ n
ÿ 1 ´ p1 ´ pqn`1
pp1 ´ pqi “ p p1 ´ pqi “ p “ 1 ´ p1 ´ pqn`1 ,
i“0 i“0
1 ´ p1 ´ pq
y expresarla como
1 ´ p1 ´ pqn ă U ď 1 ´ p1 ´ pqn`1 ,
283
19. S IMULACIÓN DE VARIABLES ALEATORIAS
o, de forma equivalente,
p1 ´ pqn`1 ď 1 ´ U ă p1 ´ pqn .
Ahora nos fijamos en que, como la función logaritmo neperiano lnpxq es estric-
tamente creciente en su argumento x ą 0, la cadena de desigualdades anterior se
mantiene si tomamos el logaritmo de cada término:
Podemos simplificar aún más la última expresión dividiendo cada término por
lnp1´pq. Notemos que, como lnp1´pq ă 0, tenemos que invertir cada desigualdad,
con lo que obtenemos
lnp1 ´ U q
nă ď n ` 1,
lnp1 ´ pq
o, de forma equivalente,
lnp1 ´ U q lnp1 ´ U q
´1ďnă .
lnp1 ´ pq lnp1 ´ pq
La última expresión indica que n ha de ser el mayor entero menor que el tér-
mino en el lado derecho. Como este último es positivo y será generalmente no
entero, podemos tomar n como el suelo de dicho término, esto es,
Z ^
lnp1 ´ U q
n“ .
lnp1 ´ pq
Generación de X „ Geomppq.
Z ^
lnpU q
X“ . (19.3)
lnpqq
284
19.3. Generación de variables aleatorias continuas
X “ F ´1 pU q,
285
19. S IMULACIÓN DE VARIABLES ALEATORIAS
Generación de X „ Unifra, bs
X “ a ` pb ´ aqU.
1 ´ e´λX “ U.
1 ´ e´λX “ U ðñ e´λX “ 1 ´ U
ðñ ´λX “ lnp1 ´ U q
lnp1 ´ U q
ðñ X “ ´ .
λ
Así, la solución de la ecuación X “ F ´1 pU q está dada por
lnp1 ´ U q
X“´ .
λ
Por otra parte, como 1 ´ U „ Unifr0, 1s, también podemos generar X como se
indica a continuación.
Generación de X „ Exppλq
lnpU q
X“´ .
λ
286
19.3. Generación de variables aleatorias continuas
F pXq “ U,
α
F pXq “ U ðñ 1 ´ e´pX{βq “ U
α
ðñ e´pX{βq “ 1 ´ U
ðñ pX{βqα “ ´ lnp1 ´ U q
ðñ X{β “ p´ lnp1 ´ U qq1{α
ðñ X “ β p´ lnp1 ´ U qq1{α .
Generación de X „ Weibullpα, βq
X “ β p´ lnpU qq1{α .
F pXq “ U,
287
19. S IMULACIÓN DE VARIABLES ALEATORIAS
Veremos, sin embargo, que podemos emplear Excel para resolver numérica-
mente dicha ecuación, aplicando la función DISTR.NORM.ESTAND.INV, que calcu-
la precisamente la transformada inversa F ´1 pU q de su argumento U .
¿Y si estamos interesados en generar una variable aleatoria Y „ Normalpµ, σq?
En tal caso, simplemente generamos X „ Normalp0, 1q como se indicó anterior-
mente y, a continuación, calculamos Y “ µ ` σX.
Se conocen otros métodos más eficientes para la generación de variables alea-
torias normales, pero quedan fuera del alcance de este curso.
288
Apéndice A
Este apéndice presenta una breve selección de textos que el lector puede con-
sultar para ampliar conocimientos sobre los temas tratados en este texto.
IO y optimización: Entre los textos más utilizados internacionalmente con
un nivel introductorio y un alcance enciclopédico sobre IO, cabe destacar
[Win08], [Tah12] y [HL15].
Numeros libros de texto emplean las hojas de cálculo como herramienta bá-
sica de modelización en IO y optimización. Véase, p. ej., [Bak15], [Rag16],
[Den08], y [Sav10], [WA19],.
Parte I: Un tratamiento riguroso de temas de OL se puede encontrar, p. ej., en
los textos [Mur12], [BJS09], y [BT97].
Parte II: Para los temas de OE, flujo en redes y optimización combinatoria,
algunas buenas referencias son [NW88], [AMO13], [BJS09] y [Wol20]. Para
ampliar el tratamiento del problema de la mochila visto en el capítulo 8, el
lector puede consultar las monografías [MT90] y [KPP04].
Parte III: Sobre modelos de optimización no lineal, destacamos los textos
[Ber16] y [Rar16].
Parte IV: Sobre modelos de optimización dinámica, recomendamos al lector
el texto [Ber17].
Parte V: Sobre teoría de colas, cabe destacar los textos [Kle75], y [STGH18].
Parte VI: Sobre modelos de simulación, una buena referencia es [Ros12].
289
Bibliografía
[Kle75] L. Kleinrock. Queueing Systems. Vol. I: Theory. Wiley, New York, 1975.
[MT90] S. Martello and P. Toth. Knapsack Problems: Algorithms and Computer Im-
plementations. Wiley, Chichester, UK, 1990.
[Mur12] K. G. Murty. Optimization for Decision Making: Linear and Quadratic Mo-
dels. Springer, New York, 2012.
291
B IBLIOGRAFÍA
[Ros12] S. M Ross. Simulation, 5th edition. Academic Press, New York, 2012.
[Tah12] H. A. Taha. Investigación de operaciones, 9.a ed. Prentice Hall Iberia, Ma-
drid, 2012.
[Wol20] L. A. Wolsey. Integer Programming. Wiley, New York, 2nd edition, 2020.
292