0% encontró este documento útil (0 votos)
12 vistas302 páginas

IO José Niño Mora

Cargado por

Alba Jiménez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas302 páginas

IO José Niño Mora

Cargado por

Alba Jiménez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 302

Introducción a la

investigación operativa:
la ciencia de la optimización
de decisiones

José Niño Mora


Índice general

Í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

2 Formulaciones de optimización lineal 9


2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Resolución de un modelo de OL: casos posibles . . . . . . . . . . 10
2.3. Ejemplos de formulaciones . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1. Planificación óptima de la producción . . . . . . . . . . 10
2.3.2. Dieta óptima . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3. Otro ejemplo del modelo de la dieta óptima . . . . . . . 13
2.3.4. Abastecimiento óptimo . . . . . . . . . . . . . . . . . . . 14
2.4. Una formulación general: el modelo de asignación . . . . . . . . 15
2.5. Software para OL . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Resolución gráfica y análisis de sensibilidad 19


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. El método de resolución gráfica . . . . . . . . . . . . . . . . . . . 19
3.3. El Teorema Fundamental de la OL . . . . . . . . . . . . . . . . . 20
3.4. Análisis de sensibilidad . . . . . . . . . . . . . . . . . . . . . . . 21
3.5. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5.1. Planificación óptima de la producción . . . . . . . . . . 21
3.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

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

5 El método símplex en dos fases 65


5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2. Fase I del método símplex: un ejemplo . . . . . . . . . . . . . . . 65
5.3. Fase I del método símplex: otro ejemplo . . . . . . . . . . . . . . 70
5.4. Cómo construir la tabla inicial de la Fase II . . . . . . . . . . . . 74
5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6 Modelos de flujo óptimo en redes 79


6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2. El modelo del transporte . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.2. Formulación de OL y propiedad de integralidad . . . . 80
6.2.3. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3. El modelo del flujo de coste mínimo . . . . . . . . . . . . . . . . 82
6.3.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3.2. Formulación de OL y propiedad de integralidad . . . . 83
6.3.3. Formulación matricial . . . . . . . . . . . . . . . . . . . 85
6.3.4. Un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.4. El modelo del camino más corto . . . . . . . . . . . . . . . . . . . 86
6.5. Algoritmos especializados . . . . . . . . . . . . . . . . . . . . . . 88
6.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

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

7.4. Acotación del valor óptimo y desigualdades fundamentales . . 96


7.5. El test de optimalidad para OE . . . . . . . . . . . . . . . . . . . 97
7.6. Brecha de optimalidad . . . . . . . . . . . . . . . . . . . . . . . . 99
7.7. Resolución gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.8. Resolución de problemas de OE con Solver . . . . . . . . . . . . 104
7.9. Otros ejemplos de formulaciones de OE . . . . . . . . . . . . . . 104
7.9.1. Asignación de tripulaciones a vuelos . . . . . . . . . . . 104
7.9.2. Localización para cobertura wifi . . . . . . . . . . . . . 106
7.9.3. Modelos de OE binaria para selección de actividades . 107
7.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

8 El método Ramifica y Acota 109


8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.2. “Ramifica”: El árbol de enumeración de subproblemas . . . . . 109
8.2.1. El árbol de enumeración completa . . . . . . . . . . . . 109
8.2.2. Enumeración completa y la explosión combinatoria . . 112
8.3. “Acota”: podando el árbol de enumeración mediante cotas . . . 113
8.3.1. Podando el árbol: enumeración implícita . . . . . . . . 114
8.3.2. Poda por optimalidad . . . . . . . . . . . . . . . . . . . 114
8.3.3. Poda por sondeo . . . . . . . . . . . . . . . . . . . . . . 116
8.3.4. Poda por no factibilidad . . . . . . . . . . . . . . . . . . 117
8.4. El método R & A . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.5. Algunas cuestiones sobre el método R & A . . . . . . . . . . . . 122
8.5.1. Selección de la variable de ramificación . . . . . . . . . 122
8.5.2. Selección del siguiente subproblema activo . . . . . . . 122
8.5.3. Problemas de OE no binaria . . . . . . . . . . . . . . . . 123
8.5.4. Problemas de OE mixta . . . . . . . . . . . . . . . . . . 123
8.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

9 Optimización combinatoria 129


9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.2. El problema de la mochila . . . . . . . . . . . . . . . . . . . . . . 130
9.2.1. Formulación de OE y un ejemplo . . . . . . . . . . . . . 131
9.2.2. Reforzando la formulación con desigualdades válidas . 132
9.2.3. Una familia de desigualdades válidas . . . . . . . . . . 134

III OPTIMIZACIÓN NO LINEAL 135

10 Optimización no lineal sin restricciones 137


10.1. Introducción: Problemas con una variable de decisión . . . . . . 137
10.1.1. Óptimos globales y óptimos locales . . . . . . . . . . . 138
10.1.2. Aproximaciones de Taylor . . . . . . . . . . . . . . . . . 140
10.1.3. Funciones convexas y funciones cóncavas . . . . . . . . 140
10.1.4. Condiciones necesarias para óptimo local . . . . . . . . 143
10.1.5. Condiciones suficientes para óptimo local . . . . . . . . 145
10.2. Problemas con n variables de decisión . . . . . . . . . . . . . . . 145
10.2.1. Óptimos globales y óptimos locales . . . . . . . . . . . 146

III
Í NDICE GENERAL

10.2.2. El vector gradiente y la matriz hessiana . . . . . . . . . 146


10.2.3. Aproximaciones de Taylor . . . . . . . . . . . . . . . . . 147
10.2.4. Clasificación de matrices simétricas . . . . . . . . . . . 148
10.2.5. Funciones convexas y funciones cóncavas . . . . . . . . 150
10.2.6. Condiciones necesarias para óptimo local . . . . . . . . 152
10.2.7. Puntos de silla . . . . . . . . . . . . . . . . . . . . . . . . 152
10.2.8. Condiciones suficientes para óptimo local . . . . . . . . 152
10.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
10.3.1. Función objetivo cuadrática . . . . . . . . . . . . . . . . 153
10.3.2. Regresión lineal simple . . . . . . . . . . . . . . . . . . . 154
10.3.3. Localización óptima de un centro de servicios . . . . . 155
10.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

11 Optimización no lineal con restricciones de igualdad 157


11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
11.2. Ejemplos de formulaciones . . . . . . . . . . . . . . . . . . . . . . 158
11.3. Condiciones necesarias para óptimo local . . . . . . . . . . . . . 161
11.3.1. Cualificaciones de restricciones y puntos regulares . . . 161
11.3.2. La función lagrangiana . . . . . . . . . . . . . . . . . . . 161
11.3.3. Condición necesaria de 1.er orden para óptimo local . . 162
11.3.4. Cómo aplicar la condición necesaria de 1.er orden . . . 162
11.3.5. Direcciones tangentes a la región factible en un punto . 163
11.3.6. Condición necesaria de 2.o orden para mínimo local . . 165
11.3.7. Condición necesaria de 2.o orden para máximo local . . 165
11.4. Condiciones suficientes para óptimo local . . . . . . . . . . . . . 166
11.5. Optimalidad global y dualidad . . . . . . . . . . . . . . . . . . . 167
11.5.1. Caso de minimización . . . . . . . . . . . . . . . . . . . 167
11.5.2. Caso de maximización . . . . . . . . . . . . . . . . . . . 169
11.6. Interpretación económica de los multiplicadores . . . . . . . . . 171
11.7. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.8. Un ejercicio resuelto . . . . . . . . . . . . . . . . . . . . . . . . . . 176
11.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

12 Optimización no lineal con restricciones de desigualdad 183


12.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
12.2. Ejemplos de formulaciones . . . . . . . . . . . . . . . . . . . . . . 184
12.3. Condiciones necesarias para óptimo local . . . . . . . . . . . . . 184
12.3.1. Cualificaciones de restricciones y puntos regulares . . . 185
12.3.2. La función lagrangiana . . . . . . . . . . . . . . . . . . . 185
12.3.3. Condiciones necesarias de 1.er orden para óptimo local 186
12.3.4. Problemas con restricciones de no negatividad . . . . . 187
12.3.5. Cómo chequear las condiciones mediante OL . . . . . . 190
12.3.6. Aplicación a la OL . . . . . . . . . . . . . . . . . . . . . 191
12.4. Condiciones necesarias de 2.o orden para óptimo local . . . . . . 192
12.5. Condiciones suficientes de 2.o orden para óptimo local . . . . . 193
12.6. Optimalidad global y dualidad . . . . . . . . . . . . . . . . . . . 194
12.6.1. Problema primal de minimización . . . . . . . . . . . . 194
12.6.2. Problema primal de maximización . . . . . . . . . . . . 196

IV
Índice general

12.7. Interpretación económica de los multiplicadores . . . . . . . . . 197


12.8. Ejercicio resuelto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
12.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

13 Cálculo númerico de soluciones para ONL sin restricciones 205


13.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
13.2. Cálculo de soluciones para ONL sin restricciones . . . . . . . . . 205
13.2.1. Problemas con una variable . . . . . . . . . . . . . . . . 205
13.2.2. Problemas con n variables . . . . . . . . . . . . . . . . . 209
13.2.3. Velocidad de convergencia . . . . . . . . . . . . . . . . . 210
13.3. Ejercicio resuelto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

IV OPTIMIZACIÓN DINÁMICA 215

14 Optimización dinámica 217


14.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
14.2. Formulación general . . . . . . . . . . . . . . . . . . . . . . . . . 218
14.3. Ecuaciones de Bellman y su resolución recursiva . . . . . . . . . 220
14.4. Problemas de minimización . . . . . . . . . . . . . . . . . . . . . 221
14.5. Soluciones factibles y políticas . . . . . . . . . . . . . . . . . . . . 221
14.6. Un modelo de control óptimo de existencias . . . . . . . . . . . . 221
14.7. Un modelo de OD para el problema de la mochila . . . . . . . . 223
14.8. Ejemplo resuelto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
14.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

V TEORÍA DE COLAS 231

15 Modelos de colas 233


15.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
15.2. Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
15.3. Procesos estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . 236
15.4. Políticas de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . 237
15.5. Métricas de rendimiento . . . . . . . . . . . . . . . . . . . . . . . 237
15.6. Relaciones entre métricas . . . . . . . . . . . . . . . . . . . . . . . 238
15.7. Una relación puente: la ley de Little . . . . . . . . . . . . . . . . . 238
15.8. Factor de utilización y estabilidad . . . . . . . . . . . . . . . . . . 240
15.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

16 El modelo M/M/1 245


16.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
16.2. La cola M/M/1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
16.3. Factor de utilización y estabilidad . . . . . . . . . . . . . . . . . . 247
16.4. Cálculo de Ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
16.4.1. Diagrama de tasas de transición entre estados . . . . . 248
16.4.2. Ecuaciones de balance de flujo y la propiedad PASTA . 249
16.4.3. Resolución de las ecuaciones de balance de flujo . . . . 251

V
Í NDICE GENERAL

16.4.4. Determinación de N s . . . . . . . . . . . . . . . . . . . . 253


16.5. s
Cálculo de Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
16.6. Cálculo de Ss y W
Ď . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
16.7. Distribuciones de demora . . . . . . . . . . . . . . . . . . . . . . 255
16.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

17 El modelo M/M/m 257


17.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
17.2. Factor de utilización y estabilidad . . . . . . . . . . . . . . . . . . 257
17.3. Cálculo de Ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
17.3.1. Diagrama de tasas de transición entre estados . . . . . 259
17.3.2. Ecuaciones de balance de flujo . . . . . . . . . . . . . . 260
17.3.3. Resolución de las ecuaciones de balance de flujo . . . . 262
17.3.4. Cálculo de la probabilidad de espera . . . . . . . . . . . 264
17.3.5. Cálculo recursivo de pm . . . . . . . . . . . . . . . . . . 264
17.3.6. Cálculo de N s . . . . . . . . . . . . . . . . . . . . . . . . 264
17.3.7. Cálculo recursivo de N s . . . . . . . . . . . . . . . . . . . 265
17.4. La cola M/M/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
17.5. Comparación de las colas M/M/1 y M/M/2 . . . . . . . . . . . 266
17.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

VI SIMULACIÓN 271

18 El método de Montecarlo 273


18.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
18.2. El método de Montecarlo . . . . . . . . . . . . . . . . . . . . . . . 274
18.2.1. Estimación de áreas . . . . . . . . . . . . . . . . . . . . . 274
18.2.2. Estimación de volúmenes . . . . . . . . . . . . . . . . . 276
18.2.3. Estimación de integrales . . . . . . . . . . . . . . . . . . 277
18.3. Optimización: el problema del kiosco . . . . . . . . . . . . . . . . 277
18.4. Generación de números pseudo-aleatorios . . . . . . . . . . . . . 278
18.4.1. El método de Congruencias Lineales . . . . . . . . . . . 278
18.4.2. Generador de números pseudo-aleatorios en Excel . . . 279

19 Simulación de variables aleatorias 281


19.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
19.2. Generación de variables aleatorias discretas . . . . . . . . . . . . 281
19.2.1. Distribución Bernoulli . . . . . . . . . . . . . . . . . . . 282
19.2.2. Distribución Geométrica . . . . . . . . . . . . . . . . . . 283
19.3. Generación de variables aleatorias continuas . . . . . . . . . . . 285
19.3.1. Distribución Uniforme . . . . . . . . . . . . . . . . . . . 285
19.3.2. Distribución Exponencial . . . . . . . . . . . . . . . . . 286
19.3.3. Distribución Weibull . . . . . . . . . . . . . . . . . . . . 287
19.3.4. Distribución Normal . . . . . . . . . . . . . . . . . . . . 287

A Para ampliar conocimientos 289

Bibliografía 291

VI
Prefacio

Este texto presenta una introducción a la Investigación Operativa (IO), la cien-


cia de la optimización de decisiones, organizada en seis partes correspondientes
a otros tantos tipos de modelos: optimización lineal, entera, no lineal, y dinámica,
teoría de colas, y simulación. En contraste con otros textos, que a menudo presen-
tan un tratamiento cuasi-enciclopédico o con un nivel matemático relativamente
avanzado, este presenta una selección de modelos y métodos esenciales, enfati-
zando de forma clara y concisa los principios básicos subyacentes. El tratamiento
es sencillo, directo y se apoya en ejemplos, así como en el uso de la hoja de cálculo
Excel. También se incluyen numerosos ejercicios.
La exposición está basada en apuntes desarrollados por el autor para apoyar
su docencia de IO y optimización en diversas asignaturas y titulaciones de grado y
postgrado desde el curso 1997/98, primero en la Universidad Pompeu Fabra (UPF)
de Barcelona y posteriormente en la Universidad Carlos III de Madrid (UC3M).
El texto ha sido probado en el aula, habiéndose beneficiado de la interacción con
numerosas promociones de estudiantes.
El texto puede resultar útil para estudiantes de grado o postgrado en materias
afines, interesados en adquirir una comprensión básica de los principales métodos
y modelos de la IO y la optimización matemática, como herramientas analíticas y
computacionales para la optimización de decisiones.
El autor, catedrático de Estadística e IO y actualmente director del Departamen-
to de Estadística de la UC3M, es Licenciado en CC. Matemáticas por la Universi-
dad Complutense de Madrid con premio extraordinario de Licenciatura y premio
Complutense de Licenciatura por el Área de CC. Experimentales, y PhD en IO
por el Massachusetts Institute of Technology (MIT), estudios que realizó con una be-
ca MEC-Fulbright. Ha sido investigador postdoctoral en el MIT y en el Center for
Operations Research and Econometrics de la Université catholique de Louvain, con un
proyecto Marie Curie individual de la Comisión Europea, profesor visitante en la
UPF, e investigador Ramón y Cajal en la UC3M. En 2020 fue galardonado con el
premio Sociedad de Estadística e Investigación Operativa (SEIO) – Fundación BB-
VA en su primera edición, en la categoría de mejor contribución metodológica en
el campo de la IO.
J OSÉ N IÑO M ORA
Madrid, noviembre de 2020

VII
Capítulo 1

Introducción

1.1. Investigación operativa y optimización de


decisiones
La investigación operativa (IO) o, como es conocida en Hispanoamérica, in-
vestigación de operaciones, es una disciplina cuyo objeto de estudio lo constitu-
yen los problemas de toma de decisiones, especialmente aquellas de tipo operati-
vo, aunque también las tácticas y estratégicas, mediante la aplicación del método
científico. Así, la IO es la ciencia de la optimización de decisiones. Está motivada
por el deseo de tomar mejores decisiones, aquellas que nos acercan más a nuestros
objetivos, y se ocupa del desarrollo y la aplicación de herramientas conceptuales,
analíticas y computacionales para formular, analizar y resolver los complejos pro-
blemas de toma de decisiones que hemos que afrontar en el mundo actual.
En contraste con los enfoques tradicionales a la elección de decisiones, basa-
dos en la autoridad, la costumbre, la experiencia, la intuición, o la aplicación de
reglas no siempre bien fundamentadas, la IO está basada en el método científico.
La metodología de la IO para abordar la mejora de un sistema, en cuyo rendi-
miento podemos influir tomando ciertas decisiones, se puede representar como un
ciclo con seis fases: (1) Observar el sistema, identificando los factores cuantitativos
clave que determinan su funcionamiento y rendimiento, y obteniendo datos que
proporcionen información contrastada sobre los mismos; (2) formular mediante un
modelo matemático el problema de toma de decisiones de interés, a partir de hipó-
tesis sobre los factores identificados, y sobre las relaciones entre estos; (3) analizar el
modelo e identificar algoritmos para resolverlo; (4) resolver el modelo numéricamente,
mediante software que implemente tales algoritmos, para encontrar una buena so-
lución, que idealmente sería óptima; (5) interpretar la solución numérica del modelo
en términos de decisiones para el sistema real; (6) implementar la solución prescrita
por el modelo, y medir el nuevo rendimiento del sistema; si este no ha mejorado,
ello puede indicar que alguno de los pasos anteriores no se ha llevado a cabo de
forma satisfactoria, en cuyo caso sería necesario repetir el ciclo. En este texto nos
centraremos en las fases (2) a (5).

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”.

-Modelizar: “Construir el modelo o esquema teórico de algo”.

1.2. Origen y evolución de la IO


Existen numerosos precedentes históricos de un enfoque científico a la toma de
decisiones. Así, por citar dos ejemplos representativos, cabe señalar el análisis del
matemático e ingeniero francés Gaspard Monge (1746–1818) sobre la resolución de
un problema de transporte óptimo, en su trabajo de 1781 Mémoire sur la théorie des
déblais et des remblais, así como el estudio sobre los costes relativos del transporte y
la manipulación del correo del precursor británico de la informática Charles Bab-
bage (1791–1871), que contribuyó a la decisión de adoptar el sello postal en Gran
Bretaña en 1840.
Pero fue en el siglo XX cuando tal enfoque se desarrolló hasta constituirse co-
mo disciplina con identidad propia. Un precursor de comienzos del siglo XX fue
el soviético A. N. Tolstoı̆, quien en 1930 publicó un artículo titulado Methods of fin-
ding the minimal total kilometrage in cargo-transportation planning in space, en el que
analizaba un modelo de planificación óptima del transporte de productos.
Fue el también soviético L. V. Kantoróvich (1912–1986) quien primero intro-
dujo, analizó y propuso, en un tratado de 19391 , la aplicación de modelos típi-
cos de la IO, en particular el modelo de Optimización Lineal, también llamado
de Programación Lineal, a problemas de asignación óptima de recursos. Por sus
contribuciones, Kantoróvich ganó el premio Nobel de Economía en 1975, compar-
tido con otro pionero en dicho campo, el holandés nacionalizado estadounidense
T. C. Koopmans (1910–1985).
La idea de que la aplicación del método científico podía contribuir a a tomar
mejores decisiones en situaciones reales cobró un empuje singular en el Reino Uni-
do desde fines de la década de 1930, con la constitución de los primeros equipos
multidisciplinares de científicos a quienes se encargó la investigación de decisio-
nes operativas en el ámbito militar, en particular cómo operar (en la acepción de
1
Una traducción al inglés del trabajo pionero de 1939 en el que Kantoróvich desarrolló la optimi-
zación lineal y su aplicación a la planificación óptima de la producción fue publicada en L. V. Kan-
toróvich (1960). Mathematical methods of organizing and planning production. Management Science,
vol. 6, pp. 366–422. Una versión más desarrollada de sus ideas fue publicada en el libro (traducción
al inglés del original en ruso de 1959) L. V. Kantoróvich (1965). The Best Use of Economic Resources.
Harvard University Press, Cambridge, MA.

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

Al mismo tiempo, la IO se constituyó como disciplina académica, con la funda-


ción de los primeros programas de estudios de postgrado en IO a principios de la
década de 1950, de carácter marcadamente multidisciplinar, en instituciones como
la Case Western Reserve University, y el Operations Research Center del Massachusetts
Institute of Technology (MIT), fundado en 1953 por P. M. Morse (donde el autor tuvo
el privilegio de realizar su doctorado en IO).
Cabe señalar que, en España, se fundó ya en 1950 el Instituto de Estadística e
Investigación Operativa en el Consejo Superior de Investigaciones Científicas (CSIC),
cuyo primer director fue el matemático Sixto Ríos García5 (1913–2008), una figura
clave en el desarrollo de la Estadística y la IO española.
Desde entonces, la IO ha experimentado un desarrollo continuo, tanto en sus
aspectos teóricos y computacionales como en la cantidad y variedad de aplicacio-
nes a problemas de decisión en las más diversas áreas. Sus posibilidades de apli-
cación práctica han ido aumentando a la par que la capacidad de cálculo de los
ordenadores y la disponibilidad y facilidad de uso de paquetes de software que
implementan algoritmos de resolución, combinadas con la creciente disponibili-
dad de datos, que son necesarios para estimar los parámetros de los modelos. Así,
la IO proporciona herramientas para extraer el valor de los datos que las empresas
y organizaciones acumulan, incorporándolos a modelos efectivos de optimización
de decisiones.
Mientras que en sus comienzos la IO estaba reservada a organizaciones con
cuantiosos recursos económicos, actualmente cualquier empresa puede utilizar or-
denadores para resolver modelos de tamaño realista, empleando alguno de los
numerosos paquetes de software disponibles. Al fin, la IO aborda y satisface una
necesidad humana básica: tomar mejores decisiones, que utilicen de forma eficien-
te los recursos limitados de que disponemos para alcanzar nuestros objetivos.
Actualmente, la IO está evolucionando hacia el desarrollo y aplicación de un
tipo de modelos para la toma de mejores decisiones que se adaptan a entornos
en los que se generan grandes volúmenes de datos de forma dinámica. Algunos
autores se refieren al campo que se centra en el estudio de este tipo de modelos
como Analítica (Analytics en inglés)6 .

1.3. Sociedades científicas y profesionales de IO


La mayoría de países del mundo cuenta con sociedades que promueven la IO
como disciplina académica y actividad profesional, como la Sociedad de Estadísti-
ca e Investigación Operativa (SEIO) en España, siendo la mayor de ellas la de EE.
UU. Institute for Operations Research and the Management Sciences (INFORMS). Es-
tas sociedades nacionales se agrupan en sociedades regionales, como la Asociación
Latino-Iberoamericana de Investigación Operativa (ALIO), la Association of European
Operational Research Societies (EURO), la Association of North American Operations
Research Societies (NORAM), y la Association of Asian-Pacific Operational Research So-
cieties (APORS), que se engloban a su vez en la International Federation of Operational
5
Véase M. C. Escribano Ródenas y A. I. Busto Caballero. (2009). Sixto Ríos García: el matemático
que impulsó la Estadística española en el siglo XX. La Gaceta de la RSME, vol. 12, pp. 369–391.
6
Véase D. Bertsimas, A. K. O’Hair y W. R. Pulleyblank. The Analytics Edge. Dynamic Ideas, Bel-
mont, MA, 2016.

4
1.3. Sociedades científicas y profesionales de IO

Research Societies (IFORS). Cabe también mencionar la African Federation of Opera-


tions Research Societies (AFROS).
Podemos encontrar ejemplos de la enorme diversidad de posibles aplicacio-
nes de la IO y de su impacto en el mundo real en los artículos publicados en la
revista INFORMS Journal on Applied Analytics (anteriormente Interfaces), así como
entre los proyectos finalistas y ganadores en premios internacionales a las mejores
aplicaciones prácticas. Entre estos destacan el Franz Edelman Award for Achievement
in Advanced Analytics, Operations Research, and Management Science, convocado por
INFORMS, y el EURO Excellence in Practice Award, convocado por EURO.
En España la SEIO y la Fundación BBVA convocan desde 2020 premios a las
mejores contribuciones a la Estadística y la IO en distintas categorías, que incluyen
un galardón a la mejor contribución aplicada con un impacto en el ámbito social,
la innovación o la transferencia del conocimiento en el campo de la IO, así como
un premio a la mejor contribución metodológica en el campo de la 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.

Elementos de una formulación de OL


1. Variables de decisión: dado el conjunto D de decisiones que considera-
mos, codificamos cada decisión d P D mediante una variable de decisión
xd P R que puede tomar valores continuos. Las posibles soluciones se
representan así mediante vectores (o matrices) x “ pxd qdPD .

2. Objetivo: evaluamos el valor o el coste de una solución x mediante


una función objetivo lineal f pxq, que modeliza nuestro criterio para
valorar y comparar soluciones alternativas. En OL únicamente se consi-
deran objetivos de optimización de dos tipos: maximizar el valor o mi-

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

nimizar el coste. Ejemplos: maximizar 2x1 ´ 3x2 o minimizar 4x1 ` 7x2 .

3. Restricciones: modelizamos las condiciones que deben cumplir las so-


luciones mediante restricciones lineales, en forma de igualdades o des-
igualdades no estrictas. Ejemplos: 8x1 ´ 4x2 “ 5, ´x1 ` 5x2 ď 6,
9x1 ` 8x2 ě 6, x2 ě 0. Las soluciones x que cumplen las restricciones
se denominan soluciones factibles.

2.2. Resolución de un modelo de OL: casos posibles


Una vez que hemos formulado un problema de decisión como un modelo de
OL, nuestro propósito es resolverlo. Hay tres posibilidades, como se indica a con-
tinuación.

Resolución de un problema de OL: casos posibles


1. El problema tiene solución óptima: existe una solución óptima, es decir,
una solución factible x˚ “ px˚d qdPD que no se puede mejorar con respec-
to al objetivo dado. Así, la solución óptima para “minimizar x sujeto a
x ě 0” es x˚ “ 0, siendo el valor óptimo z ˚ “ 0.

2. El problema tiene objetivo no acotado: existe una semirrecta factible a lo


largo de la cual la función objetivo mejora sin límite. Para un problema
de maximización, el objetivo diverge a 8 a lo largo de dicha semirrecta.
Así, “maximizar x sujeto a x ě 0” tiene un objetivo no acotado que
diverge a z ˚ “ 8. Para un problema de minimización, el objetivo
diverge a ´8 a lo largo de dicha semirrecta. Así, “minimizar ´x sujeto
a x ě 0” tiene un objetivo no acotado que diverge a z ˚ “ ´8.

3. El problema es no factible: no existe ninguna solución factible, porque


las restricciones son incompatibles entre sí.

Lejos de representar solo curiosidades teóricas, los problemas con objetivo no


acotado o no factibles nos alertan de que se ha cometido algún error, bien en la
formulación del modelo o en la introducción de los datos.

2.3. Ejemplos de formulaciones


2.3.1. Planificación óptima de la producción
Una de las principales áreas de aplicación de la OL es la planificación óptima de
la producción. A continuación analizaremos un ejemplo orientado a ilustrar cómo

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:

kgåL N E disponible/día (kg)


A 0.5 1.5 1000
B 1.4 1.0 1400
beneficio/L (e) 0.05 0.09

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

Así, formulamos el problema de interés como el siguiente modelo de OL:

maximizar 50x1 ` 90x2


sujeto a
A : 0.5x1 ` 1.5x2 ď 1
B : 1.4x1 ` x2 ď 1.4
(2.1)
E: x2 ď 0.5
D1 : x1 ´ x2 ď 0.3
D2 : ´x1 ` x2 ď 0.3
x1 , x2 ě 0.
Hemos escrito a la izquierda de cada restricción un identificador que emplea-
remos en adelante para referirnos a la misma, p. ej., diremos “la restricción A”.

2.3.2. Dieta óptima


G. J. Stigler (1911–1991), premio Nobel de Economía en 1982, publicó en 1945
el célebre modelo de la dieta2 , que consiste en diseñar una dieta equilibrada, que
satisfaga unos requisitos nutricionales dados, con un coste mínimo. Este modelo
representa una de las primeras aplicaciones de la IO. Lejos de presentar un interés
puramente académico, se trata de un problema que se ha debido abordar a menu-
do en el mundo real. Así, en situaciones de escasez de alimentos, distintos pueblos
han tenido que desarrollar, a partir de la sabiduría popular, dietas de bajo coste
que se suponían suficientes para mantener la salud. La formulación del problema
de diseñar una dieta óptima como un modelo de OL tuvo lugar en la década de
1940, con vistas a la alimentación de soldados. Stigler formuló en el artículo antes
mencionado este modelo, y lo ilustró mediante un ejemplo con 77 alimentos y 9
nutrientes. Como aun no se conocía un algoritmo para resolver dichos modelos,
Stigler propuso una solución heurística que, como después se comprobó, era casi
óptima. Aunque las dietas de Stigler resultantes no fueron directamente aplicadas
a personas, el modelo ha encontrado aplicación en ganadería y acuicultura. Ade-
más, este modelo representa un caso especial de un tipo más general de modelos:
los modelos de mezcla óptima, en los que se busca diseñar una mezcla de coste
mínimo y características especificadas a partir de ingredientes dados.
Como ilustración, consideremos el siguiente ejemplo. Una granja utiliza 800 kg
de pienso por día, que elabora a partir de una mezcla de maíz y soja. La siguiente
tabla muestra datos que indican la composición de cada tipo de grano en términos
de proteínas y fibra, los requisitos de tales nutrientes, y el coste en e/kg:

kg å kg maíz soja proporción requerida


proteínas 0.09 0.60 ě 30%
fibra 0.02 0.06 ď 5%
coste (e/kg) 0.30 0.90

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

1. Variables de decisión: proporción de maíz (x1 ) y de soja (x2 ) por kg de mezcla.


2. Objetivo: minimizar el coste/kg, esto es, minimizar 0.3x1 ` 0.9x2 .
3. Restricciones:
total (un kg de mezcla): x1 ` x2 “ 1
proteínas: 0.09x1 ` 0.6x2 ě 0.3
fibra: 0.02x1 ` 0.06x2 ď 0.05
no negatividad: x1 , x2 ě 0.

Así, formulamos el problema de interés como el siguiente modelo de OL:

minimizar 0.3x1 ` 0.9x2


sujeto a
total: x1 ` x2 “ 1
(2.2)
proteínas: 0.09x1 ` 0.6x2 ě 0.3
fibra: 0.02x1 ` 0.06x2 ď 0.05
no negatividad: x1 , x2 ě 0

2.3.3. Otro ejemplo del modelo de la dieta óptima


Consideremos el siguiente ejemplo. Supongamos que, para una situación de
emergencia (p. ej., una hambruna), se busca diseñar una dieta de coste mínimo
que cubra las necesidades nutricionales diarias de calorías, carbohidratos, proteí-
nas, grasas, vitaminas A y C, así como de calcio y hierro, a partir únicamente de
leche (entera en polvo) y maíz (amarillo, en harina integral). Utilizaremos datos
disponibles públicamente sobre la cantidad diaria recomendada (CDR) de diversos
nutrientes, así como sobre la composición nutricional de la leche y el maíz. La si-
guiente tabla muestra la composición de una ración de 100 g. de cada alimento en
términos de los nutrientes anteriores, una estimación de los requisitos diarios de
tales nutrientes, y el coste en euros por ración para cada alimento.

proporción (%) de la CDR å ración de 100 g. leche maíz CDR ( %)


calorías 24.8% 21.1% “ 100%
carbohidratos 13% 30% ě 100%
proteínas 37% 11% ě 100%
grasas 41% 7% ě 100%
vitamina A 18% 5% ě 100%
vitamina C 14% 0% ě 100%
calcio 91% 1% ě 100%
hierro 3% 15% ě 100%
coste (euros/ración) 0.03 0.02

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

2. Objetivo: minimizar el coste de la dieta diaria: minimizar 0.03x1 ` 0.02x2


3. Restricciones:
calorías: 24.8x1 ` 21.1x2 “ 100
carbohidratos: 13x1 ` 30x2 ě 100
proteínas: 37x1 ` 11x2 ě 100
grasas: 41x1 ` 7x2 ě 100
vitamina A: 18x1 ` 5x2 ě 100
vitamina C: 14x1 ě 100
calcio: 91x1 ` x2 ě 100
hierro: 3x1 ` 15x2 ě 100
no negatividad: x1 , x2 ě 0

Formulamos el problema de interés como el siguiente modelo de OL:

minimizar 0.03x1 ` 0.02x2


sujeto a
calorías: 24.8x1 ` 21.1x2 “ 100
carbohidratos: 13x1 ` 30x2 ě 100
proteínas: 37x1 ` 11x2 ě 100
grasas: 41x1 ` 7x2 ě 100 (2.3)
vitamina A: 18x1 ` 5x2 ě 100
vitamina C: 14x1 ě 100
calcio: 91x1 ` x2 ě 100
hierro: 3x1 ` 15x2 ě 100
no negatividad: x1 , x2 ě 0.

2.3.4. Abastecimiento óptimo


Una empresa se abastece de petróleo de dos países, que llamaremos A y B.
Una vez refinado el petróleo, produce a partir del mismo gasolina, fuel de avión y
lubricantes. Se dispone de los siguientes datos:

barriles å barril A B barriles requeridos/día


gasolina 0.3 0.4 ě 2000
fuel 0.4 0.2 ě 1500
lubricante 0.2 0.3 ě 500
disponible/día ď 9000 ď 6000
coste (e/barril) 20 15

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

2. Objetivo: minimizar el coste diario, esto es, minimizar 20 x1 ` 15 x2


3. Restricciones:
gasolina: 0.3 x1 ` 0.4 x2 ě 2
fuel: 0.4 x1 ` 0.2 x2 ě 1.5
lubricantes: 0.2 x1 ` 0.3 x2 ě 0.5
disponible A: x1 ď 9
disponible B: x2 ď 6
no negatividad: x1 , x2 ě 0

2.4. Una formulación general: el modelo de asignación


Las formulaciones anteriores estaban dadas en términos de datos numéricos
concretos. Sin embargo, cuando una formulación aparece a menudo, resulta con-
veniente especificarla en términos de parámetros del modelo, a los cuales se dará
valores numéricos concretos en cada aplicación particular. Consideremos el mode-
lo de asignación3 , que consiste en asignar un número dado n de tareas al mismo
número n de personas, de forma que el coste total sea mínimo, siendo cij el coste
de asignar a la persona i la tarea j (nótese que este coste puede representar, p. ej.,
una medida de falta de adecuación). Denominaremos a las personas por su índice
i “ 1, . . . , n, y haremos lo propio con las tareas j “ 1, . . . , n.
En el modelo clásico de asignación las tareas se asignan de forma unívoca a
las personas. Sin embargo, aquí consideraremos una variante, en la que que cada
tarea requiere una jornada de trabajo y se puede repartir entre varias personas. A
su vez, la jornada de trabajo de cada persona se puede repartir entre varias tareas.
Los elementos de la formulación de OL de esta variante del modelo de asigna-
ción son los siguientes:
1. Variables de decisión: xij , es la fracción de la jornada de la persona i dedicada
a la tarea j.
n ÿ
ÿ n
2. Objetivo: minimizar el coste total, esto es, minimizar cij xij
i“1 j“1
3. Restricciones:
n
ÿ
A: La jornada de cada persona i se emplea totalmente: xij “ 1, i “
j“1
1, . . . , n
n
ÿ
B: Cada tarea j se realiza: xij “ 1, j “ 1, . . . , n
i“1
C: no negatividad: xij ě 0, i, j “ 1, . . . , n.
Nótese que en el modelo clásico solo se consideran asignaciones cuando las
variables toman los valores enteros binarios xij “ 1 o xij “ 0. En tal caso, habría
que incorporar restricciones adicionales con tales requisitos, xij P t0, 1u para cada
i, j, lo cual da lugar a un problema de optimización entera. Tales problemas se
tratarán en la Parte II.
3
El modelo de asignación ha sido objeto de una considerable actividad investigadora. Ver la
monografía R. Burkard, M. Dell’Amico, S. Martello (2012). Assignment Problems, 2.ª ed. SIAM.

15
2. F ORMULACIONES DE OPTIMIZACIÓN LINEAL

En modelos generales como el anterior, es conveniente considerar el tamaño de


la formulación, es decir, contar el número de variables y de restricciones (sin contar las
de no negatividad) de que consta. Así, la formulación del modelo de asignación
tiene n2 variables y 2n restricciones. Ello indica que el tamaño de la formulación
crece de forma moderada con la dimensión natural n del problema, lo cual permite
almacenar en la memoria de un ordenador problemas de asignación para valores
relativamente grandes de n.
El valor práctico de resolver el problema utilizando su formulación de OL se
puede apreciar comparando el tamaño de esta con el número total de asignacio-
nes puras (esto es, con las xij binarias) que habría que considerar para resolver el
problema mediante enumeración completa: n!. Así, para n “ 15 podemos resolver
el problema mediante OL rápidamente en un ordenador personal, empleando un
paquete de software que implemente alguno de los algoritmos de resolución de
problemas de OL, pero resulta imposible evaluar todas las posibles asignaciones
puras para encontrar la mejor, ya que 152 “ 225, mientras que 15! “ 1.3077 ˆ 1012 .

2.5. Software para OL


Existe una amplia variedad de software disponible para resolver modelos de
OL, que implementan algoritmos de resolución. Una de las opciones más difundi-
das es el software Solver desarrollado por Frontline Systems, cuya versión básica
está integrada como un complemento en la hoja de cálculo Microsoft Excel desde
1990. El empleo de Excel con Solver como herramienta para la formulación y re-
solución de modelos de OL se ha desarrollado y extendido enormemente, por su
facilidad de uso, especialmente en el ámbito de la enseñanza a nivel de grado y de
MBA. Numerosos libros de texto desarrollan tal enfoque.4
La utilización de las hojas de cálculo para tal propósito se lleva a cabo en dos
etapas: en la primera, el analista formula el modelo de OL empleando la hoja de
cálculo de la forma habitual, respetando los principios básicos de separar los datos
del modelo, y de formular este siguiendo la estructura indicada anteriormente (1:
variables de decisión; 2: objetivo; 3: restricciones); en la segunda etapa, se resuelve
el modelo para obtener la solución óptima invocando el complemento Solver. Este
incorpora una implementación del célebre método símplex para resolver proble-
mas de OL, que estudiaremos en detalle más adelante.
Aunque el empleo de hojas de cálculo para OL ha supuesto un gran avance en
la difusión de la IO, no está exento de inconvenientes. Así, para modelos con res-
tricciones complejas o variables de decisión multidimensionales, su formulación
mediante de hojas de cálculo resulta difícil. En tales casos es más conveniente re-
currir a otras opciones para la formulación de modelos, en como los lenguajes de
modelización algebraica, cuya sintaxis es similar a la formulación algebraica con-
vencional. Entre los más populares cabe señalar AMPL, GAMS, GNU MathProg,
LINGO, OPL y Xpress Mosel. Una opción alternativa que combina la conveniencia
de un lenguaje de modelización algebraica con la versatilidad de un lenguage de
programación general es la interfaz Gurobi–Python.
4
Véase, p. ej., E. V. Denardo (2008). The Science of Decision Making: A Problem-Based Introduction
Using Excel. Wiley.

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:

espalda braza mariposa libre


nadadora # 1: 63 72 61 55
nadadora # 2: 62 69 63 57
nadadora # 3: 68 73 68 54
nadadora # 4: 66 74 68 58
nadadora # 5: 68 69 66 59
nadadora # 6: 68 70 65 58
nadadora # 7: 68 69 66 59
nadadora # 8: 63 62 65 58
nadadora # 9: 64 61 62 58
nadadora # 10: 62 63 61 59

Aplica tus nuevos conocimientos de IO para recomendar al seleccionador el


equipo óptimo, es decir un equipo que nade las cuatro mangas en el menor tiempo
posible (dado el rendimiento medio de las nadadoras durante la temporada).
(a) Formula el problema anterior como un modelo de OL, identificando y ex-
plicando claramente sus tres elementos. Comenta si las variables de decisión
corresponden exactamente a un modelo de OL.
(b) Formula el problema en Excel, y resuélvelo utilizando el Solver. ¿Cuál es el
equipo óptimo?
(c) ¿Qué ocurre si la nadadora # 2 se lesiona? Responde a los apartados (a) y (b)
en tal caso.

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

alimento A alimento B CDR


nutriente 1: 2 2 ě3
nutriente 2: 1 3 ě5
nutriente 3: 4 2 ě2
nutriente 4: 2 4 ě5
nutriente 5: 3 3 ě6
coste (e/ración) 2.5 3

Formula como un modelo de OL el problema de diseñar una dieta diaria (que


indique cuántas raciones se ha de consumir de cada alimento) de coste mínimo
que satisfaga las necesidades nutricionales diarias.

Ejercicio 2.3. Un restaurante cuenta con un equipo de cinco cocineros. El menú


a la carta incluye dos platos, que llamaremos A y B, cuya complejidad requiere
que los cinco cocineros cooperen en su preparación, según la especialización de
cada cual. Los platos se preparan de una vez, por la mañana. Después, todos los
platos preparados se venden (por ejemplo, si un cliente pide el plato A pero ya
solo queda el plato B, se le sirve este último, y viceversa). Cada unidad del plato A
reporta un beneficio de 55 e, mientras que el beneficio por unidad del plato B es
de 45 e. Supondremos que las fracciones de plato también se pueden vender, por
el importe proporcional correspondiente.
La siguiente tabla muestra las horas de trabajo de cada cocinero que se emplean
en la preparación de una unidad de cada plato, así como la disponibilidad de horas
de trabajo al día de cada cocinero para repartir entre los platos A y B:

plato A plato B disponibilidad de horas/día


cocinero 1: 0.10 0.20 ď4
cocinero 2: 0.15 0.18 ď3
cocinero 3: 0.05 0.05 ď5
cocinero 4: 0.20 0.10 ď4
cocinero 5: 0.25 0.08 ď7

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

Resolución gráfica y análisis de


sensibilidad

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.

3.2. El método de resolución gráfica


La idea básica del método de resolución gráfica se describe a continuación.
Supongamos que nos proponemos resolver un problema con dos variables de de-
cisión, x1 y x2 . Recordemos que una solución x “ px1 , x2 q que cumple todas las
restricciones del problema se denomina solución factible. Por otra parte, podemos
visualizar una solución x como un punto en el plano, interpretando x1 y x2 como
sus coordenadas cartesianas. De este modo, podemos visualizar el conjunto de to-
das las soluciones factibles como una región P Ď R2 del plano, que llamaremos la
región de soluciones factibles o, simplemente, la región factible del problema.
Para dibujar la región P , aplicamos que está determinada por las restricciones
del problema, cada una de las cuales es una igualdad o una desigualdad lineal no

19
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD

estricta en las variables x1 y x2 . Sabemos que una igualdad lineal (o ecuación) en x1


y x2 , como 4x1 ´ 3x2 “ 5, se representa como una línea recta en el plano. En cuanto
a una desigualdad lineal no estricta, como 4x1 ´ 3x2 ě 5, corresponde a un semi-
plano cerrado, es decir, la región que queda a un lado de una recta, incluyéndola
(en este caso, la recta 4x1 ´ 3x2 “ 5). Para dibujar P , procedemos sistemáticamen-
te, dibujando las rectas e indicando los semiplanos que corresponden a cada una
de las restricciones del problema. La región P es la región determinada por todos
los semiplanos (para restricciones de desigualdad) y rectas (para restricciones de
igualdad) representadas.
¿Qué forma tendrá P ? Por construcción, se sigue que P es necesariamente un
polígono convexo cerrado. Es decir, una región del plano limitada por rectas (po-
lígono), que contiene cada segmento que une dos de sus puntos (convexo), y que
incluye sus fronteras (cerrado). Los vértices de P , que son aquellos puntos en que
se cruzan dos de las rectas que lo limitan, desempeñarán un papel clave en la reso-
lución del problema.
También cabe la posibilidad de que ningún punto cumpla todas las restriccio-
nes, en cuyo caso el problema será no factible.
Una vez dibujada la región factible, consideramos la función objetivo, de la
cual tenemos que dibujar varias rectas de nivel superpuestas a la región factible.
Así, si el objetivo es maximizar 3x1 ` 4x2 , las rectas de nivel se obtienen dibujando
la recta 3x1 ` 4x2 “ z para uno o varios valores de z. Tales rectas de nivel serán
paralelas, ya que cambiar el valor de z tiene el efecto de desplazar la recta de nivel
sin cambiar su pendiente.
Tras dibujar algunas rectas de nivel, observamos en cuál de los dos posibles
sentidos de desplazamiento de las mismas en paralelo aumenta el valor de z y,
a continuación, determinamos visualmente una recta de nivel que proporcione el
mayor valor de z sin salir de la región factible P . Si se trata de minimizar el valor
del objetivo, buscaremos la recta que proporcione el menor valor alcanzable de z.

3.3. El Teorema Fundamental de la OL


Al resolver problemas de OL por el método gráfico, observamos que, cuando
existe alguna solución óptima, siempre podemos encontrar un vértice entre estas.
Esta propiedad tiene una importancia capital para resolver problemas de OL. Ade-
más, resulta ser cierta para problemas de OL generales, con cualquier número de
variables y restricciones. Por ello, se la conoce como el Teorema Fundamental de la
OL.

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.4. Análisis de sensibilidad


Una vez hemos obtenido una solución óptima dada por un vértice para un
problema de OL, cabe plantearse la siguiente pregunta: ¿Cuál es el efecto en dicho
problema de un cambio pequeño en el valor de uno o varios de sus parámetros?
Responder a tal pregunta es el objeto del análisis de sensibilidad. Una motiva-
ción aplicada para tal análisis es la incertidumbre sobre los valores exactos de los
parámetros del modelo, para los que a menudo solo se conocen estimaciones. Si
esta incertidumbre es de tal magnitud que abarca un rango de valores de los pará-
metros que puede dar lugar a soluciones óptimas muy distintas, no será razonable
emplear la solución óptima del modelo en el sistema real. Otra motivación, de tipo
teórico, es profundizar en nuestra comprensión de los factores que determinan que
la solución obtenida sea óptima.
Como es habitual en OL, nos limitaremos al análisis de sensibilidad de una
solución óptima con respecto a dos tipos de cambios: cambios en los coeficientes
del objetivo, y en los lados derechos de las restricciones.
En cuanto al primer tipo de cambios, el método gráfico para problemas de OL
con dos variables de decisión nos permite visualizarlo gráficamente: corresponde
a rotar la recta de nivel de la función objetivo en torno al vértice óptimo dado.
Por tanto, para un rango limitado de incrementos en los coeficientes del objetivo,
obtendremos que el vértice actual continúa siendo óptimo.
En cuanto al segundo tipo de cambios, en los lados derechos de las restriccio-
nes, podemos apoyarnos en nuestra intuición visual a partir de la resolución grá-
fica del problema. De este modo, observaremos que las restricciones críticas que
determinan un vértice óptimo continuarán siéndolo siempre que se modifiquen
sus lados derechos con incrementos suficientemente pequeños. Además, para una
restricción que formule la disponibilidad limitada de un recurso, resulta de interés
económico evaluar el incremento en el valor óptimo del objetivo correspondiente
al incrementar la disponibilidad de dicho recurso. Tal análisis marginal nos pro-
porcionará el valor marginal (en terminología económica), o precio sombra (en
terminología de OL), del recurso en cuestión, una cantidad de considerable interés
en la toma de decisiones, y que desempeña un papel clave en la teoría de la OL.

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.

3.5.1. Planificación óptima de la producción


Consideremos el modelo de OL para la planificación óptima de la producción
considerado en la Sección 2.3.1:

21
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD

maximizar 50x1 ` 90x2


sujeto a
A : 0.5x1 ` 1.5x2 ď 1
B : 1.4x1 ` x2 ď 1.4
E: x2 ď 0.5
D1 : x1 ´ x2 ď 0.3
D2 : ´x1 ` x2 ď 0.3
x1 , x2 ě 0.

Dibujo de la región factible


Comenzamos el procedimiento de resolución gráfica dibujando la región facti-
ble, para lo cual dibujamos sucesivamente cada una de las restricciones. Empeza-
mos por la restricción de disponibilidad de naranjas de clase A: 0.5x1 ` 1.5x2 ď 1.
Como se trata de una restricción de desigualdad, en primer lugar dibujamos la
ecuación correspondiente: 0.5x1 `1.5x2 “ 1. esta es una recta, determinada por sus
puntos de corte con los ejes de coordenadas. Para encontrar tales puntos, procede-
mos como sigue. El punto de corte con el eje x1 se obtiene resolviendo la ecuacion
0.5x1 “ 1, resultante de fijar x2 “ 0, lo cual nos da el punto p2, 0q. El punto de corte
con el eje x2 se obtiene resolviendo la ecuación 1.5x2 “ 1, resultante de fijar x1 “ 0,
lo cual nos da el punto p0, 2{3q. Así, dibujamos la ecuación 0.5x1 ` 1.5x2 “ 1 como
la recta que pasa por los puntos p2, 0q y p0, 2{3q, como se muestra en la Figura 3.1.
Pero la restricción de interés es la desigualdad lineal 0.5x1 ` 1.5x2 ď 1, que corres-
ponde al semiplano que queda a un lado de dicha recta. Para determinar cuál de
los dos posibles semiplanos es el correcto, lo más sencillo es determinar si el punto
origen p0, 0q cumple o no la desigualdad. En este caso, como 0 ď 1, obtenemos que
el semiplano correcto es aquel que contiene el origen. Una forma conveniente de
representar el semiplano que representa una desigualdad lineal es mediante una
flecha, con origen en la recta correspondiente a la igualdad, y que apunte en el
sentido correcto, como se muestra en la Figura 3.1.

1
x2

0
0 1 x1 2

Figura 3.1: Dibujo de la restricción A.

22
3.5. Ejemplos

A continuación añadimos la restricción B: 1.4x1 ` x2 ď 1.4. Procediendo como


en el caso anterior, la representamos como el semiplano cerrado que contiene el
origen y está limitado por la recta 1.4x1 ` x2 “ 1.4, que corta a los ejes de coorde-
nadas en los puntos p1, 0q y p0, 1.4q. La Figura 3.2 muestra el resultado de añadir
las restricciones A y B.

1
x2

A
B

0
0 1 x1 2

Figura 3.2: Dibujo de las restricciones A y B.

Continuamos con la restricción E: x2 ď 0.5, que dibujamos como el semiplano


que contiene el origen y está limitado por arriba por la recta horizontal que pasa
por el punto p0, 1{2q. La Figura 3.3 muestra el resultado de añadir tal restricción.

1
x2

E
A
B

0
0 1 x1 2

Figura 3.3: Dibujo de las restricciones A, B y E.

Finalmente, añadimos las restricciones D1 : x1 ´ x2 ď 0.3, D2 : ´x1 ` x2 ď 0.3,


así como las de no negatividad, x1 , x2 ě 0, como muestra la Figura 3.4.
Ahora estamos preparados para dibujar la región factible P , la cual se muestra
en la Figura 3.5. Observamos que P es un polígono convexo cerrado y acotado, delimi-
tado por las rectas correspondientes al caso de igualdad de las restricciones A, B, E,
D1 , D2 , y no negatividad. Además, P está caracterizado por sus siete vértices, que
denotamos por xk , para k “ 1, . . . , 7. Cada vértice corresponde a la intersección de
dos de las rectas que limitan P . Por ello, para calcular las coordenadas de un vérti-
ce, bastará con resolver el sistema de ecuaciones correspondiente. Por ejemplo, las

23
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD

D2 D1
1

x2 E

A
B
0
0 1 x1 2

Figura 3.4: Dibujo de todas las restricciones.

coordenadas del vértice x5 se obtienen resolviendo el siguiente sistema,


0.5x1 ` 1.5x2 “ 1
1.4x1 ` x2 “ 1.4,

que corresponde a la intersección de las rectas que limitan las restricciones A y B.


Así, obtenemos que este vértice es x5 “ p11{16, 7{16q « p0.6875, 0.4375q.
Procediendo de este modo, determinamos las coordenadas de los siete vértices
de P : x1 “ p0, 0q, x2 “ p0, 0.3q, x3 “ p0.2, 0.5q, x4 “ p0.5, 0.5q, x5 “ p11{16, 7{16q,
x6 “ p17{24, 49{120q « p0.7083, 0.4083q, y x7 “ p0.3, 0q.

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

Figura 3.5: La región factible P .

Dibujo de rectas de nivel y determinación de un vértice óptimo


Finalmente, calculamos un vértice óptimo. Para ello, dibujamos una recta de ni-
vel del objetivo, 50x1 ` 90x2 “ z, para algún valor arbitrario de z, y determinamos
en qué sentido aumenta su valor. En este caso, hemos tomado z “ 30. Observamos
en la Figura 3.6 que aumentar el valor de z corresponde a desplazar la recta de ni-
vel hacia arriba a la derecha. Así, observamos que la mejor recta de nivel, es decir,

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

Figura 3.6: Determinación del vértice óptimo.

Formulación y resolución del modelo con Excel Solver


La Figura 3.7 muestra la formulación de este modelo en una hoja de cálculo
Excel, que también presenta su solución óptima, obtenida mediante Solver. Obser-
vamos que la hoja separa de forma clara los datos, situados en la parte superior,
del modelo, que se encuentra en la parte inferior. A su vez, el modelo se estruc-
tura en los tres elementos vistos anteriormente: variables de decisión, objetivo y
restricciones.
Tras formular el modelo en la hoja de cálculo, tenemos que invocar el comple-
mento Solver de Excel, y rellenar su menú de parámetros, como se muestra en la
Figura 3.8. A continuación, tenemos que invocar el menú de opciones de Solver,
mostrado en la Figura 3.9, y marcar las opciones “Adoptar modelo lineal” y “Asu-
mir no negativos”, que indican que se trata de un modelo de OL, y que las variables
de decisión son no negativas. Finalmente, resolvemos el modelo pulsando el botón
“Resolver” en el menú de parámetros de Solver.

Análisis de sensibilidad I: cambios en los coeficientes del objetivo


Supongamos que se modifican los coeficientes del objetivo, de forma que el
objetivo modificado toma la forma

maximizar p50 ` ∆r1 qx1 ` p90 ` ∆r2 qx2 ,

25
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD

Figura 3.7: Formulación y resolución del modelo mediante Excel Solver.

Figura 3.8: Menú de parámetros de Solver.

donde ∆r1 y ∆r2 denotan incrementos. Consideremos la siguiente cuestión: ¿Para


qué región de valores del vector de incrementos p∆r1 , ∆r2 q se cumple que el vértice
óptimo obtenido anteriormente, x5 , continúa siendo óptimo?
Para abordar tal cuestión, observemos la Figura 3.6 y apoyémonos en nuestra
intuición geométrica. Si aplicásemos el método de resolución gráfica a este pro-
blema con el objetivo modificado, siempre que la magnitud del vector p∆r1 , ∆r2 q
fuese suficientemente pequeña obtendríamos el mismo vértice óptimo, ya que mo-
dificar el objetivo corresponde a rotar la recta de nivel que pasa por x5 en torno a
dicho vértice. A partir de este argumento geométrico, podemos ser más precisos,

26
3.5. Ejemplos

Figura 3.9: Menú de opciones de Solver.

y afirmar que el vértice x5 continuará siendo óptimo siempre que la pendiente de


la recta de nivel del objetivo modificado se encuentre entre las pendientes de las
rectas que determinan dicho vértice, que corresponden al caso de igualdad de las
restricciones A y B. Así, el vértice x5 será óptimo si y solo si

pendiente de B ď pendiente del objetivo modificado ď pendiente de A,

lo cual formulamos como


7 1.4 50 ` ∆r1 0.5 1
´ “´ ď´ ď´ “´ .
5 1 90 ` ∆r2 1.5 3
A continuación, nos proponemos reformular las relaciones anteriores para el
vector p∆r1 , ∆r2 q, que son de tipo no lineal, como relaciones lineales. Para ello,
comenzamos por multiplicar la cadena de desigualdades por ´1, obteniendo
1 50 ` ∆r1 7
ď ď .
3 90 ` ∆r2 5
Ahora, multiplicamos cada término por 3 ˆ 5 ˆ p90 ` ∆r2 q, suponiendo que
90 ` ∆ r2 ą 0, con lo cual obtenemos

450 ` 5∆r2 ď 750 ` 15∆r1 ď 1890 ` 21∆r2 .

Finalmente, desacoplamos y simplificamos la expresión anterior, con lo que obte-


nemos las dos desigualdades lineales

´15∆r1 ` 5∆r2 ď 300


(3.1)
15∆r1 ´ 21∆r2 ď 1140,

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.

Análisis de sensibilidad II: cambios en los lados derechos de las


restricciones
Consideremos a continuación cuál será el efecto en el vértice óptimo para el
modelo de OL anterior de un pequeño cambio en el lado derecho de una o va-
rias restricciones. Observando la Figura 3.6, vemos que modificar ligeramente el
lado derecho de una restricción no crítica, esto es, que se cumple con desigual-
dad estricta en el vértice óptimo, no causa ningún cambio en este. Sin embargo, si
cambiamos los lados derechos de las dos restricciones críticas, A y B, y las reem-
plazamos por las restricciones modificadas

p : 0.5x1 ` 1.5x2 ď 1 ` ∆b1


A
p : 1.4x1 ` x2 ď 1.4 ` ∆b2 ,
B

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

0.5x1 ` 1.5x2 “ 1 ` ∆b1


1.4x1 ` x2 “ 1.4 ` ∆b2 .

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.

También en este caso, los paquetes de software para OL no suelen proporcionar


la caracterización (3.2) para cambios simultáneos en varias restricciones, sino solo
para cambios en una restricción. Así, para analizar el efecto de cambios en el lado
derecho de la restricción A, fijamos ∆b2 “ 0 en (3.2), con lo que obtenemos el
siguiente intervalo de incrementos admisibles ∆b1 : ´0.071 « ´1{30 ď ∆b1 ď
1{14 « 0.033. Del mismo modo, fijando ∆b1 “ 0 en (3.2) obtenemos el intervalo de
incrementos admisibles ∆b2 para la restricción B: ´0.2 “ ´1{5 ď ∆b2 ď 1{25 “
0.04.

Análisis de sensibilidad II (cont.): precios sombra


DeNótese por z ˚ pb1 , b2 q el beneficio óptimo obtenido cuando la empresa cuenta
con b1 y b2 tons. diarias de naranjas A y B, respectivamente. Podemos evaluar el
beneficio óptimo para el problema modificado a partir del vértice óptimo x p5 , como
11 ´ 10∆b1 ` 15∆b2 7 ` 14∆b1 ´ 5∆b2
z ˚ p1 ` ∆b1 , 1.4 ` ∆b2 q “ 50 ˆ ` 90 ˆ
16 16
295 95 75
“ ` ∆b1 ` ∆b2 ,
4 2 4
(3.3)
siendo tal expresión válida siempre que los incrementos ∆b1 y ∆b2 satisfagan (3.2).
Consideremos a continuación la interpretación económica de la fórmula (3.3).
Esta indica que el valor marginal de las naranjas A, consideradas como un recurso

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).

Análisis de sensibilidad con Solver


Tras resolver el modelo pulsando el botón “Aceptar” del menú de parámetros
de Solver (ver Figura 3.8), obtendremos la ventana mostrada en la Figura 3.11.
Para generar un informe de sensibilidad, seleccionamos “Respuestas” y “sensibi-
lidad”, en el submenú de “Informes”.

Figura 3.11: Generación de un informe de sensibilidad con Solver.

De este modo, obtendremos el informe de sensibilidad para el modelo en una


nueva hoja, como se muestra en la Figura 3.12. Este informe consta de dos partes,
que corresponden a los dos tipos de análisis de sensibilidad tratadox más arriba.

30
3.6. Ejercicios

En la parte superior de la hoja mostrada en la Figura 3.12 vemos los resultados


del análisis de sensibilidad para cambios en los coeficientes de la función objetivo.
Así, la primera fila indica que la solución actual continúa siendo óptima si el coefi-
ciente actual de la variable x1 aumenta a lo sumo en 76 unidades, o si disminuye en
no más de 20 unidades. Nótese que la última columna del informe debería llevar
por título “Disminución permisible” en lugar de “Aumento permisible”.
La parte inferior de la hoja muestra los resultados del análisis de sensibilidad
para cambios en los lados derechos de las restricciones. P. ej., la primera fila indica
que el precio sombra de la restricción A tiene un valor de 47.5, y que el rango de
validez del mismo corresponde a aumentos del lado derecho de la restricción A
hasta 0.071 unidades, y a disminuciones de hasta 0.033 unidades.

Figura 3.12: Informes de sensibilidad generados por Solver.

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.

(a) Dibuja la región factible, y calcula 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, mediante el
método gráfico.

31
3. R ESOLUCIÓN GRÁFICA Y ANÁLISIS DE SENSIBILIDAD

Ejercicio 3.2. Resuelve el siguiente problema aplicando el método gráfico.

maximizar 2x1 ` 3x2


sujeto a
x1 ` 2x2 ď 2
´ 6x1 ´ 4x2 ď ´24
x1 , x2 ě 0.

Ejercicio 3.3. Considera el siguiente problema:

minimizar 14x1 ` 2x2


sujeto a
x1 ` 5x2 ě 5
6x1 ` x2 ě 6
´ x1 ` x2 ď 2
x1 ` x2 ě 2
x1 , x2 ě 0.

(a) Dibuja la región factible y calcula 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.

Ejercicio 3.4. Considera el problema

minimizar x1 ` 2x2
sujeto a
´ 4x1 ` x2 ě 2
2x1 ` x2 ě 24
x1 ě 1
x2 ď 40

(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.

Ejercicio 3.5. Considera el problema

minimizar ´3x1 ` x2
sujeto a
4x1 ´ 3x2 ď 4
5x1 ` 2x2 ě 10
x1 ď 5
x2 ď 6
x1 , x2 ě 0.

32
3.6. Ejercicios

(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.

Ejercicio 3.6. Para el Ejercicio 2.2:


(a) Dibuja la región factible de la formulación de OL obtenida, y calcula sus vér-
tices. ¿Es acotada la región factible?
(b) Dibuja una recta de nivel del objetivo, e indica en qué dirección disminuye
su valor.
(c) Determina una solución óptima mediante el método gráfico, y calcula el coste
de la dieta óptima. Indica cuáles son las restricciones críticas.
(d) Supongamos que se modifica ligeramente el coste de una ración del alimento
B, que pasa a ser de 3`∆c2 e/ración. Lleva a cabo un análisis de sensibilidad
con respecto al incremento ∆c2 , e interpreta los resultados.

Ejercicio 3.7. Para el Ejercicio 2.3:


(a) Dibuja la región factible de la formulación de OL obtenida, y calcula sus vér-
tices. ¿Es acotada la región factible?
(b) Dibuja una recta de nivel de la función objetivo, e indica en qué dirección y
sentido aumenta su valor.
(c) Determina una solución óptima mediante el método gráfico, y calcula el be-
neficio obtenido con la solución óptima. Indica cuáles son las restricciones
críticas.
(d) Supongamos que se modifica el beneficio obtenido por unidad del plato B,
que pasa a ser de 45 ` ∆r2 e. Lleva a cabo un análisis de sensibilidad con
respecto al incremento ∆r2 , e interpreta los resultados.

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.

Además, comprobamos empíricamente la validez de tal resultado al resolver


mediante el método gráfico un modelo de OL con dos variables de decisión. En
este capítulo nos ocupamos de la resolución de problemas de OL generales, con
n variables de decisión, que denotaremos por x1 , . . . , xn . Veremos que el Teorema
Fundamental continúa siendo válido en tal contexto, e introduciremos el célebre
método símplex para el cálculo de un vértice óptimo. Este método, diseñado por
el matemático estadounidense G. B. Dantzig (1914–2005) en 1947, ha sido conside-
rado como uno de los diez algoritmos más influyentes del siglo XX.1
Para interpretar correctamente el Teorema Fundamental, debemos aclarar qué
es un vértice de la región factible P de un problema con n variables. En los casos
n ď 3 en que podemos visualizar P , el concepto de vértice es intuitivo. Así, para
n “ 2, un vértice del polígono P es un punto en el que se cruzan dos rectas contiguas
que lo limitan. Para n “ 3, un vértice del poliedro P es un punto en el que se cruzan
tres planos contiguos que lo limitan. Pero ¿qué es un vértice de P en un problema
con n ě 4 variables de decisión?
1
Véase J. Dongarra y F. Sullivan (2000). Guest Editors’ Introduction: The top 10 algorithms, Com-
puting in Science & Engineering, vol. 2, 22–23.

35
4. E L MÉTODO SÍMPLEX

4.2. Formato estándar


Para aclarar qué es un vértice de la región factible en un problema general, y
poder operar de forma sencilla con vértices, nos resultará conveniente considerar
problemas formulados en el llamado formato estándar. Diremos que un problema
de OL está en tal formato si presenta las características indicadas a continuación.

Características de un problema de OL en formato estándar


1. Sus variables de decisión son no negativas.
2. Su objetivo es de tipo “maximizar”.
3. Sus restricciones son de igualdad psalvo las de no negatividad de las variablesq,
con lados derechos no negativos.

Nótese que en otros textos se define el formato estándar de formas alternativas.


A continuación se muestra un problema en formato estándar:

maximizar 5x1 ` 12x2 ` 4x3


sujeto a
x1 ` 2x2 ` x3 “ 10
2x1 ´ x2 ` 3x3 “ 8
x1 , x2 , x3 ě 0.

Si el problema que queremos resolver no está en formato estándar, tenemos


que reformularlo en el mismo. Es decir, debemos transformarlo en un problema
equivalente en formato estándar. Ilustraremos cómo hacerlo mediante el siguiente
ejemplo:

minimizar 4x1 ´ 3x2 ` x3


sujeto a
2x1 ´ x2 ` x3 ě ´10
x1 ` x2 ` 3x3 ď 8
x1 ` 8x2 ´ 4x3 ď ´5
x1 , x2 ě 0.
Para reformularlo en formato estándar, seguiremos el orden 1 (variables de de-
cisión), 2 (objetivo) y 3 (restricciones). Empezando por las variables, observamos
que x1 y x2 cumplen el requisito de ser no negativas, mientras que x3 no la cumple,
ya que no está restringida en signo.

Reformulación de variables no restringidas en signo


Cuando encontremos una variable no restringida en signo, la sustituimos por la di-
ferencia de dos nuevas variables auxiliares no negativas.

36
4.2. Formato estándar

Así, en este caso sustituimos la variable x3 por la diferencia de dos nuevas


variables no negativas, x` ´
3 ´ x3 , tras lo cual obtenemos la reformulación

minimizar 4x1 ´ 3x2 ` x`


3 ´ x´
3
sujeto a
2x1 ´ x2 ` x` 3 ´ x´3 ě ´10
x1 `
` x2 ` 3x3 ´ 3x´ 3 ď 8
x1 ` 8x2 ´ 4x`
3 ` 4x´
3 ď ´5
`
x1 , x2 , x3 , x´
3 ě 0.
Continuemos con la segunda condición del formato estándar, que requiere que
el objetivo sea de tipo “maximizar ”.

Reformulación de un objetivo de tipo “minimizar”


Si el objetivo es de tipo “minimizar”, lo convertimos a un objetivo de tipo “maximi-
zar” cambiando el signo de sus coeficientes.

En este caso, obtenemos la reformulación

maximizar ´4x1 ` 3x2 ´ x`


3 ` x´
3
sujeto a
2x1 ´ x2 ` x` 3 ´ x´ 3 ě ´10
x1 ` x2 ` 3x`3 ´ 3x´
3 ď 8
x1 ` 8x2 ´ 4x`
3 ` 4x´3 ď ´5
x1 , x2 , x`3, x´3 ě 0.
Seguimos con la tercera condición, que requiere que las restricciones sean de
igualdad, con lados derechos no negativos. Comenzamos reformulando las res-
tricciones de desigualdad que aparecen como restricciones de igualdad.

Reformulación de desigualdades como igualdades


Para reformular como igualdad una restricción de tipo “ě”, introducimos una va-
riable de exceso no negativa, que restamos a su lado izquierdo. Para reformular
como igualdad una restricción de tipo “ď”, introducimos una variable de holgura
no negativa, que sumamos a su lado izquierdo.

Así, para la primera restricción introducimos la variable de exceso x4 , y para


las restricciones segunda y tercera introducimos variables de holgura no negativas
x5 y x6 , obteniendo la reformulación

37
4. E L MÉTODO SÍMPLEX

maximizar ´4x1 ` 3x2 ´ x`


3 ` x´
3
sujeto a
2x1 ´ x2 ` x` 3 ´ x´3 ´ x4 “ ´10
x1 ` x2 ` 3x3 ´ 3x´
`
3 ` x5 “ 8
` ´
x1 ` 8x2 ´ 4x3 ` 4x3 ` x6 “ ´5
x1 , x2 , x`3 , x´
3 , x4 , x5 , x6 ě 0.
Finalmente, tenemos que reformular las restricciones de igualdad con lados
derechos negativos como restricciones con lados derechos no negativos. Para ello,
basta con multiplicar la restricción de igualdad por ´1. Aplicando tal procedimien-
to a las restricciones primera y tercera, obtenemos la siguiente formulación que,
finalmente, está en formato estándar:

maximizar ´4x1 ` 3x2 ´ x`


3 ` x´
3
sujeto a
´2x1 ` x2 ´ x` 3 ` x´3 ` x4 “ 10
` ´
x1 ` x2 ` 3x3 ´ 3x3 ` x5 “ 8
´x1 ´ 8x2 ` 4x`
3 ´ 4x´
3 ´ x6 “ 5
` ´
x1 , x2 , x3 , x3 , x4 , x5 , x6 ě 0,
Podemos llevar a cabo el procedimiento anterior en cualquier orden alternati-
vo, obteniendo siempre el mismo resultado final.
Recordemos que, si reformulamos directamente una restricción de desigualdad
con lado derecho negativo, como, p. ej.,
2x1 ´ x2 ` x` ´
3 ´ x3 ě ´10,

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.

4.3. Soluciones básicas factibles y vértices


4.3.1. Problemas con restricciones linealmente independientes
Consideremos un problema general en formato estándar, con n variables de
decisión y m restricciones de igualdad:

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

de manera que x es el n-vector columna de variables de decisión, r es el n-vector


columna de coeficientes del objetivo, b es el m-vector columna de coeficientes del
lado derecho, y A es la matriz m ˆ n de coeficientes del lado izquierdo.
De este modo, el problema anterior se representa en notación matricial como

maximizar rT x
sujeto a
Ax “ b
x ě 0,

donde rT es el vector fila resultante de transponer r, y 0 es el n-vector columna de


ceros.
Además, denotaremos la columna j de la matriz A por
¨ ˛
a1j
aj “ ˝ ... ‚, j “ 1, . . . , n,
˚ ‹

amj

de manera que podemos representarla por columnas como

A “ ra1 ¨ ¨ ¨ an s.

Limitaremos nuestra atención en adelante a problemas de OL en formato es-


tándar que cumplen, además, los siguientes requisitos:
1. Hay menos restricciones que variables: m ă n.
2. Las filas de A son linealmente independientes (l. i.), esto es, rangopAq “ m.
Recordemos de Álgebra Lineal que, en tal caso, entre las n columnas de la
matriz A habrá algún subconjunto de m columnas l. i.
Nótese que, si el problema en formato estándar de interés no cumple alguno de
estos dos requisitos, podemos reformularlo como un problema equivalente que sí
los cumpla.

4.3.2. Bases, variables básicas y soluciones básicas


Consideremos un subconjunto de m columnas l. i. de la matriz A que, para
simplificar la notación, supondremos que corresponde a las m primeras columnas
de A: a1 , . . . , am .
Diremos que tal subconjunto de columnas es una base de A, con variables
básicas x1 , . . . , xm . La solución básica correspondiente para el sistema de ecua-
ciones Ax “ b se obtiene asignando el valor 0 a las restantes variables, xm`1 “

39
4. E L MÉTODO SÍMPLEX

0, . . . , xn “ 0, que denominamos variables no básicas, y resolviendo el sistema


resultante de m ecuaciones lineales en las m variables básicas:

a11 x1 ` ¨ ¨ ¨ ` a1m xm “ b1
.. .. .. ..
. . . .
am1 x1 ` ¨ ¨ ¨ ` amm xm “ bm ,
o, en notación matricial por columnas,

a1 x1 ` ¨ ¨ ¨ ` am xm “ b.

Por resultados de Álgebra Lineal, podemos asegurar que el anterior siste-


ma de ecuaciones lineales tendrá una única solución, que denotamos por x1 “
s
b1 , . . . , xm “ sbm . La solución básica correspondiente es el vector

s “ psb1 , . . . , sbm , 0, . . . , 0q .
T
x

4.3.3. Soluciones básicas factibles y el Teorema Fundamental


Si x
s es una solución básica que satisface, además, las restricciones de no nega-
tividad
sj ě 0, j “ 1, . . . , n,
x
diremos que xs es una solución básica factible (SBF). Las SBFs desempeñan un
papel clave en OL, ya que nos proporcionan la respuesta a la pregunta planteada
al comienzo del capítulo: ¿Qué es un vértice para un problema general (en formato
estándar)?

Vértices en un problema de OL en formato estándar


Los vértices de la región factible de un problema de OL en formato estándar son sus
SBFs.

Por tanto, podemos reformular el Teorema Fundamental de la OL como sigue.

Teorema Fundamental de la OL (reformulado)


Si un problema de OL tiene solución óptima, esta se alcanza en una SBF.

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

maximizar 5x1 ` 12x2 ` 4x3


sujeto a
x1 ` 2x2 ` x3 “ 10
2x1 ´ x2 ` 3x3 “ 8
x1 , x2 , x3 ě 0.
En este caso, m “ 2 y n “ 3. Los vectores r y b y la matriz A son
¨ ˛
5 ˆ ˙ ˆ ˙
˝ ‚ 10 1 2 1
r “ 12 , b “ , A“ ,
8 2 ´1 3
4

mientras que el vector de variables de decisión es


¨ ˛
x1
x “ ˝x2 ‚.
x3

Consideremos las dos primeras columnas de A:


ˆ ˙ ˆ ˙
1 2
a1 “ y a2 “ .
2 ´1

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.

Como la solución es x1 “ 26{5, x2 “ 12{5, obtenemos la solución básica


¨ ˛
26{5
xt1,2u “ ˝12{5‚,
0

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

Como la solución de este es x1 “ 22, x2 “ ´12, la solución básica es


¨ ˛
22
xt1,3u “ ˝ 0 ‚.
´12

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

Vemos que xt2,3u ě 0. Por tanto, xt2,3u es una SBF o vértice.


A continuación resolveremos el problema de OL aplicando el Teorema Fun-
damental. Hemos obtenido que la región factible P de este problema tiene dos
vértices, xt1,2u y xt2,3u . Por tanto, estos son los dos únicos candidatos que tenemos
que considerar para encontrar una solución óptima.
Calculemos el valor del objetivo en cada vértice:
En xt1,2u , el objetivo vale z t1,2u “ 274{5 “ 54.8.
En xt2,3u , el objetivo vale z t2,3u “ 368{7 « 52.57.
Por tanto, como z t1,2u ą z t2,3u , se sigue que, si pudiéramos asegurar que ese
problema tiene solución óptima, esta se alcanzaría en el vértice xt1,2u . En este caso,
es evidente que la región factible P del problema está acotada, ya que es el seg-
mento que une los vértices xt1,2u y xt2,3u . Ahora, recordemos que el Teorema de
los Valores Extremos de Cálculo asegura que una función continua definida sobre
una región compacta (cerrada y acotada) alcanza sus valores extremos (máximo y
mínimo). Por tanto, dicho teorema garantiza la existencia de una solución óptima.
Podemos, pues, concluir que el vértice xt1,2u es una solución óptima (de hecho, la
única), y que el valor óptimo es z ˚ “ z t1,2u “ 274{5 “ 54.8.

4.3.5. Resolución por enumeración completa de vértices


El ejemplo anterior ilustra un procedimiento para resolver un problema de OL
en formato estándar: el método de enumeración completa, que consiste en calcu-
lar el valor del objetivo en cada vértice de su región factible, eligiendo después uno
que dé el mejor valor. Aunque la resolución del ejemplo anterior nos podría llevar

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.

4.4. Introducción al método símplex de Dantzig


G. B. Dantzig, a la sazón empleado como consultor matemático por la U.S. Air
Force en 1946, abordó la tarea de desarrollar un método práctico para calcular so-
luciones óptimas de modelos de OL para la planificación, o programación, de activi-
dades militares (entrenamiento, logística o despliegue de tropas). Dantzig cumplió
su cometido introduciendo en 1947 el método símplex, que aun hoy continúa sien-
do el método más empleado para resolver problemas de OL. El método símplex de
Dantzig constituye un modelo de buen algoritmo, por la elegancia de su diseño, la
simplicidad de las ideas en que se basa, y su efectividad práctica.
La elegancia y simplicidad del método símplex es evidente en la descripción
esquemática mostrada a continuación.

Esquema del método símplex


1. Inicialización: calcular un vértice inicial.
2. Bucle: repetir
3. Aplicar al vértice actual a un test de optimalidad; si este se supera, termi-
nar (ir a 7): concluir que el vértice actual es óptimo.
4. Si no se supera el test, obtener una dirección factible a lo largo de la cual
el objetivo mejore o, al menos, no empeore.
5. Si el objetivo mejora de forma ilimitada a lo largo de dicha dirección, terminar
(ir a 7): concluir que el problema tiene objetivo no acotado.
6. En caso contrario, obtener un vértice adyacente cuyo valor del objetivo sea
mejor o igual que el actual, y volver al paso 3.
7. Terminación: Dar un vértice óptimo, o una semirrecta factible a lo largo de la
cual el objetivo mejore sin límite.

Para desarrollar tal esquema, Dantzig empleó el método clásico de resolución


de ecuaciones lineales mediante eliminación gaussiana.

4.4.1. Descripción del método símplex mediante un ejemplo


Antes de describir el método símplex para un problema general, ilustraremos
cómo se aplica mediante un ejemplo concreto, el problema

43
4. E L MÉTODO SÍMPLEX

maximizar 4x1 ` 3x2


sujeto a
2x1 ` x2 ď 40
x1 ` x2 ď 30
x1 ď 15
x1 , x2 ě 0.

Reformulación en formato estándar


Comenzamos por reformular el problema en formato estándar, introduciendo
variables de holgura x3 , x4 , x5 ě 0:

maximizar 4x1 ` 3x2


sujeto a
2x1 ` x2 ` x3 “ 40
x1 ` x2 ` x4 “ 30
x1 ` x5 “ 15
x1 , x2 , x3 , x4 , x5 ě 0.

Primera tabla símplex, selección de variables básicas y vértice inicial


Nos resultará conveniente organizar los cálculos del método símplex emplean-
do tablas. Para construir la primera tabla símplex, comenzamos a rellenar sus en-
tradas como se indica a continuación:

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.

Selección de una base inicial para la primera tabla


Si entre las columnas de A se encuentran las m columnas (posiblemente desorde-
nadas) de la matrix identidad m ˆ m, tomaremos como variables básicas las que

44
4.4. Introducción al método símplex de Dantzig

correspondan a tales columnas, en el orden correspondiente a dicha submatriz.

Así, elegimos como variables básicas x3 , x4 y x5 , obteniendo el vértice inicial

xt3,4,5u “ p0, 0, 0, 40, 30, 15q T ,

con un valor de z t3,4,5u “ 0 . Incorporamos a la tabla esta información, ampliándola


con una columna a la izquierda rotulada como “VB” (variables básicas):

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

Nótese que la primera tabla representa el siguiente problema de OL:

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

Costes reducidos, test de optimalidad y pivotaje


Los números que aparecen en la fila inferior de la tabla, en las columnas co-
rrespondientes a las variables de decisión, se denominan costes reducidos. Deno-
taremos por scj el coste reducido de la variable xj en a la tabla actual. El vector
(transpuesto) de costes reducidos en la tabla anterior es
cT “ ps
s c1 , s
c2 , s
c3 , s c5 q “ p´4, ´3, 0, 0, 0q.
c4 , s
Observamos que los costes reducidos de las variables básicas valen cero, lo cual debe
cumplirse siempre. Si no fuese así, ello implicaría que hemos cometido algún error.

Costes reducidos de las variables básicas


Los costes reducidos de las variables básicas siempre valen cero.

A continuación, aplicamos a la tabla anterior el siguiente test de optimalidad.

Test de optimalidad para una tabla símplex


Si los costes reducidos en una tabla símplex son no negativos, el vértice co-
rrespondiente es óptimo.

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.

Selección de la variable que entra en la base


Primero seleccionamos la variable que entra en la base, aplicando la siguiente
regla.

Regla del (menor) coste reducido negativo


Para seleccionar la variable que entra en la base, se elige una variable xj con
el menor coste reducido negativo s cj ă 0. También se puede elegir para que
entre en la base cualquier variable con coste reducido negativo.

En el ejemplo, como s c1 “ ´4 “ min p´4, ´3q “ min ps c1 , cs2 q, la variable que


entra en la base será x1 , aunque también sería válido haber elegido x2 .

Selección de la variable que sale de la base


A continuación, seleccionamos la variable que sale de la base —para poder
poner en su lugar la variable que entra— de entre las variables básicas. Para ello,
aplicamos la siguiente regla.

46
4.4. Introducción al método símplex de Dantzig

Regla del menor cociente con denominador positivo


Si xj es la variable que entra en la base, calculamos el cociente sbi {s
aij para cada
aij ą 0, donde s
fila i con s bi es el coeficiente del lado derecho de la fila y s
aij es el
coeficiente del lado izquierdo para esa fila y la columna de xj . Seleccionamos
para salir de la base una variable en cuya fila se alcance el menor de tales
cocientes, resolviendo posibles empates arbitrariamente.

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

En la tabla anterior, hemos añadido una columna a la derecha para calcular


tales cocientes. Vemos que el menor cociente vale 15 y corresponde a la variable
básica x5 . Por tanto, sacamos de la base x5 y ponemos en su lugar x1 , lo cual indi-
camos dibujando un círculo en torno al pivote resultante en la tabla.

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

No hemos calculado el cociente para la tercera fila, que corresponde a la varia-


ble básica x1 , porque el denominador sería s a32 “ 0. El cociente mínimo se alcanza
en la primera fila, para la variable básica x3 , que será la que salga de la base. Tras
pivotar, obtenemos la siguiente tabla:

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

Vemos que el valor del objetivo ha aumentado de 60 a 90.


Nótese que la anterior tabla que hemos obtenido representa el siguiente pro-
blema, que también es equivalente al primero:

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

Nótese que no calculamos el cociente para la primera fila (variable x2 ) ya que


a15 “ ´2 ă 0. La variable que sale de la base será x4 .
s
Tras pivotar, obtenemos la tabla

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

El valor del objetivo ha aumentado de 90 a 100.


La tabla anterior representa el siguiente problema, que también es equivalente
al primero:

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

Determinación de un vértice óptimo


La última tabla sí cumple el test de optimalidad. Podemos así concluir, asegu-
rando que el vértice actual,

xt2,5,1u “ p10, 20, 0, 0, 5q T ,

es óptimo, siendo el valor óptimo del problema z ˚ “ z t2,5,1u “ 100 .

4.4.2. Cálculo directo de la tabla símplex para un vértice


Consideremos una de las tablas símplex calculadas en el ejemplo anterior, p.
ej. la última. Podemos calcular dicha tabla directamente a partir de la tabla inicial,
llevando a cabo los siguientes pasos:
1. Identificamos las variables básicas para la tabla, que en este caso son x2 , x5 , y
x1 , y construimos la base B correspondiente a las mismas en la tabla inicial:
¨ ˛
1 0 2
B “ ˝1 0 1‚.
0 1 1

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

4.4.3. Análisis de sensibilidad para cambios en el objetivo


Podemos utilizar la tabla óptima obtenida para llevar a cabo un análisis de sen-
sibilidad (ver Sección 3.4) con respecto a los coeficientes del objetivo. Así, supon-
gamos que dichos coeficientes se modifican ligeramente, de manera que el nuevo
objetivo es:

max p4 ` ∆r1 qx1 ` p3 ` ∆r2 qx2 ` ∆r3 x3 ` ∆r4 x4 ` ∆r5 x5 .

Calculemos los costes reducidos correspondientes a tales coeficientes modifi-


cados. Para ello, aumentamos la tabla óptima con una fila arriba y una columna
a la izquierda, y procedemos como lo hicimos anteriormente para calcular la fila
inferior en la primera tabla símplex. Obtenemos así la siguiente tabla, en la que
hemos omitido las columnas correspondientes a las variables básicas, ya que sus
costes reducidos valdrán 0:

´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,

c3 “ 1 ` ∆r1 ´ ∆r2 ´ ∆r3 ´ ∆r5 , s


s c4 “ 2 ´ ∆r1 ` 2∆r2 ´ ∆r4 ` ∆r5 ,

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

Incrementos admisibles para el coeficiente del objetivo de una varia-


ble no básica
El rango de incrementos admisibles ∆rj para el coeficiente del objetivo de
una variable no básica xj con coste reducido s
cj en una tabla óptima es: ∆rj ď
cj .
s

4.4.4. Visualización del método símplex


El método símplex procede saltando de un vértice a otro adyacente mejor (o al
menos no peor) que este. En el problema del ejemplo, podemos visualizar las itera-
ciones del método símplex como se muestra a continuación. La Figura 4.1 muestra
la región factible del problema, en el plano de las variables originales, x1 y x2 . La
Figura 4.2 muestra el vértice inicial con el que se inicializa el método símplex. Las
Figuras 4.3–4.5 muestran los resultados de los tres pivotajes. Finalmente, la Figura
4.6 muestra el vértice óptimo.

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.

4.5. Problemas con objetivo no acotado


El ejemplo más sencillo de problema con objetivo no acotado es:

maximizar x
sujeto a
x ě 0.

La región factible de este problema es la semirrecta no negativa x ě 0. Esta tiene


un único vértice, dado por el origen x “ 0. Sin embargo, para cualquier solución
factible (p. ej., x “ 5) podemos encontrar otra mejor (p. ej. x “ 6) y, por tanto,
ninguna solución factible es óptima. Decimos que este problema tiene un objetivo
no acotado, con valor z ˚ “ 8.

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).

Si un problema tiene un objetivo no acotado, ello implica que su región factible


es no acotada. Sin embargo, puede ocurrir que un problema cuya región factible
sea no acotada tenga solución óptima, como ilustra el siguiente ejemplo:

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

aij ą 0. Esto nos lleva


filas i con denominadores positivos en la columna j, esto es, con s
a plantearnos la pregunta: ¿Y si, después de haber determinado qué variable entra
en la base, no podemos determinar qué variable sale de la base, porque no hay
ningún denominador positivo en la columna en cuestión? En tal caso, podemos
afirmar que el problema es no acotado.

Test de No Acotación del Objetivo


Si en una tabla obtenemos una variable xj con coste reducido scj ă 0 y s
aij ď 0
para cada fila i, concluimos que el problema tiene objetivo no acotado.

Nótese que en este test no es necesario considerar la columna de la variable


dada por la regla del menor cociente con Denominador Positivo, sino que es válido
emplear cualquier variable con coste reducido negativo.

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

A continuación, completamos la tabla calculando la fila inferior, que se obtiene


multiplicando cada fila en la tabla anterior por su coeficiente en el lado izquierdo,
y sumando las filas resultantes:

´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

Así, el vértice inicial correspondiente tiene un valor de 0 . Para aplicar el mé-


todo símplex a esta tabla, comenzaríamos por determinar qué variable entraría en
la base en el siguiente pivotaje: seleccionaríamos la variable x3 , ya que es la única
cuyo coste reducido es negativo. A continuación trataríamos de determinar qué
variable ha de salir de la base, aplicando la regla del menor cociente con denomi-
nador positivo:

´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.

4.5.2. Cálculo de una semirrecta con objetivo no acotado


El método símplex no solo nos permite detectar que el objetivo de un problema
es no acotado. Además, podemos utilizar la información dada por una tabla que
indica no acotación para construir una semirrecta factible a lo largo de la cual el
objetivo diverge.
Ilustraremos cómo construir tal semirrecta a partir de la tabla símplex del ejem-
plo anterior. En primer lugar, identificamos las variables básicas en la tabla que
cumple el test de no acotación: en el ejemplo, x1 y x2 . A continuación, identifica-
mos la variable con coste reducido negativo que entraría en la base, en este caso
x3 , así como el vector columna correspondiente de coeficientes del lado izquierdo
para dicha variable, ˆ ˙
´3
s3 “
a .
´5
Además, identificamos el vector columna de coeficientes del lado derecho de la
tabla, ˆ ˙
s 5
b“ .
8
A continuación, formulamos las ecuaciones paramétrica que determinan la semi-
rrecta buscada, en función de un parámetro no negativo λ ě 0:

Ecuaciones paramétricas de una semirrecta factible a lo largo de la


cual el objetivo diverge
Si en una tabla hay una variable xj con coste reducido s cj ă 0 y con s
aij ď 0
para cada fila i, obtenemos como sigue las ecuaciones paramétricas de una
semirrecta factible a lo largo de la cual el objetivo diverge:
1. Ecuaciones para las variables básicas: igualamos las variables básicas —
en el orden en que aparecen en la columna VB de la tabla— al vector

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.

En el ejemplo, tenemos que


ˆ ˙ ˆ ˙ ˆ ˙
x2 5 ´3
“ ´λ ,
x1 8 ´5

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.

4.6. Justificación teórica del método símplex


En las secciones anteriores hemos visto cómo aplicar el método símplex en
ejemplos concretos. A continuación abordamos la justificación teórica de las reglas
de operación de dicho método dadas más arriba, a partir de argumentos elemen-
tales de Álgebra Lineal.
Consideremos un problema general en formato estándar,

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

Descomposición por bloques correspondiente a una base


Supongamos, para simplificar la notación, que las m primeras columnas de
la
“ matriz A forman
‰ una base, que da lugar a un vértice x
s. Denotamos
“ por B‰ “
a1 ¨ ¨ ¨ am la submatriz básica m ˆ m de A, y por N “ am`1 ¨ ¨ ¨ an la
submatriz no básica m ˆ pn ´ mq formada por las columnas no “ básicas
‰ de A.
Así, descomponemos por bloques la matriz A como A “ B N . Del mismo
modo, descomponemos los vectores r y x como
ˆ ˙ ˆ ˙
rB xB
r“ , x“
rN xN

donde
¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛
r1 rm`1 x1 xm`1
rB “ ˝ ... ‚, “ ˝ ... ‚, xB “ ˝ ... ‚, “ ˝ ... ‚.
˚ ‹ ˚ ‹ ˚ ‹ ˚ ‹
rN xN
rm rn xm xn

A continuación, reformulamos el problema en términos de esta descomposi-


ción, como
maximizar rTB xB ` rTN xN
sujeto a
BxB ` NxN “ b
xB ě 0
xN ě 0.
Consideremos ahora la ecuación vectorial BxB `NxN “ b. Como las columnas
(y las filas) de la submatriz básica B son l. i., sabemos que B es invertible. Por tanto,
podemos premultiplicar dicha ecuación vectorial por su inversa, B´1 , obteniendo
la ecuación equivalente
xB ` B´1 NxN “ B´1 b. (4.3)
Escriberemos en adelante As “ B´1 A, Bs “ B´1 B “ I (la matriz identidad),
s “ B´1 N, y b
N s “ B´1 b ě 0. Así, podemos reformular (4.3) como

s N “ b.
xB ` Nx s (4.4)

Por otra parte, a partir de (4.4) podemos despejar xB , representándolo en tér-


minos de xN como
xB “ bs ´ Nx
s N.

Ahora, sustituyendo xB en el objetivo del problema usando la última expresión,


podemos representarlo como
` ˘ ` ˘
rT xB ` rT xN “ rT bs ´ Nx
s N ` rT xN “ rT bs ´ rT N
s ´ rT xN “ zs ´s
cT xN , (4.5)
B N B N B B N N

s es el valor del objetivo en el vértice x


donde zs “ rTB b s, y s s ´ rT .
cTN “ rTB N N

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

Estructura de la tabla símplex para una base


A partir de estos elementos, podemos representar la estructura de la tabla para
la base B:
VB T
xB xNT
LD
xB I Ns s
b
z 0 s
cTN zs

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

ya que scTN ě 0 y xN ě 0. Así, la desigualdad en (4.7) implica que ninguna solu-


ción factible del problema puede superar el valor zs del objetivo alcanzado en el
vértice x
s actual, lo cual implica que este es óptimo. Este sencillo argumento de-
muestra la validez del test de optimalidad para el vértice actual, que repetimos a
continuación.

Test de optimalidad para una tabla símplex


Si los costes reducidos en una tabla símplex son no negativos, el vértice co-
rrespondiente es óptimo.

59
4. E L MÉTODO SÍMPLEX

Interpretación económica de los costes reducidos


Supongamos que el vértice actual supera el test de optimalidad. Considere-
mos la siguiente cuestión: ¿Cuál es la interpretación económica del coste reducido
cj ě 0 de una variable no básica xj ? La clave de la respuesta nos la proporciona la
s
identidad en (4.7), que indica que el valor del objetivo en una solución factible x se
puede representar como
ÿ
rT x “ zs ´ s
cj xj .
j : xj es no básica

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.

Reglas de entrada y salida de variables, y el test de no acotación


Supongamos ahora que el vértice actual no cumple el test de optimalidad, ya
que el coste reducido de alguna de sus variables no básicas, digamos xj , es ne-
cj ă 0. En tal caso, tratamos de construir una dirección factible, a partir
gativo: s
del vértice actual, a lo largo de las cuales el objetivo mejore. Para ello, comenzamos
por construir una dirección d s tal que las soluciones x
spλq generadas por la ecuación
vectorial paramétrica
spλq “ x
x s λ ě 0,
s ` λd, (4.8)
cumplan: (i) que el valor del objetivo mejore cuando el parámetro no negativo
λ ě 0 aumente; y (ii) que dichas soluciones sean factibles para algún intervalo de
valores de λ, digamos para 0 ď λ ď λ,s con λ s ą 0. Diremos que una dirección d
s que
cumple ambos requisitos es una dirección factible de mejora.
Para construir una dirección d s “ pdsi qn que cumpla (i) y (ii) sabiendo que el
i“1
coste reducido de la variable no básica xj es s
cj ă 0, descomponemos d s por bloques
como ˆ ˙
s
d
s
d “ sB ,
dN
y definimos ds B “ ´s aj , dsj “ 1, y dsk “ 0 si xk es una variable no básica con k ‰ j.
Comprobemos que d s es una dirección de mejora. Para ello, calculamos el valor
del objetivo en la solución x spλq “ x s para λ ą 0:
s ` λd,

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,

donde la última desigualdad se cumple porque s cj ă 0 y λ ą 0. Esto demuestra


s
que, efectivamente, d es una dirección de mejora a partir del vértice actual, x
s.

60
4.6. Justificación teórica del método símplex

El resultado anterior nos da la justificación teórica de la regla del (mínimo)


coste reducido negativo para determinar qué variable entra en la base: podemos
seleccionar cualquier variable cuyo coste reducido sea negativo, ya que nos pro-
porcionará una dirección de mejora del objetivo.
A continuación, determinamos el mayor intervalo de valores del parámetro no
negativo λ para los que la solución x spλq “ x s ` λds es factible. En cuanto a las
restricciones de igualdad Ax “ b, tenemos que, para cualquier valor de λ,
` ˘ ` ˘ ` ˘
Asxpλq “ A x s “ As
s ` λd x ` λ Ads “ b ` λ Bd s B ` Nd
s N “ b ` λ ´ Bs aj ` aj
“ b,

donde hemos aplicado que a sj “ B´1 aj y, por tanto, aj ´ Bs aj “ 0.


Así, las restricciones que pueden limitar el rango de valores del parámetro λ ě
0 para los que la solución x spλq “ xs `λd s es factible son las de no negatividad, x ě 0.
Tenemos que distinguir tres casos: en el primero, para variables xi no básicas con
i ‰ j, tenemos que x si “ 0 y dsi “ 0, por lo que x si pλq “ 0; en el segundo caso, para
la variable no básica xj , tenemos que x sj “ 0 y dsi “ 1, por lo que xj pλq “ λ ě 0;
finalmente, en el tercer caso, para cada variable básica xi tenemos que x si “ sbi y
s
di “ ´s aij , por lo que x s
si pλq “ bi ´ λsaij .
Así, vemos que el rango de valores del parámetro λ ě 0 para los que la solución
spλq es factible está determinado por las desigualdades
x
sbi ´ λs
aij ě 0, i “ 1, . . . , m. (4.10)

Por tanto, hay dos posibilidades:


1. Si s
aij ą 0 para alguna fila i de la tabla actual,“el rango‰ buscado de valores
s
válidos del parámetro λ será el intervalo finito 0, λ , con
! )
s “ sbı̂ {s
λ aı̂j , y ı̂ P arg min sbi {s
aij : 1 ď i ď m, s
aij ą 0 . (4.11)

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

Análisis de sensibilidad para cambios en los coeficientes del objetivo


Supongamos que el vértice actual es óptimo, y que se modifican ligeramente
los coeficientes del objetivo, siendo rj ` ∆rj el nuevo coeficiente para la variable
xj . Consideremos la cuestión: ¿Para qué rango de incrementos continúa siendo
óptimo el vértice actual?
Para responder, tenemos que calcular los costes reducidos para las variables
no básicas correspondientes a tales coeficientes modificados. Aplicando la fórmula
(4.6), obtenemos que el subvector ĉTN de tales costes reducidos estará dado por

` ˘ ` ˘
ĉ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

es el vector de incrementos en los coeficientes.


Por tanto, se cumplirá el test de optimalidad para los coeficientes modificados
si y solo si los incrementos satisfacen
s ďs
∆rTN ´ ∆rTB N cTN . (4.12)

En particular, para el caso en que solo consideremos incrementos ∆rj en el


coeficiente del objetivo para una variable no básica xj , obtenemos de (4.12) que el
intervalo de incrementos admisibles es

∆rj ď s
cj . (4.13)

Análisis de sensibilidad para cambios en el lado derecho


Supongamos que el vértice actual es óptimo, y que se modifican ligeramente
los coeficientes del lado derecho, siendo pbi “ bi ` ∆bi el nuevo coeficiente del
lado derecho para la restricción i. Consideremos la cuestión: ¿Para qué rango de
incrementos continúa siendo óptimo el vértice actual?
Para responder, tenemos que considerar la tabla que resulta de modificar tales
coeficientes, a partir de la tabla óptima. El vector en el lado derecho de la tabla
modificada será b p “ B´1 pb ` ∆bq, donde b es el m-vector con componentes bi ,
y ∆b es el m-vector con componentes ∆bi , para i “ 1, . . . , m. Claramente, para
que la tabla modificada sea óptima bastará con que sea factible, esto es, que los
coeficientes de su lado derecho sean no negativos:

p “ B´1 pb ` ∆bq ě 0.
b

62
4.7. Ejercicios

4.7. Ejercicios
Ejercicio 4.1. Considera el problema

z ˚ “ maximizar 2x1 ´ 2x2 ` 3x3


sujeto a
x1 ` x2 ` x3 “ 4
´x1 ` 3x2 ě 4
x1 , x2 , x3 ě 0.

(a) Justifica que el punto x0 “ p2, 2, 0qT es un vértice factible.


(b) Encuentra todos los vértices del problema, probando todas las combinacio-
nes posibles de variables básicas y no básicas.
(c) Determina cuál es el mejor vértice, y cuál es la solución óptima del problema.
(d) Elimina la variable x3 del problema, sustituyéndola por su valor en términos
de x1 y x2 , i.e. x3 “ 4 ´ x1 ´ x2 . Así, reformula el problema utilizando solo
las variables x1 y x2 .
(e) Resuelve gráficamente el problema reformulado obtenido en (d).

Ejercicio 4.2. Resuelve el siguiente problema utilizando el método símplex, expli-


cando cada paso:

z ˚ “ mı́n 12x1 ´ 10x2 ´ 30x3


sujeto a
´3x1 ` 2x2 ` 8x3 ď 17
´x1 ` x2 ` 3x3 ď 9
´2x1 ` x2 ` 8x3 ď 16
x1 , x2 , x3 ě 0.

63
Capítulo 5

El método símplex en dos fases

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.

5.2. Fase I del método símplex: un ejemplo


En lugar de explicar la Fase I del método símplex en general, lo ilustramos con
un ejemplo. Consideremos el problema

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

Comenzamos por reformularlo en formato estándar, introduciendo una varia-


ble de exceso x4 y una variable de holgura x5 para las restricciones primera y se-
gunda, respectivamente. Obtenemos así el problema equivalente

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

no contiene una submatriz identidad, por lo que no podemos obtener directamente


un vértice inicial.

El problema auxiliar de la Fase I


A continuación, formulamos un problema auxiliar, para el que será trivial obte-
ner un vértice inicial.

Cómo formular el problema auxiliar de la Fase I:


1. Identificamos las columnas originales de la matriz A que podemos
aprovechar para obtener una submatriz identidad.
2. Extendemos la matriz A, introduciendo las columnas auxiliares que fal-
tan para completar una submatriz identidad, junto con las correspon-
dientes variables artificiales. Así obtenemos la matriz ampliada A. p
3. Modificamos el objetivo original, sustituyéndolo por el siguiente objeti-
vo artificial: minimizar la suma de las variables artificiales, que reformulamos
como un objetivo de tipo “maximizar”.

En el ejemplo, vemos que solo podemos aprovechar la columna a5 de A, que es


la segunda columna de la matriz identidad 4 ˆ 4. Por tanto, ampliamos la matrix
A añadiendo las columnas primera, tercera y cuarta de la matriz identidad 4 ˆ 4,
para obtener la matriz ampliada
¨ ˛
1 1 1 ´1 0 1 0 0
“ ‰ ˚ 0 1 0 1 0 0 0‹
p “ a1 a2 a3 a4 a5 a6 a7 a8 “ ˚ 0 ‹
A ˝´1 1 1 0 0 0 1 0‚.
2 ´1 2 0 0 0 0 1

66
5.2. Fase I del método símplex: un ejemplo

Denotamos por x6 , x7 y x8 las variables artificiales correspondientes a las co-


lumnas auxiliares a6 , a7 y a8 . Por tanto, las restricciones del problema auxiliar son:

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.

A continuación, formulamos el objetivo artificial

minimizar x6 ` x7 ` x8 ,

y lo reformulamos como un objetivo equivalente de tipo “maximizar”:

maximizar ´x6 ´ x7 ´ x8 .

De este modo, formulamos el problema auxiliar de la Fase I como

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:

Los dos posibles casos de terminación de la Fase I:


1. Caso 1: z I “ 0. Encontramos una solución óptima en la que las variables
artificiales se anulan. Entonces, la tabla óptima del problema auxiliar
nos da un vértice inicial para el problema original. Para continuar con
la Fase II, eliminamos las variables artificiales de la tabla final de la Fase
I, e incorporamos el objetivo original, modificando la última fila.
2. Caso 2: z I ‰ 0. Entonces, hemos encontrado una solución óptima para
el problema auxiliar en la que alguna de las variables artificiales no se
anula, por lo que concluimos que el problema original es no factible.

67
5. E L MÉTODO SÍMPLEX EN DOS FASES

Resolución del problema auxiliar mediante el método símplex


A continuación, resolveremos el problema auxiliar aplicando el método sím-
plex. Para construir la primera tabla, comenzamos por preparar la tabla ampliada
con los coeficientes del objetivo artificial:

´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

Después, calculamos la fila inferior, multiplicando cada fila por su coeficiente


en el lado izquierdo, y sumando las filas resultantes, con lo cual obtenemos la tabla
inicial

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

Vemos que no se supera el test de optimalidad, ya que las variables x1 , x2 y x3


tienen costes reducidos negativos. Aplicando la regla del (menor) coste reducido
negativo, obtenemos que la variable x3 entraría en la base.
Para determinar qué variable saldría de la base, calculamos los cocientes reque-
ridos por la regla del menor cociente con denominador positivo, como se muestra
a continuación:

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

Observamos que el menor cociente tiene un valor de cero, y se alcanza tanto


en la tercera como en la cuarta fila. En tales casos de empate, podemos elegir cual-
quiera de las filas en las que se alcanza el mínimo. En este caso, seleccionamos la
tercera fila, con lo que la variable x7 saldrá de la base. Hemos marcado en la tabla
de más arriba el pivote correspondiente.
A continuación pivotamos, como vimos en el Capítulo 4, obteniendo la siguien-
te tabla:

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

Notemos que el valor del objetivo no ha aumentado. Aquellos pivotajes en los


que el valor del objetivo no cambia se denominan degenerados. Se producen cuando
el menor cociente que determina la variable que sale de la base vale cero.
Vemos que esta tabla tampoco cumple el test de optimalidad, ya que la variable
x1 tiene coste reducido negativo: ´6. Como x1 es la única variable en tal situación,
será la que entre en la base. Para determinar qué variable sale de la base, calcula-
mos los cocientes requeridos, como se muestra en la siguiente tabla:

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

Esta tabla es óptima y concluye la Fase I. Observamos en ella que la solución


óptima obtenida del problema auxiliar tiene una variable artificial positiva, x˚6 “
100, y que z I “ ´100 ă 0. Por tanto, se sigue que no podemos eliminar las variables
artificiales del problema auxiliar, por lo que concluimos que el problema original es no
factible.

5.3. Fase I del método símplex: otro ejemplo


Consideremos el problema

maximizar 5x1 ` 8x2 ` 12x3


sujeto a
x1 ` x2 ` x3 ě 100
x3 ď 5
´x1 ` x2 ` x3 “ 0
x1 ´ x2 ` x3 “ 0
x1 , x2 , x3 ě 0.
Comenzamos por reformularlo en formato estándar, introduciendo una varia-
ble de exceso x4 y una variable de holgura x5 para la primera y la segunda restric-
ción, respectivamente. Obtenemos así el problema reformulado en formato están-
dar:

maximizar 5x1 ` 8x2 ` 12x3


sujeto a
x1 ` x2 ` x3 ´ x4 “ 100
x3 ` x5 “ 5
´x1 ` x2 ` x3 “ 0
x1 ´ x2 ` x3 “ 0
x1 , x2 , x3 x4 x5 ě 0.
Observamos que la matriz de coeficientes 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‚,

1 ´1 1 0 0

70
5.3. Fase I del método símplex: otro ejemplo

no contiene una submatriz identidad, por lo que no podemos obtener directamente


un vértice inicial.

Construcción del problema auxiliar


Procediendo como en el ejemplo anterior, vemos que solo podemos aprovechar
la columna a5 de A, que es la segunda columna de una matriz identidad 4 ˆ 4. Así,
extendemos la matrix A añadiendo las columnas primera, tercera y cuarta de la
matriz identidad, para obtener la matriz ampliada
¨ ˛
1 1 1 ´1 0 1 0 0
“ ‰ ˚ 0 1 0 1 0 0 0‹
p “ a1 a2 a3 a4 a5 a6 a7 a8 “ ˚ 0 ‹
A ˝´1 1 1 0 0 0 1 0‚.
1 ´1 1 0 0 0 0 1

Denotamos por x6 , x7 y x8 las variables artificiales correspondientes a las co-


lumnas auxiliares a6 , a7 y a8 . Por tanto, las restricciones del problema auxiliar son:

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.

A continuación, comenzamos formulando el objetivo artificial como

minimizar x6 ` x7 ` x8 ,

y lo reformulamos como un objetivo de tipo “maximizar”:

maximizar ´x6 ´ x7 ´ x8 .

Así, el problema auxiliar de la Fase I es:

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.

Resolución del problema auxiliar


Tras el trabajo realizado, estamos preparados para resolver el problema auxiliar
aplicando el método símplex. Comenzamos por escribir la tabla ampliada con los
coeficientes del objetivo, como se explicó más arriba:

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

Vemos que no se supera el test de optimalidad, ya que las variables x1 , x2


y x3 tienen costes reducidos negativos. Aplicamos la regla del (mínimo) cos-
te reducido negativo para determinar qué variable entra en la base. Así, como
´3 “ minimizar t´1, ´1, ´3u, obtenemos que la variable x3 entraría en la base.
Para determinar qué variable saldrá de la base, calculamos los cocientes reque-
ridos por la regla del menor cociente con denominador positivo, como se muestra
a continuación:

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

Observamos que el menor cociente tiene un valor de cero, y se alcanza tanto en


la tercera como en la cuarta fila. En este caso, seleccionamos la tercera fila, con lo
que la variable x7 saldrá de la base. Tras pivotar, obtenemos la siguiente tabla:

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

Así, vemos que la variable x6 saldrá de la base. Tras el correspondiente pivotaje,


que esta vez será no degenerado, obtenemos la tabla

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

con variables básicas x2 , x5 , x3 y x1 , que utilizamos para construir la primera tabla


de la Fase II.

5.4. Cómo construir la tabla inicial de la Fase II


Ilustramos con el ejemplo anterior cómo construir la tabla inicial de la Fase II
a partir de la tabla final de la Fase I. Comenzamos por eliminar de la tabla las
columnas correspondientes a las variables artificiales (x6 , x7 y x8 ), y borrar las
entradas de la fila inferior para el objetivo:

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

A continuación, nos proponemos calcular la fila inferior de la tabla (costes re-


ducidos y valor del objetivo) para el vértice inicial. Para ello, ampliamos la tabla
anterior con una columna a la izquierda y una fila arriba, que contienen los coefi-
cientes del objetivo original (5x1 ` 8x2 ` 12x3 ) para las variables correspondientes.
Además, ampliamos la fila superior con un coeficiente ´1 en la esquina superior
izquierda, y un 0 en la esquina superior derecha:

´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

A partir de la tabla ampliada anterior, calculamos los coeficientes de la fila in-


ferior llevando a cabo la siguiente operación por filas: multiplicamos cada fila por
su coeficiente en el lado izquierdo, y sumamos las filas resultantes. así obtenemos
la tabla inicial de la Fase II:

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

Resolución del problema auxiliar de la Fase II


En este ejemplo, vemos que la tabla inicial de la Fase II no cumple el criterio
de optimalidad, ya que hay una variable (x4 q cuyo coste reducido es negativo. esta
sería la variable que habráa de entrar en la base.
Para determinar qué variable habráa de salir de la base, tratamos de calcular
los cocientes correspondientes:

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

Así, comprobamos que no podemos calcular ningún cociente, ya que no hay


ninguno cuyo denominador sea positivo. Podemos, pues, afirmar que el problema
original es no acotado.

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):

minimizar x1 ` x2 ´ 2x3 ´ x4 ` 2x5


sujeto a
2x1 ` x2 ´ x3 ` x4 ´ x5 “ 1
x1 ` x2 ´ x3 ´ x4 ` 2x5 ě ´2
´ x1 ` x2 ` x3 ´ x4 ´ x5 ě 0
x1 , x2 , x3 , x4 , x5 ě 0.

75
5. E L MÉTODO SÍMPLEX EN DOS FASES

Ejercicio 5.3. Para el problema

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.

Ejercicio 5.4. Considera el problema

maximizar 3x1 ` 3x2 ´ x3


sujeto a
x1 ` 2x2 ` 2x3 ě 1
x1 ` x2 ď 2
´ x2 ` 2x3 ě ´1
x1 , x2 , x3 ě 0.

(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.

Ejercicio 5.5. Considera el problema

maximizar 2x1 ` 3x2


sujeto a
x1 ` 2x2 ď 2
´ 6x1 ´ 4x2 ď ´24
x1 , x2 ě 0.

(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

Ejercicio 5.6. Considera el siguiente problema:

minimizar 3x1 ` 2x2


sujeto a
x1 ` x2 ě 3
2x1 ` 3x2 ě 5
x1 , x2 ě 0.

(a) ¿Se puede resolver el problema aplicando el método símplex directamente o


es necesario emplear algún método auxiliar del símplex? Justifica tu respues-
ta.
(b) Resuelve el problema empleando el método símplex y/o el método auxiliar
que has indicado en el apartado (a). Indica cuál es el punto óptimo y el valor
óptimo, en caso de que existan.

77
Capítulo 6

Modelos de flujo óptimo en redes

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

6.2. El modelo del transporte


6.2.1. Descripción
El modelo del transporte es uno de los modelos más sencillos de flujo en redes.
Fue formulado por primera vez por Frank L. Hitchcock en 1941.
Imaginemos que una empresa ha de transportar un producto de un conjun-
to M “ t1, . . . , mu de orígenes, p. ej., centros de producción, a un conjunto
N “ t1, . . . , nu de destinos, p. ej., puntos de venta. En la Figura 6.1 se muestra
un ejemplo de la red de transporte correspondiente al caso m “ 3 y n “ 2, repre-
sentada como un grafo orientado. En este, las rutas de transporte de cada origen
a cada destino se representan como arcos orientados.
Cada origen i P M tiene un suministro ai , que es la cantidad de producto
de que dispone. Cada destino j P N tiene una demanda bj , que es la cantidad
de
ř productořque requiere. Para que el problema tenga sentido, supondremos que
iPM ai ě jPN bj . Para cada ruta o arco i Ñ j se da su coste de transporte por
unidad, que denotamos por cij . Dados estos datos, el modelo del transporte con-
siste en encontrar un plan de transporte factible que satisfaga la demanda con un
coste mínimo.
orígenes arcos/rutas destinos

a1 1
c11
x11
1 b1
suministro demanda
a2 2

2 b2

a3 3

Figura 6.1: Modelo del transporte.

6.2.2. Formulación de OL y propiedad de integralidad


Podemos formular el modelo del transporte como un problema, con los si-
guientes elementos:
1. Variables de decisión: xij “ número de unidades de producto transportadas
del origen i al destino j, para i P M , j P N .
2. Objetivo: minimizar el coste total de transporte, esto es,
ÿ ÿ
minimizar cij xij .
iPM jPN

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.

Propiedad de integralidad del modelo del transporte


Si los datos de suministro ai y de demanda bj son números enteros, enton-
ces el modelo del transporte tiene una solución óptima entera.

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

Así, podemos formular el correspondiente problema de transporte como

minimizar 80.20x11 ` 215.85x12 ` 100.34x21 ` 108.68x22 ` 102.39x31


` 68.72x32
sujeto a
origen # 1: x11 ` x12 ď 1000
origen # 2: x21 ` x22 ď 1500
origen # 3: x31 ` x32 ď 1200
destino # 1: x11 ` x21 ` x31 “ 2300
destino # 2: x12 ` x22 ` x32 “ 1400
xij ě 0.

81
6. M ODELOS DE FLUJO ÓPTIMO EN REDES

Al resolver el problema con Solver, obtenemos la solución óptima con x˚11 “


1000, x˚21 “ 1300, x˚22 “ 200, x˚32 “ 1200, y x˚ij “ 0 en los demas casos, que propor-
ciona el plan de transporte óptimo, con un coste de 314842 .

6.3. El modelo del flujo de coste mínimo


6.3.1. Descripción
El siguiente modelo de flujo que estudiamos modeliza una red de distribución
de un producto. Tal red se representa como un grafo orientado G “ pN, A q, donde
N “ t1, . . . , nu es un conjunto de nodos, y A es un conjunto de arcos orientados
que unen algunos pares de nodos. La Figura 6.2 muestra un ejemplo ilustrativo,
con una red que tiene como conjunto de nodos N “ t1, . . . , 6u, y como conjunto de
arcos
A “ tp1, 2q, p1, 3q, p1, 4q, p2, 3q, p2, 5q, p3, 4q, p3, 5q, p4, 6q, p5, 6qu.
Notemos que tenemos quesignado por pi, jq el arco que va del nodo i al j, que
representamos por un arco orientado con una flecha en la figura.
Cada nodo i de la red tiene asociado un dato bi que representa su suministro
neto de producto, es decir, la diferencia entre la cantidad de producto que ha de
salir del nodo menos la que ha de entrar. Clasificamos los nodos en tres tipos, según
el signo de su dato de suministro neto: diremos que el nodo i es
un nodo origen si bi ą 0; en tal caso, bi es la cantidad de producto que parte
del nodo, que representa un centro de salida de producto, p. ej., un centro de
producción;
un nodo intermedio si bi “ 0; en tal caso, el nodo representa un centro de
almacenamiento de producto;
un nodo destino si bi ă 0; en tal caso, ´bi es la cantidad de producto que ha
de recibir el nodo, esto es, su demanda; el nodo representa en este caso un
centro de demanda de producto, p. ej., un punto de venta.
Supondremos que el suministro neto total es cero:
n
ÿ
bi “ 0.
i“1

En otras palabras: toda la producción se consume.


Así, en la red mostrada en la Figura 6.2, los nodos 1, 2 y 3 son nodos origen,
mientras que los 4, 5 y 6 son nodos destino. No hay nodos intermedios en esta red.
Además, p. ej., el nodo 2 produce 200 unidades de producto, mientras que el nodo
6 demanda 120 unidades.
En las redes de distribución ocurre a menudo que las capacidades de transporte
están limitadas. Ello motiva la incorporación al modelo de un límite inferior ℓij y un
límite superior uij en la capacidad de cada arco pi, jq P A de la red: la cantidad de
producto transportada en cada arco, o flujo, ha de estar comprendida entre ambos
límites. En la red de la Figura 6.2 se muestra al lado de los arcos p1, 4q, p3, 4q y
p4, 6q sus capacidades inferior y superior respectivas, dadas como un par pℓij , uij q.
P. ej., la capacidad del arco p1, 4q tiene un límite inferior de 50 unidades y un límite
superior de 80 unidades. En los arcos pi, jq en que no aparecen tales límites, se

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.

6.3.2. Formulación de OL y propiedad de integralidad


Podemos formular el modelo del flujo de coste mínimo como un problema,
como se indica a continuación:
1. Variables de decisión: xij “ cantidad de producto transportada por el arco (o
flujo del arco) pi, jq P A
2. Objetivo: minimizar el coste total de transporte,
ÿ
minimizar cij xij .
pi,jqPA

3. Restricciones:
Balance del flujo en el nodo i:
ÿ ÿ
xij ´ xji “ bi , i P N.
jPN : pi,jqPA jPN : pj,iqPA

Capacidad superior en el arco pi, jq: xij ď uij , pi, jq P A .

83
6. M ODELOS DE FLUJO ÓPTIMO EN REDES

Capacidad inferior en el arco pi, jq: xij ě ℓij , pi, jq P A .


No negatividad: xij ě 0, pi, jq P A .
En tal formulación, las restricciones más importantes son las restricciones de
balance del flujo en cada nodo i P N de la red:
ÿ ÿ
xij ´ xji “ bi . (6.1)
jPN : pi,jqPA jPN : pj,iqPA

Aunque a primera vista pudieran parecer complejas, tales restricciones son


muy sencillas e intuitivas. Para entenderlas, fijemos nuestra atención en un nodo
de la red mostrada en la Figura 6.2, p. ej., el nodo i “ 3. Para este nodo, podemos
escribir el primer sumatorio en la fórmula (6.1) como
ÿ
xij “ x34 ` x35 .
jPN : pi,jqPA

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

x34 ` x35 ´ x13 ´ x23 “ 50.

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

x34 ` x35 “ 50 ` x13 ` x23 ,

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

Propiedad de integralidad del modelo del flujo de coste míni-


mo:
Si los datos de suministro neto bi y de límites de capacidad ℓij y uij
son enteros, entonces la formulación de OL del modelo del flujo de
coste mínimo tiene una solución óptima entera.

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.

6.3.3. Formulación matricial


La forma que hemos visto hasta ahora de escribir las restricciones de balance
del flujo resulta sencilla de llevar a cabo para una persona, a partir de la obser-
vación de un gráfico de la red. Sin embargo, claramente tal procedimiento no es
adecuado cuando tratamos de implementar la formulación en un programa infor-
mático, como Excel. Para superar tal limitación, encontramos útil representar la
formulación anterior en notación matricial.
En primer lugar, necesitamos una forma numérica de representar la estructura
de la red en cuestion. Para ello, empleamos la matriz de incidencia nodo-arco
asociada a la red. Esta matriz, que designamos por A, tiene una fila para cada nodo
y una columna para cada arco de la red. La entrada en tal matriz correspondiente
a la fila para el nodo i y la columna para el arco pj, kq toma el valor
$

&1 si i “ j
´1 si i “ k

%
0 en otro caso.

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

Además de resultar útil para representar numéricamente en el ordenador la


estructura de la red, tal matriz es útil para formular las restricciones de balance
del flujo en formato matricial. Si representamos como vectores columna las varia-
bles de decisión x “ pxij qpi,jqPA y los suministros netos, b “ pbi qiPN , e podemos

85
6. M ODELOS DE FLUJO ÓPTIMO EN REDES

formular las ecuaciones de balance del flujo (6.1) como


Ax “ b. (6.2)
Para comprender la equivalencia entre las formulaciones (6.1) y (6.2), una buena
manera es escribir ambas para la red de la Figura 6.2.
En cuanto a las restricciones de capacidad, resulta sencillo formularlas en no-
tación matricial como x ě ℓ y x ď u, donde ℓ “ pℓij qpi,jqPA y u “ puij qpi,jqPA . Así,
denotando por c “ pcij qpi,jqPA el vector columna de costes, podemos formular el
modelo del flujo de coste mínimo como

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.

6.4. El modelo del camino más corto


El último problema de flujo en redes que abordamos trata de encontrar la ruta
óptima de un nodo a otro en una red de transporte. Los dos casos más comunes

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.

Además, como se cumplen las condiciones para la validez de la propiedad de


integralidad del modelo del flujo de coste mínimo, podemos asegurar que la solu-
ción de la formulación de OL para el problema del camino óptimo será entera. En
este caso, las restricciones aseguran además que las variables de decisión tomarán
valores binarios.
La Figura 6.3 muestra un ejemplo de problema del camino óptimo.

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.5. Algoritmos especializados


Como los modelos de flujo en redes aparecen en numerosas aplicaciones prácti-
cas, se han desarrollado algoritmos especializados para su resolución, que resultan
mucho más eficientes que la aplicación directa del método símplex. Así, p. ej., el
modelo del camino más corto se puede resolver eficientemente con el algoritmo de
Dijkstra, y el modelo del transporte con el llamado algoritmo húngaro. El estudio de
tales algoritmos queda fuera del ámbito de este texto.

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

Figura 6.4: Red para el Problema 6.1.

5 6

2 3

Figura 6.5: Red de comunicaciones.

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).

7.2. Un modelo de selección óptima de proyectos


Para motivar el interés de los modelos de OE y la necesidad de conceptos y
métodos para su resolución distintos de los que vimos para la OL, consideremos el
siguiente ejemplo. Una empresa está evaluando cinco propuestas de proyectos, de
los cuales ha de seleccionar uno o varios para llevar a cabo. Los proyectos seleccio-

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

Así, p. ej., el proyecto 1 incurre gastos de 5, 1 y 8 Me en su primer, segundo


y tercer año de desarrollo, respectivamente, y proporciona un retorno de 20 Me.
Vemos también que la empresa dispone cada año de un presupuesto de 25 Me.
La empresa se plantea el problema de determinar una selección óptima de
proyectos, esto es, de decidir qué proyectos le interesa seleccionar para maximizar
el retorno total obtenido, sin que se supere el presupuesto disponible cada año.
Comencemos por formular este problema como un problema de OE, identifi-
cando los elementos de su formulación de OE: variables de decisión, objetivo y
restricciones.
1. Variables de decisión: para cada proyecto j “ 1, . . . , 5,
#
1 si se selecciona el proyecto j
xj “
0 en otro caso.

2. Objetivo: maximizar el retorno total, esto es,

maximizar 20x1 ` 40x2 ` 20x3 ` 15x4 ` 30x5

3. Restricciones:

presupuesto año 1 : 5x1 ` 4x2 ` 3x3 ` 7x4 ` 8x5 ď 25


presupuesto año 2 : x1 ` 7x2 ` 9x3 ` 4x4 ` 6x5 ď 25
presupuesto año 3 : 8x1 ` 10x2 ` 2x3 ` x4 ` 10x5 ď 25
valor máximo de las variables : xj ď 1, j “ 1, . . . , 5
no negatividad : xj ě 0, j “ 1, . . . , 5
integralidad : xj es entera, j “ 1, . . . , 5.

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

De este modo, hemos formulado el problema de selección óptima de proyectos


como el siguiente problema de OE binaria:

(E) maximizar 20x1 ` 40x2 ` 20x3 ` 15x4 ` 30x5


sujeto a
5x1 ` 4x2 ` 3x3 ` 7x4 ` 8x5 ď 25
x1 ` 7x2 ` 9x3 ` 4x4 ` 6x5 ď 25
8x1 ` 10x2 ` 2x3 ` x4 ` 10x5 ď 25
xj ď 1, j “ 1, . . . , 5
xj ě 0, j “ 1, . . . , 5
xj es entera, j “ 1, . . . , 5.

En adelante, denotamos las formulaciones de OE y de OL por un nombre in-


dicado entre paréntesis. Así, nos referiremos a la formulación de arriba como (E).
Además, indicamos el nombre de la formulación en el valor óptimo del objetivo. P.
ej., para el problema anterior denotamos el máximo valor del objetivo por z E .

7.3. La relajación lineal de una formulación de OE


Dada una formulación de OE como la anterior, y dado que hasta ahora solo he-
mos visto cómo resolver problemas de OL, resulta natural considerar el problema
que se obtiene al eliminar las restricciones de integralidad en la formulación de OE
(E). Procediendo de este modo, obtenemos la siguiente formulación de OL:

(L) maximizar 20x1 ` 40x2 ` 20x3 ` 15x4 ` 30x5


sujeto a
5x1 ` 4x2 ` 3x3 ` 7x4 ` 8x5 ď 25
x1 ` 7x2 ` 9x3 ` 4x4 ` 6x5 ď 25
8x1 ` 10x2 ` 2x3 ` x4 ` 10x5 ď 25
xj ď 1, j “ 1, . . . , 5
xj ě 0, j “ 1, . . . , 5.

Denotamos por z L el valor máximo del objetivo en el problema (L). Diremos


que la formulación de OL (L) es la relajación lineal de la formulación de OE (E).
Empleamos el término “relajación” debido a que la formulación (L) se ha obtenido
relajando las restricciones de (E), esto es, eliminando algunas de sus restricciones:
las restricciones de integralidad.

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

Como veremos, las relajaciones lineales desempeñan un papel central en la


resolución de los modelos de OE. Ello es así aunque la solución óptima de una
relajación lineal puede ser no entera. P. ej., si resolvemos (aplicando el método
símplex, o con Solver de Excel) la relajación lineal (L) del problema de selección
óptima de proyectos visto más arriba, obtenemos la solución óptima relajada
xL “ p11{19, 1, 1, 1, 14{19q, que tiene un valor de z L “ 2065{19 « 108.68 e. Así,
xL no es una solución factible para el problema de OE (E). Además, no podemos
interpretarla en términos del problema de selección de proyectos.
Podríamos contemplar la idea de tratar de obtener una solución factible para el
problema de OE redondeando la solución óptima relajada. En el ejemplo, obtendría-
mos así la solución relajada redondeada xR “ p1, 1, 1, 1, 1q que, como podemos
fácilmente comprobar, tampoco es factible para (E). Por tanto, debemos descartar
tal idea en general, si bien en ocasiones puede dar buenos resultados.

7.4. Acotación del valor óptimo y desigualdades


fundamentales
Como veremos, la clave para resolver un problema de OE como (E) va a estar
dada por el cálculo y uso de cotas, tanto inferiores como superiores, para su valor
óptimo, z E .
Por una parte, tenemos que, aunque una solución óptima de la relajación lineal
(L) de un problema de OE (E) de tipo “maximizar” puede ser no factible para este
último, al tomar las variables de decisión valores fraccionarios, su valor óptimo, z L ,
nos va a proporcionar una cota superior para z E . Esto es, z E ď z L “ 108.68. Ello es
así porque toda solución entera factible, esto es, toda solución que es factible para
el problema de OE (E), también será factible para su relajación lineal (L). Además,
en este caso podemos obtener una cota superior mejor (más pequeña), dada por
tz L u “ 108 (donde tzu denota el suelo (entero) del número z, que se define como el
mayor entero menor o igual que z; p. ej., t108.68u “ 108, y t´25.34u “ ´26), debido a
que, al ser los coeficientes de la función objetivo números enteros, el valor óptimo
del problema de OE, z E , también va a ser un número entero.
Por otra parte, supongamos que, de alguna manera, disponemos de una so-
lución entera factible xF para un problema de OE. P. ej., es fácil comprobar que
xF “ p1, 1, 0, 1, 0q es una solución factible para el problema de selección óptima de
proyectos (E), que tiene un valor de z F “ 75 e. El valor z F de una solución entera
factible xF también nos da información sobre el valor óptimo entero, z E : como el
valor de la solución xF no puede ser mayor que el valor máximo del problema de
OE, se sigue que z F es una cota inferior para z E , esto es, z F ď z E .
A continuación resumimos los resultados que acabamos de argumentar.

96
7.5. El test de optimalidad para OE

Desigualdades fundamentales para un problema de OE de tipo “ma-


ximizar”
Supongamos que el valor máximo de un problema de OE (E) es z E . Si xF es
una solución entera factible con valor z F , y xL es una solución óptima con
valor z L para su relajación lineal (L), entonces

zF ď zE ď zL.

Además, si los coeficientes del objetivo son números enteros, tenemos la


cota superior mejorada z E ď tz L u.

La Figura 7.1 ilustra gráficamente tales desigualdades fundamentales.

zF zE zL

Figura 7.1: Desigualdades fundamentales para un problema de OE de tipo “maxi-


mizar”.

Si el problema de OE fuese de minimización, razonando de forma análoga se


puede argumentar el resultado mostrado a continuación, que se ilustra en la Figura
7.2.

Desigualdades fundamentales para un problema de OE de tipo “mi-


nimizar”
Supongamos que el valor mínimo de un problema de OE (E) es z E . Si xF es
una solución entera factible con valor z F , y xL es una solución óptima con
valor z L para su relajación lineal (L), entonces

zL ď zE ď zF.

Además, si los coeficientes del objetivo son números enteros, tenemos la


cota inferior mejorada rz L s ď z E .

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.

7.5. El test de optimalidad para OE


Recordemos que, en OL, en cada iteración del método símplex aplicábamos un
test de optimalidad para chequear si el vértice correspondiente a la tabla actual era

97
7. O PTIMIZACIÓN ENTERA

zL zE zF

Figura 7.2: Desigualdades fundamentales para un problema de OE de tipo “mini-


mizar”.

óptimo. En OE, también necesitamos aplicar un test de optimalidad para chequear


si una solución entera factible dada es óptima. Sin embargo, veremos que el test de
optimalidad disponible para la OE es mucho menos preciso que el disponible para
la OL.
Para ilustrar el test de optimalidad para OE, consideremos la solución entera
x “ p1, 1, 1, 1, 0q, que, como podemos comprobar, es factible para el problema de
F

OE (E) de selección óptima de proyectos y proporciona un valor de z F “ 95. Por


otra parte, supongamos que, de alguna manera, hemos obtenido la infomación
de que zs “ 95 es una cota superior para el valor óptimo z E , aún desconocido,
del problema de OE (E), esto es, z E ď zs “ 95. Así, aplicando las desigualdades
fundamentales para un problema de OE de tipo “maximizar” obtendríamos que

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.

Test de optimalidad para un problema de OE de tipo “maximizar”


Supongamos que xF es una solución entera factible con valor z F para un pro-
blema de OE (E) de tipo “maximizar”, y que zs es una cota superior para el
valor máximo z E de (E). Si z F “ zs, entonces xF es una solución óptima para
(E).

z F “ z E “ zs

Figura 7.3: Test de optimalidad para una solución entera factible.

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.

Test de optimalidad para un problema de OE de tipo “minimizar”


Supongamos que xF es una solución entera factible con valor z F para un pro-
blema de OE (E) de tipo “minimizar”, y que z es una cota inferior para el
valor mínimo z E de (E). Si z F “ z, entonces xF es una solución óptima para
(E).

7.6. Brecha de optimalidad


Supongamos que estamos tratando de resolver un problema de OE (E) para
el que disponemos de una solución entera factible dada, xF , con valor z F . Deno-
taremos por z E el valor óptimo del objetivo para el problema (E). La brecha de
optimalidad de la solución entera factible xF mide la pérdida económica en que
incurriríamos si empleásemos xF en lugar de una solución óptima.

Brecha (absoluta) de optimalidad


En el caso de “maximizar”, la brecha de optimalidad de xF es z E ´ z F .
En el caso de “minimizar”, la brecha de optimalidad de xF es z F ´ z E .

En lugar de expresar la brecha de optimalidad en términos absolutos, a menudo


resulta más informativo expresarla en términos relativos. La brecha relativa de
optimalidad de la solución entera factible xF mide la pérdida económica relativa,
en tanto por uno, en que incurriríamos si adoptásemos la solución factible xF en
lugar de una solución óptima.

99
7. O PTIMIZACIÓN ENTERA

Brecha relativa de optimalidad


En el caso de “maximizar” con valor óptimo z E ą 0, la brecha relativa de
optimalidad de xF es pz E ´ z F q{z E .
En el caso de “minimizar” con coste óptimo z E ą 0, la brecha relativa de
optimalidad de xF es pz F ´ z E q{z E .

Así, si la brecha relativa de optimalidad de la solución entera factible xF tomase


el valor 0.1, diríamos que la brecha relativa de optimalidad de xF es del 10%.
Como veremos, resolver un problema de OE por el método R & A requiere
un trabajo computacional considerable, por lo que, si se dispone de una solución
entera factible xF para la cual se sabe que la brecha de optimalidad es razonable-
mente pequeña, entonces puede resultar razonable abandonar la búsqueda de una
solución óptima, y conformarse con la solución xF . Para ello, en el caso de “maxi-
mizar”, necesitamos acotar por arriba la brecha de optimalidad z E ´ z F a partir de
una cota superior zs conocida para el valor máximo desconocido z E .
P. ej., en el problema de OE (E) de selección óptima de proyectos tratado más
arriba, es fácil comprobar que una solución factible para (E) es xF “ p1, 1, 0, 1, 0q,
con un valor de z F “ 75 Me. Por otra parte, vimos más arriba que una cota superior
para el valor óptimo entero z E está dada por el suelo entero del valor óptimo de
la relajación lineal (L), zs “ tz L u “ 108 Me. Dada esta información, resulta claro
que la brecha de optimalidad para xF está acotada por arriba como sigue: z E ´ z F ď
zs ´ z F “ 108 ´ 75 “ 33 Me.
Lo mismo ocurre con la brecha relativa de optimalidad: No se puede calcular
de forma exacta mientras no se haya resuelto el problema de OE de interés, ya que,
hasta entonces, no se conoce el valor óptimo del problema de OE, z E . Por ello, en
la práctica es necesario calcular cotas superiores para la brecha relativa.

Cotas superiores para la brecha de optimalidad: caso de “maximizar”


Dado un problema de OE (E) de tipo “maximizar” con valor óptimo z E , una
solución entera factible xF con valor z F , y una cota superior zs para z E :
(a) La brecha absoluta de optimalidad de xF está acotada por arriba por
zs ´ z F , esto es, z E ´ z F ď zs ´ z F .
(b) Si z F ą 0, la brecha relativa de optimalidad de xF está acotada por arriba
por ps z , esto es, pz E ´ z F q{z E ď ps
z ´ z F q{s z.
z ´ z F q{s

La justificación de la acotación superior dada para la brecha relativa de opti-


malidad en el caso de “maximizar” es muy sencilla:

zE ´ zF zF zF zs ´ z F
“ 1 ´ ď 1 ´ “ .
zE zE zs zs

100
7.6. Brecha de optimalidad

Cotas superiores para la brecha de optimalidad: caso de “minimizar”


Dado un problema de OE (E) de tipo “minimizar” con valor óptimo del ob-
jetivo z E , una solución entera factible xF para la cual el objetivo vale z F , y una
cota inferior z para z E :
(a) La brecha absoluta de optimalidad de xF está acotada por arriba por
z F ´ z, esto es, z F ´ z E ď z F ´ z.
(b) Si z ą 0, la brecha relativa de optimalidad de xF está acotada por arriba
por pz F ´ zq{z, esto es, pz F ´ z E q{z E ď pz F ´ zq{z.

La justificación de la acotación superior dada para la brecha relativa de opti-


malidad en el caso de “minimizar” se muestra a continuación:
zF ´ zE zF zF zF ´ z
“ ´ 1 ď ´ 1 “ .
zE zE z z
P. ej., en el en el problema de OE (E) de selección óptima de proyectos visto
anteriormente, para la solución entera factible xF “ p1, 1, 0, 1, 0q, que tiene un valor
de z F “ 75 Me, y la cota superior zs “ tz L u “ 108 Me, obtenemos que la brecha
relativa de optimalidad para xF está acotada por arriba como sigue:
zE ´ zF zs ´ z F 33
E
ď “ « 0.3056.
z zs 108
Por tanto, con la información que nos da la cota superior zs dada, podemos afirmar
que la pérdida económica en que incurrimos al quedarnos con la solución entera
factible xF “ p1, 1, 0, 1, 0q, en lugar de tomar una solución óptima, no supera el
31%.
Consideremos ahora la solución entera factible xF “ p1, 1, 1, 1, 0q, cuyo valor es
de z F “ 95 Me. Empleando la cota superior zs “ tz L u “ 108 Me, obtenemos que la
brecha relativa de optimalidad para xF está acotada por arriba como sigue:
zE ´ zF zs ´ z F 13
E
ď “ « 0.1204.
z zs 108
Así, con la información que nos da la cota superior zs dada, obtenemos que la pér-
dida económica en que incurrimos al quedarnos con la solución entera factible
xF “ p1, 1, 1, 1, 0q, con respecto al valor óptimo, no supera el 12.04%.
Se puede comprobar que, de hecho, xF “ p1, 1, 1, 1, 0q es una solución óptima
para el problema de OE (E), lo cual ilustra que la acotación de la brecha de optima-
lidad puede ser muy imprecisa si la cota en que se basa es poco ajustada.
La Figura 7.4 ilustra gráficamente la acotación de la brecha de optimalidad para
problemas de maximización.
El procedimiento descrito para acotar la brecha relativa de optimalidad de una
solución entera factible se emplea en Solver, para especificar un criterio de pa-
rada al resolver un problema de OE. Así, supongamos que estamos dispuestos a
conformarnos con encontrar una solución entera factible cuya brecha relativa de
optimalidad no supere el 10%. Entonces, en Solver incluido con Excel 2010, es-
cribiremos el valor 10 en la casilla a la derecha de la expresión optimalidad de
entero ( %) en el menú de Opciones dSolver, como se muestra en la Figura 7.5.

101
7. O PTIMIZACIÓN ENTERA

cota superior para la brecha de optimalidad

brecha de optimalidad de xF

zF zE zs

Figura 7.4: Acotación superior de la brecha de optimalidad: caso de “maximizar”.

Figura 7.5: Criterio de parada para OE en Solver.

7.7. Resolución gráfica


En el Capítulo 3 vimos cómo resolver problemas de OL con dos variables de
decisión mediante el método gráfico, lo cual nos dio una valiosa comprensión in-
tuitiva de las principales propiedades de los problemas de OL. En esta sección
veremos cómo adaptar el método gráfico para resolver problemas de OE con dos
variables de decisión. Ello nos proporcionará una comprensión intuitiva, de tipo
geométrico-visual, sobre la OE, y nos ayudará a introducir conceptos útiles para la
resolución de problemas de OE.

102
7.7. Resolución gráfica

Consideremos, como ilustración, la siguiente formulación de OE:

pEq maximizar 100x1 ` 64x2


sujeto a
50x1 ` 31x2 ď 250
´ 3x1 ` 2x2 ď 4
x1 , x2 ě 0 y enteras,

con valor óptimo z E .


Comenzamos por formular su relajación lineal, dada por la formulación de OL

pLq maximizar 100x1 ` 64x2


sujeto a
50x1 ` 31x2 ď 250
´ 3x1 ` 2x2 ď 4
x1 , x2 ě 0,

con valor óptimo z L .


A continuación, resolveremos la relajación (L) mediante el método gráfico. La
región factible se muestra en la Figura 7.6. En este caso, las rectas de nivel del obje-
tivo resultan tener una pendiente muy próxima a la del lado derecho del polígono
que constituye la región factible, que une los vértices p376{193, 950{193q y p5, 0q,
por lo que es difícil determinar visualmente cuál de ambos es mejor. Por ello, cal-
culamos el valor del objetivo en cada uno de los vértices entre los que apreciamos
que se puede encontrar el óptimo. Así, el vértice de arriba, p376{193, 950{193q «
p1.9482, 4.9223q, que está marcado con un rombo azul en la figura, alcanza un valor
de 98400{193 « 509.845 e, mientras que el valor del vértice de abajo a la derecha,
p5, 0q, es de 500 e. Por tanto, la solución óptima de la relajación lineal es el vértice
xL “ p376{193, 950{193q, con un valor de z L « 509.845 e. Aplicando la desigualdad
fundamental correspondiente, podemos asegurar que z E ď tz L u “ 509 e. Por otra
parte, si redondeamos la solución óptima relajada obtenemos el punto xR “ p2, 5q,
que no es factible para (E).
Para continuar, dibujemos ahora la región factible del problema de OE (E), que
es el conjunto de puntos con coordenadas enteras que quedan dentro de la región
factible de su relajación lineal (L). La región factible entera se muestra como el
conjunto de puntos verdes en la Figura 7.7.
Para encontrar la solución óptima de (E), tenemos que desplazar las rectas de
nivel del objetivo tanto como sea posible hacia valores mayores (en este caso, hacia
arriba a la derecha), y encontrar un punto entero factible (verde) que marque el
límite para tal desplazamiento. En este caso, las rectas de nivel del objetivo son
casi paralelas al lado derecho del polígono que da la región factible lineal. Por
tanto, observamos en la Figura 7.7 que la mejor solución factible entera estará entre
los puntos p3, 3q y p5, 0q. Para determinar cuál de ellos es óptimo, calculamos los
valores del objetivo en ambos: en p3, 3q, el objetivo vale 492 e, mientras que en p5, 0q
vale 500 e. Así, obtenemos que la solución óptima entera es el punto xE “ p5, 0q,
con un valor de z E “ 500 e. Notemos que, en este caso, la solución óptima entera
xE está bastante alejada de la solución óptima xL de su relajación lineal.

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).

7.8. Resolución de problemas de OE con Solver


Solver incorpora, en el menú desplegable para seleccionar el tipo de restric-
ción, las opciones “int” (para indicar que una o varias variables son enteras), y
“bin” (para indicar que son binarias). Ver la Figura 7.8. Estas opciones indican al
Solver que ha de utilizar el método Ramifica y Acota, que tratamos en el próximo
capítulo.

7.9. Otros ejemplos de formulaciones de OE


7.9.1. Asignación de tripulaciones a vuelos
Las compañías de líneas aéreas son grandes usuarias de la OE, que aplican
para resolver múltiples problemas de planificación. Como ejemplo, consideremos

104
7.9. Otros ejemplos de formulaciones de OE

Figura 7.8: Menú desplegable de tipos de restricciones en Solver.

el siguiente problema de asignación de tripulaciones a vuelos. Una compañía aérea


ha de cubrir un conjunto de vuelos, que denotamos por I “ t1, 2, . . . , mu. Un vuelo
se indica dando su origen y destino, así como sus horas de salida y llegada. P. ej.,
A 7:15amÑ B 8:30am.
Imaginemos que la empresa elabora una lista con las posibles asignaciones
factibles de tripulaciones a vuelos. Un ejemplo de tal asignación podría ser: A
7:15am Ñ B 8:30am, B 9:00am Ñ C 11:00am, C 12:00 Ñ A 2:30pm, lo cual indi-
ca que la misma tripulación cubre los tres vuelos sucesivamente. Denotamos por
J “ t1, 2, . . . , nu el conjunto de todas las asignaciones factibles de tripulaciones
a vuelos. Para cada asignación j, se da el coste correspondiente cj . La informa-
ción sobre qué vuelos cubre cada asignación se proporciona mediante la matriz de
incidencia vuelo-asignación A “ paij qmˆn , donde
#
1 si la asignación j cubre el vuelo i
aij “
0 en otro caso.

El problema que se plantea la aerolínea es: encontrar un conjunto de asignacio-


nes factibles de tripulaciones a vuelos de coste mínimo, que cubra todos los vuelos.
A continuación se dan los elementos de la formulación de OE binaria de tal
problema:
1. Variables de decisión: para cada asignación j “ 1, . . . , n,
#
1 si se selecciona la asignación j
xj “
0 en otro caso.

2. Objetivo: minimizar el coste total, esto es,

minimizar c1 x1 ` ¨ ¨ ¨ ` cn xn .

3. Restricciones:

105
7. O PTIMIZACIÓN ENTERA

El vuelo i se ha de cubrir: ai1 x1 ` ¨ ¨ ¨ ` ain xn “ 1, i “ 1, . . . , m.


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.

7.9.2. Localización para cobertura wifi


Consideremos el siguiente problema de localización de puntos de acceso wi-
fi. Una organización ha de decidir dénde instalar puntos de acceso wifi, entre un
conjunto J “ t1, 2, . . . , nu de posibles localizaciones. Para cada localización j, se
conoce el coste correspondiente de instalación, dado por cj . Se trata de asegurar la
cobertura de una ciudad, dividida en un conjunto de zonas I “ t1, 2, . . . , mu.
La información sobre qué zonas se cubren adecuadamente desde cada pun-
to de acceso se proporciona mediante la matriz de incidencia zona-localización A “
paij qmˆn , donde
#
1 si un punto de acceso en la localización j da cobertura wifi al zona i
aij “
0 en otro caso.

El problema que se plantea la organización es: seleccionar las localizaciones


para instalar los puntos de acceso, de manera que se garantice la cobertura a coste
mínimo.
A continuación se dan los elementos de la formulación de OE binaria de tal
problema:
1. Variables de decisión: para cada localización j “ 1, . . . , n,
#
1 si se instala un punto de acceso en la localización j
xj “
0 en otro caso.

2. Objetivo: minimizar el coste total de instalación, esto es,

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.9.3. Modelos de OE binaria para selección de actividades


Los modelos de OE binaria aparecen en una amplia variedad de aplicaciones en
las que se han de seleccionar algunas de entre un conjunto de posibles actividades
J “ t1, 2, . . . , nu. Las variables de decisión naturales en tales modelos son:
#
1 si se selecciona la actividad j
xj “
0 en otro caso.

En tal contexto, resulta de interés formular restricciones lógicas que podemos


incorporar a una formulación de OE. Así, p. ej., supongamos que queremos for-
mular la restricción lógica “No se puede seleccionar más de dos actividades”. Su
formulación es:
x1 ` ¨ ¨ ¨ ` xn ď 2.
Otro tipo útil de restricción lógica corresponde a las relaciones de precedencia en-
tre actividades, como ilustra el siguiente ejemplo. Supongamos que, para que se
lleve a cabo la actividad 2, es necesario que lleve a cabo la actividad 4. ¿Cómo po-
demos formular tal relación? Resulta sencillo comprobar que podemos formularla
como x2 ´ x4 ď 0.

7.10. Ejercicios
Ejercicio 7.1. Considera el problema de OE

maximizar 5x1 ` 4x2


sujeto a
6x1 ` 4x2 ď 24
x1 ` 2x2 ď 6
x2 ď 2
´ x1 ` x2 ď 1
x1 , x2 ě 0 y enteras.

(a) Resuelve por el método gráfico su relajación lineal.


(b) Resuelve por el método gráfico el problema de OE. ¿Qué relación hay entre
el valor óptimo entero z E y el valor óptimo z L de la relajación lineal?
(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.2. Considera el problema de OE

pEq maximizar 3x1 ` 2x2


sujeto a
x1 ` x2 ď 3
2x1 ` 5x2 ď 9
x1 ď 1
x1 , x2 ě 0 y enteras,

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

El método Ramifica y Acota

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.

8.2. “Ramifica”: El árbol de enumeración de


subproblemas
8.2.1. El árbol de enumeración completa
Comencemos por la “R” del método R & A, que se refiere a ramificar el pro-
blema de interés, haciendo crecer un árbol de enumeración (de subproblemas).
Este es un árbol en el sentido del término en Teoría de Grafos: un conjunto de no-
dos unidos por arcos no orientados, que llamaremos ramas, tal que hay un único
camino que une cada par de nodos. Cada nodo representa un subproblema del
problema original, que llamaremos el problema raíz. En adelante, emplearemos
los términos nodo y subproblema de forma intercambiable. Para fijar ideas, consi-
deremos el siguiente problema de OE binaria con tres variables de decisión:
1
A. H. Land y A. G. Doig (1960). An automatic method of solving discrete programming pro-
blems. Econometrica 28, 497–520.

109
8. E L MÉTODO R AMIFICA Y A COTA

pEq maximizar x1 ` 2x2 ` x3


sujeto a
5x1 ` 4x2 ` 3x3 ď 9
xj ď 1, j “ 1, . . . , 3
xj ě 0 y entera, j “ 1, . . . , 3.

Denotamos la formulación dada de este problema de OE binaria y su valor


óptimo como (E) y z E , respectivamente. A continuación, descompondremos el pro-
blema (E) en subproblemas más sencillos, construyendo un árbol de enumeración.
Tales árboles crecen de arriba a abajo, como los árboles genealógicos. La raíz del
árbol es el nodo que representa al problema (E).
Comencemos a hacer crecer el árbol. Para descomponerlo al primer nivel, se-
leccionamos una de las tres variables, p. ej., x1 , y descomponemos el problema en
dos subproblemas, cada uno de los cuales corresponde a uno de los dos posibles
valores que puede tomar dicha variable. Diremos que ramificamos al primer nivel en
la variable x1 . Como x1 solo puede tomar los valores 0 y 1, asociamos a cada ca-
so su correspondiente subproblema de primer nivel. Para x1 “ 0 obtenemos el
subproblema

` ˘
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,

siendo su valor óptimo z p1,¨,¨q .

110
8.2. “Ramifica”: El árbol de enumeración de subproblemas

En el árbol mostrado en la Figura 8.1, estos subproblemas se representan como


sendos nodos bajo el nodo raíz, unidos a este por ramas. Empleando la analogía
entre un árbol de enumeración y un árbol genealógico, diremos que los nodos Ep0,¨,¨q
y Ep1,¨,¨q son los nodos hijos del nodo raíz E, siendo este su nodo progenitor. Nótese
que la analogía con un árbol genealógico no es exacta, ya que en los árboles de R
& A cada nodo tiene un único progenitor.
Los subproblemas de primer nivel tienen, en realidad, dos variables de deci-
sión, ya que podemos eliminar en ellos la variable x1 , al haber fijado ya su valor.
Continuemos haciendo crecer el árbol, ramificándolo al segundo nivel. Para
ello, seleccionamos otra variable de ramificación, p. ej., x2 , y descomponemos cada
subproblema de primer nivel en otros dos (sus subproblemas hijos, que serán los
nietos del problema raíz). Como x2 puede tomar los valores 0 y 1, obtenemos cuatro
subproblemas de segundo nivel. Designamos a estos y a sus valores óptimos como
Ep0,0,¨q , Ep0,1,¨q , Ep1,0,¨q , Ep1,1,¨q , y z p0,0,¨q , z p0,1,¨q , z p1,0,¨q , z p1,1,¨q , respectivamente.
Así, el subproblema de segundo nivel Ep0,1,¨q es

` ˘
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

Ep0,0,¨q Ep0,1,¨q Ep1,0,¨q Ep1,1,¨q

Ep0,0,0q Ep0,0,1q Ep0,1,0q Ep0,1,1q Ep1,0,0q Ep1,0,1q Ep1,1,0q Ep1,1,1q

Figura 8.1: El árbol de enumeración completa para el problema (E).

8.2.2. Enumeración completa y la explosión combinatoria


El procedimiento anterior nos proporciona un método elemental para resolver
un problema de OE: (1) construir un árbol de enumeración completa; (2) calcular

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

La tabla muestra que el tiempo de cálculo crece de forma extremadamente rá-


pida con el número de variables, hasta el punto de resultar impracticable incluso
para valores relativamente pequeños de n, como n “ 50. Como referencia para
apreciar la magnitud de tales tiempos, cabe mencionar que los físicos estiman la
edad del universo, desde su origen en el Big Bang, en 13.75 miles de millones de
años. Este fenómeno, que impide la aplicación práctica del método de enumera-
ción completa para problemas de dimensiones realistas, se denomina explosión
combinatoria.

8.3. “Acota”: podando el árbol de enumeración


mediante cotas

113
8. E L MÉTODO R AMIFICA Y A COTA

8.3.1. Podando el árbol: enumeración implícita


Hemos visto que el tamaño del árbol de enumeración completa, cuando el nú-
mero de variables crece por encima de unas pocas decenas, es demasiado grande
para su aplicación práctica. Por ello tenemos que modificar el método de enume-
ración completa podando dichos árbol. Es decir, eliminando tantos nodos como po-
damos, para que la parte del árbol que exploremos tenga un tamaño manejable.
Podaremos el árbol tanto como podamos, pero asegurándonos de que hay una
solución óptima para el problema en la parte no podada del árbol. Para saber qué
nodos podemos podar, emplearemos las cotas inferiores y superiores para el valor
óptimo de un problema de OE que vimos en el capítulo anterior. De este modo,
llevaremos a cabo una enumeración implícita del árbol.
Para podar correctamente el árbol aplicaremos argumentos de poda, basados
en las desigualdades fundamentales de la OE. Recordemos que, para un problema
de maximización, aquellas indican que el valor máximo de un problema de OE está
acotado por arriba por el valor máximo de su relajación lineal, y está acotado por abajo por
el valor de cualquier solución entera factible.
Para dar una idea de hacia dónde nos dirigimos, podemos avanzar que el mé-
todo R & A se basa en ir refinando sistemáticamente dichas cotas, resolviendo re-
lajaciones lineales de los subproblemas y podando el árbol de enumeración, hasta
obtener una cota superior y otra inferior con el mismo valor para el nodo raíz.
Entonces, por el test de optimalidad que vimos en el capítulo anterior, habremos
resuelto el problema.
A continuación, describiremos mediante ejemplos ilustrativos los tres argu-
mentos que se emplean para podar el árbol de enumeración:
1. Poda por optimalidad.
2. Poda por sondeo.
3. Poda por no factibilidad.
A través de los ejemplos, también ilustramos cómo actualizar las cotas del ár-
bol según vayamos obteniendo nueva información, así como los conceptos de no-
do activo y nodo inactivo.
Nos centramos en adelante en el caso de un problema de maximización.

8.3.2. Poda por optimalidad


La Figura 8.2 ilustra el argumento de poda por optimalidad, y la actualización
de cotas correspondiente, en una secuencia de tres fases. En la primera fase, repre-
sentada a la izquierda en la figura, tenemos el nodo A, que aparece en el curso de
aplicar el método R & A. Hemos pintado el nodo de color blanco, lo cual indica que
es un nodo activo, esto es, un nodo que aún no ha sido explorado. Supongamos
que resolvemos su relajación lineal, y obtenemos una solución óptima para esta
en la que hay alguna variable fraccionaria, siendo el valor de dicha solución de
27 e. Incorporamos esta información al nodo A, escribiendo tal valor a la derecha
y arriba del nodo A, lo cual indica que se trata de una cota superior para el valor
máximo del nodo A.
En la segunda fase, ramificamos a partir del nodo A, eligiendo para ello alguna
variable que haya tomado un valor fraccionario en la solución óptima de la rela-
jación. Así, obtenemos los nodos B y C mostrados en la parte central de la figura.

114
8.3. “Acota”: podando el árbol de enumeración mediante cotas

Tras ramificar en el nodo A, lo pintamos de color naranja, al haber pasado a ser un


nodo inactivo, esto es, que ya ha sido explorado. Por el momento, los hijos B y C
son nodos activos (blancos).
En la tercera fase, mostrada a la derecha, exploramos los hijos B y C. Supon-
gamos que, al resolver la relajación lineal de C, obtenemos una solución en la que
alguna variable toma un valor fraccionario, siendo el valor del objetivo en dicha
solución de 25 e. Supongamos, además, que al resolver la relajación lineal de B,
obtenemos una solución entera con un valor de 20 e. Aplicando a esta última el
test de optimalidad para OE, vemos que tal solución es óptima para el nodo B.
Por tanto, no hace falta seguir explorando el nodo B y sus descendientes: pode-
mos marcar el nodo B como inactivo, indicando el valor de 20 e a la derecha en
el centro, como su valor óptimo, y podarlo junto con sus descendientes. Así, hemos
podado el nodo B por optimalidad.

Poda por optimalidad


Podaremos un nodo por optimalidad cuando obtengamos una solución ópti-
ma de su relajación lineal en la cual las variables tomen valores enteros.

Además, el nodo B nos ha proporcionado una solución entera factible para el


problema de OE de interés. Si ya teníamos otra solución entera mejor, descartare-
mos la solución de B. En caso contrario, la guardaremos como la nueva solución
entera de referencia, esto es, la mejor solución entera factible encontrada hasta el
momento.
A continuación, actualizamos las cotas en el nodo progenitor A a partir de la
información obtenida. Para ello, aplicamos las siguientes reglas.

Reglas para actualizar las cotas


1. Las cotas se actualizan de abajo a arriba en el árbol.
2. La nueva cota superior para un nodo es la mayor de las cotas superiores
de sus nodos hijos.
3. La nueva cota inferior para un nodo es la mayor de las cotas inferiores
de sus nodos hijos (si no hubiese ninguna, la dejamos en blanco).

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

Figura 8.2: Poda por optimalidad y actualización de cotas.

8.3.3. Poda por sondeo


La Figura 8.3 muestra un ejemplo, desarrollado en tres fases, que ilustra el se-
gundo y más potente argumento de poda: la poda por sondeo. Notemos que el
término “sondeo” se emplea en el sentido de medir aproximadamente una mag-
nitud desconocida (como cuando se realiza un sondeo desde un barco para estimar
la profundidad del mar mediante una sonda, es decir, una cuerda con un peso de
plomo). Para estimar el valor óptimo z E de un problema de OE (E), empleamos
como “sonda” su relajación lineal (L), que nos da como estimación el valor óptimo
de esta, z L .
En la primera fase, mostrada a la izquierda en la figura, observamos un nodo
A, activo, del cual solo se ha explorado uno de sus hijos, designado como nodo
C. Para este se sabe, a partir de la exploración (no mostrada en la figura) de sus
descendientes, que su valor óptimo se encuentra entre la cota inferior de 21 e y la
cota superior de 26 e. Dichas cotas también serán válidas para el nodo progenitor
A. Notemos que la cota inferior de 21 e indica que disponemos de una solución
entera factible con dicho valor, ya que las cotas inferiores se obtienen únicamente
como valores de soluciones enteras factibles.
En la segunda fase, mostrada en el centro de la figura, se muestra el resultado
de explorar el otro hijo del nodo A, que designamos como nodo B. Al resolver la
relajación lineal de B, se obtiene que el valor óptimo de esta es de 20 e, lo cual nos
da una cota superior para el nodo B. Hemos señalado el nodo progenitor como
inactivo (naranja), al haber completado la ramificación en el mismo.
En la tercera fase, mostrada a la derecha de la figura, razonamos que ni en el
nodo B ni en sus descendientes puede haber una solución entera factible mejor que
la que ya tenemos (con un valor de 21 e), porque el valor máximo del subproblema
B está acotado por arriba por 20 e. Así, hemos sondeado el valor del nodo B, obte-
niendo como resultado del sondeo que su valor no puede exceder de 20 e. Como
se muestra en la figura, en tal caso podamos por sondeo el nodo B.

116
8.4. El método R & A

Poda por sondeo


Podaremos un nodo por sondeo cuando el valor óptimo de su relajación li-
neal no sea mejor que el valor de la solución entera de referencia.

26 26 26

A A A
21 21 21

26 20 26 26

C B C B C

21 21 21

Figura 8.3: Poda por sondeo.

8.3.4. Poda por no factibilidad


El tercer argumento de poda es el más sencillo: podamos un nodo y sus descen-
dientes cuando, al resolver su relajación lineal, obtengamos que esta es no factible.
Claramente, en tal caso el subproblema para ese nodo será también no factible.
descendientes.

Poda por no factibilidad


Podaremos un nodo y sus descendientes por no factibilidad cuando su rela-
jación lineal sea no factible.

8.4. El método R & A


Tras los resultados y conceptos preliminares anteriores, estamos preparados
para esbozar y aplicar el método R & A. Comenzamos por formalizar el concepto
clave de nodo inactivo/activo que ya hemos empleado en la sección anterior.

117
8. E L MÉTODO R AMIFICA Y A COTA

Nodos inactivos y nodos activos


Un nodo es inactivo si: (i) ya se ha ramificado en él, esto es, se han resuelto
las relajaciones lineales de sus nodos hijos; o (ii) ya ha sido podado. Si el nodo
no es inactivo, diremos que es activo.

A continuación esbozamos de forma esquemática el método R & A.

Esquema del método R & A


repetir
elegir un nodo activo, para el que se haya resuelto su relajación lineal
y la solución óptima de esta tenga alguna variable fraccionaria
R: ramificar en una de las variables fraccionarias, creando dos nuevos
nodos hijos, y resolver sus relajaciones lineales. Para cada una:
• si no es factible, podar el nodo por no factibilidad
• si da una solución entera, podar el nodo por optimalidad y ac-
tualizar la solución entera de referencia
• si el valor óptimo de la relajación no es mejor que el valor de la
solución entera de referencia, podar el nodo por sondeo
A: actualizar las cotas
hasta que no quede ningún nodo activo (esto es, hasta que la cota infe-
rior y la superior en el nodo raíz coincidan)

Ilustraremos el método R & A resolviendo el problema de OE binaria

pEq maximizar 8x1 ` 11x2 ` 6x3 ` 4x4


sujeto a
5x1 ` 7x2 ` 4x3 ` 3x4 ď 14
xj ď 1, j “ 1, . . . , 4
xj ě 0 y entera, j “ 1, . . . , 4,

con valor óptimo z E .


En el árbol de enumeración, este problema corresponde al nodo raíz. Comen-
zamos resolviendo su relajación lineal

pLq maximizar 8x1 ` 11x2 ` 6x3 ` 4x4


sujeto a
5x1 ` 7x2 ` 4x3 ` 3x4 ď 14
xj ď 1, j “ 1, . . . , 4
xj ě 0, j “ 1, . . . , 4.

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

Figura 8.4: El nodo raíz y su primera cota superior zs.

A continuación, ramificamos al primer nivel en la única variable que toma un


valor fraccionario en la solución relajada, x3 , creando los dos nodos hijos Ep¨,¨,0,¨q y
Ep¨,¨,1,¨q , como muestra la Figura 8.5. Vemos en esta que el nodo raíz ha cambiado al
color naranja, indicando que ahora es inactivo, ya que hemos ramificado en él.

zs “ 22
E

x3 “ 0 x3 “ 1

Ep¨,¨,0,¨q Ep¨,¨,1,¨q

Figura 8.5: Ramificación al primer nivel en x3 .

A continuación, resolvemos las relajaciones lineales de tales subproblemas. La


relajación lineal del subproblema Ep¨,¨,0,¨q tiene la solución óptima p1, 1, 0, 2{3q, con
un valor de 21.67 e, mientras que la relajación lineal de Ep¨,¨,1,¨q tiene la solución
óptima p1, 71{100, 1, 0q, con un valor de 21.86 e. Tales valores proporcionan cotas
superiores para el valor óptimo de los subproblemas. Además, en este caso pode-
mos refinar las cotas superiores razonando que, como el objetivo del problema de
OE ha de ser un número entero, ya que tanto los coeficientes como las variables
son enteras, podemos ignorar su parte decimal. Así, obtenemos las cotas superio-
res refinadas zsp¨,¨,0,¨q “ 21 e y zsp¨,¨,1,¨q “ 21 e, como muestra la Figura 8.6.
Estas cotas superiores para los subproblemas nos permiten actualizar la cota
superior para el problema raíz, que pasará a ser zs “ maximizarps z p¨,¨,0,¨q, zsp¨,¨,1,¨q q “
21 e, como muestra la Figura 8.6.

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

Figura 8.6: Resolución de las relajaciones lineales y actualización de cotas.

Prosigamos con el método R & A. Tenemos ahora dos subproblemas activos


(nodos blancos), de los cuales hemos de elegir uno para ramificar. Elegimos, p.
ej., el subproblema Ep¨,¨,1,¨q . Como en la solución óptima de su relajación lineal,
p1, 71{100, 1, 0q, la variable x2 toma un valor fraccionario, ramificamos en dicha
variable, como muestra la Figura 8.7, obteniendo los dos nuevos subproblemas
Ep¨,0,1,¨q y Ep¨,1,1,¨q . Observamos que, al llevar a cabo esta ramificación, el subproble-
ma Ep¨,¨,1,¨q ha pasado a ser inactivo (nodo naranja).

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

Figura 8.7: Ramificación del nodo Ep¨,¨,1,¨q en la variable x2 .

A continuación, resolvemos las relajaciones lineales de los nuevos subproble-


mas. La relajación lineal de Ep¨,0,1,¨q da la solución óptima entera p1, 0, 1, 1q, con un
valor de 18 e. Por el criterio de optimalidad, esta será la solución óptima del sub-
problema Ep¨,0,1,¨q , de tal manera que z p¨,0,1,¨q “ 18 e. Como esta es la única solución
entera factible disponible hasta ahora, será nuestra solución entera de referencia,
es decir, la mejor solución entera factible disponible hasta el momento, y nos dará
la cota inferior de 18 e para el valor óptimo de P. En el árbol mostrado en la Figura

120
8.4. El método R & A

8.8, podamos el subproblema Ep¨,0,1,¨q por optimalidad, y marcamos el nodo con un


cuadrado, indicando que da la solución entera de referencia.
Por otra parte, la relajación lineal de Ep¨,1,1,¨q tiene como solución óptima
p3{5, 1, 1, 0q, con un valor de 21.8 e. Este último valor da una cota superior para
el valor óptimo del subproblema entero Ep¨,1,1,¨q , que podemos refinar eliminando
la parte decimal para obtener la cota superior zsp¨,1,1,¨q “ 21 e.
A continuación, actualizamos las cotas superiores e inferiores, y podamos del
árbol, por optimalidad, el subproblema Ep¨,0,1,¨q , como muestra la Figura 8.8. No-
temos que ahora disponemos de una cota inferior para el subproblema raíz P, así
como de una cota superior. Así, sabemos que el valor óptimo de E cumple que
18 ď z E ď 21.

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

Figura 8.8: Resolución de las relajaciones, actualización de cotas y poda de Ep¨,0,1,¨q .

Para continuar, elegimos alguno de los dos subproblemas activos en la Figura


8.8. Seleccionamos, p. ej., Ep¨,1,1,¨q . Como en la solución de su relajación lineal, dada
por p3{5, 1, 1, 0q, la variable x1 toma un valor fraccionario, ramificamos en dicha
variable, como se muestra en la Figura 8.9, obteniendo los dos nuevos subproble-
mas Ep0,1,1,¨q y Ep1,1,1,¨q .
Proseguimos resolviendo las relajaciones lineales de estos subproblemas. La
relajación lineal de Ep1,1,1,¨q resulta ser no factible, por lo que podamos el nodo co-
rrespondiente por no factibilidad. En cuanto a la relajación lineal del subproblema
Ep0,1,1,¨q , su solución resulta ser entera: p0, 1, 1, 1q, con valor 21 e. Por tanto, esta
será la solución del subproblema Ep0,1,1,¨q , cuyo valor será de z p0,1,1,¨q “ 21 e. Poda-
mos este nodo por optimalidad. Además, como esta solución entera es mejor que
la que teníamos anteriormente, esta será la nueva solución entera de referencia, que
señalamos indicando el nodo correspondiente mediante un cuadrado.
solo queda un nodo activo, el subproblema Ep¨,¨,0,¨q . Pero, como tenemos una
solución entera factible con un valor de 21 e, y la cota superior para dicho subpro-
blema es también de 21 e, sabemos que no vamos a encontrar una solución mejor
a partir de Ep¨,¨,0,¨q . Por ello, lo podamos por acotación.
A continuación, podamos Ep0,1,1,¨q , Ep1,1,1,¨q y Ep¨,¨,0,¨q , y actualizamos las cotas en el
árbol, procediendo de abajo a arriba: obtenemos así el árbol mostrado en la Figura
8.10.

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

Figura 8.9: Ramificación del nodo Ep¨,1,1,¨q en la variable x1 .

Observamos en el árbol mostrado en la Figura 8.10 que ya no quedan nodos


activos: las cotas inferior y superior en el nodo raíz coinciden, con el valor 21 e.
Por tanto, la solución entera factible de referencia, p0, 1, 1, 1q, es óptima para P.
Notemos que, para obtener tal conclusión, solo hemos tenido que explorar una
porción relativamente pequeña del árbol completo de enumeración.

8.5. Algunas cuestiones sobre el método R & A


8.5.1. Selección de la variable de ramificación
La variable de ramificación en cada caso siempre se elige entre las que tienen
valores fraccionarios en la solución óptima relajada correspondiente. Si hay varias
variables fraccionarias, se suele seleccionar una para ramificar de acuerdo con la
siguiente regla: elegir para ramificar la variable más fraccionaria (esto es, la que está
más alejada del entero más próximo). P. ej., si tenemos la solución óptima relajada
x1 “ 0, x2 “ 0.5, x3 “ 0.9, x4 “ 1, seleccionaríamos para ramificar la variable x2 ,
ya que 0.5 es “más fraccionaria” que 0.9.

8.5.2. Selección del siguiente subproblema activo


Si hay varios subproblemas activos, se plantea la cuestión de cuál de ellos te-
nemos que elegir a continuación. Entre las reglas empleadas en la práctica, cabe
destacar la que prescribe seleccionar el subproblema cuyo valor óptimo relajado sea má-
ximo.

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

z p0,1,1,¨q “ 21 Ep0,1,1,¨q Ep1,1,1,¨q

Figura 8.10: Árbol final: Actualización de cotas y poda de Ep0,1,1,¨q , Ep1,1,1,¨q y Ep¨,¨,0,¨q .

8.5.3. Problemas de OE no binaria


tenemos quescrito y aplicado el método R & A para el caso de problemas de
OE binaria. En tal caso, procederíamos de modo similar, de forma que el único
cambio se produciría al realizar las ramificaciones. P. ej., si al resolver la relajación
lineal de un subproblema obtenemos la solución relajada x1 “ 0, x2 “ 3, x3 “ 5.8,
x4 “ 3.6, ramificaríamos en la variable x4 (la “más fraccionaria”), de modo que la
rama izquierda correspondería a añadir la restricción x4 ď 3, mientras que la rama
derecha correspondería a añadir x4 ě 4. Claramente, la solución del subproblema
correspondiente se ha de encontrar en alguno de ambos casos.

8.5.4. Problemas de OE mixta


En algunas aplicaciones, algunas variables pueden tomar valores continuos,
como en OL, mientras que otras solo pueden tomar valores enteros. Tales modelos
se conocen como problemas de OE mixta, y se resuelven mediante el método R &
A, teniendo en cuenta que solo se ha de ramificar en variables enteras que tomen
valores fraccionarios al resolver las relajaciones correspondientes.
Un ejemplo de problema de OE mixta es el siguiente:

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

pEq maximizar 8x1 ` 5x2 ` 6x3 ` 4x4


sujeto a
5x1 ` 9x2 ` 9x3 ` 6x4 ď 15
x1 , x2 , x3 , x4 P t0, 1u.

E
x1 “ 0 x1 “ 1

E0 E1 p1, 43 , 1, 0q

x2 “ 0 x2 “ 1

p0, 0, 1, 0q E00 E01 p0, 1, 31 , 35 q

Figura 8.11: Árbol 1 para el Ejercicio 8.2.

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

E00 E01 E10 E11

p0, 0, 1, 0q p0, 1, 13 , 35 q p1, 0, 0, 1q p1, 1, 32 , 15 q


Figura 8.12: Árbol 2 de R & A en el Ejercicio 8.2.

(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?

Ejercicio 8.3. Responde a las siguientes preguntas, referidas a la aplicación del


método R & A para resolver un problema de OE binaria, con cuatro variables
x1 , . . . , x4 , y objetivo “maximizar 8x1 ` 3x2 ` 9x3 ` 6x4 ”.
(a) En el Árbol parcial mostrado en la Figura 8.13, las soluciones de las relajacio-
nes lineales de los nodos E0 , E10 y E11 son, respectivamente, p4{5, 0, 5{6, 1{2q,
p2{3, 1, 4{5, 0q y p0, 1, 0, 1q. A partir de esta información, indica junto a cada
nodo del Árbol las mejores cotas que puedas obtener. Indica qué nodos pue-
des podar, y por qué argumento.
(b) Da una cota superior para la brecha de optimalidad de la solución factible
p0, 1, 0, 1q. ¿Puedes asegurar que dicha solución es óptima para el problema
de OE?
(c) En el siguiente árbol parcial, mostrado en la Figura 8.14, las soluciones de las
relajaciones lineales correspondientes a los nodos E00 y E01 son, respectiva-
mente, p6{7, 0, 1, 0q y p0, 0, 1, 1q. Indica en este árbol las nuevas cotas obteni-
das a partir de esta información, y actualiza las cotas anteriores. ¿Se puede
asegurar que se ha encontrado una solución óptima, o habrá que continuar
explorando el árbol?

Ejercicio 8.4. Responde a las siguientes preguntas, referidas a la aplicación del


método R & A para resolver un problema de OE binaria, con cuatro variables
x1 , . . . , x4 , y objetivo “maximizar 3x1 ´ 2x2 ` 7x3 ´ 6x4 ”.

125
8. E L MÉTODO R AMIFICA Y A COTA

E
x2 “ 0 x2 “ 1

E0 E1
x4 “ 0 x4 “ 1

E10 E11

Figura 8.13: Árbol 1 para el Ejercicio 8.3.

E
x2 “ 0 x2 “ 1

E0 E1
x4 “ 0 x4 “ 1 x4 “ 0 x4 “ 1

E00 E01 E10 E11

Figura 8.14: Árbol 2 para el Ejercicio 8.3.

(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.

Ejercicio 8.5. En el curso de aplicar el método R & A para resolver un problema de


OE binaria, con variables px1 , x2 , x3 , x4 q, y objetivo “maximizar 30x1 ` 4x2 ´ 6x3 `
25x4 ”, se obtiene el Árbol 1 en la Figura 8.17. Al lado de los nodos Ep0,0,¨,¨q , Ep0,1,¨,¨q

126
8.6. Ejercicios

E
x2 “ 0 x2 “ 1

E0 E1
x4 “ 0 x4 “ 1

E10 E11

Figura 8.15: Árbol 1 para el Ejercicio 8.4 .

E
x2 “ 0 x2 “ 1

E0 E1
x4 “ 0 x4 “ 1 x4 “ 0 x4 “ 1

E00 E01 E10 E11

Figura 8.16: Árbol 2 para el Ejercicio 8.4 .

y Ep1,¨,¨,¨q se muestran las soluciones obtenidas al resolver sus relajaciones lineales.


Por ejemplo, al resolver la relajación lineal del subproblema Ep1,¨,¨,¨q se obtiene la
solución relajada p1, 45 , 0, 52 q.
(a) La información dada en el Árbol 1 y el objetivo dado permiten calcular cotas
inferiores y/o superiores para el valor óptimo de cada subproblema/nodo.
Calcula estas cotas y dibuja el Árbol 1 indicándolas junto a sus nodos respec-
tivos. Indica si puedes podar algún nodo, y por qué argumento.
(b) el Árbol 1 muestra una solución entera factible. ¿Se puede asegurar que sea
óptima con la información dada hasta ahora?
(c) Al ramificar en el nodo Ep1,¨,¨,¨q se obtiene el Árbol 2 mostrado en la Figura
8.18, donde se indican las soluciones de las relajaciones lineales de los nodos
Ep1,0,¨,¨q y Ep1,1,¨,¨q . Actualiza las cotas inferiores y superiores para los nodos, y
dibuja el Árbol indicándolas junto a sus nodos respectivos. Indica si puedes
podar algún nodo, y por qué argumento. ¿Puedes asegurar que la solución
entera factible p0, 1, 0, 1q es óptima para el problema, o habrá que continuar
explorando el Árbol? ¿Por qué? Da una cota superior para la brecha de opti-
malidad de dicha solución.

127
8. E L MÉTODO R AMIFICA Y A COTA

E
x1 “ 0 x1 “ 1

Ep0,¨,¨,¨q Ep1,¨,¨,¨q p1, 45 , 0, 25 q

x2 “ 0 x2 “ 1

9
p0, 0, 41 , 10 q Ep0,0,¨,¨q Ep0,1,¨,¨qp0, 1, 0, 1q

Figura 8.17: Árbol 1 para el Ejercicio 8.5.

E
x1 “ 0 x1 “ 1

Ep0,¨,¨,¨q Ep1,¨,¨,¨q

x2 “ 0 x2 “ 1 x2 “ 0 x2 “ 1

Ep0,0,¨,¨q Ep0,1,¨,¨q Ep1,0,¨,¨q Ep1,1,¨,¨q

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.

9.2. El problema de la mochila


Imaginemos un excursionista que se dispone a llenar su mochila antes de
un viaje. Para ello ha de seleccionar algunos objetos de entre un conjunto N “
t1, 2, . . . , nu de posibles objetos, donde suponemos que únicamente se puede lle-
var una unidad de cada objeto. El objeto i P N pesa ai kgs., y el excursionista ha
fijado un límite de b kgs. en el peso que está dispuesto a llevar a la espalda en
su mochila. Por otra parte, cada objeto i P N tiene para el mochilero un valor ri .
El problema que se plantea es: Determinar una selección de objetos para llevar en la
mochila que maximice su valor, sin superar el peso máximo admisible.
Aunque cuesta imaginar que algún excursionista haya usado tal modelo para
decidir cómo llenar su mochila, si se cambian las palabras “excursionista” por “em-
presa”, “objeto” por “proyecto”, y “mochila” por “cartera” (de proyectos), se obtie-
ne un modelo de selección óptima de proyectos que sí resulta de interés aplicado.
Además de esta, se han encontrado multitud de aplicaciones para el problema de
la mochila, reinterpretando el modelo con imaginación en distintos contextos1.
1
Véase, p. ej., H. Kellerer, U. Pferschy y D. Pisinger, Knapsack Problems, Springer, 2010

130
9.2. El problema de la mochila

9.2.1. Formulación de OE y un ejemplo


Utilicemos los conocimientos adquiridos en los anteriores capítulos para dar
una formulación de OE del problema de la mochila. Los elementos de tal formula-
ción son:
1. Variables de decisión: para cada objeto i P N ,
#
1 si se selecciona el objeto i
xi “
0 en otro caso.

2. Objetivo: maximizar el valor de los objetos seleccionados,


ÿ
maximizar ri xi .
iPN

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á

pEq maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5
xi es entera, i “ 1, . . . , 5,

siendo z E su valor óptimo.


Consideremos su relajación lineal,

pLq maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5,

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

9.2.2. Reforzando la formulación con desigualdades válidas


A continuación tratamos de mejorar la formulación anterior. Para ello, la refor-
zamos añadiéndole desigualdades válidas.
Así, podemos afirmar que la siguiente es una desigualdad válida:

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:

pE1 q maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
Dt1,2,3u : x1 ` x2 ` x3 ď 2
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5
xi es entera, i “ 1, . . . , 5,

con valor óptimo z E1 , así como su relajación lineal,

pL1 q maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
Dt1,2,3u : x1 ` x2 ` x3 ď 2
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5,

con valor óptimo z L1 .


¿Qué relaciones podemos establecer entre los nuevos valores óptimos, z E1 y z L1 ,
y los anteriores, z E y z L ? Por una parte, es claro que

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

es una desigualdad válida. Añadiéndola a la formulación anterior, obtenemos la


segunda formulación reforzada

pE2 q maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
Dt1,2,3u : x1 ` x2 ` x3 ď 2
Dt2,3,4,5u : x2 ` x3 ` x4 ` x5 ď 3
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5
xi es entera, i “ 1, . . . , 5,

con valor óptimo z E2 , así como su relajación lineal,

pL2 q maximizar 2x1 ` 5x2 ` 5x3 ` x4 ` 8x5


sujeto a
79x1 ` 53x2 ` 53x3 ` 45x4 ` 45x5 ď 178
Dt1,2,3u : x1 ` x2 ` x3 ď 2
Dt2,3,4,5u : x2 ` x3 ` x4 ` x5 ď 3
xi ď 1, i “ 1, . . . , 5
xi ě 0, i “ 1, . . . , 5,

con valor óptimo z L2 .


Por el mismo argumento dado anteriormente, los valores óptimos mantendrán
las siguientes relaciones:

z E “ z E1 “ z E2 ď z L2 ď z L1 ď z L .

Al resolver la segunda relajación reforzada pL2 q, obtenemos la solución x˚2 “


x˚3“ x˚5 “ 1, y x˚1 “ x˚4 “ 0, con z L2 “ 18. Como esta solución relajada es entera,
podemos afirmar que es una solución óptima para el problema (E). Así, hemos
obtenido que
z E “ z E1 “ z E2 “ z L2 ď z L1 ď z L ,
con lo cual hemos resuelto el problema (E) sin necesidad de aplicar el método R &
A, simplemente reforzando la formulación original con dos restricciones válidas.

133
9. O PTIMIZACIÓN COMBINATORIA

9.2.3. Una familia de desigualdades válidas


Es fácil generalizar la idea que hemos empleado para generar las dos desigual-
dades válidas en el ejemplo anterior: “no podemos seleccionar todos los objetos de un
subconjunto de objetos cuyo peso total supera la capacidad de la mochila”.
Para formular tal idea, denotamos por S Ď N un subconjunto genérico de ob-
jetos, y por |S| el número de objetos que contiene. P. ej., si S “ t2, 3, 4, 5u, entonces
|S| “ 4. Comenzamos por formular el peso total del subconjunto de objetos S, que
está dado por ÿ
ai .
iPS

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

Así, obtenemos una familia de desigualdades válidas, como se muestra en el si-


guiente resultado.
Una familia de desigualdades válidas para elřproblema de la mochila:
para cada subconjunto de objetos S Ď N tal que iPS ai ą b, la desigualdad
ÿ
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

Optimización no lineal sin


restricciones

10.1. Introducción: Problemas con una variable de


decisión
Comenzamos el estudio de la optimización no lineal (ONL) diferenciable sin
restricciones por el caso más sencillo en que solo hay una variable de decisión.
En tal caso, nos referimos a un tipo de modelo de toma óptima de decisiones que
consta de los elementos indicados a continuación.

Formulación de ONL sin restricciones con una variable:

1. Variable de decisión. Hay una única variable de decisión, x, que puede


tomar valores continuos.
2. Objetivo. El objetivo que se pretende alcanzar es de la forma
“maximizar f pxq” o “minimizar f pxq”, donde la función objetivo
f : S Ñ R tiene derivada f 1 continua en su dominio S Ď R, el cual
es un intervalo abierto.
3. Restricciones. La variable de decisión x no está sujeta a restricciones,
salvo posiblemente aquellas que determinan el dominio S de f .

Nótese que, cuando hablamos de problemas “sin restricciones”, en realidad


nos referimos a problemas que, o bien no tienen ningún tipo de restricciones, o
bien tienen restricciones dadas por desigualdades estrictas (“ă” o “ą”) que determi-
nan el dominio S de la función objetivo f . Por ejemplo, S fi p0, 5q. También nos
referiremos a S como la región de soluciones factibles o, simplemente, la región
factible.

137
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES

Dados los anteriores elementos, formulamos el correspondiente problema de


ONL como
(P) minimizar f pxq, (10.1)
xPS
o
(P) maximizar f pxq. (10.2)
xPS

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”.

10.1.1. Óptimos globales y óptimos locales


Si x P S, diremos que x es un punto factible, considerándolo como un punto
en la recta real R.

Óptimos globales.

Mínimo global. Decimos que x˚ es un mínimo global para el problema


(10.1) si alcanza el menor valor de la función objetivo f pxq en la región
de soluciones factibles S; esto es, si

f px˚ q ď f pxq, x P S.

Máximo global. Decimos que x˚ es un máximo global para el problema


(10.2) si alcanza el mayor valor de la función objetivo f pxq en la región
de soluciones factibles S; esto es, si

f px˚ q ě f pxq, x P S.

Cuando se aborda un problema de ONL, inicialmente se aspira a encontrar


un óptimo global. Sin embargo, no siempre se puede lograr en la práctica tal pro-
pósito, ya que la tarea de calcular un óptimo global puede resultar muy costosa
computacionalmente. Ello ocurre, en particular, cuando la función objetivo f pxq
presenta numerosas cimas y valles en su región factible.
Consideremos la gráfica de la función f pxq fi p1 ` x2 qp2 ` senpxqq mostrada
en la Figura 10.1. En ella apreciamos que, tomando como región factible la recta
real S fi R, el problema de minimización (10.1) tiene un único mínimo global, que
se encuentra en algún punto del intervalo p´5, 5q. Por otra parte, es claro que no
hay máximos globales para el problema de maximización (10.2), ya que f pxq Ñ 8
cuando x Ñ 8, y también cuando x Ñ ´8.
Sin embargo, para un programa informático que implemente un algoritmo pa-
ra el cálculo de una solución óptima, la tarea de encontrar un mínimo global no
resulta tan sencilla, ya que, normalmente, tales algoritmos solo cuentan con infor-
mación local. Por ejemplo, imaginemos que cierto algoritmo calcula el punto en
el cual se alcanza el fondo del valle de la gráfica de f pxq en el intervalo p5, 20q. En
cierto sentido, tal punto es también una solución del problema (10.1), ya que es

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

Figura 10.1: Gráfica de la función f pxq fi p1 ` x2 qp2 ` senpxqq.

Denotaremos por Bpx˚ ; εq fi px˚ ´ ε, x˚ ` εq el intervalo abierto centrado en x˚


con radio ε ą 0.

Óptimos locales.

Mínimo local. Decimos que un punto x˚ P S es un mínimo local para el


problema (10.1) si alcanza el menor valor de la función objetivo f pxq en
un entorno de x˚ ; esto es, si existe un ε ą 0 tal que

f px˚ q ď f pxq, x P Bpx˚ ; εq.

Si, además, se cumple

f px˚ q ă f pxq, x P Bpx˚ ; εq, x ‰ x˚ ,

diremos que x˚ es un mínimo local estricto.


Máximo local. Decimos que un punto x˚ es un máximo local para el
problema (10.2) si alcanza el mayor valor de la función objetivo f pxq en
un entorno de x˚ ; esto es, si existe un ε ą 0 tal que

f px˚ q ě f pxq, x P Bpx˚ ; εq.

Si, además, se cumple

f px˚ q ą f pxq, x P Bpx˚ ; εq, x ‰ x˚ ,

139
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES

diremos que x˚ es un máximo local estricto.

Para problemas en los que el cálculo de un óptimo global es demasiado cos-


toso computacionalmente, nos conformaremos con calcular uno o varios óptimos
locales.

10.1.2. Aproximaciones de Taylor


Las aproximaciones de Taylor constituyen una de las principales herramientas
para la optimización de funciones diferenciables. Recordemos de Cálculo Dife-
rencial en una variable las aplicaciones del Teorema de Taylor para aproximar
una función diferenciable en el entorno de un punto.

Aproximaciones de Taylor.

Aproximación de Taylor de 1.er orden (lineal). La aproximación de Taylor


de 1.er orden para f centrada en el punto x˚ P S es
˚ 1 ˚ ˚
p1q
Tf,x ˚ pxq fi f px q ` f px qpx ´ x q, x P S. (10.3)

Aproximación de Taylor de 2.o orden (cuadrática). Si f tiene derivada


segunda f 2 en un entorno de x˚ , la aproximación de Taylor de 2.o orden
para f centrada en x˚ es

˚ 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˚ .

10.1.3. Funciones convexas y funciones cóncavas


Otra herramienta básica en optimización está dada por el concepto de función
convexa, así como por el concepto relacionado de función cóncava.

Funciones convexas y funciones cóncavas.

Función convexa. Decimos que la función f : S Ñ R es convexa si, para


todo par de puntos distintos x1 , x2 P S, y para todo escalar α P p0, 1q,
` ˘
f αx1 ` p1 ´ αqx2 ď αf px1 q ` p1 ´ αqf px2 q. (10.5)

Si la desigualdad en (10.5) se cumple de forma estricta, con “ă”, dire-


mos que f es estrictamente convexa en S.

140
10.1. Introducción: Problemas con una variable de decisión

Función cóncava. Decimos que la función f : S Ñ R es cóncava si, para


todo par de puntos distintos x1 , x2 P S, y para todo escalar α P p0, 1q,
` ˘
f αx1 ` p1 ´ αqx2 ě αf px1 q ` p1 ´ αqf px2 q. (10.6)

Si la desigualdad en (10.6) se cumple de forma estricta, con “ą”, dire-


mos que f es estrictamente cóncava en S.

Notemos que la función f es cóncava si y solo si ´f es convexa. Por otra parte,


aunque en este curso nos centraremos en el caso de funciones diferenciables, no se
requiere que una función lo sea para poder ser convexa o cóncava. Por ejemplo,
f pxq fi |x| es convexa en R, aunque no es diferenciable en x “ 0.
La Figura 10.2 muestra la gráfica de la función f pxq fi x ´ 5x{p1 ` xq, que es
estrictamente convexa en S fi p0, 8q.

f HxL

15

10

x
1 2 3 4 5

Figura 10.2: Gráfica de la función convexa f pxq fi x ´ 5x{p1 ` xq.

La Figura 10.3 muestra la gráfica de la función cóncava x ÞÑ ´f pxq “ 5x{p1 `


xq ´ x.
Cuando se pretende determinar si una función f con derivada segunda en su
dominio S es cóncava o convexa, en lugar de aplicar directamente las definiciones
dadas más arriba resulta más sencillo aplicar las caracterizaciones dadas a conti-
nuación, en términos de la derivada segunda f 2 .

Funciones convexas o cóncavas diferenciables dos veces.

Supongamos que la función f : S Ñ R tiene derivada segunda f 2 .


Caracterización de funciones convexas. f es convexa si y solo si
f 2 pxq ě 0 para todo x P S. Además, f es estrictamente convexa si y

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

Figura 10.3: Gráfica de la función cóncava ´f .

solo si f 2 pxq ą 0 para todo x P S.


Caracterización de funciones cóncavas. f es cóncava si y solo si
f 2 pxq ď 0 para todo x P S. Además, f es estrictamente cóncava si y
solo si f 2 pxq ă 0 para todo x P S.

Como ejemplo, para la función f pxq fi x ´ 5x{p1 ` xq definida en el dominio


S fi p´1, 8q, se tiene que f 1 pxq “ 1 ´ 5{p1 ` xq2 y f 2 pxq “ 10{p1 ` xq3 . Por tanto,
como f 2 pxq ą 0 de x P S, se sigue que f es estrictamente convexa.
Si la función f es convexa, la aproximación lineal de Taylor subestima su valor,
mientras que, si f es convexa, lo sobreestima. O, en otras palabras, la gráfica de
una función convexa queda por encima de la recta tangente en un punto, mientras
que la gráfica de una función cóncava queda por debajo.

Funciones cóncavas o convexas y la aproximación lineal de Taylor.

Sea x˚ P S.
Aproximación lineal de Taylor para funciones convexas. Si f es con-
vexa en S, entonces

f pxq ě f px˚ q ` f 1 px˚ qpx ´ x˚ q, x P S. (10.7)

Aproximación lineal de Taylor para funciones cóncavas. Si f es cón-


cava en S, entonces

f pxq ď f px˚ q ` f 1 px˚ qpx ´ x˚ q, x P S. (10.8)

142
10.1. Introducción: Problemas con una variable de decisión

Las funciones convexas o cóncavas diferenciables desempeñan un papel fun-


damental en optimización, debido a que, para ellas, disponemos de un potente test
de optimalidad global para un punto dado x˚ P S.

Tests de optimalidad global para funciones convexas o cóncavas.

Test de mínimo global para funciones convexas. Si f es convexa en S,


x˚ es un mínimo global de f si y solo si f 1 px˚ q “ 0. Si, además, f es
estrictamente convexa, x˚ es el único mínimo global.
Test de máximo global para funciones cóncavas. Si f es cóncava en S,
x˚ es un máximo global de f si y solo si f 1 px˚ q “ 0. Si, además, f es
estrictamente cóncava, x˚ es el único máximo global.

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.

Decimos que un punto x˚ P S es estacionario si f 1 px˚ q “ 0.

Como ejemplo, para el caso de la función f pxq fi x ´ 5x{p1 ` xq, si resolvemos


la ecuación f 1 pxq “ 0, esto es, 1 ´ 5{p1 ` ?
xq2 “ 0, obtenemos que la única raiz de
˚
dicha ecuación en S fi p´1, 8q es x “ 5 ´ 1 « 1.23607. Por tanto, como f es
estrictamente convexa en S, podemos concluir que dicho punto es el único mínimo
global de f en tal dominio.

10.1.4. Condiciones necesarias para óptimo local


Supodremos en adelante que la función objetivo f tiene primera y segunda
derivadas f 1 y f 2 continuas en la región factible S.
Nos proponemos encontrar un óptimo (mínimo o máximo) local de f . Para ello,
en una primera etapa, aplicaremos condiciones necesarias (CN) para óptimo lo-
cal, es decir, condiciones que un mínimo local debe necesariamente cumplir. Tales
condiciones necesarias cumplen el papel de una criba: las soluciones que no pasan
la criba, es decir, que no cumplen las condiciones, no pueden ser óptimos locales.
En cuanto a las soluciones que sí pasan la criba, es decir, que cumplen las condi-
ciones, únicamente podemos afirmar que son candidatos a óptimos locales, sin poder

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.

Condiciones necesarias para óptimo local.

CN de 1.er orden para óptimo local (CN1-ópL). Si x˚ es un óptimo local


para f , entonces x˚ es un punto estacionario: f 1 px˚ q “ 0.
CN de 2.o orden para mínimo local (CN2-mínL). Si x˚ es un mínimo
local para f , entonces f 2 px˚ q ě 0.
CN de 2.o orden para máximo local (CN2-máxL). Si x˚ es un máximo
local para f , entonces f 2 px˚ q ď 0.

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

Por tanto, la única solución factible que cumple CN1-ópL es x˚ “ 1.


Además, ` ˘
2 2x x2 ´ 3
f pxq “ ,
p1 ` x2 q3
por lo que f 2 px˚ q “ ´1{2 ă 0. Es decir, x˚ “ 1 no cumple CN2-mínL, pero sí cum-
ple CN2-máxL. De lo anterior podemos concluir que f no tiene ningún mínimo
local en S, y que el único posible candidato a máximo local es el punto x˚ “ 1.

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

10.1.5. Condiciones suficientes para óptimo local


Una vez que hemos obtenido soluciones factibles x˚ P S que cumplen las con-
diciones necesarias CN1-ópL y CN2 correspondientes para óptimo local, ¿cómo
podemos identificar aquellas soluciones x˚ que sean efectivamente óptimos loca-
les? Para ello, tenemos que identificar condiciones que garanticen que una solución
factible x˚ P S es un óptimo local. A continuación se presentan tales condiciones
suficientes (CS).

Condiciones suficientes para óptimo local.

Sea x˚ P S un punto que cumple CN1-ópL.


CS de 2.o orden para mínimo local (CS2-mínL). Si f 2 px˚ q ą 0, entonces
x˚ es un mínimo local estricto de f .
CS de 2.o orden para máximo local (CS2-máxL). Si f 2 px˚ q ă 0, entonces
x˚ es un máximo local estricto de f .

En el ejemplo anterior con f pxq fi x{px2 ` 1q y la región factible S “ p0, 8q,


se cumple CS2-máxL, lo cual garantiza que x˚ “ 1 es un máximo local estricto
de f pxq. Además, como es la única solución factible que cumple las condiciones
necesarias para máximo local, se sigue que es el único máximo local.
En cuanto al ejemplo con f pxq fi p1 ` x2 qp2 ` senpxqq, como el punto x˚ «
´0.30725 cumple CS2-mínL, se sigue que dicho punto es un mínimo local.

10.2. Problemas con n variables de decisión


Continuamos nuestro estudio de la ONL diferenciable sin restricciones por el
caso general en que hay n variables de decisión. En tal caso, un problema de ONL
sin restricciones consta de los elementos indicados a continuación.

Formulación de ONL sin restricciones con n variables:

1. Variables de decisión. Hay n variables de decisión, que denotaremos


por x1 , . . . , xn , y que pueden tomar valores continuos. Escribiremos co-
mo x “ px1 , . . . , xn qT el vector columna de variables de decisión, donde
la notación xT indica el vector transpuesto de x.
2. Objetivo. El objetivo de optimización es de la forma “maximizar f pxq”
o “minimizar f pxq”, donde f pxq es una función no lineal diferenciable
en su dominio S, que es una región convexa y abierta de Rn , y que sus
derivadas parciales fj1 pxq son continuas en S.
3. Restricciones. Las variables de decisión no están sujetas a restricciones,
salvo aquellas que determinan el dominio S de f pxq.

145
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES

Nótese que, cuando hablamos de problemas “sin restricciones”, en realidad nos


referimos a problemas que, o bien no tienen ningún tipo de restricciones, o bien
tienen restricciones dadas por desigualdades estrictas (“ă” o “ą”) que determinan
la región de soluciones factibles S como una región abierta y convexa de Rn . Por
ejemplo, S fi tx P R2 : 0 ă xj ă 1, j “ 1, 2u.
Dados los anteriores elementos, formulamos el correspondiente ONL como

(P) minimizar f pxq (10.9)


xPS

si se trata de un problema de minimización, o

(P) maximizar f pxq, (10.10)


xPS

si se trata de un problema de maximización.


En esta sección trataremos de cómo resolver tales problemas. Pero, antes, tene-
mos que aclarar a qué nos referimos aquí con el término “resolver”.

10.2.1. Óptimos globales y óptimos locales


Centrémonos por el momento en el problema de minimización (P) formulado
en (10.9). Supongamos que x˚ P S es una solución factible para dicho problema
que alcanza el menor valor de la función f pxq en la región factible S, esto es, que
cumple que f px˚ q “ mı́ntf pxq : x P Su. En tal caso, diremos que x˚ es un mínimo
global para el problema (P), o, también, que es una solución óptima global, o un
óptimo global, para dicho problema. Cuando se aborda un problema de ONL,
inicialmente se aspira a encontrar una solución óptima global.
Sin embargo, a menudo, encontrar un óptimo global puede resultar una tarea
muy costosa computacionalmente. Ello ocurre, en particular, cuando la función
f pxq tiene numerosas cimas y valles en su región factible. Por ejemplo, considere-
mos la función f px1 , x2 q fi px21 ´ x22 qsenpx21 ` x2 q en la región factible S fi p´3, 3q2 .
La Figura 10.4 muestra la gráfica de curvas de nivel para esta función, donde el
código de colores es tal que cuanto mayor es el valor de la función objetivo en un
punto, más claro se muestra éste. Así, vemos que la función tiene varios óptimos
locales en dicha región factible.
Para problemas en los que resulta demasiado costoso computacionalmente en-
contrar un óptimo global, trataremos, al menos, de encontrar un óptimo local.
Los conceptos anteriores se extienden naturalmente al caso de máximos globa-
les y locales.

10.2.2. El vector gradiente y la matriz hessiana


En adelante, nos referiremos a conceptos y resultados básicos de Cálculo Di-
ferencial para funciones f pxq de n variables. Denotaremos por fi1 pxq la derivada
parcial de 1.er orden (o primera) de la función f pxq con respecto a la variable xi ,
evaluada en el punto x. Nótese que en otros textos se emplea la notación B{Bxi f pxq
de fi1 pxq. El vector columna n ˆ 1 cuyas componentes son las n derivadas parcia-
les de 1.er orden de la función f pxq se denomina el vector gradiente de f pxq, y se
denota por ` ˘ ` ˘T
∇f pxq fi fi1 pxq 1ďiďn “ f11 pxq, . . . , fn1 pxq .

146
10.2. Problemas con n variables de decisión

x2
3

0 x1

-1

-2

-3
-3 -2 -1 0 1 2 3

Figura 10.4: Gráfica de curvas de nivel de f px1 , x2 q fi px21 ´ x22 qsenpx21 ` x2 q.

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

10.2.3. Aproximaciones de Taylor


Recordemos de Cálculo Diferencial en n variables las aplicaciones del Teore-
ma de Taylor para aproximar una función diferenciable en el entorno de un punto.

Aproximaciones de Taylor.

Aproximación de Taylor de 1.er orden (lineal). La aproximación de Taylor


de 1.er orden para f centrada en el punto x˚ P S es
p1q ˚ ˚ T ˚
Tf,x ˚ pxq fi f px q ` ∇f px q px ´ x q

ÿn
“ f px˚ q ` fj1 px˚ qpxj ´ x˚j q.
j“1

Aproximación de Taylor de 2.o orden (cuadrática). Si f es diferenciable


dos veces en S, la aproximación de Taylor de 2.o orden para f centrada en

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

10.2.4. Clasificación de matrices simétricas


También necesitaremos aplicar los siguientes conceptos y resultados de Álge-
bra Lineal. Sea ¨ ˛
a11 a12 ¨ ¨ ¨ a1n
˚a21 a22 ¨ ¨ ¨ a2n ‹
˚ ‹
A “ paij q1ďi,jďn “ ˚ . .. .. .. ‹
˝ .. . . . ‚
an1 an2 ¨ ¨ ¨ ann
una matriz cuadrada n ˆ n que es simétrica, esto es, tal que aij “ aji para todo i, j,
o, en notación matricial, AT “ A.

Clasificación de matrices simétricas.

La matriz A es semidefinida positiva (SDP) si todos sus autovalores


son no negativos. O, de forma equivalente, si para todo vector d P Rn ,

dT Ad ě 0.

A es definida positiva (DP) si todos sus autovalores son positivos. O,


de forma equivalente, si para todo vector d P Rn no nulo,

dT Ad ą 0.

A es semidefinida negativa (SDN) si todos sus autovalores son no po-


sitivos. O, de forma equivalente, si para todo vector d P Rn ,

dT Ad ď 0.

A es definida negativa (DN) si todos sus autovalores son negativos. O,


de forma equivalente, si para todo vector d P Rn no nulo,

dT Ad ă 0.

A es indefinida si no es ni SDP ni SDN.

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

Cómo determinar si una matriz simétrica es DP o DN


En la práctica, se aplica un método más eficiente para determinar si una matriz
simétrica A es DP o DN. Consideremos los menores principales dominantes de
A, que son los determinantes de las n submatrices cuadradas que se obtienen to-
mando filas y columnas consecutivas de arriba y a la izquierda de la matriz: Para
k “ 1, 2, . . . , n, el menor principal dominante de orden k es
ˇ ˇ
ˇ a11 ¨ ¨ ¨ a1k ˇ
ˇ ˇ
ˇ .. . . .
. ˇ
Dk fi ˇ . . . ˇˇ .
ˇ
ˇ ak1 ¨ ¨ ¨ akk ˇ

Tenemos el siguiente resultado.

Test para determinar si una matriz simétrica A es DP o DN.

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.

Así, en el caso de una matriz cuadrada, con n “ 2,


ˆ ˙
a11 a12
A“ ,
a21 a22

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.

Cómo determinar si una matriz simétrica es SDP o SDN


Para comprobar si la matriz A es SDP o SDN es necesario realizar un trabajo
mayor, ya que no basta calcular los menores principales dominantes de A, sino que
hace falta, además, calcular todos los menores principales de A. Recordemos que
un menor principal de A es el determinante de una submatriz cuadrada obtenida
tomando los mismos índices para las filas y para las columnas. Un menor principal
de orden k tiene dimensiones k ˆ k.
Así, en el caso de una matriz cuadrada con n “ 2,
ˆ ˙
a11 a12
A“ ,
a21 a22

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

Test para determinar si una matriz simétrica A es SDP o SDN.

A es SDP si y solo si, para cada menor principal M de A, M ě 0.


A es SDN si y solo si, para cada k “ 1, 2, . . . , n y cada menor principal
Mk de orden k de A, p´1qk Mk ě 0.

En el caso de una matriz cuadrada A con dimensiones 2 ˆ 2, obtenemos lo


siguiente:
La matriz A es SDP si y solo si a11 ě 0, a22 ě 0 y a11 a22 ´ a12 a21 ě 0.
La matriz A es SDN si y solo si a11 ď 0, a22 ď 0 y a11 a22 ´ a12 a21 ě 0.

10.2.5. Funciones convexas y funciones cóncavas


Otra herramienta básica en optimización está dada por el concepto de función
convexa, así como por el concepto relacionado de función cóncava.

Funciones convexas y funciones cóncavas.

Función convexa. Decimos que la función f : S Ñ R es convexa en S si,


para todo par de puntos x1 , x2 P S, y para todo escalar α P p0, 1q,
` ˘
f αx1 ` p1 ´ αqx2 ď αf px1 q ` p1 ´ αqf px2 q. (10.11)

Si la desigualdad en (10.11) se cumple de forma estricta, con “ă”, dire-


mos que f pxq es estrictamente convexa en S.
Función cóncava. Decimos que la función f : S Ñ R es cóncava en S si,
para todo par de puntos x1 , x2 P S, y para todo escalar α P p0, 1q,
` ˘
f αx1 ` p1 ´ αqx2 ě αf px1 q ` p1 ´ αqf px2 q. (10.12)

Si la desigualdad en (10.12) se cumple de forma estricta, con “ą”, dire-


mos que f pxq es estrictamente cóncava en S.

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

Caracterización de funciones convexas o cóncavas diferenciables dos


veces.

Supongamos que la función f : S Ñ R es diferenciables dos veces.


Caracterización de funciones convexas. f pxq es convexa en S si y so-
lo si ∇2 f pxq es SDP para todo x P S. Además, f pxq es estrictamente
convexa en S si y solo si ∇2 f pxq es DP para todo x P S.
Caracterización de funciones cóncavas. f pxq es cóncava en S si y so-
lo si ∇2 f pxq es SDN para todo x P S. Además, f pxq es estrictamente
cóncava en S si y solo si ∇2 f pxq es DN para todo x P S.

Si la función f pxq es convexa, la aproximación lineal de Taylor subestima su


valor, mientras que, si f pxq es convexa, la sobreestima. O, en otras palabras, la
gráfica de una función convexa queda por encima del plano tangente en un punto,
mientras que la gráfica de una función cóncava queda por debajo.

La aproximación lineal de Taylor para funciones convexas o cónca-


vas.

Sea x˚ P S.
Aproximación lineal de Taylor para funciones convexas. Si f pxq es
convexa en S, entonces

f pxq ě f px˚ q ` ∇f px˚ qT px ´ x˚ q, x P S. (10.13)

Aproximación lineal de Taylor para funciones cóncavas. Si f pxq es


cóncava en S, entonces

f pxq ď f px˚ q ` ∇f px˚ qT px ´ x˚ q, x P S. (10.14)

Las funciones convexas y cóncavas diferenciables desempeñan un papel fun-


damental en optimización, debido a que, para ellas, disponemos de una sencillo
test de optimalidad global para un punto dado x˚ P S.

Tests de optimalidad global para funciones convexas o cóncavas di-


ferenciables.

Test de mínimo global para funciones convexas. Si f pxq es convexa en


S, x˚ es un mínimo global de f pxq si y solo si ∇f px˚ q “ 0. Si, además,
f pxq es estrictamente convexa, x˚ es el único mínimo global.
Test de máximo global para funciones cóncavas. Si f pxq es cóncava en
S, x˚ es un máximo global de f pxq si y solo si ∇f px˚ q “ 0. Si, además,

151
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES

f pxq es estrictamente cóncava, x˚ es el único máximo global.

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.

10.2.6. Condiciones necesarias para óptimo local


Supodremos en adelante que la función objetivo f pxq tiene primeras y segun-
das derivadas parciales continuas en la región factible S.
Consideremos primero la siguiente cuestión: si nos proponemos encontrar un
óptimo local para el problema de minimización (10.9), ¿cómo podemos proceder?
Para ello, tenemos que identificar las condiciones que un óptimo local debe nece-
sariamente cumplir, que se indican a continuación.

Condiciones necesarias para óptimo local.

CN de 1.er orden para óptimo local (CN1-ópL). Si x˚ es un óptimo local


para f , entonces x˚ es un punto estacionario: ∇f px˚ q “ 0.
CN de 2.o orden para mínimo local (CN2-mínL). Si x˚ es un mínimo
local para f , entonces la hessiana ∇2 f px˚ q es SDP.
CN de 2.o orden para máximo local (CN2-máxL). Si x˚ es un máximo
local para f , entonces la hessiana ∇2 f px˚ q es SDN.

10.2.7. Puntos de silla


Supongamos que x˚ es un punto estacionario de f pxq, que no cumple ni la
condición CN2-mínL ni la condición CN2-máxL, debido a que la hessiana ∇2 f px˚ q
es indefinida. En tal caso, diremos que x˚ es un punto de silla. El término se refiere
a la imagen de una silla (de montar a caballo), ya que el punto central de la silla es
un mínimo si se considera en sentido longitudinal, mientras que es un máximo si
se considera en sentido transversal.

10.2.8. Condiciones suficientes para óptimo local


Una vez que hemos obtenido soluciones factibles x˚ P S que cumplen las con-
diciones necesarias CN1-ópL y CN2 correspondientes para óptimo local, ¿cómo
podemos identificar aquellas soluciones x˚ que sean efectivamente óptimos loca-
les? Para ello, tenemos que identificar condiciones que garantizan que una solución
factible x˚ P S es un óptimo local. A continuación se presentan tales condiciones,
para mínimo local y para máximo local.

152
10.3. Ejemplos

Condiciones suficientes para óptimo local.

Sea x˚ P S un punto que cumple CN1-ópL.


CS de 2.o orden para mínimo local (CS2-mínL). Si ∇2 f px˚ q es DP, en-
tonces x˚ es un mínimo local estricto de f .
CS de 2.o orden para máximo local (CS2-máxL). Si ∇2 f px˚ q es DN,
entonces x˚ es un máximo local estricto de f .

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

donde a “ pai q1ďiďn es el vector de coeficientes para los términos lineales, y Q “


pqij q1ďi,jďn es la matriz simétrica de coeficientes para los términos cuadráticos.
En tal caso, obtenemos que el gradiente de f es el vector columna

∇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)

Si la matriz Q es invertible, la ecuación (10.16) tiene una única solución, dada


por x˚ “ ´Q´1a. En tal caso, :
Si la matriz Q es DP, x˚ es un mínimo local, y también global, ya que f pxq es
una función convexa.
Si la matriz Q es DN, x˚ es un máximo local, y también global, ya que f pxq
es una función cóncava.

Ejemplo. Consideremos la función objetivo


1
f px1 , x2 q “ ´3x1 ´ 5x2 ` 4x21 ` x22 ´ 2x1 x2 .
2

Comenzamos por reformularla en notación matricial, como


ˆ ˙ ˆ ˙ˆ ˙
x 1 8 ´2 x1
f px1 , x2 q “ p´3, ´5q 1 ` px1 , x2 q .
x2 2 ´2 1 x2

153
10. O PTIMIZACIÓN NO LINEAL SIN RESTRICCIONES

Por tanto, el único punto estacionario es


ˆ ˙´ 1 ˆ ˙ ˆ ˙ ˆ ˙
˚ 8 ´2 3 13{4 3.25
x “ “ “ .
´2 1 5 23{2 11.5

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.

10.3.2. Regresión lineal simple


Nos proponemos ajustar a un conjunto de datos que consiste en m puntos
pp1 , q1 q, . . . , ppm , qm q el modelo de regresión lineal simple

Q “ b0 ` b1 P ` ǫ.

Para ello definimos los residuos uk pbq fi qk ´ b0 ´ b1 pk , donde b “ pb0 , b1 qT ,


para k “ 1, . . . , m, y buscamos obtener los valores de los coeficientes b0 y b1 que
minimizan la suma de los cuadrados de tales errores:
m
ÿ
minimizar f pbq fi u2k pbq.
bPR2
k“1

Es claro que función objetivo es cuadrática en las variables de decisión, que


en este caso son los coeficientes b0 y b1 . Para identificar los coeficientes lineales y
cuadráticos del objetivo, reformulamos las relaciones

q k “ b0 ` b1 p k ` u k , k “ 1, . . . , m,

en notación matricial, escribiendo


¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛
q1 b0 ` b1 p1 u1 1 p1 ˆ ˙ u1
˚ .. ‹ ˚ .
.. ‹ ˚ . ‹ ˚ . .. ‹ b0 ` ˚ .. ‹ .
˝ . ‚“ ˝ ‚` ˝ .. ‚ “ ˝ .. . ‚ b ˝ . ‚
1
qm b0 ` b1 pm um 1 pm um

Escribiendo
¨ ˛ ¨ ˛ ¨ ˛
q1 1 p1 ˆ ˙ u1
q “ ˝ ... ‚,
˚ .. .. ‹ , u “ ˝ ... ‚,
˚ ‹ b ˚ ‹
P “ ˝. . ‚ b“ 0 ,
b1
qm 1 pm um

la identidad anterior queda como

q “ Pb ` u.

Aplicando esta última identidad vectorial, podemos formular la función obje-


tivo que pretendemos minimizar como
m
ÿ ` ˘T ` ˘ ` ˘
f pbq “ u2i “ uT u “ q ´ Pb q ´ Pb “ qT q ´ 2qT Pb ` bT PT P b.
i“1

154
10.3. Ejemplos

Así, vemos que f pbq es es cuadrática en las variables de decisión b0 y b1 . Para


identificar los puntos estacionarios b˚ , igualamos a 0 el gradiente de f pbq:
` ˘ ` ˘´1
∇f pbq “ ´2PT q ` 2 PT P b “ 0 ðñ b “ b˚ fi PT P PT q,

suponiendo que la matriz Q fi PT P sea invertible.


Además, la hessiana de f pbq es Q, que es simétrica. Es sencillo comprobar que
la matriz Q es SDP y que, si es invertible, es además DP.
Por tanto, si la matriz Q es invertible, b˚ es el único mínimo, local y global, de
f pbq.

10.3.3. Localización óptima de un centro de servicios


Se pretende construir un centro de servicios (hospital, etc.) que dé cobertura a
una serie de clientes (pueblos, etc.). El cliente i se encuentra localizado en el plano
con las coordenadas ppi , qi q, para i “ 1, . . . , m. Se pretende localizar el centro de
servicios en las coordenadas px˚1 , x˚2 q que minimicen la suma de cuadrados de las
distancias a los centros clientes.
La función objetivo correspondiente que se pretende minimizar es, por tanto,
m
ÿ (
f px1 , x2 q “ px1 ´ pi q2 ` px2 ´ qi q2 .
i“1

Reformulamos f px1 , x2 q en notación matricial:

f px1 , x2 q “ px1 1 ´ pqT px1 1 ´ pq ` px2 1 ´ qqT px2 1 ´ qq,

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

de donde la condición CN1-ópL da:


ˆ ˚ ˙ ˆ 1 řm ˙
˚ x1 m ři“1 pi
x “ “ 1 m .
x˚2 m i“1 qi

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.

Ejercicio 10.2. En un modelo clásico de IO, el problema del Tamaño Económico de


Pedido (Economic Order Quantity en inglés), se pretende determinar el tamaño del
pedido de un producto que minimiza los costes totales en cierto modelo de control
óptimo de existencias. Si d denota la demanda anual del producto, p es el coste por
unidad de producto en cada pedido, s es el coste fijo por pedido, y h es el coste
anual de almacenamiento en inventario por unidad de producto, la función objeti-
vo que da el coste total anual cuando el tamaño de cada pedido es de x unidades
está dada por
ds h
f pxq fi pd ` ` x.
x 2
˚
Determina cuál es el tamaño de pedido x que minimiza el coste total, entre todos
los posibles tamaños de pedido x ą 0.

Ejercicio 10.3. Considera la función


` ˘
f px1 , x2 q “ ex1 4x21 ` 2x22 ` 4x1 x2 ` 2x2 ` 1 , px1 , x2 q P R2 .

(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.

Ejercicio 10.4. Considera la función

f pxq “ ´x31 ` x1 x2 ` x22 ` x1 , x P R2 .

(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

Optimización no lineal con


restricciones de igualdad

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.

Elementos de una formulación de ONL con restricciones de igual-


dad.
1. Variables de decisión. Hay n variables de decisión, x1 , . . . , xn P R. De-
notaremos por x “ px1 , . . . , xn qT el vector columna de variables de de-
cisión.
2. Objetivo. El objetivo de optimización puede ser “maximizar f pxq” o
“minimizar f pxq”, donde la función objetivo f : S Ñ R tiene deri-
vadas parciales continuas de 1.er y de 2.o orden, fj1 fi pB{Bxj qf y
2 fi pB 2 {Bx Bx qf , en su dominio S, el cual es una región abierta y
fjk j k
convexa de Rn .
3. Restricciones. Requerimos que el vector x de variables de decisión per-
tenezca a una región de soluciones factibles, o región factible, de la
forma ` ˘
X fi x P S : g1 pxq “ b1 , . . . , gm pxq “ bm ,
donde las funciones gi tienen derivadas parciales continuas de 1.er y de
2.o orden, gij
1 fi pB{Bx qg y g 2 fi pB 2 {Bx Bx qg , en S, y los coeficientes
j i ijk j k i
bi son constantes. Supondremos que m ă n.

157
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD

Formulamos el correspondiente problema de optimización como

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.

11.2. Ejemplos de formulaciones


Ejemplo 11.2.1 (Optimización de una cartera de inversiones: una primera apro-
ximación). Este modelo clásico fue introducido por el economista estadounidense
Harry M. Markowitz (n. 1927), premio Nobel de Economía en 1990, en un artículo
publicado en 19521 . Un inversor se propone invertir un capital durante un año en
un cartera de n inversiones financieras (p. ej., acciones). La inversión j “ 1, . . . , n
genera una tasa de rendimiento anual aleatoria rrj , expresada en tanto por uno.
P. ej., rrj “ 0.12 corresponde a un rendimiento del 12 %. Suponemos conocidas las
tasas medias de rendimiento rj fi Err rj s, así como las covarianzas qij fi Covpr
ri , rrj q.
El inversor pretende que su cartera genere una tasa media de rendimiento
anual prefijada, de b euros por cada euro invertido. Entre todas las carteras que
cumplan tal requisito, en caso de que haya alguna, suponemos que el inversor pre-
ferirá aquella de menor riesgo, midiendo este por la varianza de la tasa de rendi-
miento total. El problema que nos planteamos es, por tanto, ¿cómo debe el inversor
diseñar una cartera óptima?
Para formular este problema, comenzamos por observar que basta con deter-
minar cómo repartir cada euro del capital entre las n inversiones. Las variables de
decisión son

xj “ proporción del capital asignada a la inversión j “ 1, . . . , n.

Una cartera queda así representada como un vector x “ px1 , . . . , xn qT .


La tasa de rendimiento anual de la cartera x es la cantidad aleatoria
n
ÿ
rrj xj ,
j“1

cuya media y varianza podemos formular como


˜ ¸
n
ÿ ÿn
E rrj xj “ rj xj “ rT x,
j“1 j“1

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

donde r “ prj q1ďjďn es el vector de rendimientos medios y Q “ pqij q1ďi,jďn es la


matriz de covarianzas de los rendimientos.
De este modo, vemos que el objetivo de interés es minimizar la función cua-
drática xT Qx.
En cuanto a las restricciones, por una parte tenemos que, al ser las xj propor-
ciones de un capital, su suma debe valer la unidad:
n
ÿ
xj “ 1.
j“1

Por otra parte, como se pretende obtener un rendimiento medio anual b, tenemos
la restricción adicional
ÿn
rj xj “ b.
j“1

Además, incorporamos las restricciones de no negatividad:

xj ě 0, j “ 1, . . . , n. (11.3)

De este modo, el problema de optimización de la cartera de inversiones queda


formulado como el siguiente problema de ONL:

minimizar xT Qx
sujeto a : x1 , . . . , xn ě 0
(11.4)
x1 ` ¨ ¨ ¨ ` xn “1
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b.

Sin embargo, aunque el problema (11.4) tiene restricciones de igualdad, tam-


bién tiene restricciones de desigualdad no estricta, por lo que no encaja en el ti-
po de problemas tratados en este capítulo. En el próximo capítulo veremos cómo
abordar tales problemas.
Por el momento, nos centraremos en la siguiente variante del problema (11.4),
en la que requerimos que se asigne una fracción positiva de capital a cada inver-
sión:

minimizar xT Qx
sujeto a : x1 , . . . , xn ą 0
(11.5)
x1 ` ¨ ¨ ¨ ` xn “1
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b.

Ejemplo 11.2.2 (Un modelo de consumo óptimo en Economía). Un consumidor se


propone determinar las cantidades óptimas que le interesa consumir de n bienes o
servicios de tipo continuo (es decir, los consumos pueden tomar valores continuos)
para maximizar su utilidad total, teniendo en cuenta que: (i) dispone de un pre-
supuesto de b e; (ii) el precio del bien j es de pj e por unidad; y (iii) el consumo
combinado de xj unidades del bien j, para j “ 1, . . . , n, le reporta una satisfacción

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.

Ejemplo 11.2.3 (Proyección de un punto sobre un hiperplano). Dado el punto


p “ pp1 , . . . , pn qT P Rn y el hiperplano definido por la ecuación a1 x1 ` ¨ ¨ ¨ ` an xn “
b, determinar el punto x˚ del hiperplano más próximo a p.
Podemos formular este problema como
n
ÿ
minimizar pxj ´ pj q2
j“1
(11.7)
sujeto a : x P Rn
a1 x1 ` ¨ ¨ ¨ ` an xn “ b.

Ejemplo 11.2.4 (Análisis de componentes principales). Tenemos una matriz X “


pxij qnˆp de n observaciones en p variables X1 , . . . , Xp , donde xij es la observación
i “ 1, . . . , n en la variable Xj , para j “ 1, . . . , p. Las observaciones han sido centra-
das para que la media deř cada columna de X valga 0. Nos proponemos determinar
una nueva variable Y “ pj“1 wj Xj , donde podemos elegir los coeficientes wj , nor-
ř
malizados para que cumplan pj“1 wj2 “ 1, de tal manera que la varianza de las n
ř ` ˘
observaciones yi “ pj“1 wj xij resultantes en la variable Y , dada por wT XT X w,
sea máxima. La variable Y resultante es la primera componente principal corres-
pondiente a la matriz de datos X.
Así, formulamos el problema de determinar la primera componente principal
como ` ˘
maximizar wT XT X w
sujeto a : w P Rp (11.8)
w12 ` ¨¨¨ ` wp2 “ 1.

Ejemplo 11.2.5 (Proyección de un punto sobre un elipsoide). Dado el punto p “


pp1 , . . . , pn qT P Rn y el elipsoide definido por la ecuación a1 x21 ` ¨ ¨ ¨ ` an x2n “ 1,
determinar el punto x˚ del elipsoide más próximo a p.

160
11.3. Condiciones necesarias para óptimo local

Podemos formular este problema como


n
ÿ
minimizar pxj ´ pj q2
j“1
(11.9)
sujeto a : x P Rn
a1 x21 ` ¨ ¨ ¨ ` an x2n “ 1.

11.3. Condiciones necesarias para óptimo local


Consideremos el problema de minimización (11.1) o el problema de maximi-
zación (11.2). Comenzaremos por identificar aquellos puntos factibles que pueden
ser candidatos a óptimo local. Recordemos del Capítulo 10 que, para problemas
de ONL sin restricciones, disponemos de condiciones que deben ser satisfechas
necesariamente por cualquier óptimo local.

11.3.1. Cualificaciones de restricciones y puntos regulares


En contraste con el caso de la ONL sin restricciones, para problemas de ONL
con restricciones de igualdad no se dispone de condiciones que deban ser satis-
fechas necesariamente por cualquier óptimo local x˚ . Las condiciones necesarias
disponibles requieren que se imponga condiciones de regularidad en las restric-
ciones, que se conocen como cualificaciones de restricciones (CRs).
Aunque se conocen numerosas CRs, en este texto solo emplearemos dos, la CR
de linealidad y la CR de independencia lineal, que se definen a continuación.

Puntos regulares y cualificaciones de restricciones


Decimos que un punto factible x˚ P X es regular si se cumple alguna de las
siguientes CRs:
CR de linealidad: Las funciones restricción gi son lineales.
CR de independencia lineal: Los gradientes ∇g1 px˚ q, . . . , ∇gm px˚ q son
linealmente independientes.

11.3.2. La función lagrangiana


Las condiciones de optimalidad para ONL con restricciones de igualdad se ex-
presan en términos de la función lagrangiana, llamada así en honor al matemático
italiano naturalizado francés Joseph-Louis Lagrange (1736–1813), que realizó con-
tribuciones pioneras en este campo.

161
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD

Formulación de la función lagrangiana


1. Asociamos a cada restricción gi pxq “ bi un parámetro escalar λi P R no
restringido en signo, que llamaremos su multiplicador.
2. Para cada restricción gi pxq “ bi , multiplicamos
` ˘ por λi la diferencia
gi pxq ´ bi , obteniendo el producto λi gi pxq ´ bi .
3. Modificamos la función objetivo, restándole la suma de dichos produc-
tos, y construimos así la función lagrangiana (donde λ “ pλi q1ďiďm )
m
ÿ ` ˘
L px; λq fi f pxq ´ λi gi pxq ´ bi .
i“1

11.3.3. Condición necesaria de 1.er orden para óptimo local


Tenemos el siguiente resultado.

Condición necesaria de 1.er orden (CN1-ópL) para óptimo local

Teorema 11.3.1. Sea x˚ un punto factible regular. Si x˚ es un óptimo local para f


en X, entonces existe un vector multiplicador λ˚ P Rm tal que
m
ÿ
˚ ˚ ˚
∇x L px ; λ q “ ∇f px q ´ λ˚i ∇gi px˚ q “ 0, (11.10)
i“1

i.e., x˚ es un punto estacionario para la función lagrangiana x ÞÑ L px; λ˚ q. En


tal caso diremos que λ˚ es un vector multiplicador de Lagrange.

La ecuación (11.10) indica que el gradiente de la función objetivo en el punto


x˚ ,∇f px˚ q, debe ser una combinación lineal de los gradientes ∇gi px˚ q de las fun-
ciones restricción en dicho punto, siendo los multiplicadores de Lagrange λ˚i los
coeficientes de la misma.
Recordemos que el punto en cuestión, x˚ , debe ser factible, i.e., tiene que satis-
facer las restricciones de igualdad,

gi px˚ q “ bi , i “ 1, . . . , m, (11.11)
y cumplir, además, que

x˚ P S. (11.12)

11.3.4. Cómo aplicar la condición necesaria de 1.er orden


Dado un problema de optimización con restricciones de igualdad, para aplicar
la condición necesaria de 1.er orden podemos proceder de dos formas.

162
11.3. Condiciones necesarias para óptimo local

La primera se aplica en casos en los que se puede resolver la ecuación (11.10)


con fórmulas cerradas, despejando las xj en función del vector multiplicador λ.
Así, supongamos que podemos obtener una fórmula para una solución x˚ pλq de la
ecuación (11.10) en función de λ. En tal caso, para obtener los m valores λ˚1 , . . . , λ˚m
de los multiplicadores, sustituiríamos x por x˚ pλq en las m ecuaciones (11.11) y
resolveríamos el sistema de ecuaciones m ˆ m resultante:
` ˘
gi x˚ pλq “ bi , i “ 1, . . . , m. (11.13)
Finalmente, si λ˚ es una solución del sistema (11.13), para comprobar si la so-
lución resultante, x˚ pλ˚ q, es factible tendríamos que chequear si se cumple (11.12).
La segunda forma de aplicar la condición necesaria de 1.er orden consiste en
resolver numéricamente el sistema de ecuaciones
m
ÿ
fj1 pxq ´ 1
λi gij pxq “ 0, j “ 1, . . . , n
i“1 (11.14)
gi pxq “ bi , i “ 1, . . . , m.
Notemos que (11.14) es un sistema de m ` n ecuaciones en m ` n variables:
λ1 , . . . , λm y x1 , . . . , xn . Podríamos, por ejemplo, tratar de resolver dicho sistema
con Solver de Excel, poniendo como restricciones las ecuaciones en (11.14), y como
objetivo la fórmula trivial “=0”. Finalmente, si Solver calcula una solución facti-
ble para dicho sistema —lo cual puede no ocurrir— chequearíamos si la solución
obtenida cumple (11.12).
Aunque Solver calcule una solución que cumpla la condición CN1-ópL, es po-
sible que haya otras soluciones. Para tratar de encontrarlas, tendríamos que cam-
biar los valores iniciales de las variables en la hoja de cálculo, y ejecutar Solver
de nuevo. Sin embargo, tal método numérico de “prueba y error” no nos puede
garantizar que no haya otras soluciones distintas de las que se hayan encontrado.
Solo el análisis del sistema (11.14) nos puede dar una información completa sobre
el número exacto de soluciones factibles del mismo.

11.3.5. Direcciones tangentes a la región factible en un punto


Para formular las condiciones de optimalidad, tenemos que considerar el con-
cepto de dirección tangente a la región factible X en un punto. Notemos que las
m restricciones de igualdad

gi pxq “ bi , i “ 1, . . . , m (11.15)

determinan una curva o superficie en Rn . P. ej., la restricción

x21 ` x22 “ 1

determina una circunferencia en el plano R2 , mientras que la restricción

4x21 ` 5x22 ` 3x23 “ 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

Direcciones tangentes a la región factible en un punto


Supongamos que x˚ es un punto factible regular. Las direcciones tangen-
tes a la región factible X en x˚ son aquellos vectores d P Rn que cumplen
∇gpx˚ qT d “ 0, i.e.,

∇gi px˚ qT d “ 0, i “ 1, . . . , m. (11.17)

Denotaremos por TX px˚ q el espacio de direcciones tangentes a X en x˚ .

Si x˚ es un punto factible regular, entonces TX px˚ q es un subespacio lineal de


dimensión p fi n ´ m en Rn , definido por las m ecuaciones implícitas dadas en
(11.17). Cuando formulemos las condiciones necesarias de 2.o orden, nos resultará
útil emplear las ecuaciones paramétricas de TX px˚ q, que serán de la forma
d “ γ1 u1 ` ¨ ¨ ¨ ` γp up , γ1 , . . . , γp P R (11.18)
donde u1 , . . . , up P TX px˚ q son p direcciones tangentes linealmente independien-
tes, y γ1 , . . . , γp son parámetros escalares. Escribiendo U “ ru1 ¨ ¨ ¨ up s y γ “
pγj qpj“1 , podemos formular en formato matricial las ecuaciones paramétricas en
(11.18) como
d “ Uγ, γ P Rp . (11.19)
Así, p. ej., las direcciones d P R2 tangentes a la circunferencia x21 ` x22 “ 1 en el
` ? ? ˘T
punto x˚ “ 1{ 2, 1{ 2 son aquellas que cumplen
ˆ ˙ ´ ¯ˆ ˙
` ˘ d1 2 2 d1 2 2 2
2x1 2x2 x“x˚ “ ?
2
, ?
2
“ ? d1 ` ? d2 “ ? pd1 ` d2 q “ 0,
d2 d2 2 2 2
es decir, aquellas direcciones que satisfacen las ecuaciones implícitas d1 ` d2 “ 0,
que definen una recta. Las ecuaciones paramétricas correspondientes son
ˆ ˙ ˆ ˙
d1 1
“γ , γ P R.
d2 ´1

Como segundo ejemplo, las direcciones d P R3 tangentes al elipsoide a1 x21 `


a2 x22 ` a2 x23 “ 1 (con aj ą 0) en un punto x˚ del mismo son aquellas que satisfacen
las ecuaciones implícitas
¨ ˛
` ˘ d1 ` ˘
2a1 x1 , 2a2 x2 , 2a3 x3 ˝d2 ‚ “ 2 a1 x˚1 d1 ` a2 x˚2 d2 ` a3 x˚3 d3 “ 0,
˚ ˚ ˚

d3

164
11.3. Condiciones necesarias para óptimo local

que definen un plano. Si x˚3 ą 0, las siguientes ecuaciones paramétricas definen el


mismo plano:
¨ ˛ ¨ ˛ ¨ ˛ ¨ ˛
d1 1 0 1 0 ˆ ˙
˝d2 ‚ “ γ1 ˚ 0‹ ˚ 1‹ ˚ 0 1‹ γ1
˝ ‚` γ2 ˝ ‚“ ˝ ‚ , γ1 , γ2 P R.
a1 x˚ a x ˚
a x ˚
a x ˚ γ2
d3 ´ a x˚1 ´ a2 x2˚ ´ a1 x1˚ ´ a2 x2˚
3 3 3 3 3 3 3 3

11.3.6. Condición necesaria de 2.o orden para mínimo local


Supondremos en esta sección que las funciones f y gi tienen derivadas parciales
de 2.o orden continuas en el dominio S.
Se podría conjeturar que la condición necesaria de 2.o orden para el problema
(11.1) coincidiría con la condición necesaria de 2.o orden para mínimo local de la
función lagrangiana, a saber, que la siguiente hessiana fuese SDP:
m
ÿ
∇2xx L px˚ ; λ˚ q fi ∇2 f px˚ q ´ λ˚i ∇2 gi px˚ q;
i“1

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.

Condición necesaria de 2.o orden para mínimo local (CN2-mínL)


Sea x˚ un punto factible regular. Si x˚ es un mínimo local para el problema
(11.1) que satisface CN1-ópL con λ˚ , entonces

dT ∇2xx L px˚ ; λ˚ qd ě 0 para toda dirección d P TX px˚ q. (11.21)

Además, si d “ Uγ, con γ P Rp , son unas ecuaciones paramétricas para


TX px˚ q (ver 11.19), entonces la condición (11.21) es equivalente a que la ma-
triz hessiana reducida UT ∇2xx L px˚ ; λ˚ qU sea SDP.

En particular, si la hessiana ∇2xx L px˚ ; λ˚ q es SDP, entonces se cumple CN2-


mínL.

11.3.7. Condición necesaria de 2.o orden para máximo local


La condición necesaria de 2.o orden para máximo local se formula de forma
análoga.

165
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD

Condición necesaria de 2.o orden para máximo local (CN2-máxL)


Sea x˚ un punto factible regular. Si x˚ P X es un máximo local para el pro-
blema (11.2) que satisface CN1-ópL con λ˚ , entonces

dT ∇2xx L px˚ ; λ˚ qd ď 0 para toda dirección d P TX px˚ q. (11.22)

Además, si d “ Uγ, con γ P Rp , son unas ecuaciones paramétricas para


TX px˚ q (ver 11.19), entonces la condición (11.22) es equivalente a que la ma-
triz hessiana reducida UT ∇2xx L px˚ ; λ˚ qU sea SDN.

En particular, si la hessiana ∇2xx L px˚ ; λ˚ q es SDN, entonces se cumple CN2-


máxL.

11.4. Condiciones suficientes para óptimo local


Recordemos que, para problemas sin restricciones, las condiciones suficientes
de 2.o orden para óptimo local diferían de las condiciones necesarias correspon-
dientes únicamente en el tipo de desigualdad que aparecía en las últimas: en lugar
de ser desigualdades no estrictas, de la forma “ď” o “ě”, eran desigualdades estric-
tas, de la forma “ă” o “ą”. De manera análoga, en el presente contexto se obtienen
las condiciones suficientes para óptimo local a partir de las condiciones necesarias
correspondientes, como se muestra a continuación.

Condición suficiente para mínimo local (CS2-mínL)


Sea x˚ P X un punto factible que cumple CN1-ópL con λ˚ . Si

dT ∇2xx L px˚ ; λ˚ qd ą 0 para toda dirección no nula d P TX px˚ q, (11.23)

entonces x˚ es un mínimo local estricto para f en X. Además, si d “ Uγ,


con γ P Rp , son unas ecuaciones paramétricas para TX px˚ q (ver 11.19), en-
tonces la condición (11.23) es equivalente a que la matriz hessiana reducida
UT ∇2xx L px˚ ; λ˚ qU sea DP.

La condición suficiente CS2-mínL es menos restrictiva que la condición sufi-


ciente de 2.o orden para mínimo local para la función lagrangiana x ÞÑ L px; λ˚ q,
que requiere que la desigualdad en (11.23) se cumpla para toda dirección no nula
d P Rn . En particular, la condición (11.23) se cumplirá si la hessiana ∇2xx L px˚ ; λ˚ q
es DP.

166
11.5. Optimalidad global y dualidad

Condición suficiente para máximo local (CS2-máxL)


Sea x˚ P X un punto factible que cumple CN1-ópL con λ˚ . Si

dT ∇2xx L px˚ ; λ˚ qd ă 0 para toda dirección no nula d P TX px˚ q, (11.24)

entonces x˚ es un máximo local estricto para para f en X. Además, si d “


Uγ, con γ P Rp , son unas ecuaciones paramétricas para TX px˚ q (ver 11.19),
entonces la condición (11.24) es equivalente a que la matriz hessiana reducida
UT ∇2xx L px˚ ; λ˚ qU sea DN.

La condición suficiente CS2-máxL es menos restrictiva que la condición sufi-


ciente de 2.o orden para máximo local de la función lagrangiana x ÞÑ L px; λ˚ q,
que requiere que la desigualdad en (11.24) se cumpla para toda dirección no nula
d P Rn . En particular, la condición (11.24) se cumplirá si la hessiana ∇2xx L px˚ ; λ˚ q
es DN.

11.5. Optimalidad global y dualidad


11.5.1. Caso de minimización
La relajación lagrangiana de (11.1) con vector multiplicador λ es
minimizar L px; λq. (11.25)
xPS

Comenzamos por notar que, si x P X es una solución factible para el problema


primal de minimización (11.1), y el valor mínimo (o ínfimo, para ser más precisos)
de la relajación lagrangiana (11.25) es L ˚ pλq fi ı́nftL px; λq : x P Su, entonces se
tiene el siguiente resultado.

Dualidad Débil

Teorema 11.5.1. Para todo x P X y λ P Rm ,

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

Definición 11.5.2. El problema dual del problema primal (11.1) es

maximizar
m
L ˚ pλq. (11.26)
λPR

Notemos que la función L ˚ pλq es cóncava en λ, al estar definida como el ín-


fimo de funciones lineales, que son cóncavas en λ. Sea L ˚,sup fi suptL ˚ pλq : λ P
Rm u el valor máximo (o, más precisamente, el valor supremo) del problema dual
(11.26), y sea f ı́nf fi ı́nftf pxq : x P Xu el valor ínfimo del problema primal (11.1).
Entonces, como consecuencia inmediata del Teorema 11.5.1 obtenemos
L ˚,sup ď f ı́nf . (11.27)
La desigualdad (11.27) nos permite definir la brecha de dualidad para el pro-
blema primal (11.1) y su dual (11.26).

Brecha de dualidad

Definición 11.5.3. La brecha de dualidad para el problema primal (11.1) es


la diferencia entre el valor ínfimo de dicho problema y el valor supremo de
su problema dual, esto es,
f ı́nf ´ L ˚,sup . (11.28)

Aunque, en general, la desigualdad (11.27) puede ser estricta, resulta de es-


pecial interés el caso en que se cumple con igualdad, alcanzándose el ínfimo y el
supremo correspondientes.

Dualidad Fuerte

Definición 11.5.4. Decimos que el problema primal (11.1) satisface Dualidad


Fuerte si existen x˚ P X y λ˚ P Rm tales que L ˚ pλ˚ q “ f px˚ q.

Damos a continuación la condición suficiente para mínimo global, cuya validez


es consecuencia inmediata de lo anterior.

Condición suficiente para mínimo global

Teorema 11.5.5. Supongamos que x˚ P X cumple CN1-ópL con λ˚ . Entonces, si


x˚ es un mínimo global para la relajación lagrangiana (11.25), se tiene que:
(a) L ˚ pλ˚ q “ f px˚ q;
(b) x˚ es un mínimo global para el problema primal (11.1); y

168
11.5. Optimalidad global y dualidad

(c) λ˚ es un máximo global para el problema dual (11.26).

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.

11.5.2. Caso de maximización


La relajación lagrangiana de (11.2) con vector multiplicador λ es

maximizar L px; λq. (11.29)


xPS

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

Teorema 11.5.6. Para todo x P X y λ P Rm ,

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

Definición 11.5.7. El problema dual del problema primal (11.2) es

minimizar
m
L ˚ pλq. (11.30)
λPR

169
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD

Notemos que la función L ˚ pλq es convexa en λ, al estar definida como el su-


premo de funciones lineales, que son convexas en λ. Sea L ˚,ı́nf fi ı́nftL ˚ pλq : λ P
Rm u el valor ínfimo) del problema dual (11.30), y sea f sup fi suptf pxq : x P Xu el
valor supremo del problema primal (11.2). Entonces, como consecuencia inmediata
del Teorema 11.5.1 obtenemos

f sup ď L ˚,ı́nf . (11.31)

La desigualdad (11.31) nos permite definir la brecha de dualidad para el pro-


blema primal (11.2) y su dual (11.30).

Brecha de dualidad

Definición 11.5.8. La brecha de dualidad para el problema primal (11.2) es


la diferencia entre valor ínfimo de su problema dual y el valor supremo de
dicho problema, esto es,
L ˚,ı́nf ´ f sup . (11.32)

Aunque, en general, la desigualdad (11.31) puede ser estricta, resulta de espe-


cial interés el caso en que se cumple con igualdad, alcanzándose el supremo y el
ínfimo correspondientes.

Dualidad Fuerte

Definición 11.5.9. Decimos que el problema primal (11.2) satisface Dualidad


Fuerte si existen x˚ P X y λ˚ P Rm tales que f px˚ q “ L ˚ pλ˚ q.

Damos a continuación la condición suficiente para máximo global, cuya validez


es consecuencia directa de lo anterior.

Condición suficiente para máximo global

Teorema 11.5.10. Supongamos que x˚ P X cumple CN1-ópL con λ˚ . Entonces, si


x˚ es un máximo global para la relajación lagrangiana (11.29):
(a) L ˚ pλ˚ q “ f px˚ q;
(b) x˚ es un máximo global para el problema primal (11.2); y
(c) λ˚ es un mínimo global para el problema dual (11.30).

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

11.6. Interpretación económica de los multiplicadores


Consideremos el problema primal de minimización (11.1). Supongamos que
x˚ pbq es un mínimo local estricto para dicho problema, donde hemos hecho ex-
plícita la dependencia del vector b “ pb1 , . . . , bm qT transpuesto de las constan-
tes del lado derecho de las restricciones. Supongamos también que las funciones
b ÞÑ x˚j pbq tienen derivadas parciales continuas pB{Bbi qx˚j pbq en un entorno del
vector actual
` de lados
˘ derechos. Denotamos el valor de dicho mínimo local como
f ˚ pbq fi f x˚ pbq .
Sea λ˚ pbq el vector de multiplicadores de Lagrange asociado a dicho problema,
que hemos emplado para establecer la optimalidad local de x˚ pbq aplicando la
condición suficiente correspondiente.
Entonces, bajo ciertas condiciones, se tiene que

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

Para cada elección de los valores numéricos de los multiplicadores λ1 y λ2 , (11.34)


es un problema de ONL sin restricciones con objetivo cuadrático convexo, que
vimos cómo resolver en el tema anterior.
A continuación, buscamos identificar las soluciones factibles x˚ que cumplen
CN1-ópL en el Teorema 11.3.1. Comenzamos por observar que los gradientes de
las funciones restricción en un punto x están dados por

∇g1 pxq “ 1 y ∇g2 pxq “ r,

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,

1T x˚ pλq “ 1 y rT x˚ pλq “ b. (11.37)

Sustituyendo x˚ pλq por la fórmula en (11.36), reformulamos (11.37) como

ˆ ˙ ˆ ˙ ˆ 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

Si los vectores 1 y r no son proporcionales, entonces la matriz C es invertible y,


por tanto, el único vector λ que satisface las ecuaciones (11.37) es

ˆ ˙ ˆ 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

Como ilustración, consideremos el siguiente ejemplo numérico, con n “ 3,


¨ ˛
` ˘ 0.01081 0.01241 0.01308
rT “ 0.089 0.210 0.230 , Q “ ˝0.01241 0.05839 0.05543‚.
0.01308 0.05543 0.09423

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:

x˚1 “ 1.7038 ´ 7.9254b ą 0 ùñ b ă 0.21499


x˚2 “ ´0.5121 ` 5.8738b ą 0 ùñ b ą 0.08718
x˚3 “ ´0.1918 ` 2.0516b ą 0 ùñ b ą 0.09347.

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

Ejemplo 11.7.2 (Un modelo de consumo óptimo y el Principio Equimarginal


(cont. Ejemplo 11.2.2)). Para facilitar los cálculos en el problema (11.6) de opti-
mización del consumo en Economía, consideraremos el siguiente problema equi-
valente, obtenido al tomar el logaritmo neperiano del objetivo:
n
ÿ
maximizar f pxq fi ln U pxq “ αj ln xj
j“1
(11.40)
sujeto a : x ą 0
p1 x1 ` ¨ ¨ ¨ ` pn xn “ b.
Asociamos un multiplicador λ P R, a la única restricción de igualdad del pro-
blema, con lo cual obtenemos la relajación lagrangiana
˜ ¸
ÿn
maximizar f pxq ´ λ pj xj ´ b . (11.41)
xą0
j“1

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

˘ como el Principio Equimarginal.


Las ecuaciones (11.43) se conocen en Economía
`
Evaluamos el gradiente ∇f pxq “ fj1 pxq 1ďjďn observando que

αj
fj1 pxq “ , j “ 1, . . . , n. (11.44)
xj

Ahora, reformulamos la primera ecuación vectorial en (11.42) como el siguiente


sistema de n ecuaciones en las n variables xj :
αj
´ λpj “ 0, j “ 1, . . . , n. (11.45)
xj

A continuación, reformulamos el sistema de ecuaciones anterior en términos del


vector q “ pqj q1ďjďn , con qj fi αj {pj , como

λx “ q.

De esta forma, obtenemos que el único punto estacionario x˚ pλq de la relajación


lagrangiana es
1
x˚ pλq “ q. (11.46)
λ
Para determinar el valor λ˚ del multiplicador λ que hace que x˚ pλq sea una
solución factible para el problema primal, aplicamos lo siguiente:

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

A partir de lo anterior, podemos representar la hessiana del objetivo del pro-


blema relajado como
¨ ˛
´α1 {x21 0 ¨¨¨ 0
˚ 0 ´α2 {x22 ¨ ¨ ¨ 0 ‹
˚ ‹
∇2xx L px; λq “ ∇2 f pxq “ ˚ .. .. . . ‹.
˝ . . . . .
. ‚
0 0 2
¨ ¨ ¨ ´αn {xn

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

Así, comprobamos que


d ˚ a
f pbq “ “ λ˚ .
db b

Ejemplo 11.7.3 (Proyección de un punto sobre un hiperplano (cont. Ejemplo


11.2.3). Para aplicar el método lagrangiano, formulamos la relajación lagrangia-
na para el problema (11.7) con multiplicador λ:
˜ ¸
n n
1ÿ ÿ
minimizar pxj ´ pj q2 ´ λ aj xj ´ b . (11.51)
xPRn 2 j“1 j“1

Las ecuaciones que se han de cumplir en la condición necesaria de 1.er orden


CN1-ópL son:

∇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

Ejemplo 11.7.4 (Proyecciones de un punto sobre un elipsoide (cont. Ejemplo


11.2.5). Para aplicar el método lagrangiano, formulamos la relajación lagrangia-
na para el problema (11.9) con multiplicador λ:
˜ ¸
3
ÿ 3
ÿ
minimizar L px; λq fi pxj ´ pj q2 ´ λ aj x2j ´ 1 . (11.53)
xPR3
j“1 j“1

Las ecuaciones que se deben satisfacer en la condición CN1-ópL son:

Lj1 px; λq “ 2pxj ´ pj q ´ 2λ aj xj “ 0, j “ 1, . . . , 3


3
ÿ (11.54)
aj x2j “ 1.
j“1

De la primera ecuación obtenemos


pj
x˚j pλq “ , j “ 1, . . . , 3.
1 ´ λaj
Sustituyendo en la segunda ecuación, obtenemos
3
ÿ aj p2j
“ 1,
j“1
p1 ´ λaj q2

Se puede comprobar numéricamente que la ecuación anterior tiene exactamen-


te dos raíces reales, una positiva y otra negativa, que denotaremos por λI ą 0 y
λII ă 0. Además, λI cumple que λI ą 1{aj , para j “ 1, . . . , 3.
Para λII , se tiene que, como los coeficientes aj son positivos y λII ă 0, la función
lagrangiana x ÞÑ L px; λII q es convexa. Por tanto, x˚ pλII q es el único mínimo global.
Para λI , se tiene que, como los coeficientes aj son positivos y λI ą 1{aj , para
j “ 1, . . . , 3, la función lagrangiana x ÞÑ L px; λI q es cóncava. Por tanto, x˚ pλI q es
el único máximo global.

11.8. Un ejercicio resuelto


Para la función
f pxq fi px2 ` x3 ´ 3q2 , x P R3 ,
considera el problema de optimizar (maximizar o minimizar) f pxq, sujeto a las
siguientes restricciones:

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

L px; λq fi px2 ` x3 ´ 3q2 ´ λ1 px21 ` x2 ` x3 ´ 2q ´ λ2 px1 ` x22 ` 2x3 ´ 2q.

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

teniendo en cuenta que tal solución solo es válida si el determinante de la matriz


de coeficientes del lado izquierdo es no nulo, esto es, si λ2 ‰ 0.
Si fuese λ2 “ 0, tendríamos que 2px2 ` x3 q “ 6 ` λ1 , esto es, x2 ` x3 “ 3 `
λ1 {2. También tendríamos que x1 “ ´λ2 {p2λ1 q “ 0. Por tanto, sustituyendo en
la ecuación g1 pxq fi x21 ` x2 ` x3 “ 2 obtendríamos que 3 ` λ1 {2 “ 2, de donde
λ1 “ ´2 y x2 ` x3 “ 2. Despejando x3 “ 2 ´ x2 y sustituyendo en la ecuación
g2 pxq fi x1 ` x22 ` 2x3 “ 2 obtenemos la ecuación cuadrática x22 ` 2p2 ´ x2 q “ 2, que
se reduce a x22 ´ 2x2 ` 2 “ 0. Es fácil comprobar que esta ecuación no tiene raíces
reales, de lo cual concluimos que no puede ser λ2 “ 0.
Por tanto, supondremos en adelante que los multiplicadores λ1 y λ2 son ambos
no nulos. Como, en tal caso, x2 “ 1, podemos simplificar las dos restricciones, que
quedan como
x21 ` x3 “ 1
x1 ` 2x3 “ 1.
Eliminando x3 de este sistema obtenemos y resolvemos la ecuación cuadrática
resultante en x1 :
1 ´ x1 1
1 ´ x21 “ ùñ x1 “ 1 o x1 “ ´ .
2 2
Así, obtenemos que la función lagrangiana tiene dos puntos estacionarios:

xA “ p1, 1, 0qT y xB “ p´1{2, 1, 3{4qT .

Para calcular los multiplicadores para el punto xA , sustituimos los valores de


las xAj en la primera y en la segunda ecuación del sistema ∇x L pxA ; λq “ 0, con lo
cual obtenemos el sistema de ecuaciones

´2λ1 ´ λ2 “ 0
´λ1 ´ 2λ2 “ 4,

cuya única solución es λA1 “ 4{3 y λA2 “ ´8{3.


Para calcular los multiplicadores para el punto xB “ p´1{2, 1, 3{4q, procedemos
de la misma forma. Así, obtenemos el sistema

λ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.

Dichas direcciones forman una recta en R3 .


Así, la condición CN2-mínL para un punto x˚ que cumpla CN1-ópL con λ˚ es
¨ ˚
˛¨ ˛
` ˘ ´2λ1 0 0 d1
d1 d2 d3 ˝ 0 ˚
2 ´ 2λ2 2‚ ˝d2 ‚ ě 0 para toda d que cumpla (11.55).
0 2 2 d3
La condición CS2-mínL para un punto x˚ que cumpla CN1-ópL con λ˚ es
¨ ˚
˛¨ ˛
` ˘ ´2λ1 0 0 d1
d1 d2 d3 ˝ 0 2 ´ 2λ˚2 2‚˝d2 ‚ ą 0 para toda d ‰ 0 que cumpla (11.55).
0 2 2 d3
La condición CN2-máxL para un punto x˚ que cumpla CN1-ópL con λ˚ es
¨ ˚
˛¨ ˛
` ˘ ´2λ1 0 0 d1
d1 d2 d3 ˝ 0 2 ´ 2λ˚2 2‚˝d2 ‚ ď 0 para toda d que cumpla (11.55).
0 2 2 d3

La condición CS2-máxL para un punto x˚ que cumpla CN1-ópL con λ˚ es


¨ ˚
˛¨ ˛
` ˘ ´2λ1 0 0 d1
d1 d2 d3 ˝ 0 ˚
2 ´ 2λ2 2‚ ˝ d2 ‚ ă 0 para toda d ‰ 0 que cumpla (11.55).
0 2 2 d3

(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 .

De lo anterior, obtenemos las ecuaciones paramétricas para la recta tangente:


¨ ˛ ¨ ˛
d1 0
˝d2 ‚ “ γ ˝ 1 ‚, γ P R.
d3 ´1

179
11. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE IGUALDAD

Para tales direcciones d,


¨ ˛¨ ˛
` ˘ ´8{3 0 0 d1
16
d1 d2 d3 ˝ 0 22{3 2 ‚˝ d2 ‚ “ γ 2 ą 0 si d ‰ 0.
3
0 2 2 d3

Por tanto, el punto xA es un mínimo local estricto.


Para el punto xB “ p´1{2, 1, 3{4q, la hessiana está dada por
¨ ˛ ¨ ˛
´2λB1 0 0 5{3 0 0
∇2xx L px; λB q “ ˝ 0 2 ´ 2λB2 2‚ “ ˝ 0 11{3 2‚
0 2 2 0 2 2

Los menores principales dominantes cumplen D1 ą 0, D2 ą 0, y D3 ą 0. Por


tanto, esta matriz es DP. Se sigue que la función lagrangiana x ÞÑ L px; λB q es
estrictamente convexa en R3 . Por tanto, el punto xB es un mínimo global estricto
para L px; λB q, y también para f pxq.

11.9. Ejercicios
Ejercicio 11.1. Para la función

f pxq fi x1 ` x2 ` x3 , x P R3 ,

considera los problemas de maximizar y de minimizar f pxq, sujeto a las restriccio-


nes
x21 ` x22 ` x23 “ 1
x1 ´ x2 ´ x3 “ 1.
(a) ¿Qué debe cumplir un punto factible x˚ para ser regular? Determina qué
puntos factibles son regulares.
(b) Formula las condiciones necesarias (CN) de 1.er orden para óptimo local.
(c) ¿Qué direcciones d son tangentes a la región factible en un punto factible x˚ ?
(d) Formula las CN y las condiciones suficientes (CS) de 2.o orden para mínimo
y para máximo local.
(e) Calcula los puntos que cumplen las CN en (a), con sus multiplicadores.
(f) Para cada punto obtenido en (e), analiza su posible optimalidad local y glo-
bal.

Ejercicio 11.2. Para la función

f pxq fi p3x1 ` x2 ` x3 ´ 5q2 , x P R3 ,

considera los problemas de maximizar y de minimizar f pxq, sujeto a

g1 pxq fi 4x1 ` 5x22 ` x3 “ 3


g2 pxq fi 2x1 ` 3x22 ´ 4x3 “ 8

(a) Determina qué puntos factibles son regulares.


(b) Formula la condición necesaria de 1.er orden para óptimo local (CN1).
(c) Calcula todos los puntos que cumplen CN1.

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

Q es SDP si todos los Mj , Mjk y M123 son no negativos; y Q es SDN si

M1 , M2 , M3 ď 0, M12 , M13 , M23 ě 0, M123 ď 0.

181
Capítulo 12

Optimización no lineal con


restricciones de desigualdad

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.

Elementos de una formulación de ONL con restricciones de des-


igualdad:
1. Variables de decisión. Hay n variables de decisión, x1 , . . . , xn , que pue-
den tomar valores continuos. Denotaremos por x “ px1 , . . . , xn qT el vec-
tor columna de variables de decisión.
2. Objetivo. El objetivo de optimización es de la forma “maximizar f pxq”
o “minimizar f pxq”. Supondremos que f tiene derivadas parciales
continuas de 1.er orden y de 2.o orden, fj1 pxq fi pB{Bxj qf pxq y fjk 2 pxq fi

pB2 {Bxj Bxk qf pxq, en un dominio abierto y convexo S Ď Rn . P. ej., S


podría tomar la forma S fi tx P Rn : xj ą 0, j “ 1, . . . , nu.
3. Restricciones. El punto x debe pertenecer a la región factible, que toma
la forma
(
X fi x P S : g1 pxq “ b1 , . . . , gm pxq “ bm , h1 pxq ď c1 , . . . , hl pxq ď cl ,

para un problema de maximización, y


(
X fi x P S : g1 pxq “ b1 , . . . , gm pxq “ bm , h1 pxq ě c1 , . . . , hl pxq ě cl ,

183
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD

para un problema de minimización, donde las m funciones gi pxq y


las l funciones hi pxq tienen derivadas parciales continuas de 1.er y
de 2.o orden, gij 1 pxq fi pB{Bx qg pxq, h1 pxq fi pB{Bx qh pxq g 2 pxq fi
j i ij j i ijk
pB2 {Bxj Bxk qgi pxq, y h2ijk pxq fi pB2 {Bxj Bxk qhi pxq, en S. Los coeficientes bi
y ci de los lados derechos son constantes. Supondremos que hay menos
restricciones de igualdad que variables, esto es, que m ă n.

Formulamos los correspondientes problemas de optimización como sigue. Para


un problema de minimización, emplearemos el formato estándar

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 “ď”.

12.2. Ejemplos de formulaciones


Ejemplo 12.2.1 (Optimización de una cartera de inversiones). En el tema anterior
vimos una variante de este problema en la cual se requería que se invirtiese una
fracción positiva del capital en cada inversión. En este tema tratamos el modelo
más realista en el cual se permite que no se invierta nada en algunas inversiones.
Así, el problema de optimización de la cartera queda formulado como el siguiente
problema de ONL con restricciones de desigualdad:

minimizar xT Qx
sujeto a
x1 ` ¨ ¨ ¨ ` xn “ 1 (12.3)
r1 x1 ` ¨ ¨ ¨ ` rn xn “ b
x1 , . . . , xn ě 0.

12.3. Condiciones necesarias para óptimo local


Consideremos el problema de minimización (12.1) y el problema de maximi-
zación (12.2). Para tratar de resolverlos, comenzaremos por identificar condiciones
necesarias que deban ser satisfechas por aquellos puntos factibles x˚ que sean óp-
timos locales.

184
12.3. Condiciones necesarias para óptimo local

12.3.1. Cualificaciones de restricciones y puntos regulares


Recordemos que, en el caso de problemas de ONL con restricciones de igual-
dad, disponíamos de condiciones que debían ser satisfechas necesariamente por
cualquier óptimo local siempre que se cumpliera alguna cualificación de restric-
ciones (CRs). Lo mismo ocurre en el presente contexto. Para formular las CRs co-
rrespondientes, necesitaremos el siguiente concepto preliminar.

Restricciones activas e inactivas en un punto factible


Dado un punto factible x˚ P X, diremos que la i-ésima restricción de des-
igualdad es activa en x˚ si hi px˚ q “ ci . Denotaremos por

Apx˚ q fi ti : hi px˚ q “ ci u (12.4)

el conjunto de índices de las restricciones activas en x˚ , y por

Ac px˚ q fi ti : hi px˚ q ‰ ci u. (12.5)

el conjunto de índices de las restricciones inactivas en x˚ .

Aunque se conocen numerosas CRs, en este curso solo emplearemos dos, la CR


de linealidad y la CR de regularidad, que se definen a continuación.

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.

12.3.2. La función lagrangiana


Para presentar las condiciones necesarias para óptimo local, consideraremos la
función lagrangiana asociada.

Formulación de la función lagrangiana


1. Asociamos a cada restricción de igualdad (gi pxq “ bi ) un multiplicador
λi no restringido en signo, y a cada restricción de desigualdad (hi pxq ě
ci o hi pxq ď ci ) un multiplicador µi ě 0 no negativo.
2. Modificamos la función objetivo, restándole la suma de los productos

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

donde λ “ pλi q1ďiďm y µ “ pµi q1ďiďl .

12.3.3. Condiciones necesarias de 1.er orden para óptimo local


Tenemos el siguiente resultado.

Condiciones necesarias de 1.er orden para óptimo local (CN1-ópL)


Supongamos que x˚ es un punto factible regular. Si x˚ es un mínimo local
para el problema (12.1) o un máximo local para el problema (12.2), entonces
existen vectores multiplicadores λ˚ P Rm y µ˚ P Rl tales que:
m
ÿ l
ÿ
∇x L px˚ ; λ˚ , µ˚ q “ ∇f px˚ q ´ λ˚i ∇gi px˚ q ´ µ˚i ∇hi px˚ q “ 0
i“1 i“1
µ˚i ě 0, i “ 1, . . . , l
` ˘
˚
µi hi px˚ q ´ ci “ 0, i “ 1, . . . , l.
(12.6)

Las condiciones CN1-ópL indican que el gradiente de la función objetivo en


el punto x˚ debe poder repreentarse como combinación lineal de los gradientes
correspondientes a las restricciones de igualdad, y de los gradientes correspon-
dientes a las restricciones de desigualdad activas, en este último caso siendo no
negativos los coeficientes, esto es,
m
ÿ ÿ
∇f px˚ q “ λ˚i ∇gi px˚ q ` µ˚i ∇hi px˚ q, (12.7)
i“1 iPApx˚ q

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.

Condiciones de Holgura Complementaria


Los multiplicadores KKT de las restricciones inactivas valen cero:

µ˚i “ 0 si hi px˚ q ‰ ci , i “ 1, . . . , l. (12.8)

Así, para el problema de minimización (12.1), buscaríamos los puntos KKT de


1.erorden, junto con sus multiplicadores, entre las soluciones del siguiente sistema
de ecuaciones y desigualdades:
m
ÿ l
ÿ
fj1 pxq ´ 1
λi gij pxq ´ µi h1ij pxq “ 0, j “ 1, . . . , n
i“1 i“1
µi ě 0, i “ 1, . . . , l
` ˘
µi hi pxq ´ ci “ 0, i “ 1, . . . , l (12.9)
gi pxq “ bi , i “ 1, . . . , m
hi pxq ě ci , i “ 1, . . . , l
x P S.
Para el problema de maximización (12.2), buscaríamos los puntos KKT de 1.er
orden, junto con sus multiplicadores, entre las soluciones del siguiente sistema de
ecuaciones y desigualdades:
m
ÿ l
ÿ
fj1 pxq ´ 1
λi gij pxq ´ µi h1ij pxq “ 0, j “ 1, . . . , n
i“1 i“1
µi ě 0, i “ 1, . . . , l
` ˘
µi hi pxq ´ ci “ 0, i “ 1, . . . , l (12.10)
gi pxq “ bi , i “ 1, . . . , m
hi pxq ď ci , i “ 1, . . . , l
x P S.

12.3.4. Problemas con restricciones de no negatividad


El tipo más común de restricciones de desigualdad es aquel que indica que las
variables de decisión son no negativas. Debido a su especial interés, trataremos
este caso de forma específica.
Consideremos los siguientes problemas:

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

Aplicando CN1-ópL, obtenemos las siguientes condiciones necesarias de 1.er


orden para mínimo local.

Condiciones necesarias KKT de 1.er orden para mínimo local (CN1-


mínL) con variables no negativas
Supongamos que x˚ es un punto factible regular. Si x˚ es un mínimo local
para (12.11), entonces existen multiplicadores λ˚ P Rm , µ˚ P Rl y ν ˚ P Rn ,
tales que
m
ÿ l
ÿ
∇f px˚ q ´ λ˚i ∇gi px˚ q ´ µ˚i ∇hi px˚ q ´ ν ˚ “ 0
i“1 i“1
µ˚i ě 0, i “ 1, . . . , l
(12.13)
νj˚ ě 0, j “ 1, . . . , n
` ˘
µ˚i hi px˚ q ´ ci “ 0, i “ 1, . . . , l
νj˚ x˚j “ 0, j “ 1, . . . , n.

A menudo, resulta más sencillo reformular las condiciones (12.13) eliminando


los multiplicadores νj de las restricciones de no negatividad, y reformulando las
condiciones de Holgura Complementaria como sigue.

188
12.3. Condiciones necesarias para óptimo local

Reformulación de CN1-mínL con variables no negativas

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

se denomina el gradiente reducido para el problema (12.11) en el punto x˚ .


Continuemos con el problema de maximización (12.12). 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 mul-
tiplicadores νj ě 0 a las restricciones de no negatividad, expresadas como ´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 p´xj q.
i“1 i“1 i“1

Aplicando las condiciones CN1-ópL, obtenemos las siguientes condiciones ne-


cesarias de 1.er orden de KKT para máximo local.

Condiciones necesarias KKT de 1.er orden para máximo local (CN1-


máxL) con variables no negativas
Supongamos que x˚ es un punto factible regular. Si x˚ es un máximo local
para (12.12), entonces existen multiplicadores λ˚ P Rm , µ˚ P Rl y ν ˚ P Rn ,
tales que
m
ÿ l
ÿ
∇f px˚ q ´ λ˚i ∇gi px˚ q ´ µ˚i ∇hi px˚ q ` ν ˚ “ 0
i“1 i“1
µ˚i ě 0, i “ 1, . . . , l
(12.16)
νj˚ ě 0, j “ 1, . . . , n
` ˘
µ˚i hi px˚ q ´ ci “ 0, i “ 1, . . . , l
νj˚ x˚j “ 0, j “ 1, . . . , n.

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

Reformulación de CN1-máxL con variables no negativas

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

se denomina el gradiente reducido para el problema (12.12) en el punto x˚ .

12.3.5. Cómo chequear las condiciones mediante OL


Supongamos que tenemos un punto factible regular dado, x˚ P X, para el pro-
blema (12.1) o para (12.2). Para chequear numéricamente si el punto x˚ cumple las
condiciones CN1-ópL para óptimo local, podemos emplear la OL, ya que el punto
x˚ cumplirá dichas condiciones si y solo si el siguiente problema de OL es factible:

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

λi no restringida en signo, para i “ 1, . . . , m


µi ě 0, para i P Apx˚ q.
Notemos que, en el problema de OL (12.19), las variables λi son no restringidas
en signo. En cuanto a las variables no negativas µi ě 0, solo se necesitan aquéllas
que corresponden a restricciones de desigualdad activas. Además, el objetivo que
hemos empleado, “maximizar 0”, es simplemente un artificio para formular co-
mo un problema de OL el problema de encontrar los multiplicadores. Claramente,
obtendríamos el mismo resultado empleando cualquier otro objetivo.
De forma similar, supongamos ahora que nos proponemos chequear si se cum-
plen las condiciones CN1-mínL (12.14) para que un punto factible regular x˚ sea
mínimo local para el problema con restricciones de no negatividad (12.11). Para
ello, basta chequear si el siguiente problema de OL es factible:

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

λi no restringida en signo, para i “ 1, . . . , m


µi ě 0, para i P Apx˚ q.

Si nos proponemos chequear si se cumplen las condiciones CN1-máxL (12.17)


para que un punto factible regular x˚ sea máximo local para el problema con res-
tricciones de no negatividad (12.12), tenemos que chequear si el siguiente problema
de OL es factible:

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.

Condiciones CN1-ópL para un problema de OL en formato estándar


Si x˚ es un máximo local para el problema lineal (12.22), entonces existe un
vector de multiplicadores λ˚ “ pλ˚i q1ďiďm tal que
m
ÿ
rj ´ λ˚i aij ď 0 p““” si x˚j ą 0q, j “ 1, . . . , n (12.23)
i“1

191
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD

El lector familiarizado con el método símplex habrá deducido que, si x˚ es un


vértice óptimo que cumple el test de optimalidad aplicado en dicho método, los
costes reducidos de la tabla símplex correspondiente estarán dados por
m
ÿ
νj fi λ˚i aij ´ rj .
i“1

Por otra parte, en el caso de la OL tales condiciones son no solo necesarias para
óptimo local, sino suficientes para óptimo global.

12.4. Condiciones necesarias de 2.o orden para óptimo


local
Las condiciones necesarias de 2.o orden para óptimo local hacen referencia al
subespacio lineal de las direcciones d P Rn que satisfacen las ecuaciones implícitas

∇gi px˚ qT d “ 0, para i “ 1, . . . , m


˚ (12.24)
T
∇hi px q d “ 0, para i P Apx˚ q.

Condición necesaria de 2.o orden para mínimo local (CN2-mínL)


Si x˚ es un mínimo local para (12.1) que cumple CN1-ópL con λ˚ y µ˚ enton-
ces, para toda dirección d P Rn que satisfaga (12.24) se cumple

dT ∇2xx L px˚ ; λ˚ , µ˚ qd ě 0. (12.25)

Además, si d “ Uγ, con γ P Rp , son unas ecuaciones paramétricas corres-


pondientes a (12.24), entonces la condición (12.25) es equivalente a que la
matriz hessiana reducida UT ∇2xx L px˚ ; λ˚ , µ˚ qU sea SDP.

En particular, se cumplirá (12.25) si la hessiana ∇2xx L px˚ ; λ˚ , µ˚ q es SDP.


La condición necesaria de 2.o orden para máximo local en el problema (12.2) se
formula de forma análoga.

Condición necesaria de 2.o orden para máximo local (CN2-máxL)


Supongamos que x˚ es un punto factible regular. Si x˚ es un máximo local
para (12.2) que cumple CN1-ópL con λ˚ y µ˚ entonces, para toda dirección
d P Rn que satisfaga (12.24) se cumple

dT ∇2xx L px˚ ; λ˚ , µ˚ qd ď 0. (12.26)

Además, si d “ Uγ, con γ P Rp , son unas ecuaciones paramétricas corres-


pondientes a (12.24), entonces la condición (12.26) es equivalente a que la

192
12.5. Condiciones suficientes de 2.o orden para óptimo local

matriz hessiana reducida UT ∇2xx L px˚ ; λ˚ , µ˚ qU sea SDN.

En particular, se cumplirá (12.26) si la hessiana ∇2xx L px˚ ; λ˚ , µ˚ q es SDN.


Los puntos que cumplen las condiciones necesarias de 2.o orden para mínimo
o para máximo local se denominan puntos KKT de 2.o orden.

12.5. Condiciones suficientes de 2.o orden para óptimo


local
En lo que respecta al problema de minimización (12.1), tenemos el siguiente
resultado.

Condición suficiente de 2.o orden para mínimo local (CS2-mínL)


Supongamos que x˚ es un punto factible regular que cumple CN1-ópL con
λ˚ y µ˚ .
(a) Si para toda dirección no nula d ‰ 0 tal que

∇gi px˚ qT d “ 0, para i “ 1, . . . , m


˚ T
∇hi px q d “ 0, para i P Apx˚ q con µ˚i ą 0 (12.27)
˚ ˚
T
∇hi px q d ě 0, para i P Apx q con µ˚i “ 0,

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.

En particular, se cumplirá CS2-mínL si la hessiana ∇2xx L px˚ ; λ˚ , µ˚ q es DP.


En cuanto al problema de maximización (12.2), tenemos el siguiente resultado.

Condición suficiente de 2.o orden para máximo local (CS2-máxL)


Supongamos que x˚ es un punto factibe regular que cumple CN1-ópL con
λ˚ y µ˚ .
(a) Si para toda dirección no nula d ‰ 0 tal que

∇gi px˚ qT d “ 0, para i “ 1, . . . , m


˚ T
∇hi px q d “ 0, para i P Apx˚ q con µ˚i ą 0 (12.29)
˚ ˚
T
∇hi px q d ď 0, para i P Apx q con µ˚i “ 0,

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.

En particular, se cumplirá CS2-máxL si la hessiana ∇2xx L px˚ ; λ˚ , µ˚ q es DN.

12.6. Optimalidad global y dualidad


12.6.1. Problema primal de minimización
Supongamos que x P X es una solución factible para el problema primal de
minimización (12.1), y denotemos el valor mínimo (o ínfimo) del objetivo para la
relajación lagrangiana
minimizar L px; λ, µq (12.31)
xPS

con multiplicadores λ y µ ě 0 como

L ˚ pλ, µq fi ı́nftL px; λ, µq : x P Su.

Entonces, los valores f pxq y L ˚ pλ, µq están relacionados como indica el siguiente
resultado.

Dualidad Débil (caso de minimización)


L ˚ pλ, µq ď f pxq.

El resultado anterior indica que el valor ínfimo de la relajación lagrangiana,


L ˚ pλ, µq da una cota inferior para el valor f pxq de cualquier solución factible
x P X para el problema primal de minimización (12.1). Su justificación es que
cada solución factible x P X del problema primal (12.1) también es factible para el
problema relajado (12.31) y, además, se tiene que
m
ÿ ` ˘ ÿl ` ˘
L ˚ pλ, µq ď L px; λ, µq “ f pxq ´ λi gi pxq ´ bi ´ µi hi pxq ´ ci
i“1 i“1
l
ÿ ` ˘
“ f pxq ´ µi hi pxq ´ ci ď f pxq,
i“1

donde hemos aplicado que gi pxq ´ bi “ 0, µi ě 0, y hi pxq ´ ci ě 0.

194
12.6. Optimalidad global y dualidad

La relación de Dualidad Débil L ˚ pλ, µq ď f pxq nos lleva naturalmente a plan-


tearnos el problema de determinar la mejor cota inferior que se puede obtener pa-
ra el valor mínimo del problema primal mediante relajaciones lagrangianas. Dicho
problema se conoce como el problema dual. Usaremos la notación
(
Rl` fi µ P Rl : µ ě 0

Problema dual (caso de minimización)


El problema dual del problema primal de minimización (12.1) es

maximizar L ˚ pλ, µq. (12.32)


λPRm , µPRl`

Supongamos que pλ˚ , µ˚ q es un máximo global para el problema dual (12.32),


y que x˚ es un mínimo global para el problema primal (12.1). Entonces, se sigue de
lo anterior que
L ˚ pλ˚ , µ˚ q ď f px˚ q. (12.33)
La desigualdad (12.33) nos permite definir la brecha de dualidad para el pro-
blema primal (12.1), como sigue.

Brecha de dualidad (caso de minimización)


La brecha de dualidad para el problema primal (12.1) es la diferencia entre
su valor mínimo y el valor máximo de su problema dual (12.32), esto es,

f px˚ q ´ L ˚ pλ˚ , µ˚ q. (12.34)

Aunque, en general, la desigualdad (12.33) puede cumplirsede forma estricta,


resulta de especial interés el caso en que se cumple con igualdad.

Dualidad fuerte (caso de minimización)


El problema primal (12.1) satisface Dualidad Fuerte si su valor mínimo coin-
cide con el valor máximo de su problema dual (12.32), esto es, si su brecha de
dualidad se anula: L ˚ pλ˚ , µ˚ q “ f px˚ q.

Como consecuencia de lo anterior, obtenemos el siguiente resultado.

195
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD

Condición suficiente para mínimo global


Supongamos que x˚ P X cumple CN1-ópL para el problema (12.1) con λ˚ y
µ˚ . Si x˚ es un mínimo global para la relajación lagrangiana (12.31), entonces:
(a) L ˚ pλ˚ , µ˚ q “ f px˚ q;
(b) x˚ es un mínimo global para el problema primal (12.1); y
(c) pλ˚ , µ˚ q es un máximo global para el problema dual (12.32).

Para aplicar el resultado anterior, basta comprobar que la función lagrangiana


x ÞÑ L px; λ˚ , µ˚ q es convexa en el dominio x P S, esto es, que la matriz hessiana
∇2xx L px; λ˚ , µ˚ q es SDP para todo punto x P S.

12.6.2. Problema primal de maximización


De forma similar, para el caso de maximización tenemos los siguientes resul-
tados. Si x es una solución factible con valor f pxq, para el problema primal de
maximización (12.2), y el valor máximo (o supremo) de la relajación lagrangiana

maximizar L px; λ, µq (12.35)


xPS
es
L ˚ pλ, µq fi suptL px; λ, µq : x P Su,
se tiene el siguiente resultado, donde suponemos que µ ě 0.

Dualidad Débil (caso de maximización)


Para x P X, λ P Rm y µ P Rm
`,

f pxq ď L ˚ pλ, µq.

Problema dual (caso de maximización)


El problema dual del problema primal de maximización (12.2) es

minimizar L ˚ pλ, µq. (12.36)


λPRm ,µPRl`

Supongamos que pλ˚ , µ˚ q es un mínimo global para el problema dual (12.36),


y que x˚ es un máximo global para el problema primal (12.2). Entonces, se sigue
del resultado anterior que
f px˚ q ď L ˚ pλ˚ , µ˚ q. (12.37)
La desigualdad (12.37) nos permite definir la brecha de dualidad para el pro-
blema primal (12.2).

196
12.7. Interpretación económica de los multiplicadores

Brecha de dualidad (caso de maximización)


La brecha de dualidad para el problema primal (12.2) es la diferencia entre
el valor mínimo de su problema dual y el valor máximo de dicho problema,
esto es,
L ˚ pλ˚ , µ˚ q ´ f px˚ q. (12.38)

Aunque, en general, la desigualdad (12.38) puede ser estricta, resulta de espe-


cial interés el caso en que se cumple con igualdad.

Dualidad Fuerte (caso de maximización)


Decimos que el problema primal (12.2) satisface Dualidad Fuerte si su valor
máximo coincide con el valor mínimo de su problema dual (12.36), esto es, si
su brecha de dualidad vale cero: L ˚ pλ˚ , µ˚ q “ f px˚ q.

Como consecuencia de lo anterior, obtenemos el siguiente resultado.

Condición suficiente para máximo global


Supongamos que x˚ cumple CN1-ópL para el problema (12.2) con λ˚ y µ˚ .
Si x˚ es un máximo global para la relajación lagrangiana (12.35), entonces
(a) L ˚ pλ˚ , µ˚ q “ f px˚ q;
(b) x˚ es un máximo global para el problema primal (12.2); y
(c) pλ˚ , µ˚ q es un mínimo global para el problema dual (12.36).

Para aplicar el resultado anterior, basta comprobar que la función lagrangiana


x ÞÑ L px; λ˚ , µ˚ q es cóncava en el dominio x P S, esto es, que la matriz hessiana
∇2xx L px; λ˚ , µ˚ q es SDN para todo punto x P S.

12.7. Interpretación económica de los multiplicadores


Supongamos que x˚ pb, cq es, o bien un mínimo local estricto para el problema
(12.1), o bien un máximo local estricto para el problema (12.2), donde hemos hecho
explícita la dependencia de los vectores b “ pbi q1ďiďm y c “ pci q1ďiďl de constantes
de los lados derechos para las restricciones de igualdad y desigualdad. Suponga-
mos también que las funciones pb, cq ÞÑ x˚j pb, cq tienen derivadas parciales conti-
nuas pB{Bbi qx˚j pb, cq en un entorno del vector actual de lados derechos. Denotamos
` ˘
el valor de la función objetivo en dicho óptimo local como f ˚ pb, cq fi f x˚ pb, cq .
Sean λ˚ y µ˚ los vectores multiplicadores de KKT asociados a dicho problema,
que hemos empleado para establecer la optimalidad local de x˚ pb, cq aplicando la
condición suficiente correspondiente.
Entonces,

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

En el caso de un problema de maximización, en el que la restricción hi pxq ď ci


modeliza la disponibilidad limitada de un recurso, el multiplicador µ˚i representa
el valor marginal de dicho recurso.
En el caso de un problema de minimización, en el que la restricción hi pxq ě
ci modeliza un nivel mínimo de calidad, el multiplicador µ˚i representa el coste
marginal correspondiente.

Ejemplo 12.7.1 (Optimización de una cartera de inversiones (cont. Ejemplo


12.2.1)). Consideremos el problema (12.3) de optimización de una cartera de in-
versiones. Para simplificar los cálculos, multiplicaremos el objetivo por 1{2. Para
el problema resultante, asociamos un vector de multiplicadores λ “ pλ1 , λ2 qT a las
restricciones de igualdad del problema, así como multiplicadores νj ě 0 a las res-
tricciones de no negatividad xj ě 0, con lo cual obtenemos la función lagrangiana
˜ ¸ ˜ ¸
ÿn n
ÿ ÿn
1 T
L px; λ, νq fi x Qx ´ λ1 xj ´ 1 ´ λ2 rj xj ´ b ´ νj xj .
2
j“1 j“1 j“1

La relajación lagrangiana es

minimizar
n
L px; λ, νq, (12.40)
xPR

donde hemos tomado S fi Rn . Para cada elección de los multiplicadores λ y ν ě 0,


(12.40) es un problema de ONL sin restricciones con función objetivo cuadrática y
convexa.
Las condiciones CN1-mínL para que un punto factible x˚ sea mínimo local son:
que existan multiplicadores KKT λ˚ y ν ˚ tales que

Qx˚ ´ λ˚1 1 ´ λ˚2 r ´ ν ˚ “ 0


(12.41)
νj˚ ě 0 p““” si x˚j ą 0q, j “ 1, . . . , n.
Podemos reformular estas condiciones eliminando los multiplicadores νj˚ , co-
mo

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

Nótese que νj˚ desempeña el papel de un coste reducido para la inversión j.


Notemos que, además, el punto debe cumplir x˚ ě 0, y
1T x˚ “ 1
rT x˚ “ b.
Supongamos que K Ă t1, . . . , nu es un subconjunto de índices de inversiones.
P. ej., K “ t1, 2u. Nos planteamos ahora la cuestión de si se puede obtener una
cartera óptima con soporte K, esto es, con x˚j ą 0 para j P K y x˚j “ 0 para j R K.
Nos referiremos a la submatriz QKK “ pqij qi,jPK , y a los subvectores 1K “ p1qiPK ,
0K “ p0qiPK , rK “ pri qiPK , y xK “ pxj qiPK .
Aplicando los resultados del capítulo anterior, tenemos que, suponiendo que
la matriz de covarianzas de los rendimientos para las inversiones en K, QKK , sea
invertible, el sistema de ecuaciones lineales
QKK xK ´ λ1 1K ´ λ2 rK “ 0K
1K T xK “ 1
rK T xK “ b
tiene como única solución
` ˘
xK˚ fi Q´1
KK 1K rK λ˚ , (12.43)
con
ˆ ˙
˚ 1
λ fi C ´1
K , (12.44)
b
donde CK es la matriz 2 ˆ 2 dada por
` ˘T ` ˘
CK fi 1K rK Q´1 KK 1K rK .
En el caso de que la cartera con soporte K resultante sea factible, esto es, xK˚ ě 0
(x˚j ě 0 para i P K), nos proponemos chequear si la cartera de inversiones x˚ , con
x˚j “ 0 para j R K, es óptima.
Como la función lagrangiana x ÞÑ L px; λ, νq es convexa, podemos aplicar la
condición suficiente para mínimo global, esto es, basta que se cumplan las condi-
ciones CN1-ópL. Para ello, basta chequear si se cumple
ÿ
νj˚ fi qji x˚i ´ λ˚1 ´ λ˚2 rj ě 0, para j P t1, . . . , nuzK. (12.45)
iPK
Las condiciones (12.42) desempeñan el papel de un Test de optimalidad para
una cartera factible con soporte K, en la que solo se emplean inversiones en K.
Dicho test consiste en chequear si los costes reducidos de las inversiones no selec-
cionadas son no negativos.
Por otra parte, suponiendo que la matriz de covarianzas Q sea invertible, la
relajación lagrangiana (12.40) tiene como única solución óptima
x˚ pλ, νq “ λ1 Q´1 1 ` λ2 Q´1 r ` Q´1 ν.
El valor mínimo de la relajación lagrangiana es, por tanto,
1
L ˚ pλ, νq “ x˚ pλ, νqT Qx˚ pλ, νq´λ1 px˚ pλ, νqT 1´1q´λ2 px˚ pλ, νqT r´bq´x˚ pλ, νqT ν.
2

199
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD

12.8. Ejercicio resuelto


Para la función

f pxq fi 4x3 ´ x21 ´ x22 ´ x23 , x P R3 ,

considera el problema de maximizar f pxq, sujeto a las restricciones

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:

L11 “ ´2x1 ` x2 µ1 ´ 2x1 µ2 “ 0


L21 “ ´2x2 ` x1 µ1 ´ 2x2 µ2 “ 0
L31 “ 4 ´ 2x3 ´ µ1 ´ 2x3 µ2 “ 0
µ1 ě 0 p““” si h1 pxq ă 0q
µ2 ě 0 p““” si h2 pxq ă 3q.

(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.

Caso II: h1 pxq ă 0 y h2 pxq “ 3.


HC
h1 pxq ă 0 ùñ µ1 “ 0
ùñ ´2x1 ´ 2x1 µ2 “ 0, ´2x2 ´ 2x2 µ2 “ 0, 4 ´ 2x3 ´ 2x3 µ2 “ 0
ðñ x1 p1 ` µ2 q “ 0, x2 p1 ` µ2 q “ 0, 2 ´ x3 p1 ` µ2 q “ 0
µ2 ě0
´ 2 ˘T
ùñ x “ 0, 0, : no factible.
1 ` µ2

200
12.8. Ejercicio resuelto

Caso III: h1 pxq “ 0 y h2 pxq ă 3.


HC
h2 pxq ă 3 ùñ µ2 “ 0
ùñ ´2x1 ` x2 µ1 “ 0, ´2x2 ` x1 µ1 “ 0, 4 ´ 2x3 ´ µ1 “ 0
ˆ ˙ˆ ˙ ˆ ˙
´2 µ1 x1 0 4 ´ µ1
ðñ “ , x3 “
µ1 ´2 x2 0 2

Ahora, notamos que la ecuación vectorial


ˆ ˙ˆ ˙ ˆ ˙
´2 µ1 x1 0

µ1 ´2 x2 0

tiene como única solución px1 , x2 q “ p0, 0q si y solo si

´2 µ1
“ 4 ´ µ21 ‰ 0 ðñ ´2 ‰ µ1 ‰ 2.
µ1 ´2

El caso µ1 “ ´2 está descartado. En cuanto al caso µ1 “ 2, obtendríamos


que x3 “ 1 y x1 “ x2 . Como tendría que ser x1 x2 “ x3 “ 1, se seguiría que
x1 “ x2 “ ˘1. Pero los puntos resultantes, x “ p1, 1, 1q y x “ p´1, ´1, 1q, no
cumplen h2 pxq ă 3, ya que h2 p1, 1, 1q “ h2 p´1, ´1, 1q “ 3.
Consideremos el caso 2 ‰ µ1 ě 0. En tal caso, obtenemos el punto
xT “ p0, 0, 2 ´ µ1 {2q. Como hemos supuesto que h1 pxq “ 0, se sigue que
0 “ x3 “ 2 ´ µ1 {2, de donde µ1 “ 4. Así, obtenemos el punto x “ 0, con
multiplicadores µT “ p4, 0q.
Caso IV: h1 pxq “ 0 y h2 pxq “ 3. En este caso, reformulamos las condiciones
∇L px; µq “ 0 como 2p1 ` µ2 qx3 “ 4 ´ µ1 y
ˆ ˙ˆ ˙ ˆ ˙
´2p1 ` µ2 q µ1 x1 0
“ .
µ1 ´2p1 ` µ2 q x2 0

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

Por tanto, tenemos los siguientes subcasos. Si fuese 4p1 ` µ2 q2 ´ µ21 ‰ 0,


tendríamos ´ ¯
4´µ
xT “ 0 0 2p1`µ12 q .

Como h1 pxq “ 0, se sigue que µ1 “ 4 y, por tanto, el punto sería x “ 0. Pero


h2 p0q ă 3, con lo cual se incumple un supuesto del caso IV.
Consideremos pues el subcaso 4p1 ` µ2 q2 ´ µ21 “ 0, en el cual

2p1 ` µ2 q “ ˘µ1 .

Como tiene que ser µ1 ě 0 y µ2 ě 0, se sigue que

2p1 ` µ2 q “ µ1 .

201
12. O PTIMIZACIÓN NO LINEAL CON RESTRICCIONES DE DESIGUALDAD

En este caso, se sigue que x1 “ x2 . Además, x3 “ x1 x2 “ x21 , y 3 “


x21` x22 ` x23 “ 2x21 ` x41 . Tomando y “ x21 , las soluciones de la ecuación
cuadrática
y 2 ` 2y ´ 3 “ 0
son ?
´2 ˘ ´2 ˘ 4
4 ` 12
y“ “ ,
2 2
esto es, y “ ´3 y y “ 1. Como y “ x21 , nos quedamos con y “ 1, esto es,
x21 “ 1, de donde x1 “ ˘1, x2 “ x1 y x3 “ 1. Así, obtenemos los dos puntos
xT “ p1, 1, 1q y xT “ p´1, ´1, 1q.
Para el punto xT “ p1, 1, 1q,

´2 ` µ1 ´ 2µ2 “ 0, ´2 ` µ1 ´ 2µ2 “ 0, 2 ´ µ1 ´ 2µ2 “ 0,

de donde
µ1 ´ 2µ2 “ 2, µ1 ` 2µ2 “ 2 ùñ µ1 “ 2, µ2 “ 0.
Para el punto xT “ p´1, ´1, 1q,

2 ´ µ1 ` 2µ2 “ 0, 2 ´ µ1 ` 2µ2 “ 0, 2 ´ µ1 ´ 2µ2 “ 0,

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

∇h1 pxqT “ p´x2 , ´x1 , 1q.

Las direcciones d P R3 que cumplen (12.24) están determinadas por las ecuaciones
implícitas
∇h1 pxA q d “ 0,
T

esto es, aquellas direcciones que tienen d3 “ 0. Para tales direcciones,


ˆ ˙ˆ ˙
` ˘ ´2 4 d1
dT ∇2xx L px; µA qd “ d1 d2 .
4 ´2 d2

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.

Ejercicio 12.2. Resuelve el problema

minimizar f pxq fi x1 x2
sujeto a
hpxq fi ´px21 ` x22 q ě ´25.

Ejercicio 12.3. Para la función

f pxq fi x1 ` 5x2 ´ x3 ` x1 x2 x3 , x P R3 ,

considera el problema de maximizar f pxq sujeto a las restricciones

px1 ` 2q2 ` x22 ` x3 ď 8


x21 ` px2 ` 1q2 ` x3 ď 4
x1 , x2 , x3 ě 0.

(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?

Ejercicio 12.4. Para la función

f pxq fi 3x1 ´ 4x2 , x P R2 ,

considera el problema de maximizar f pxq, sujeto a las restricciones

x1 x2 ď 4
x21 ` x22 ď 16.

Nos informan de que el sistema de ecuaciones

x1 x2 “ 4
x21 ` x22 “ 16

tiene cuatro soluciones: p3.8637, 1.03528q, p´3.8637, ´1.03528q, p´1.03528, ´3.8637q


y p1.03528, 3.8637q.
(a) ¿Qué tiene que cumplir un punto factible x˚ para ser regular? Determina qué
puntos factibles son regulares.
(b) Formula las condiciones necesarias (CN) de 1.er orden para máximo local.
(c) Formula las CN y las condiciones suficientes (CS) de 2.o orden para máximo
local.
(d) Calcula los puntos que cumplen las CN en (b), con sus multiplicadores.
(e) Para cada punto obtenido en (d), argumenta si es o no un máximo local. ¿Pue-
des probar que algún punto es un máximo global?

Ejercicio 12.5. Para la función

f pxq fi px1 ´ 2q2 ` px2 ´ 1q2 , x P R2 ,

considera el problema de minimizar f pxq, sujeto a las restricciones

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

Cálculo númerico de soluciones


para ONL sin restricciones

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.

13.2. Cálculo de soluciones para ONL sin restricciones


13.2.1. Problemas con una variable
Consideremos el problema de maximizar o de minimizar una función de una
variable, f pxq, sin restricciones. Vimos en el tema correspondiente que la condición
necesaria para que un punto x˚ sea óptimo local es que resuelva la ecuación
f 1 pxq “ 0.
Por tanto, necesitamos un método para resolver tales ecuaciones.
El método clásico para resolver ecuaciones no lineales en una variable se debe a
los matemáticos ingleses Isaac Newton (1642–1727) y a Joseph Raphson (c. 1648–

205
13. C ÁLCULO NÚMERICO DE SOLUCIONES PARA ONL SIN RESTRICCIONES

1715), por lo que se conoce como el método de Newton–Raphson (o el método


de Newton en algunos textos). Dado un punto inicial x0 , este método considera la
aproximación de Taylor de 1.er orden de f 1 pxq centrada en x0 , dada por
1
` ˘ 2
` ˘` ˘
Tfp1q
1 ,x pxq “ f x0 ` f
0
x 0 x ´ x 0 ,

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.

Iteración de Newton para resolver f 1 pxq “ 0


` ˘
f 1 xk
xk`1 “ xk ´ 2 ` ˘ , k “ 0, 1, 2, . . . (13.1)
f xk

Como ejemplo, consideremos el problema de minimizar f pxq fi ex ´ x, con x P


R. Para encontrar los candidatos a mínimo local, tenemos que resolver la ecuación
φpxq fi f 1 pxq “ ex ´ 1 “ 0. La iteración de Newton es

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

Así, observamos que el método converge rápidamente a la solución x˚ “ 0. La


Figura 13.1 muestra gráficamente la geometría del método en este ejemplo.
Consideremos el siguiente ejemplo: minimizar f pxq fi x ´ 2 arctan x, con x P R.
En este caso, buscamos raíces de la ecuación
2
φpxq fi f 1 pxq “ 1 ´ “ 0.
1 ` x2

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

Figura 13.1: Geometría del método de Newton–Raphson.

La iteración de Newton es
2

1 ` x2k 1 ´ x4k
xk`1 “ xk ´ xk “ xk ` , k “ 0, 1, 2, . . .
4` ˘ 4xk
2
1 ` x2k

La siguiente tabla muestra los resultados de aplicar el método a este problema,


comenzando con x0 “ 2.9010:
` ˘
k xk f 1 xk
0 2.9010 0.7821
1 ´3.1164 0.7876
2 4.3699 0.8133
3 ´16.4348 0.9005
4 1093.3139 0.9926

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

Divergencia del método de Newton para resolver φ(x) = 1 − 2/(1 + x2) = 0


5

3
f(x) φ(x)

0
x2x0 x1 x3

−1

−2
−5 −4 −3 −2 −1 0 1 2 3 4 5
x

Figura 13.2: Divergencia del método de Newton–Raphson.

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

Figura 13.3: Convergencia del método de Newton–Raphson.

Ap´1q, y ApDq mediante fórmulas sencillas. La respuesta es que, como se puede


comprobar mediante un sencillo experimento numérico con una hoja de cálculo,
es muy difícil determinar tales conjuntos, debido a que tienen una estructura muy
compleja e intrincada.
El fenómeno que hemos observado en este último ejemplo se conoce como de-
pendencia sensible con respecto a las condiciones iniciales. También se conoce

208
13.2. Cálculo de soluciones para ONL sin restricciones

dicho fenómeno con el término metafórico de efecto mariposa, que se refiere a un


ejemplo hipotético en el cual la presencia o ausencia de un huracán puede depen-
der de que una mariposa haya batido o no sus alas en cierto instante semanas atrás.
La Teoría del Caos tiene como objeto de estudio tales fenómenos.

13.2.2. Problemas con n variables


El método de Newton–Raphson se puede extender al caso de problemas con
n ě 2 variables x1 , . . . , xn . En tal extensión desempeñó un papel destacado el
matemático británico Thomas Simpson (1710–1761), por lo que resulta apropiado
denominarlo el método de Newton–Simpson, aunque la mayoría de los textos
emplean el término método de Newton.
Consideremos el problema de maximizar o de minimizar una función de n va-
riables, f pxq, sin restricciones. Vimos en el tema correspondiente que la condición
necesaria para que un punto x˚ sea óptimo local es que resuelva la ecuación vec-
torial
∇f pxq “ 0.
El método de Newton–Simpson para resolver tales ecuaciones procede como
sigue. Dada una aproximación inicial x0 , consideramos la aproximación de Taylor
de 1.er orden para ∇f centrada en x0 , dada por
p1q
` ˘
T∇f,x 0
pxq “ ∇f px0 q ` Hf px0 q x ´ x0 ,

donde denotamos por Hf pxq la matriz hessiana de f en x, y calculamos la solución


de la ecuación vectorial
p1q
T∇f,x 0
pxq “ 0,
que está dada por el punto

x1 “ x0 ´ Hf px0 q´1 ∇f px0 q,

suponiendo que la matriz hessiana Hf px0 q sea invertible.


Repitiendo este algoritmo iterativo, generamos la sucesión txk u8
k“0 , donde los
sucesivos iterados se obtienen aplicando la iteración de Newton.

Iteración de Newton para resolver ∇f pxq “ 0

xk`1 “ xk ´ Hf pxk q´1 ∇f pxk q, k “ 0, 1, 2, . . . (13.2)

En la práctica, resulta más eficiente calcular la dirección de Newton dk resol-


viendo el sistema de ecuaciones lineales con dimensiones n ˆ n

Hf pxk qdk “ ´∇f pxk q,

y, a continuación, calcular el iterado xk`1 como

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 .

Como ejemplo de aplicación del método, consideremos el problema de mini-


mizar la función

f pxq fi 25x21 ´ 12x41 ´ 6x1 x2 ` 25x22 ´ 24x21 x22 ´ 12x42

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.

13.2.3. Velocidad de convergencia


Resulta de interés considerar la velocidad de convergencia
( de los iterados ge-
nerados por el método de Newton. Si la sucesión xk converge al punto x˚ , de-
notaremos por d
n `
ÿ ˘2
˚
ek fi xk ´ x fi xi,k ´ x˚i
i“1

la distancia del iterado xk al límite x˚ . (


Para determinar cuál es la velocidad de convergencia de la sucesión xk a su
límite x˚ , consideramos los cocientes ek`1 {ek y sus límites cuando k Ñ 8.

210
13.2. Cálculo de soluciones para ONL sin restricciones

Método de Newton: convergencia a un máximo local


1.5

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

Figura 13.4: Convergencia del método de Newton.

Método de Newton: convergencia a un punto de silla


1.5

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

Figura 13.5: Convergencia del método de Newton.

(
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

Método de Newton: convergencia a un mínimo local


1.5

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

Figura 13.6: Convergencia del método de Newton.

(
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˚ .

En el caso de que la velocidad de convergencia sea superlineal, es necesario


refinar el análisis.

Convergencia superlineal con orden p


(
La sucesión xk converge superlinealmente a x˚ con orden p ą 1 si existe
q P p0, 8q tal que
ek`1
lı́m p “ q.
kÑ8 ek

Intuitivamente, cuanto mayor sea p más deprisa convergerá la sucesión.


Bajo ciertas condiciones, se ha demostrado que las sucesiones convergentes ge-
neradas por el método de Newton convergen superlinealmente. Bajo supuestos más
restrictivos, la convergencia es superlineal con orden p “ 2, esto es, cuadrática.
La Figura 13.7 muestra el comportamiento de los cocientes ek`1 {ek en el último
ejemplo.

212
13.3. Ejercicio resuelto

Método de Newton: velocidad de convergencia superlineal


1.8

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

Figura 13.7: Velocidad de convergencia del método de Newton.

13.3. Ejercicio resuelto


Para la función

f pxq fi 3x1 ´ 8x2 ` 6x3 ` 5x1 x2 x3 ´ x41 ´ x42 ´ x43 , x “ px1 , x2 , x3 q P R3 ,

considera los problemas de maximizar y de minimizar f pxq.


(a) Formula las condiciones necesarias (CN) de 1.er y de 2.o orden para máximo
y para mínimo local, asi como las condiciones suficientes correspondientes.
(b) Determina la iteración de Newton para calcular un punto que cumpla las CN
de 1.er orden para óptimo local.
(c) Implementa el método de Newton en una hoja Excel, para calcular 100 ite-
raciones. Indica el comportamiento observado en dichas iteraciones cuan-
do se toman los siguientes puntos iniciales: x0 “ p´22; ´1.7; 1.9q, x0 “
p´21.9; ´1.7; 1.9q, x0 “ p´21.6; ´1.7; 1.9q, x0 “ p´21.4; ´1.7; 1.9q. ¿Conver-
gen o divergen las sucesiones obtenidas? Y, si convergen, ¿lo hacen a un má-
ximo local, a un mínimo local, o a un punto de silla?
(d) Para uno de los casos anteriores en que la sucesión generada converja, deter-
mina si la velocidad de convergencia es lineal o superlineal, así como la tasa
de convergencia observada.
Solución.
(a) CN de 1.er orden:
¨ ˛ ¨ ˛
´4x31 ` 5x2 x3 ` 3 0
∇f pxq “ ˝ 3 ‚ ˝
5x1 x3 ´ 4x2 ´ 8 “ 0‚.
5x1 x2 ´ 4x33 ` 6 0

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:

st`1 “ pst ` at ´ Dt q` , t “ 0, 1, . . . , T ´ 1. (14.3)

Las fórmulas anteriores muestran que la formulación del modelo de optimiza-


ción resultante es no lineal y no diferenciable, ya que tanto la función objetivo
como algunas restricciones presentan fórmulas no lineales y no diferenciables en
las variables de decisión. Por ello, no podemos resolver este modelo aplicando di-
rectamente los métodos de la OL.

14.2. Formulación general


Un modelo de OD modeliza la evolución en el tiempo del estado de un sistema,
en la cual se pretende influir tomando acciones, con objeto de optimizar el benefi-
cio o el coste total obtenido. Para especificar un modelo de OD de tipo determinista
tenemos que identificar los siguientes elementos:

218
14.2. Formulación general

Elementos de un modelo de OD determinista


1. Etapas de tiempo: El horizonte de planificación se compone de T eta-
pas, que denotamos por t “ 0, 1, . . . , T ´ 1, donde t “ 0 es la etapa
inicial. La etapa t va del instante t al t ` 1.
2. Estados: En cada instante t “ 0, 1, . . . , T se observa el estado st en que
se encuentra el sistema. Denotaremos por S el espacio de estados, que
se compone de todos los estados posibles.
3. Acciones: Tras observar el estado st en el instante t ă T , se decide qué
acción at tomar, la cual debe pertenecer al conjunto de acciones facti-
bles At pst q, que puede depender tanto del estado st como del tiempo
t.
4. Recompensas de etapa: Tras observar el estado st y tomar la acción at
en el instante t ă T se obtiene una recompensa de etapa rt pst , at q, que
puede depender del estado, la acción y el tiempo. En el instante final T
se obtiene la recompensa terminal, que solo puede depender del estado
y del tiempo, por lo que es de la forma rT psT q.
5. Factor de descuento: Se aplica un factor de descuento geométrico β P
r0, 1s a las recompensas obtenidas, de forma que el valor actual descon-
tado de 1 e en el instante t es de β t e en el instante 0.
6. Dinámica de estado: Tras observar el estado st y tomar la acción at en el
instante t ă T , el estado del sistema en el instante t ` 1, st`1 , se obtiene
mediante una relación determinista de la forma st`1 “ gt pst , at q, que
puede depender del estado, la acción y el tiempo.

Podemos formular el problema de optimización correspondiente al anterior


modelo de OD como sigue: para un valor dado del estado inicial s0 P S,

ÿ
T ´1

maximizar β t rt pst , at q ` β T rT psT q


t“0
sujeto a: para t “ 0, 1, . . . , T ´ 1, (14.4)
at P At pst q
st`1 “ gt pst , at q.
Como ilustración, identificamos a continuación los elementos anteriores en el
modelo de control de inventario:
1. Etapas de tiempo: Los meses t “ 0, 1, . . . , T ´ 1.
2. Estados: El estado st es el nivel de existencias al inicio del mes t. El espacio
de estados es S fi t0, 1, . . . , bu.
3. Acciones: La acción at es el tamaño del pedido del mes t, siendo el conjunto
de acciones factibles Apst q fi t0, . . . , b ´ st u. Nótese que en este caso dicho
conjunto no depende de la etapa t, por lo que escribimos Apst q en lugar de
At pst q.
4. Recompensas de etapa: La recompensa de la etapa t ă T está dada por la
fórmula

rt ps, aq fi p mı́npDt , s ` aq ´ hps ` a ´ Dt q` ´ qpDt ´ s ´ aq` ´ ca ´ f 1taě1u ,

219
14. O PTIMIZACIÓN DINÁMICA

mientras que la recompensa terminal es rT psq fi ´ls.


5. Factor de descuento: Se tendría que especificar el valor del factor de des-
cuento mensual 0 ď β ď 1 que se empleará. Si no se indica, se supone que
β “ 1, esto es, que no se descuentan las recompensas futuras.
6. Dinámica: La dinámica de estado es st`1 “ pst `at ´Dt q` , de t “ 0, 1, . . . , T ´
1, es decir, la función que define dicha dinámica es gt ps, aq fi ps ` a ´ Dt q` .

14.3. Ecuaciones de Bellman y su resolución recursiva


Para resolver un problema de OD determinista como el del ejemplo anterior,
emplearemos la técnica de la Programación Dinámica (PD), que se basa en formu-
lar y resolver las ecuaciones de Bellman para el problema, llamadas así en honor
al matemático estadounidense Richard E. Bellman (1920–1984), que contribuyó de-
cisivamente a su desarrollo, aplicación y difusión.
Dichas ecuaciones determinan la función de valor óptimo vt˚ pst q, para instan-
tes t “ 0, 1, . . . , T y estados st P S, cuyo significado es el siguiente. Si en el instante
t observamos que el sistema se halla en el estado st , entonces vt˚ pst q representa el
valor máximo que se puede obtener desde dicho instante hasta el instante final T ,
sin contar las recompensas o pérdidas en etapas anteriores.
Las ecuaciones de Bellman se formulan como se muestra a continuación.

Ecuaciones de Bellman: caso de maximización.

` ˘
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

vT˚ psT q “ rT psT q, sT P S.


(14.5)

Para resolver dichas ecuaciones procederemos de forma recursiva, empezando


por el instante terminal t “ T , y retrocediendo hasta el instante inicial t “ 0. Así, a
partir de (14.5) obtenemos directamente la función de valor óptimo para el instante
final: vT˚ psq “ rT psq para cada estado sT P S.
A continuación, consideramos la ecuación para el instante anterior, T ´ 1, dada
por: para cada estado s P S,
` ˘
vT˚´1 psT ´1 q “ máx rT ´1 psT ´1 , aT ´1 q ` βvT˚ gT ´1 psT ´1 , aT ´1 q . (14.6)
aPAT ´1 psT ´1 q

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

14.4. Problemas de minimización


En ocasiones, la formulación natural del modelo de interés toma la forma de un
problema de minimización del coste total, en lugar de maximización de la recom-
pensa total. Aunque es bien sabido que un coste se puede reformular como una
recompensa negativa, resulta más cómodo en tales casos trabajar directamente en
términos de costes.
En el modelo de interés se tiene un coste de etapa ct pst , at q y un coste terminal,
como cantidades análogas a las recompensas de etapa tratadas anteriormente. En
tales casos, el problema de OD toma la siguiente forma: para s0 dado,

ÿ
T ´1

minimizar β t ct pst , at q ` β T cT psT q


t“0
sujeto a: para t “ 0, 1, . . . , T ´ 1, (14.7)
at P At pst q
st`1 “ gt pst , at q.
Para resolver el problema (14.7) consideramos la función de coste óptimo, que
también denotaremos como vt˚ pst q, la cual representa el menor coste que se puede
obtener desde el instante t en adelante comenzando en el estado st . Las ecuaciones
de Bellman para tal problema toman la forma mostrada a continuación.

Ecuaciones de Bellman: caso de minimización.

` ˘
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

vT˚ psT q “ cT psT q, sT P S.


(14.8)

14.5. Soluciones factibles y políticas


Aplicando el procedimiento de resolución anterior, obtenemos una política óp-
tima, donde el término “política” se refiere a un plan de contingencia, que indica
qué acción a˚t pst q tomar en función de la etapa de tiempo t y el estado st ocupado
por el sistema.
A continuación, ilustraremos el método de resolución anterior mediante varios
ejemplos.

14.6. Un modelo de control óptimo de existencias


Consideremos el modelo de control óptimo de existencias descrito anterior-
mente, con los siguientes datos:

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

Comenzamos calculando la función de valor óptimo para el instante terminal,


v5˚ ps5 q “ r5 ps5 q fi ´ls5 :

s5 v5˚ ps5 q
0 0
1 ´40
2 ´80
3 ´120
4 ´160
5 ´200

A continuación, calculamos la función de valor óptimo para la etapa anterior,


así como las correspondientes acciones óptimas, a˚4 ps4 q, mediante la ecua-
v4˚ ps4 q,
ción de Bellman
v4˚ ps4 q “ máx r4 ps4 , a4 q ` βv5˚ ps5 q.
a4 PAps4 q

s4 a4 “ 0 a4 “ 1 a4 “ 2 a4 “ 3 a4 “ 4 a4 “ 5 a˚4 ps4 q v4˚ ps4 q


0 ´75 ´30 35 100 165 230 5 230
1 140 185 250 315 380 — 4 380
2 355 400 465 530 — — 3 530
3 570 615 680 — — — 2 680
4 785 830 — — — — 1 830
5 1000 — — — — — 0 1000

De forma similar, calculamos de forma recursiva la función de valor óptimo


para las etapas anteriores, así como las correspondientes acciones óptimas. Los
resultados se muestran en las siguientes tablas.

s3 a3 “ 0 a3 “ 1 a3 “ 2 a3 “ 3 a3 “ 4 a3 “ 5 a˚3 ps3 q v3˚ ps3 q


0 192 237 227 217 207 197 1 237
1 407 377 367 357 347 — 0 407
2 547 517 507 497 — — 0 547
3 687 657 647 — — — 0 687
4 827 797 — — — — 0 827
5 967 — — — — — 0 967

222
14.7. Un modelo de OD para el problema de la mochila

s2 a2 “ 0 a2 “ 1 a2 “ 2 a2 “ 3 a2 “ 4 a2 “ 5 a˚2 ps2 q v2˚ ps2 q


0 153.3 198.3 263.3 328.3 393.3 401.3 5 401.3
1 368.3 413.3 478.3 543.3 551.3 — 4 551.3
2 583.3 628.3 693.3 701.3 — — 3 701.3
3 798.3 843.3 851.3 — — — 2 851.3
4 1013.3 1001.3 — — — — 0 1013.3
5 1171.3 — — — — — 0 1171.3

s1 a1 “ 0 a1 “ 1 a1 “ 2 a1 “ 3 a1 “ 4 a1 “ 5 a˚1 ps1 q v1˚ ps1 q


0 316.17 361.17 426.17 491.17 481.17 471.17 3 491.17
1 531.17 576.17 641.17 631.17 621.17 — 2 641.17
2 746.17 791.17 781.17 771.17 — — 1 791.17
3 961.17 931.17 921.17 — — — 0 961.17
4 1101.17 1071.17 — — — — 0 1101.17
5 1241.17 — — — — — 0 1241.17

s0 a0 “ 0 a0 “ 1 a0 “ 2 a0 “ 3 a0 “ 4 a0 “ 5 a˚0 ps0 q v0˚ ps0 q


0 382.053 427.053 492.053 557.053 622.053 612.053 4 622.053
1 597.053 642.053 707.053 772.053 762.053 — 3 772.053
2 812.053 857.053 922.053 912.053 — — 2 922.053
3 1027.053 1072.053 1062.053 — — — 1 1072.053
4 1242.053 1212.053 — — — — 0 1242.053
5 1382.053 — — — — — 0 1382.053

Si nos indican que el nivel de existencias inicial es s0 “ 4, en tal caso, a partir


de las tablas anteriores obtenemos la acción óptima que debemos tomar en cada
etapa:
s0 “ 4 ùñ a˚0 p4q “ 0.
s1 “ ps0 ` a˚0 ps0 q ´ D0 q` “ 0 ùñ a˚1 p0q “ 3.
s2 “ ps1 ` a˚1 ps1 q ´ D1 q` “ 0 ùñ a˚2 p0q “ 5.
s3 “ ps2 ` a˚2 ps2 q ´ D2 q` “ 1 ùñ a˚3 p1q “ 0.
s4 “ ps3 ` a˚3 ps3 q ´ D3 q` “ 0 ùñ a˚4 p0q “ 5.
s5 “ ps4 ` a˚4 ps4 q ´ D4 q` “ 0.

14.7. Un modelo de OD para el problema de la


mochila
Consideremos el problema de la mochila, que tratamos anteriormente en el te-
ma de optimización entera (OE). Tenemos una mochila con capacidad para llevar
hasta b ą 0 kgs. de peso, y una colección de T ě 1 objetos. Una unidad del objeto
t “ 0, 1, . . . , T ´ 1 pesa wt ą 0 kgs. y tiene un valor de rt ą 0 e. Podemos llevar va-
rias unidades de cada objeto en la mochila, siempre que no se supere la capacidad

223
14. O PTIMIZACIÓN DINÁMICA

de ésta. El problema que consideramos aquí es el siguiente: ¿Cuántas unidades de


cada objeto tenemos que llevar en la mochila para maximizar el valor de la carga,
sin superar su capacidad?
A continuación, identificamos los elementos del modelo de OD correspondien-
te:
1. Etapas de tiempo: t “ 0, 1, . . . , T ´ 1, donde suponemos que seleccionamos
secuencialmente cuántas unidades de cada objeto t ă T llevaremos.
2. Estados: El estado st es la capacidad restante o remanente de la mochila en el
instante t, esto es, después de haber seleccionado cuántas unidades de los
objetos 0, . . . , t ´ 1 llevaremos. El espacio de estados es S fi t0, 1, . . . , bu.
3. Acciones: La acción at es el número de unidades del objeto t que llevaremos,
siendo el conjunto ( de acciones factibles At pst q fi tat P Z` : wt at ď st u “
0, . . . , tst {wt u , donde Z` fi t0, 1, 2, . . .u denota el conjunto de los enteros
no negativos, y txu denota la parte entera del número x.
4. Recompensas de etapa: La recompensa en la etapa t ă T está dada por la
fórmula
rt pst , at q fi rt at ,
mientras que la recompensa terminal es rT pst q fi 0.
5. Factor de descuento: En este caso, β “ 1, esto es,no se descuentan las recom-
pensas futuras.
6. Dinámica: La dinámica de estado es st`1 “ st ´ wt at , de t “ 0, 1, . . . , T ´ 1,
es decir, la función que define dicha dinámica es gt ps, aq fi s ´ wt a.
La función de valor óptimo vt˚ pst q representa el máximo valor de los objetos
t, . . . , T ´ 1 que podemos llevar en la mochila cuando ésta tiene una capacidad
remanente de st al comienzo de la etapa t. Tenemos que vT˚ psT q “ 0, y que, de
t “ 0, . . . , T ´ 1, la función de valor óptimo cumple las ecuaciones de Bellman

vt˚ pst q “ máx ˚


rt at ` vt`1 pst ´ wt at q, st P S.
0ďat ďtst {wt u

En particular,

vT˚´1 psT ´1 q “ máx rT ´1 aT ´1 “ rT ´1 tsT ´1 {wT ´1 u,


0ďaT ´1 ďtsT ´1 {wT ´1 u

estando dada la acción óptima en la etapa T ´ 1 en función del estado sT ´1 por


a˚T ´1 psT ´1 q “ tsT ´1 {wT ´1 u.
Para la etapa T ´ 2,

vT˚´2 psT ´2 q “ máx rT ´2 aT ´2 ` vT˚´1 psT ´2 ´ wT ´2 aT ´2 q,


0ďaT ´2 ďtsT ´2 {wT ´2 u

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

v2˚ ps2 q “ máx r2 a2 “ 14s2 , a˚2 ps2 q “ s2 .


a2 PA2 ps2 q
X s \(
Además, A1 ps1 q fi 0, . . . , 1
3 , y que

v1˚ ps1 q “ máx t47a1 ` v2˚ ps1 ´ 3a1 qu


a1 PA1 ps1 q

“ máx t47a1 ` 14ps1 ´ 3a1 qu


a1 PA1 ps1 q

“máx t5a1 ` 14s1 u


a1 PA1 ps1 q
Ys ]
1
“5 ` 14s1 ,
3
˚
Xs \
siendo la acción óptima en la etapa X s 1\(a1 ps1 q “ 3 .
1

Finalmente, A0 ps0 q fi 0, . . . , 2 , y
0

v0˚ ps0 q “ máx 31a0 ` v1˚ ps0 ´ 2a0 q


a0 PA0 ps0 q
Z ^
s0 ´ 2a0
“ máx 31a0 ` 5 ` 14ps0 ´ 2a0 q
a0 PA0 ps0 q 3
Z ^
s0 ´ 2a0
“ máx 3a0 ` 14s0 ` 5 ,
a0 PA0 ps0 q 3

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:

31a0 ` v1˚ ps0 ´ 2a0 q óptimo


s0 a0 “ 0 a0 “ 1 a0 “ 2 v0˚ ps0 qa˚0 ps0 q
0 0 — — 0 0
1 14 — — 14 0
2 28 31 — 31 1
3 47 45 — 47 0
4 61 59 62 62 2

En el ejemplo, como s0 “ W “ 4, obtenemos que en la etapa 0 es óptimo cargar


a˚0 p4q “ 2 unidades del objeto 0, siendo el valor óptimo v0˚ p4q “ 62 e, lo cual deja
una capacidad remanente de s1 “ s0 ´ 2a˚0 p4q “ 0. Por ello, no cargaremos los
demás objetos.

225
14. O PTIMIZACIÓN DINÁMICA

14.8. Ejemplo resuelto


Un inversor se propone diseñar un plan de inversión óptimo, teniendo como
horizonte de planificación los próximos T años, para lo cual ha previsto invertir
un capital de Pt e al comienzo del año t “ 0, 1, . . . , T ´ 1. El inversor va a limitar
sus decisiones a dos productos de inversión, que llamaremos el depósito 1 (D1) y
el depósito 2 (D2). El depósito i “ 1, 2 proporciona una tasa de interés del 100ri %
anual. Los importes invertidos en dichos depósitos no se recuperan hasta el final
del horizonte de planificación (el final del año T ´ 1), en cuyo momento el banco
reembolsa el capital depositado junto con los intereses generados.
Además de los intereses regulares, el depósito i ofrece una tasa de interés extra
del 100qi,t % anual para el importe depositado en el año t “ 0, . . . , T ´1. Al final del
año t, el inversor recibe el interés extra generado, que puede reinvertir al comienzo
del año t ` 1 (si t ď T ´ 1) como prefiera.
¿Cómo debe el inversor repartir sus inversiones entre ambos depósitos para
maximizar el importe total que obtiene al final del horizonte de planificación?
Solución. Comenzamos por formular este problema como un modelo de OD:
Etapas: Los años t “ 0, 1, . . . , T ´ 1.
Estados: El estado st es el importe disponible para invertir al comienzo del
año t ă T , incluyendo capital e intereses reinvertibles, siendo s0 “ P0 .
Acciones: La acción at es la parte del importe disponible al comienzo del año
t ă T que se deposita en D1. El conjunto de acciones factibles es At pst q “
Apst q fi t0, . . . , st u. El importe que se deposita en D2 será st ´ at .
Recompensas de etapa: La recompensa correspondiente al año t ă T está
dada por el importe invertido en dicho año junto con los intereses regulares
que dicho importe genera en los T ´ t años que quedan hasta el final del
horizonte de planificación. Por tanto,

rt pst , at q “ p1 ` r1 qT ´t at ` p1 ` r2 qT ´t pst ´ at q, t “ 0, . . . , T ´ 1.

Nótese que, aunque las llamamos “recompensas de etapa”, en realidad es-


tas recompensas se reciben en el instante final T . La recompensa terminal es
rT psT q fi sT .
Factor de descuento: Tomamos como factor de descuento β “ 1.
Dinámica de estado: Si al comienzo del año t el estado es st y se toma la
acción at , el estado al comienzo del año t ` 1 se obtiene como sigue: para
t “ 0, . . . , T ´ 2,

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 ,

es decir, st`1 es igual al capital que se tenía previsto invertir en el año t `


1, Pt`1 , más los intereses extra reinvertibles generados durante el año t. En
cuanto al estado terminal,

sT “ gT´1 psT´1 , aT´1 q fi q1,T´1 aT´1 ` q2,T´1 psT´1 ´ aT´1 q,

es decir, sT es igual a los intereses extra reinvertibles generados durante el


año T ´ 1.

226
14.8. Ejemplo resuelto

Así, hemos formulado el problema de inversión óptima como el siguiente pro-


blema de OD: Con s0 “ P0 ,
ÿ
T ´1

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,

o, de forma más explícita,

ÿ!
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

Seguimos con la etapa t “ 3:


` ˘
v3˚ ps3 q “ máx p1 ` r1 qa3 ` p1 ` r2 qps3 ´ a3 q ` v4˚ q1,3 a3 ` q2,3 ps3 ´ a3 q
0ďa3 ďs3
“ máx 1.03a3 ` 1.025ps3 ´ a3 q ` 0.025a3 ` 0.031ps3 ´ a3 q
0ďa3 ďs3
“ máx ´0.001a3 ` 1.056s3
0ďa3 ďs3
“ 1.056s3 ,
siendo la acción óptima a˚3 ps3 q “ 0.
Continuamos con la etapa t “ 2:
` ˘
v2˚ ps2 q “ máx p1 ` r1 q2 a2 ` p1 ` r2 q2 ps2 ´ a2 q ` v3˚ P3 ` q1,2 a2 ` q2,2 ps2 ´ a2 q
0ďa2 ďs2
` ˘
“ máx 1.032 a2 ` 1.0252 ps2 ´ a2 q ` 1.056 2000 ` 0.021a2 ` 0.026ps2 ´ a2 q
0ďa2 ďs2
“ máx 2112 ` 0.004995a2 ` 1.07808s2
0ďa2 ďs2
“ 2112 ` 1.08308s2 , con a˚2 ps2 q “ s2 .
Para la etapa t “ 1,
` ˘
v1˚ ps1 q “ máx p1 ` r1 q3 a1 ` p1 ` r2 q3 ps1 ´ a1 q ` v2˚ P2 ` q1,1 a1 ` q2,1 ps1 ´ a1 q
0ďa1 ďs1
` ˘
“ máx 1.033 a1 ` 1.0253 ps1 ´ a1 q ` 2112 ` 1.08308 2000 ` 0.017a1 ` 0.035ps1 ´ a1 q
0ďa1 ďs1
“ máx 4278.15 ´ 0.00365899a1 ` 1.1148s1
0ďa1 ďs1
“ 4278.15 ` 1.1148s1 , con a˚1 ps1 q “ 0.
Finalmente, para la etapa t “ 0,
` ˘
v0˚ ps0 q “ máx p1 ` r1 q4 a0 ` p1 ` r2 q4 ps0 ´ a0 q ` v1˚ P1 ` q1,0 a0 ` q2,0 ps0 ´ a0 q
0ďa0 ďs0
` ˘
“ máx 1.034 a0 ` 1.0254 ps0 ´ a0 q ` 4278.15 ` 1.1148 2000 ` 0.018a0 ` 0.03ps0 ´ a0 q
0ďa0 ďs1
“ máx 6507.75 ` 0.00831834a0 ` 1.13726s0
0ďa0 ďs0
“ 6507.75 ` 1.14558s0 , con a˚0 ps0 q “ s0 .
En resumen, con s0 “ P0 “ 4000 e, las siguientes acciones son óptimas:
Acción óptima Decisión
a˚0 ps0 q “ s0 invertir s0 “ 4000 e en D1
a˚1 ps1 q “ 0 invertir 0 e en D1
a˚2 ps2 q “ s2 invertir s2 e en D1
a˚3 ps3 q “ 0 invertir s3 “ 0 e en D1

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.

Ejercicio 14.2. Un/a estudiante se propone aplicar sus nuevos conocimientos de


optimización para obtener una política óptima para cambiar de móvil durante los
próximos 5 años. Suponemos lo siguiente: la decisión sobre si cambiar o no de
móvil se toma al principio de cada año; un móvil nuevo cuesta 400 euros; la vida
útil de un móvil es de 3 años; para un móvil con i años de antigüedad, el coste
anual de mantenimiento es de p1{3qpi ` 1q2 cientos de euros, para i “ 0, . . . , 2; el
valor de reventa de un móvil con i años de antigüedad es de 2.8{pi ` 1q cientos de
euros, para i “ 0, . . . , 3; al final de la planificación se vende el móvil que tengamos
en ese momento; el factor de descuento anual es 0.95.
(a) Formula el problema de determinar una política óptima para cambiar de mó-
vil durante los próximos 5 años como un modelo OD, identificando sus ele-
mentos.
(b) Formula las ecuaciones de Bellman de forma explícita para este modelo (no
la fórmula general), indicando qué representan las incógnitas de dichas ecua-
ciones.
(c) Resuelve las ecuaciones de Bellman y calcula todas las políticas óptimas.
¿Qué debe hacer el/la estudiante cada año si al principio comienza con un
móvil nuevo?

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

avalancha de demandas, los tiempos de respuesta que experimentaremos pueden


llegar a ser muy grandes. Además, si llegan demasiadas solicitudes de compra en
un corto plazo de tiempo, el sistema puede llegar a colapsarse, siendo incapaz de
proporcionar el servicio demandado.
El origen de la TC se remonta a comienzos del siglo XX, teniendo como motiva-
ción el estudio de las primeras redes telefónicas. El matemático e ingeniero danés
A. K. Erlang (1878–1929), mientras trabajaba como ingeniero en la Copenhagen Te-
lephone Company, introdujo, analizó y aplicó los primeros modelos de TC, algunos
de los cuales estudiaremos en este texto, para resolver cuestiones de interés prácti-
co en redes telefónicas. Una de las principales áreas de aplicación de la TC ha sido
el diseño, dimensionamiento y operación de redes de telecomunicación.
También es de considerable interés considerar la optimización en modelos de
colas, pero esto queda fuera del alcance de este texto, que se centra en el paso
previo del análisis de dichos modelos.

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.

Parámetros de un modelo de TC (del tipo visto en este texto):


Número de servidores: Supondremos que hay m servidores idénticos
que trabajan en paralelo. P. ej., m “ 2.
Tamaño del espacio de almacenamiento: Hay espacio para K clientes
en espera o servicio. P. ej., K “ 200. Si no se especifica, supondremos
que K “ 8, lo cual indica que tal espacio es ilimitado.
Tasa de llegada: se denota por la letra griega λ (“lambda”). Es el núme-
ro medio de clientes que llegan al sistema por unidad de tiempo. P. ej.,
λ “ 5 clientes/min.
Tasa de servicio: se denota por la letra griega µ (“mu”). Es el número
medio de clientes que un servidor puede procesar por unidad de tiem-
po. P. ej., µ “ 6 clientes/min.

Hemos empleado la expresión “número medio” al definir las tasas de llegada y


de servicio. El motivo es que supondremos que los tiempos entre llegadas conse-
cutivas de clientes, así como sus tiempos de servicio, tienen duraciones aleatorias,
como suele ocurrir en los sistemas de colas reales. Por ello, cuando decimos que
la tasa de llegada es de λ “ 5 clientes por min, queremos decir, intuitivamente,
que, si dividimos el número de llegadas al sistema durante un intervalo de tiempo
muy grande por la duración de dicho intervalo (en min), obtendremos un número
que se aproxima a 5. Y cuando decimos que la tasa de servicio de un servidor es

234
15.2. Parámetros

de µ “ 6 clientes por min, queremos decir que, si el servidor trabaja ininterrum-


pidamente, y dividimos el número de clientes que el servidor procesa durante un
intervalo de tiempo muy grande por la duración de dicho intervalo (en min), ob-
tendremos un número que se aproxima a 6.
A partir de los parámetros anteriores, podemos obtener otros parámetros de
interés. Así, consideremos la pregunta: ¿Cuál es el tiempo medio entre llegadas, es
decir, la duración media del tiempo transcurrido entre las llegadas de dos clientes
consecutivos? El siguiente argumento intuitivo nos proporciona la respuesta: como
llegan, en promedio, λ clientes por unidad de tiempo, llegará, en promedio, un
cliente cada 1{λ unidades de tiempo. P. ej., si en promedio llegan λ “ 5 clientes por
min, llegará en promedio un cliente cada 1{λ “ 1{5 “ 0.2 min (esto es, cada 12 s).
De forma similar, podemos responder a la pregunta: ¿Cuál es el tiempo medio de
servicio, es decir, la duración media del tiempo de servicio de un cliente? Por el
mismo argumento, obtenemos que, si un servidor procesa, en promedio, µ clientes
por unidad de tiempo, estará sirviendo, en promedio, un cliente cada 1{µ unidades
de tiempo.

Tiempo medio entre llegadas y tiempo medio de servicio


El tiempo medio entre las llegadas de dos clientes consecutivos es de
1{λ unidades de tiempo.
El tiempo medio de servicio por cliente es de 1{µ unidades de tiempo.

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.

λ
µ

Figura 15.1: Una cola con un servidor.

235
15. M ODELOS DE COLAS

Figura 15.2: Una cola con dos servidores en paralelo.

15.3. Procesos estocásticos


Un proceso estocástico (o proceso aleatorio) representa un sistema cuyo estado
evoluciona de forma aleatoria.
Supondremos en adelante que los clientes están numerados de acuerdo con su
orden de llegada al sistema. Así, nos referiremos al cliente n, que es el que llega al
sistema en n-ésimo lugar. Además, diremos que un cliente está en el sistema si se
encuentra en espera o en servicio. Supondremos que el sistema evoluciona en tiempo
continuo a partir del instante t “ 0, esto es, para tiempos t P r0, 8q.
En los sistemas de colas considerados en este texto encontramos dos tipos de
procesos estocásticos: (1) aquellos que se refieren a cantidades asociadas a los clien-
lleg
tes, p. ej. Tn , el instante de llegada al sistema del cliente n; y (2) aquellos que se
refieren a cantidades asociadas al sistema, como, p. ej., N ptq, el número total de
clientes presentes en el sistema en el instante t.

Procesos estocásticos orientados al cliente


lleg
Tn : instante de llegada al sistema del cliente n “ 1, 2, . . .
Tnsal : instante de salida del sistema del cliente n “ 1, 2, . . .
lleg lleg
Tn “ Tn ´ Tn´1 : tiempo desde la llegada del cliente n ´ 1 a la del n.
Xn : duración del servicio del cliente n.
lleg
Sn “ Tnsal ´ Tn : tiempo que permanece en el sistema el cliente n.
Wn “ Sn ´ Xn : tiempo de espera (sin contar el tiempo en servicio) del
cliente n.

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 .

Procesos estocásticos orientados al sistema


N ptq: número de clientes en el sistema en el instante t.
Qptq: número de clientes en cola, esto es, en espera, en el instante t.
Bptq “ N ptq ´ Qptq: número de clientes en servicio o, de forma equiva-
lente, número de servidores ocupados, en el instante t.

15.4. Políticas de servicio


Aun no hemos especificado la política de servicio del sistema, que indica en
qué orden se selecciona a los clientes en espera para ser servidos. La política de
servicio más común es la que se conoce como FCFS (“First-Come First-Served”), que
realiza tal selección en el orden de llegada de los clientes.
En una cola con un servidor con la política de servicio FCFS, se cumple la si-
guiente relación entre los tiempos de llegada, salida y servicio de los clientes:
lleg
Tnsal “ máxpTn , Tn´1
sal
q ` Xn , n “ 2, 3, . . . (15.1)

15.5. Métricas de rendimiento


Nuestro principal objetivo será calcular las métricas de rendimiento de varios
modelos de colas. Tales métricas, que se obtienen como promedios a largo plazo
de los procesos estocásticos descritos más arriba, resumen las principales caracte-
rísticas de tales sistemas.
Podemos distinguir dos tipos de métricas de rendimiento.

Métricas de rendimiento orientadas al cliente


1
Ss fi lı́m pS1 ` ¨ ¨ ¨ ` Sn q: tiempo medio en el sistema por cliente.
nÑ8 n
Ď fi lı́m 1 pW1 ` ¨ ¨ ¨ ` Wn q: tiempo medio de espera por cliente.
W
nÑ8 n

237
15. M ODELOS DE COLAS

Métricas de rendimiento orientadas al sistema


ż
s 1 T
N fi lı́m N ptq dt: número medio de clientes en el sistema.
T Ñ8 T 0
żT
s fi lı́m 1
Q Qptq dt: número medio de clientes en espera.
T Ñ8 T 0
żT
s fi lı́m 1
B Bptq dt: número medio de servidores ocupados (o de
T Ñ8 T 0
clientes en servicio).

Cuando calculemos métricas de rendimiento de sistemas concretos, no tendre-


mos que calcular los límites que aparecen más arriba: estos simplemente indican la
definición de tales métricas. En los siguientes capítulos veremos que podemos cal-
cularlas a partir de un análisis del modelo en cuestión, obteniendo fórmulas para
tales métricas de rendimiento en términos de los parámetros del modelo.

15.6. Relaciones entre métricas


Nos resultará útil conocer y aplicar las relaciones que existen entre métricas de
rendimiento. Así, tenemos que

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.

15.7. Una relación puente: la ley de Little


Las relaciones anteriores se dan entre métricas de rendimiento para el cliente,
en el primer caso, y entre métricas de rendimiento para el sistema, en el segundo.
Además de tales relaciones, existe una relación fundamental que sirve de puen-
te entre ambos tipos de métricas de rendimiento, conocida como la ley de Little,
nombrada en honor de J. D. C. Little (n. 1928), quien presentó la primera demos-
tración de tal resultado en un artículo de 19611
La ley de Little no solo se aplica a los modelos de colas que veremos en este tex-
to, sino a sistemas de colas generales. Por ello, debido a su validez casi universal,
se denomina ley, como la ley de la gravedad de Newton. La Figura 15.3 representa
de forma esquemática una cola a la que se puede aplicar la ley de Little. Vemos que
los clientes llegan al sistema con tasa de llegada λ, permanecen durante un tiempo
1
J. D. C. Little (1961). A proof for the queuing formula: L “ λW . Operations Research 9, 296–435.

238
15.7. Una relación puente: la ley de Little

en el mismo, sin que se especifique cuál es su recorrido ni cuántos servidores hay


y, eventualmente, salen del sistema. Podemos imaginar, p. ej., que la Figura 15.3
representa un parque de atracciones: los clientes llegan, permanecen durante un
tiempo, yendo de atracción en atracción y, finalmente, salen.

N ptq “ 5

Figura 15.3: Una cola general a la que se puede aplicar la ley de Little.

En tal contexto general, se cumple el siguiente resultado (cuya prueba queda


fuera del alcance de este texto).

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

Veamos otra aplicación importante de la ley de Little. Supongamos ahora que el


sistema de interés está formado solo por los clientes que se encuentran en servicio.
s ă 8 o Ss ă 8, entonces
En este caso, al aplicar la ley de Little obtenemos que, si N

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.

15.8. Factor de utilización y estabilidad


Intuitivamente, todos comprendemos, por experiencia personal, que una lista
de espera puede estar más o menos congestionada, y que puede llegar a colapsarse.
Los medios de comunicación se hacen eco a menudo de noticias sobre los atascos
que se producen en contextos variados, p. ej., judicial o sanitario. En sistemas in-
formáticos, también se producen fenómenos de congestión cuando la intensidad
del tráfico de paquetes de datos aumenta de forma excesiva, lo cual causa tiempos
de respuesta grandes, pudiendo llegar a provocar el colapso del sistema.
La principal métrica del nivel de saturación de una cola del tipo considerado
en este texto es el factor de utilización, que se designa por la letra griega ρ (“rho”).
Factor de utilización: El factor de utilización de una cola se define como
tasa media de llegada de trabajo por unidad de tiempo
ρ“ .
capacidad máxima de procesamiento de trabajo por unidad de tiempo
Consideremos una cola con tasa de llegada λ, tasa de servicio µ, m servidores en
paralelo, y espacio de almacenamiento de clientes ilimitado. Calculemos su factor
de utilización, comenzando por el numerador. Sabemos que llegan al sistema λ
clientes por unidad de tiempo. Cada cliente trae una carga de trabajo media igual
a su tiempo medio de servicio, que es de 1{µ unidades de tiempo. Por tanto,

1
tasa media de llegada de trabajo por unidad de tiempo “ λ ˆ .
µ

Continuemos con el denominador. Como el sistema tiene m servidores en paralelo,


y cada uno puede procesar una unidad de trabajo por unidad de tiempo (ya que el
trabajo se mide en unidades de tiempo), tendremos que

capacidad máxima de procesamiento de trabajo por unidad de tiempo “ m,

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)

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

Es decir, el factor de utilización ρ mide la fracción media de servidores ocupados.


Además, en el caso particular de que haya un servidor, m “ 1, obtenemos la
identidad
s
ρ “ B,
que indica que ρ representa, en tal caso, la fracción de tiempo que el servidor está
ocupado. Así, en el caso m “ 1, si ρ “ 0.90, ello indica que el servidor estará ocupado
el 90% del tiempo.
Conocer el valor del factor de utilización nos permite determinar si el sistema
de interés está o no saturado (colapsado) o, para emplear el término empleado en
TC, si es o no estable. Una cola es estable si puede procesar trabajo más deprisa de
lo que este llega. En caso contrario, es inestable, en cuyo caso se colapsa al aumentar
su congestión sin cesar. Ello motiva la siguiente condición de estabilidad.

Condición suficiente de estabilidad


Una cola con tiempos entre llegadas o tiempos de servicio aleatorios es esta-
ble si su factor de utilización es estrictamente menor que la unidad: ρ ă 1.
En caso contrario (ρ ě 1), la cola es inestable.

¿Por qué el caso ρ “ 1 se considera inestable? En tal caso el sistema tiene la


capacidad justa para procesar el trabajo que recibe. Sin embargo, debido a la alea-
toriedad de los tiempos entre llegadas o de los tiempos de servicio, no basta con
tener la capacidad justa. Es necesario que ρ sea estrictamente menor que la uni-
dad, esto es, que el sistema tenga un margen de capacidad de procesamiento por
encima de la carga de trabajo que recibe.
P. ej., si una cola tiene un factor de utilización ρ “ 0.9, diremos que está operando
al 90% de su capacidad. Así, para que una cola sea estable, ha de operar a menos del
100% de su capacidad.

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?

Ejercicio 15.3. Consideremos un sistema informático que se representa como una


cola con 10 procesadores idénticos en paralelo, cada uno de los cuales procesa una
cierta tarea en 3 s. Los usuarios del sistema le envían órdenes para realizar esa
tarea cada cierto tiempo. Se observa que el tiempo medio de respuesta, desde que
se envía una orden para realizar la tarea hasta que esta se completa es de 10 s.
Además, se observa que la utilización del sistema es de un 90%.
(a) ¿Cuál es el número medio de procesadores ocupados? ¿Puedes afirmar que el
sistema es estable?
(b) ¿Cuál es la tasa media a la que se envían órdenes al sistema para realizar la
tarea?
(c) ¿Cuál es el número medio de tareas en espera o servicio en el sistema? ¿Y el
número medio de tareas en espera? ¿Y el tiempo medio en espera por tarea?

Ejercicio 15.4. Considera un sistema de servicio compuesto por 5 procesadores en


paralelo que atienden una cola de clientes. Como resultado de observar el sistema
durante un largo periodo de tiempo, se comprueba que el número medio de clien-
tes en servicio es de 4, que el tiempo medio que un cliente espera hasta que llega su
turno de servicio es de 25 min, y que el tiempo medio transcurrido entre llegadas
de clientes consecutivos es de 6 min. A partir de esta información, responde a las
siguientes preguntas.
(a) ¿Puedes asegurar que el sistema es estable? ¿Cuál es su factor de utilización,
y qué indica su valor en este sistema?

242
15.9. Ejercicios

(b) Calcula las tasas de llegada y de servicio, el número medio de clientes en


el sistema, el número medio en espera, y el tiempo medio en el sistema por
cliente.

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”.

16.2. La cola M/M/1


Dada la diversidad de modelos de los que se ocupa la TC, resulta necesario
disponer de una notación simplificada para referirse a los mismos. El estadístico y
matemático británico David G. Kendall (1918–2007) introdujo la notación que se
emplea actualmente para tal propósito, en un artículo publicado en 1953. Así, p. ej.,
cuando hablamos de la “cola M/M/1” estamos indicando lo siguiente: la primera
“M” indica que los tiempos entre llegadas de clientes son variables aleatorias (v.
a.) exponenciales — la “M” es la inicial del término “Markoviano”, que se refiere
a la propiedad de ausencia de memoria de la distribución exponencial; la segun-
da “M” indica que los tiempos de servicio de los clientes son variables aleatorias
exponenciales; y el “1” final indica que la cola tiene 1 servidor.
La Figura 16.1 muestra de forma esquemática una cola con un servidor, con
tasa de llegada λ y tasa de servicio µ.
Recordemos que habíamos designado los tiempos entre llegadas de clientes
consecutivos por T1 , T2 , . . . , Tn , . . .. Al asumir que tales tiempos son variables alea-
torias exponenciales con tasa λ, estamos indicando que la probabilidad de que no
transcurran más de t unidades de tiempo desde una llegada hasta la siguiente es

PtTn ď tu “ 1 ´ e´λt , t ě 0.

245
16. E L MODELO M/M/1

λ
µ

Figura 16.1: Una cola con un servidor.

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.

16.3. Factor de utilización y estabilidad


De acuerdo con los resultados vistos en el Capítulo 15, el factor de utilización
de la cola M/M/1 vale
ρ “ λ{µ,
esto es, es el cociente entre la tasa de llegada y la tasa de servicio.
Para que dicha cola sea estable, se requiere que su factor de utilización sea
menor que la unidad:
ρ ă 1.
Así, la cola M/M/1 es estable si λ ă µ, esto es, si la tasa de llegada no supera la
tasa de servicio. Tal condición suficiente de estabilidad es también necesaria.
Además, vimos que se cumple la identidad
s
ρ “ B,

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

Sin embargo, aunque esta definición de N s es adecuada para la estimación numéri-


ca de N s en un sistema real, no lo es para su evaluación analítica, esto es, mediante
fórmulas.
Para este último propósito, es mucho más conveniente considerar una defini-
ción alternativa de N s , como la media de una v. a. N , esto es, N s “ ErN s. Para
entender el significado de N , imaginemos que el sistema ha estado operando du-
rante mucho tiempo. Se puede demostrar que la distribución de probabilidad de
la v. a. N ptq converge cuando t Ñ 8 a una distribución límite, que corresponde a
una cierta v. a. N , esto es,

PtN “ nu “ lı́m PtN ptq “ nu, n “ 0, 1, 2, . . . .


tÑ8

247
16. E L MODELO M/M/1

Diremos que la v. a. N que acabamos de introducir informalmente presenta la dis-


tribución en equilibrio, o en estado estacionario, del número de clientes en el
sistema.
Además, también se cumple que
s “ lı́m ErN ptqs “ ErN s.
N
tÑ8

Sin embargo, no basaremos el cálculo de N s en los términos ErN ptqs, ya que la


evaluación de estos últimos resulta extremadamente compleja.
s “ ErN s para calcular N
Lo que haremos será aplicar la identidad N s:

8
ÿ
s “ ErN s “
N nPtN “ nu “ PtN “ 1u ` 2PtN “ 2u ` ¨ ¨ ¨ . (16.1)
n“0

Pero, para ello, necesitamos conocer la distribución estacionaria del número


de clientes en el sistema, N . Así, si conociésemos, para cada entero n “ 0, 1, . . ., la
probabilidad PtN “ nu de que haya n clientes en el sistema, podríamos calcular N s
sumando la serie infinita en (16.1). Pero como no conocemos tales probabilidades,
tenemos que calcularlas. Para ello, introduciremos variables que representan las
incógnitas de interés,

pn “ PtN “ nu, n “ 0, 1, 2, . . .

y formularemos un sistema de ecuaciones lineales en tales variables, cuya solu-


ción nos proporcionará los valores buscados.
¿Qué ecuaciones emplearemos? Necesitamos un paso previo antes de poder
formularlas.

16.4.1. Diagrama de tasas de transición entre estados


La clave para formular las ecuaciones requeridas es el diagrama de tasas de
transición entre estados, mostrado en la Figura 16.3.

λ λ λ λ λ λ

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.

16.4.2. Ecuaciones de balance de flujo y la propiedad PASTA


A partir del diagrama de tasas de transición entre estados, obtendremos las
ecuaciones que necesitamos, razonando como sigue. Consideremos dos estados
contiguos, n y n ` 1, como muestra la Figura 16.4. Es claro que, entre tales estados,
solo pueden ocurrir dos posibles tipos de transiciones: transiciones del estado n
al n ` 1, que corresponden a llegadas; y transiciones del estado n ` 1 al n, que
corresponden a salidas.
La Figura 16.4 muestra, además, una línea diagonal que cruza los arcos de tran-
sición. Tal línea representa una frontera o barrera que separa el estado n del n ` 1,
y que se cruza en uno u otro sentido cuando se produce una transición entre tales
estados.
Consideremos a continuación las siguiente preguntas: (i) ¿Cuántas transiciones
se producen, en promedio, del estado n al n ` 1 por unidad de tiempo? Y (ii)
¿Cuántas transiciones se producen, en promedio, del estado n ` 1 al n por unidad
de tiempo?
Para responder a la primera de estas preguntas tendremos que aplicar la si-
guiente propiedad fundamental.

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.

La propiedad PASTA (Poisson Arrivals See Time Averages)


Si los clientes llegan al sistema de acuerdo con un proceso de Poisson, enton-
ces al llegar observan el estado del sistema con la misma distribución con que
lo haría un observador externo.

Ahora, podemos responder a ambas preguntas razonando intuitivamente: (i)


Como se producen, en promedio, λ transiciones por unidad de tiempo de izquier-
da a derecha (correspondientes a llegadas de clientes) y, por la propiedad PASTA,
los clientes que llegan observan el sistema en el estado n con probabilidad pn , se
producirán, en promedio, λpn transiciones del estado n al n`1 por unidad de tiem-
po; y (ii), por otra parte, como se producen µ transiciones por unidad de tiempo
de derecha a izquierda (correspondientes a salidas de clientes) cuando hay algún
cliente en el sistema, y el sistema está en el estado n ` 1 con probabilidad pn`1 , se
producirán, en promedio, µpn`1 transiciones del estado n ` 1 al n por unidad de
tiempo.
Así, hemos argumentado que, para cada estado n “ 0, 1, 2, . . ., se cumple que:

tasa de transición de n a n ` 1 “ λpn

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,

tasa de transición de n a n ` 1 “ tasa de transición de n ` 1 a n,

250
s
16.4. Cálculo de N

lo cual podemos formular como

λpn “ µpn`1 , n “ 0, 1, 2, . . . (16.2)

Notemos que (16.2) es un sistema de ecuaciones lineales en las variables pn , que se


conocen como las ecuaciones de balance de flujo, debido a la interpretación que
acabamos de comentar.

16.4.3. Resolución de las ecuaciones de balance de flujo


Hemos visto que las ecuaciones de balance de flujo (16.2) son un sistema de
ecuaciones lineales en las variables pn . Pero tanto el número de variables como el
número de ecuaciones en tal sistema resultan ser infinitos, ya que tenemos una
ecuación para cada estado n ě 0. Por tanto, no vamos a poder aplicar los métodos
que conocemos para resolver ecuaciones lineales finitas. ¿Cómo podemos entonces
resolver dicho sistema de ecuaciones?
Lo resolveremos, simplemente, aplicando el sentido común. Para empezar, fijé-
monos en que, como ρ “ λ{µ, podemos reformular el sistema de ecuaciones (16.2)
en términos del factor de utilización ρ, como

pn`1 “ ρ pn , n “ 0, 1, 2, . . . (16.3)

Es decir, la probabilidad de un estado es igual a la probabilidad del estado anterior


multiplicada por el factor de utilización ρ.
Procedamos paso a paso para reconocer una pauta que nos dé la solución bus-
cada. Para n “ 0, tenemos que
p1 “ ρ p0 .
Para n “ 1,
p2 “ ρ p1 “ ρpρ p0 q “ ρ2 p0 .
Para n “ 2,
p3 “ ρ p2 “ ρpρ2 p0 q “ ρ3 p0 .
Y así sucesivamente. Claramente, la pauta es

p n “ ρn p 0 , n ě 1. (16.4)

Las identidades en (16.4) nos dan el valor de las probabilidades p1 , p2 , . . . en


función de p0 . Por tanto, para resolver completamente el sistema, aún necesitamos
determinar el valor de p0 . Veremos, a continuación, dos enfoques distintos para
alcanzar tal propósito.

Primer enfoque para el cálculo de p0


En el primer enfoque, que está basado en la manipulación de fórmulas, nos fi-
jamos en que al sistema anterior de ecuaciones le tenemos que añadir una ecuación
más, ya que, p. ej., la solución pn “ 0 para todo n cumple las ecuaciones de balance
de flujo, pero no es de interés para nosotros. ¿Cuál es la ecuación que falta?

251
16. E L MODELO M/M/1

Recordemos que la variable pn representa la probabilidad PtN “ nu de que


haya n clientes en el sistema. Por tanto, tales variables han de cumplir la ecuación
fundamental de las probabilidades: que su suma tiene valga uno, esto es,
8
ÿ
pn “ p0 ` p1 ` p2 ` ¨ ¨ ¨ “ 1. (16.5)
n“0

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´ρ

donde, en la última igualdad, hemos aplicado la conocida fórmula para la suma


de una progresión geométrica de razón ρ ă 1. Así, despejando p0 obtenemos

p0 “ 1 ´ ρ.

Segundo enfoque para el cálculo de p0


El segundo enfoque resulta más sencillo y elegante, ya que evita manipulacio-
nes de fórmulas y aprovecha nuestra comprensión del modelo. Consideremos la
pregunta: ¿Qué representa la variable p0 cuyo valor queremos calcular? Sabemos
que p0 es la probabilidad de que el sistema está vacío. Por tanto, la probabilidad
de que el sistema no está vacío será 1 ´ p0 . Pero decir que el sistema no está vacío
es lo mismo que decir que el servidor está ocupado. Recordemos ahora del capí-
tulo anterior que, en una cola con un servidor, el factor de utilización ρ representa
la proporción media de tiempo que el servidor está ocupado, que coincide con la
probabilidad (en la distribución límite de equilibrio, o de estado estacionario) de
que el servidor esté ocupado. De este modo, obtenemos la identidad

1 ´ p0 “ ρ,

de donde podemos despejar p0 como

p0 “ 1 ´ ρ.

Sustituyendo en (16.4) el valor obtenido para p0 , obtenemos la solución busca-


da.

Distribución del número de clientes en el sistema


La probabilidad de que haya n clientes en el sistema, en estado estacionario,
es
PtN “ nu “ p1 ´ ρqρn , n “ 0, 1, 2, . . . , (16.6)
esto es, N „ Geomp1 ´ ρq.

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.

Número medio de clientes en el sistema

s“ ρ
N . (16.7)
1´ρ

La fórmula (16.7) muestra que la congestión media en la cola M/M/1 depende


de los parámetros λ y µ únicamente a través del factor de utilización ρ. La Figura
16.5 muestra cómo crece el número medio en el sistema, N s , al aumentar ρ. Obser-
s
vamos que, según ρ se acerca a la unidad, N crece cada vez más rápido, de forma
desproporcionada. Claramente, se cumple que
s “ 8,
lı́m N
ρÕ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ρ

donde N s prq denota el número medio de clientes en el sistema cuando ρ “ r. Así, p.


ej., si se incrementa la utilización en un 1% a partir del valor ρ “ 0.95, la congestión
media aumenta en un 24.69%, ya que pasa de 19 clientes a 23.69 clientes.

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
Ď

A continuación, abordamos el cálculo del tiempo medio en el sistema por clien-


s Ď.
te, S, y del tiempo medio en espera por cliente, W
Para determinar S,s aplicamos la fórmula Ns “ λS,
s que obtuvimos a partir de la
ley de Little. Así, obtenemos
s
N ρ 1{µ
Ss “ “ “ .
λ p1 ´ ρqλ 1´ρ
Ď , podemos proceder de dos maneras. La más sencilla es apro-
Para calcular W
vechar la identidad Ss “ W
Ď ` 1{µ, de la cual obtenemos

Ď “ Ss ´ 1{µ “ 1{µ ´ 1{µ “ ρ{µ .


W
1´ρ 1´ρ

254
16.7. Distribuciones de demora

Otra manera de determinar W Ď es emplear la fórmula Q


s “ λW
Ď , que también
Ď
obtuvimos de la ley de Little. Así, despejando W obtenemos
s ρ2
Ď“Q“
W “
ρ{µ
.
λ p1 ´ ρqλ 1´ρ

Notemos que en las fórmulas obtenidas para N s , Q,


s Ss y W
Ď , siempre aparece el
término 1 ´ ρ en el denominador. Por tanto, las métricas de rendimiento para la
congestión y para la demora divergen a infinito cuando la utilización de la capaci-
dad de servicio aumenta hasta el 100%.

16.7. Distribuciones de demora


A partir de los resultados anteriores, se puede obtener la distribución del tiem-
po que permanece en el sistema un cliente que llega cuando el sistema se encuentra
en estado estacionario, que denotamos por S, bajo el supuesto de que la política de
servicio es FCFS:.

Distribución del tiempo en el sistema por cliente bajo FCFS


Bajo FCFS, la probabilidad de que un cliente que llega al sistema cuando este
se encuentra en estado estacionario no permanezca más de t unidades de
tiempo en el mismo es

PtS ď tu “ 1 ´ e´µp1´ρqt , t ě 0. (16.8)

Esto es, S „ Exppµp1 ´ ρqq.

También se puede obtener la distribución del tiempo que permanece en espera


un cliente que llega cuando el sistema se encuentra en estado estacionario, que
denotamos por W :

PtW ď tu “ 1 ´ ρe´µp1´ρqt , t ě 0. (16.9)

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.

17.2. Factor de utilización y estabilidad


De acuerdo con los resultados vistos en el Capítulo 15, el factor de utilización
de la cola M/M/m está dado por

λ
ρ“ ,

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

Figura 17.1: La cola M/M/2.

Además, a partir de la ley de Little, obtuvimos la siguiente fórmula para el


número medio de servidores ocupados:
s “ λ{µ.
B

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

La igualdad anterior nos permite aplicar la definición de media de una variable


s:
aleatoria para evaluar N
8
ÿ
s “ ErN s “
N nPtN “ nu “ PtN “ 1u ` 2PtN “ 2u ` ¨ ¨ ¨ . (17.1)
n“0

Si conociésemos, para cada entero n ě 0, la probabilidad PtN “ nu de que


haya n clientes en el sistema, podríamos calcular N s sumando la serie infinita en
(17.1). Pero no conocemos tales probabilidades, por lo que tenemos que calcular-
las. Para ello, introduciremos variables pn , para n “ 0, 1, 2, . . ., que representan las
probabilidades buscadas, y formularemos un sistema de ecuaciones lineales en tales
variables, cuya solución nos proporcionará los valores buscados.
¿Qué ecuaciones emplearemos? Necesitamos un paso previo antes de poder
formularlas.

17.3.1. Diagrama de tasas de transición entre estados


Para poder formular las ecuaciones requeridas, tenemos que dibujar el diagra-
ma de tasas de transición entre estados para la cola M/M/m, como se muestra en
la Figura 17.2.

λ λ λ λ λ

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

en el sistema a ninguno) se representa por el arco orientado que va del estado 1 al


0. Notemos que, en la cola M/M/m, en cada instante solo puede llegar o salir un
cliente, por lo que solo hay transiciones entre estados contiguos.
Fijémonos en que el estado del sistema solo cambia cuando se produce uno de
los siguiente sucesos: cuando llega un cliente al sistema, en cuyo caso tenemos el
estado aumenta en una unidad; o cuando se completa el servicio de un cliente y
este sale del sistema, en cuyo caso el estado disminuye en una unidad. A conti-
nuación, incorporamos tal información al diagrama, escribiendo sobre cada arco la
tasa que corresponde al suceso que causa su transición asociada. Así, el arco que
va del estado 0 al 1 corresponde al suceso “llega un cliente”, cuya tasa asociada es
la de llegada, λ.
Sin embargo, las tasas de transición correspondientes a los sucesos del tipo “sa-
le un cliente” difieren con respecto a los de la cola M/M/1. Así, el arco orientado
que va del estado 1 al 0 corresponde al suceso “sale un cliente”, cuya tasa asociada
es la de servicio, µ.
Consideremos ahora el arco orientado que va del estado 2 al 1, que corresponde
a la salida de un cliente cuando había dos en el sistema. Como hemos supuesto que
el sistema dispone de m ě 2 servidores, si hay solo dos clientes, ambos estarán en
servicio. Por tanto, la tasa combinada a la cual salen clientes en tal situación será el
doble que cuando solo había un cliente: 2µ.
Así, cuando hay n ď m clientes en el sistema, todos ellos estarán en servicio y,
por tanto, la tasa total de servicio en tal situación será de nµ.
Sin embargo, cuando el número de clientes n en el sistema es mayor que el
número de servidores, esto es, cuando n ą m, los m servidores estarán ocupados
y, por tanto, la tasa total de servicio en tal situación será de mµ.
Así, cuando hay n clientes en el sistema, la tasa de transición del estado n al
n ´ 1 está dada por mı́npn, mqµ. Tal pauta se muestra la Figura 17.2.

17.3.2. Ecuaciones de balance de flujo


Consideremos dos estados contiguos, n y n ` 1, como muestra la Figura 17.3.
Vemos en la figura que, entre tales estados, solo hay dos posibles transiciones: la
que va del estado n al n ` 1, que corresponde a una llegada y, por tanto, ocurre con
tasa λ; y la que va del estado n ` 1 al n, que corresponde a una salida y, por tanto,
ocurre con tasa mı́npn ` 1, mqµ, según argumentamos más arriba.
La Figura 17.3 muestra, además, una línea diagonal que cruza los arcos orienta-
dos de transición. Tal línea representa una frontera que separa el estado n del n ` 1,
y que se ha de cruzar en uno u otro sentido cuando hay una transición entre tales
estados.
Consideremos a continuación las siguiente preguntas: (i) ¿Cuántas transiciones
se producen, en promedio, del estado n al n ` 1 por unidad de tiempo? Y (ii)
¿Cuántas transiciones se producen, en promedio, del estado n ` 1 al n por unidad
de tiempo?
Podemos responder a ambas preguntas razonando intuitivamente: (i) Como
se producen λ transiciones por unidad de tiempo de izquierda a derecha (lo cual
corresponde a llegadas de clientes), y el sistema está en el estado n con probabi-
lidad pn , se producirán, en promedio, λpn transiciones del estado n al n ` 1 por
unidad de tiempo; nótese que este razonamiento intuitivo requiere que los clientes

260
s
17.3. Cálculo de N

n n`1

mı́npn ` 1, mqµ

Figura 17.3: Balance de flujo entre estados contiguos en la cola M/M/m.

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,

tasa de transición de n a n ` 1: λpn

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,

tasa de transición de n a n ` 1 “ tasa de transición de n ` 1 a n.

Podemos formular las ecuaciones anteriores como

λpn “ mı́npn ` 1, mqµpn`1 , nn “ 0, 1, . . . (17.2)

Notemos que (17.2) es un sistema de ecuaciones lineales en las variables pn , que


emplearemos para calcular estas últimas. Tales ecuaciones se conocen como las
ecuaciones de balance de flujo.

261
17. E L MODELO M/M/m

Ecuaciones de balance de flujo para la cola M{M{m

λpn “ pn ` 1qµpn`1 , 0ďnďm´1


(17.3)
λpn “ mµpn`1 , něm

17.3.3. Resolución de las ecuaciones de balance de flujo


Hemos visto que las ecuaciones de balance de flujo (17.3) son un sistema de
ecuaciones lineales. Pero el número de tales ecuaciones es infinito, ya que hay una
ecuación por estado n ě 0. Por tanto, no vamos a poder aplicar los métodos que
conocemos para resolver ecuaciones lineales, como el método de Gauss. ¿Cómo
podemos entonces resolver el sistema de ecuaciones (17.3)?
Para empezar, observamos que, como ρ “ λ{pmµq “ b{m, donde

b fi λ{µ,

podemos reformular el sistema de ecuaciones (17.3) como sigue

Reformulación de las ecuaciones de balance de flujo


n`1
pn “ pn`1 , 0 ď n ď m ´ 1
b (17.4)
pn`1 “ ρ pn , n ě m

Hemos organizado las ecuaciones en (17.4) pensando en resolverlas en función


del valor de pm (de forma análoga a como hacíamos para la cola M/M/1 en función
de p0 ).
Así, a partir de pm podemos calcular recursivamente las probabilidades para
estados anteriores, aplicando (17.4):
m
pm´1 “ pm
b
m´1 m´1m mpm ´ 1q m!
pm´2 “ pm´1 “ pm “ 2
pm “ pm
b b b b pm ´ 2q!b2
....
..
m! m!
p1 “ pm´pm´1q “ m´1
pm “ m´1 pm
pm ´ pm ´ 1qq!b b
m! m!
p0 “ pm´m “ pm “ m pm .
pm ´ mq!bm b

262
s
17.3. Cálculo de N

De forma similar, podemos calcular recursivamente las probabilidades para es-


tados posteriores, aplicando (17.4):

pm`1 “ ρ pm
pm`2 “ ρ pm`1 “ ρ2 pm
pm`3 “ ρ pm`2 “ ρ3 pm
....
..

La pauta es clara, como se indica a continuación.

Resolución de las ecuaciones de balance de flujo en función de pm


$

’ m! p , 0ďnďm´1
& m
n!bm´n
pn “ (17.5)


%ρn´m p , něm`1
m

Para resolver el sistema, aun necesitamos determinar cuánto vale 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

Esta es la ecuación que nos faltaba. A continuación, la combinamos con (17.5),


sustituyendo en (17.6) las variables pn por sus valores en términos de pm . Así, ob-
tenemos
8
ÿ m´1
ÿ 8
ÿ m´1
ÿ 8
ÿ
m!
1“ pn “ pn ` pn “ m´n
p m ` ρn´m pm
n“0 n“0 n“m n“0
n!b n“m
˜ ¸ ˜ ¸
m´1
ÿ 8
ÿ m´1
ÿ
m! m! 1
“ pm ` ρn´m “ pm ` ,
n“0
n!bm´n n“m n“0
n!bm´n 1 ´ ρ

donde, en la última igualdad, hemos aplicado la fórmula para la suma de una


progresión geométrica de razón ρ ă 1.

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!

17.3.4. Cálculo de la probabilidad de espera


A partir de los resultados anteriores, obtenemos que la probabilidad PW de que
un cliente que llega cuando el sistema se encuentra en régimen estacionario tenga
que esperar, por encontrar todos los servidores ocupados, es
8
ÿ 8
ÿ pm
PW “ PtN ě mu “ PtN “ nu “ pm ρn´m “ . (17.8)
n“m n“m 1´ρ

Notemos que
m bm
m´b m!
PW “ řm´1 bn m bm
. (17.9)
n“0 n! ` m´b m!

La expresión para PW en (17.9) se conoce en TC como la fórmula C de Erlang.

17.3.5. Cálculo recursivo de pm


Se cumple la siguiente relación recursiva, que podemos emplear para calcular
las probabilidades pm , suponiendo que b fi λ{µ permanece fijo:
M{M{m´1
m 1 bpm ´ 1 ´ bqpm ´ bqpm´1
pM{M{
m “ m´1 , m ą b ` 1, (17.10)
m pm ´ 1 ´ bqpm ´ bq ´ bpM{M{
m´1

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

donde hemos aplicado que el número medio de servidores ocupados es


m´1
ÿ 8
ÿ
npn ` m pn “ b.
n“0 n“m

Número medio de clientes en el sistema

s “b` ρ bm
N pm “ b ` pm . (17.11)
p1 ´ ρq2 pm ´ bq2

17.3.7. Cálculo recursivo de Ns


Se cumple la siguiente relación recursiva, que podemos emplear para calcular
s , suponiendo que b fi λ{µ permanece fijo:
N

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

donde N s M{M{k denota el número medio de clientes en el sistema en la cola M{M{k.


Definiendo N p M{M{k fi pk ´ bqpN
s M{M{k ´ bq, podemos reformular la recursión
anterior como

bpm ´ 1 ´ bqNp M{M{m´1


p M{M{m “
N , m ą b ` 1.
pm ´ 1qpm ´ bq ´ Np M{M{m´1

Por otra parte, como


s M{M{k “ Q
N s M{M{k ` b,

obtenemos la siguiente recursión para el número medio de clientes en cola:


sM{M{m´1
bpm ´ 1 ´ bq2 Q
s M{M{m “
Q m ą b ` 1. (17.13)
sM{M{m´1 ,
pm ´ 1qpm ´ bq2 ´ pm ´ 1 ´ bqpm ´ bqQ

265
17. E L MODELO M/M/m

17.4. La cola M/M/2


Puesto que la cola M/M/2 es el caso más sencillo del modelo M/M/m, resul-
ta de interés aplicar las fórmulas anteriores para calcular sus métricas de rendi-
miento. Notemos que, para que la cola sea estable, supondremos que b ă 2 (o,
equivalentemente, ρ ă 1).
Así, sustituyendo m “ 2 en la anterior fórmula para pm , obtenemos

p2 ´ bqb2 2p1 ´ ρqρ2


p2 “ “ .
2p2 ` bq 1`ρ
s , apli-
A partir de esta expresión para p2 , podemos obtener la fórmula para N
cando la fórmula dada anteriormente para el caso general:

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 ρ.

17.5. Comparación de las colas M/M/1 y M/M/2


Recordemos del capítulo anterior que la congestión media en el modelo
M/M/1 con factor de utilización ρ tomaba el valor N s “ ρ{p1 ´ ρq. Por tanto, la fór-
mula (17.14) nos indica que, para un mismo nivel de utilización ρ, una cola M/M/2
es menos eficiente que una cola M/M/1, en el sentido de que su congestión media,
Ns , es mayor.
Para comprender intuitivamente dicho resultado, consideremos dos sistemas
alternativos: el sistema 1 es una cola M/M/1 con tasa de llegada λ, siendo la tasa
de servicio de su único servidor igual a 2µ, y su factor de utilización igual a ρ “
λ{p2µq; el sistema 2 es una cola M/M/2 con la misma tasa de llegada, λ, siendo la
tasa de servicio de cada uno de sus dos servidores igual a µ. El factor de utilización
para el sistema 1 es, por tanto, igual al del sistema 1, esto es, ρ “ λ{p2µq.
Así, la tasa máxima de servicio es igual en ambos sistemas, siendo de 2µ, así
como el factor de utilización. Sin embargo, el resultado anterior nos indica que el
sistema 1, con un único servidor rápido, es más eficiente que el sistema 2, con dos
servidores la mitad de lentos, en el sentido de que la congestión media es menor
en el sistema 1.
¿Por qué ocurre esto? La causa es que, cuando solo hay un cliente en el sistema,
el sistema 1 tiende a vaciarse antes que el sistema 2, ya que el cliente recibe servicio
con tasa 2µ en el sistema 1, y con tasa µ en el sistema 2.

266
17.5. Comparación de las colas M/M/1 y M/M/2

Denotemos por N s M/M/1 pρq y por N


s M/M/2 pρq el número medio de clientes en el
sistema para una cola M/M/1 y para una cola M/M/2, respectivamente, ambas
con factor de utilización ρ. Hemos visto que la cola M/M/2 es menos eficiente que
la cola M/M/1 equivalente, esto es,

s M/M/2 pρq “ ρ ρ ρ s M/M/1 pρq.


N ` ą “N
1´ρ 1`ρ 1´ρ

Sin embargo, tal reducción en la eficiencia es muy pequeña. De hecho, es inme-


diato comprobar que
s M/M/1 pρq ă 1 .
s M/M/2 pρq ´ N
N
2
Consideremos ahora la cuestión: ¿Cuál es la reducción relativa en la congestión
media de la cola M/M/1 sobre la cola M/M/2 anterior? La respuesta es:
ρ
s M/M/2 pρq ´ N
N s M/M/1 pρq 1`ρ 1´ρ
s M/M/2 pρq “ ρ ρ “ .
N ` 2
1´ρ 1`ρ

¿Qué ocurrirá cuando el factor de utilización se aproxime a la unidad? A partir


de la fórmula anterior, obtenemos
s M/M/2 pρq ´ N
N s M/M/1 pρq
lı́m s M/M/2 pρq “ 0,
ρÕ1 N

lo cual indica que dicha ganancia relativa se desvanece cuando la utilización se


aproxima a la unidad.
En cuanto a las demás métricas de rendimiento, las podemos obtener a partir
de Ns aplicando las relaciones vistas en el Capítulo 15.

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.

Ejercicio 17.3. Una aerolínea dispone de un servicio de reservas telefónicas atendi-


do por 4 operadores, en el que las llamadas que llegan cuando los operadores están
ocupados quedan en espera, siendo atendidas en orden de llegada. En promedio,
se reciben 20 llamadas por hora. El tiempo medio de respuesta (que una llama-
da permanece en el sistema) es de 6.522 min., y el número medio de llamadas en
espera es de 0.14.
(a) ¿Cuál es el tiempo medio de espera hasta que una llamada es atendida por un
operador?
(b) ¿Cuál es el factor de utilización del sistema?, ¿Y si hubiera 2 operadores?
(c) Si la empresa ha valorado el coste por hora de inactividad de un operador en
100 euros, ¿a cuánto asciende el coste medio por hora debido a la inactividad
de los operadores?
(d) Si los tiempos entre llamadas y los tiempos de atención son variables aleatorias
exponenciales, representa el diagrama de tasas de transición entre estados.

268
17.6. Ejercicios

Sabiendo que la probabilidad de que el sistema esté vacío es de 3{23, cal-


cula la probabilidad de que una llamada quede en espera. Para ello, formula
y resuelve las ecuaciones de balance de flujo.

Ejercicio 17.4. Considera un sistema de multiproceso en el que cada tarea requiere


una media de 100 milisegundos (ms.) de tiempo de ejecución, con una tasa de
llegada de 60 tareas por segundo.
(a) ¿Cuál es el mínimo número de procesadores que se requiere para atender la
demanda sin que el sistema se sature, es decir, para que sea estable? Si se ins-
tala ese número de procesadores, ¿cuál es el factor de utilización del sistema
y qué indica? En los apartados siguientes, se asume que se emplea el número
de procesadores obtenido en este apartado.
(b) Sabiendo que para este sistema se ha obtenido que el número medio de tareas
en cola es de 3.683, calcula: (1) el número medio de procesadores ocupados,
(2) el número medio de tareas en el sistema, (3) el tiempo medio de espera
por tarea, y (4) el tiempo medio de respuesta (en el sistema).
(c) Si los tiempos entre llegadas de tareas y los tiempos de ejecución son variables
aleatorias exponenciales, representa el diagrama de tasas de transición entre
estados.
Sabiendo que la probabilidad de que no haya ninguna tarea en el sistema
es de 0.00158, calcula la probabilidad de que haya más de 4 procesadores
ociosos. Para ello formula y resuelve las ecuaciones de balance de flujo.

Ejercicio 17.5. Un centro de atención telefónica está atendido por 5 operadores,


cada uno de los cuales emplea 6 min., en promedio, para atender a un cliente. El
tiempo medio que un cliente permanece en espera, desde que solicita atención has-
ta que su llamada empieza a ser atendida, es de 3.325 min. Además, en promedio
hay 6.216 clientes en el sistema.
(a) Calcula la tasa de llegada, la tasa de servicio, el número medio de operadores
ocupados, el tiempo medio que un cliente permanece en el sistema, el núme-
ro medio de clientes en espera, y el número medio de clientes en el sistema.
¿Qué porcentaje de la capacidad de servicio del sistema se utiliza?
(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, y formula las ecuaciones de balance de flujo.
(c) Sabiendo que la probabilidad de que haya 5 clientes en el sistema es de
128/1155, calcula la probabilidad de que haya 3 clientes en el sistema. Calcu-
la también la probabilidad de que haya 7 clientes en el sistema.

Ejercicio 17.6. Una aerolínea tiene varios mostradores de facturación en el aero-


puerto de Barajas, cada uno con un operador, que atienden a una única cola de
pasajeros. Mediante un sistema informático, se ha estimado que: (i) la demora me-
dia por pasajero en espera de ser atendido es de 2.547 min.; (ii) el tiempo medio
que un operador emplea en completar la facturación de un pasajero es de 5 min.;
(iii) el número medio de clientes en espera o siendo atendidos es de 4.528; y (iv) se
está utilizando el setenta y cinco por ciento de la capacidad de servicio del sistema.
(a) Calcula todos los parámetros y las métricas de rendimiento para este sistema
de colas.

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.

18.2. El método de Montecarlo


Supongamos que una métrica µ del sistema de interés se puede representar
como la media de una función f de una variable aleatoria X (que puede ser un
vector de v. a.) con distribución conocida:

µ “ Erf pXqs,

El método de Montecarlo para estimar el valor de µ consiste en:


1. Generar una muestra de números pseudo-aleatorios X1 , X2 , . . . , Xn que si-
mulen una muestra independiente e idénticamente distribuida (i.i.d.) con la dis-
tribución de X.
2. Estimar el valor de µ por el valor de la media muestral correspondiente:
n
1 ÿ
p“
µ f pXi q.
n i“1

El método de Montecarlo fue introducido en la década de 1940 por Stanislaw


Ulam (1909–1984), John von Neumann (1903–1957), y Nicholas Metropolis (1915–
1999). Está considerado como uno de los algoritmos más influyentes del siglo XX.

18.2.1. Estimación de áreas


Una de las primeras aplicaciones del método de Montecarlo fue la estimación
de áreas. Consideremos la región R mostrada en la Figura 18.1. ¿Cómo podemos
estimar su área?
Imaginemos que lanzamos n dardos al cuadrado unidad, asegurándonos de
que caigan dentro del cuadrado, pero sin tratar de acertar en la región R. Intui-
vamente, la proporción µ p “ pp de dardos que caigan en la región R nos dará una
estimación del valor del área exacta µ “ p de tal región, que será más precisa cuan-
tos más dardos lancemos.
Así, si lanzamos n “ 24 dardos, y estos caen en las posiciones mostradas en la
Figura 18.2, la estimación de µ por el método de Montecarlo será de µ p “ 9{24.
Para implementar en el ordenador tal procedimiento, aplicando el método
de Montecarlo más formalmente, modelizamos el resultado de lanzar un dar-
do al cuadrado unidad mediante la generación de un par de variable aleatoria
X “ pX1 , X2 q, que representan las coordenadas horizontal y vertical del punto en
que cae el dardo. Para modelizar el supuesto de que los lanzamientos se realizan
aleatoriamente dentro del cuadrado, supondremos que las variables aleatorias X1
y X2 son independientes, y que tienen una distribución uniforme en el intervalo
r0, 1s, esto es, X1 , X2 „ Unifr0, 1s.

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.
µ

Así, el resultado de lanzar n dardos se modeliza mediante la generación de una


muestra i.i.d. de tamaño n de tales pares de variables aleatorias: X1 , X2 , . . . , Xn ,
donde Xj “ pX1j , X2j q.
A continuación, definimos la función indicatriz de R dada por
#
1 si x P R
f pxq “ 1R pxq “
0 en otro caso,

que indica si el lanzamiento ha caído o no en la región R.


De esta forma, podemos formular el área µ de interés como

µ “ Erf pXqs “ Erf pX1 , X2 qs,

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

Podemos, además, aplicar resultados de Estadística para obtener un intervalo


de confianza de nivel 1´ α para µ. Como en este caso 1R pXq „ Bernoullippq, donde
p “ µ es el área, tenemos que tal intervalo es (con pp “ µ
p)
c
ppp1 ´ ppq
pp ˘ zα{2 .
n
El procedimiento anterior debe ser modificado si la región R cuya área se desea
estimar no está inscrita en el cuadrado unidad. Así, supongamos que la región R
está inscrita en el rectángulo ra1 , b1 s ˆ ra2 , b2 s del plano, esto es, R Ă ra1 , b1 s ˆ
ra2 , b2 s. En tal caso, debemos tomar X1 „ Unifra1 , b1 s y X2 „ Unifra2 , b2 s.
Para obtener tales variables, veremos en el capítulo siguiente que podemos pro-
ceder como sigue: Se parte de dos variables aleatorias U1 , U2 „ Unifr0, 1s, y se
calcula
X1 “ a1 ` pb1 ´ a1 qU1 , X2 “ a2 ` pb2 ´ a2 qU2 .
Entonces, X1 „ Unifra1 , b1 s y X2 „ Unifra2 , b2 s.
Además, en tal caso, para estimar el área µ de la región R habrá que multi-
plicar la proporción pp de “lanzamientos” que caigan en la región R por el área
del rectángulo que la circunscribe, esto es, por pb1 ´ a1 qpb2 ´ a2 q, de modo que
p.
p “ pb1 ´ a1 qpb2 ´ a2 qp
µ
El intervalo de confianza de nivel 1 ´ α para µ es
c
ppp1 ´ ppq
p ˘ zα{2 pb1 ´ a1 qpb2 ´ a2 q
µ .
n

18.2.2. Estimación de volúmenes


El procedimiento explicado en la sección anterior para la estimación de áreas
se extiende de forma inmediata a la estimación de volúmenes. Simplemente, ha-
brá que: (i) identificar un paralelepípedo ortogonal (u ortoedro) ra1 , b1 s ˆ ra2 , b2 s ˆ
ra3 , b3 s que contenga la región R de interés; (ii) simular una muestra independien-
te de tamaño n de tres variables aleatorias independientes X1 , X2 , X3 , con Xj „
Unifraj , bj s para j “ 1, 2, 3; (iii) calcular la proporción pp de ternas pX1 , X2 , X3 q de
la muestra anterior que caen en la región R cuyo volumen se desea estimar; y (iv)
multiplicar pp por el volumen del paralelepípedo, pb1 ´ a1 qpb2 ´ a2 qpb3 ´ a3 q. La
cantidad resultante, µ p “ pb1 ´ a1 qpb2 ´ a2 qpb3 ´ a3 qp p, da una estimación del valor
del volumen de la región R.
El intervalo de confianza de nivel 1 ´ α para µ es
c
ppp1 ´ ppq
p ˘ zα{2 pb1 ´ a1 qpb2 ´ a2 qpb3 ´ a3 q
µ .
n

276
18.3. Optimización: el problema del kiosco

18.2.3. Estimación de integrales


Otra aplicación útil del método de Montecarlo es la estimación de integrales.
Supongamos que queremos estimar el valor de la integral definida
żb
µ“ gpxq dx.
a

Como el intervalo de integración es ra, bs, si X „ Unifra, bs, entonces


żb
1 µ
E rgpXqs “ gpxq dx “ ,
b´a a b´a
y por tanto, definiendo
f pxq “ pb ´ aqgpxq,
podemos formular el valor de la integral anterior como

µ “ 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

18.3. Optimización: el problema del kiosco


Consideremos el siguiente problema que se le plantea al propietario de un kios-
co: ¿Cuántas unidades le conviene encargar a su proveedor de un cierto periódico
para el próximo domingo?
Si conociese de antemano cuál va a ser la demanda, el kiosquero encargaría
tantas unidades como fuese a vender. Pero la demanda es impredecible. Suponga-
mos que el kiosquero es aficionado a la estadística, y que ha llevado un recuento
de datos sobre la demanda diaria X del periódico en cuestión, lo cual le ha per-
mitido estimar su distribución. Así, sabe que la probabilidad de que un domingo
dado haya una demanda de k periódicos en su quiosco es de PtX “ ku “ pk ,
para k “ 0, 1, . . . , m. Supongamos, además, que el kiosquero paga c e a su pro-
veedor por cada periódico que este le trae, para después venderlos a p e/unidad.
Los periódicos no vendidos al final de la jornada los devuelve al proveedor, que le
reembolsa r e/unidad. Supondremos que r ă c ă p.
Consideremos la pregunta: Si el kiosquero encarga a su proveedor a periódicos,
¿cuál será su beneficio esperado?
Comencemos por obtener la fórmula para el beneficio f pa, kq que se obtiene
cuando hay una demanda de k unidades. Tenemos que
#
pk ` rpa ´ kq ´ ca si k ď a
f pa, kq “ p mı́npk, aq ` r máxpa ´ k, 0q ´ ca “
pa ´ ca en otro caso.

¿Puedes explicar por qué?

277
18. E L MÉTODO DE M ONTECARLO

Por tanto, podemos formular el beneficio esperado como

µpaq “ E rf pa, Xqs .

Para aplicar el método de Montecarlo para estimar µpaq, generaríamos una


muestra i.i.d de tamaño n de la demanda diaria X: X1 , X2 , . . . , Xn ; a continuación,
estimaríamos µpaq por
n
1ÿ
ppaq “
µ f pa, Xi q.
n i“1
El problema de optimizar el tamaño del pedido se formula como

maximizar µpaq.
aě0

Podemos estimar la solución óptima de este problema resolviendo el problema


aproximado
maximizar µppaq.
aě0

18.4. Generación de números pseudo-aleatorios


Como los ejemplos anteriores ilustran, para aplicar el método de Montecarlo
necesitamos ser capacer de generar variables aleatorias con las distribuciones de
interés en cada caso. Veremos más adelante que, para tal propósito, nos bastará
con disponer de un generador de variables aleatorias uniformes entre 0 y 1.
Sin embargo, como se comentó anteriormente, no es posible hacer que un pro-
grama informático genere números realmente aleatorios, puesto que un ordenador
es una máquina determinista. En la práctica, se emplean generadores de números
pseudo-aleatorios: aunque tales números no son aleatorios, ya que se generan de
forma determinista, se comportan en cierta forma como si lo fuesen.

18.4.1. El método de Congruencias Lineales


Uno de los primeros métodos que se desarrollaron para generar muestras de
números pseudo-aleatorios U0 , U1 , . . . , Un , con la pretensión de que se comporten
estadísticamente como si fuesen muestras i.i.d. de variables aleatorias Unifr0, 1s,
fue el método de Congruencias Lineales.
Este método procede como se indica a continuación:

El Método de Congruencias Lineales

1. Elegir valores enteros positivos para los parámetros a, c, y m.


2. Elegir un valor inicial, o semilla, V0 P t0, . . . , m ´ 1u.
3. Generar recursivamente la sucesión tVi u8 i“0 :

Vi`1 “ paVi ` cq mód m, i “ 0, 1, 2, . . .

278
18.4. Generación de números pseudo-aleatorios

es decir, Vi`1 P t0, . . . , m ´ 1u es el resto de dividir aVi ` c entre m.


4. Generar la sucesión tUi u8 i“0 calculando Ui “ Vi {m, para i “ 0, 1, 2, . . .

Notemos que la sucesión U0 , U1 , U2 , . . . generada por tal método cumple que

Ui P t0, 1{m, . . . , pm ´ 1q{mu, i “ 0, 1, 2, . . . ,

y, por tanto, 0 ď Ui ă 1 para cada término i.


La utilidad de este método resulta de la observación experimental de que,
eligiendo los parámetros a, c y m de forma adecuada, la sucesión obtenida
U0 , U1 , U2 , . . . se comporta estadísticamente, hasta cierto punto, como si fuese una
muestra i.i.d. de una distribución Unifr0, 1s.
Por ejemplo, en el libro (p. 284) Numerical Recipes in C, 2nd Ed.1 se menciona
como adecuada la siguiente elección de parámetros: a “ 1664525, c “ 1013904223
y m “ 232 .
Sin embargo, más recientemente, la efectividad de este método para generar
números pseudo-aleatorios ha sido puesta en entredicho, ya que se han encontrado
pautas regulares en los valores generados. El lector interesado puede encontrar en
el Capítulo 7 del libro Numerical Recipes, 3rd Ed.2 una crítica a tales generadores así
como propuestas alternativas de generadores más efectivos.

18.4.2. Generador de números pseudo-aleatorios en Excel


Numerosos programas informáticos incorporan generadores de números
pseudo-aleatorios. P. ej., en Excel encontramos la función ALEATORIO(), que gene-
ra números pseudo-aleatorios entre 0 y 1, los cuales pretenden simular una mues-
tra i.i.d. de la distribución Unifr0, 1s. Nótese que tal función no tiene argumento.
Su valor se actualiza cada vez que se pulsa la tecla para recalcular: F9.

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

Simulación de variables aleatorias

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.

19.2. Generación de variables aleatorias discretas


Supongamos que queremos generar, a partir de una variable aleatoria U „
Unifr0, 1s, una variable aleatoria discreta X con distribución conocida, dada por la
función de probabilidad

PtX “ an u “ pn , n “ 0, 1, . . . ,

donde los an son valores dados que puede tomar X.


¿Cómo hacerlo? Para ello, comenzamos por considerar la partición del interva-
lo r0, 1s dada por los puntos que corresponden a las probabilidades cumulativas
0, p0 , p0 ` p1 , p0 ` p1 ` p2 , y así sucesivamente, hasta llegar a 1. P. ej., la Figura 19.1
muestra esta partición para una variable aleatoria que solo puede tomar los cuatro
valores n “ 0, 1, 2 y 3, y, por tanto, p0 ` p1 ` p2 ` p3 “ 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.

Consideremos el ejemplo de la Figura 19.1, y supongamos que generamos una


variable aleatoria U „ Unifr0, 1s. Consideremos la pregunta: ¿Cuál es la probabili-
dad de que U caiga en el primer intervalo de la partición, esto es, de que U P r0, p0 q?
Claramente, la respuesta es p0 . ¿Y cuál es la probabilidad de que U caiga en el se-
gundo intervalo de la partición, pp0 , p0 ` p1 s? Una vez más, la respuesta es que tal
probabilidad coincide con la longitud del intervalo: p1 . De forma similar, obtene-
mos que la probabilidad de que U caiga en el intervalo pp0 ` p1 , p0 ` p1 ` p2 s es
de p2 , y la de que caiga en el último intervalo, pp0 ` p1 ` p2 , 1s, es de p3 . Tales re-
sultados nos indican claramente cómo podemos, a partir de una variable aleatoria
U „ Unifr0, 1s, generar una variable aleatoria discreta X cuya distribución está
definida por las probabilidades p0 , p1 , p2 , y p3 : Si U P r0, p0 s, tomamos X “ a0 ; si
U P pp0 , p0 ` p1 s, tomamos X “ a1 ; si U P pp0 ` p1 , p0 ` p1 ` p2 s, entonces X “ a2 ;
y, si U P pp0 ` p1 ` p2 , 1s, asignamos a X el valor X “ a3 .

Generación de una variable aleatoria discreta X a partir de U „


Unifr0, 1s
$

’ a0 si U ď p0

’ a
& 1 si p0 ă U ď p0 ` p1
X“ ¨¨¨ ¨¨¨ (19.1)



’ a si p0 ` ¨ ¨ ¨ ` pn´1 ă U ď p0 ` ¨ ¨ ¨ ` pn
% n
¨¨¨ ¨¨¨

19.2.1. Distribución Bernoulli


Consideremos el caso en que X „ Bernoullippq, esto es, X representa el resul-
tado de una prueba cuyos posibles resultados son éxito (X “ 1) o fracaso (X “ 0),
con probabilidad p de éxito.
Para aplicar (19.1), observamos que, en este caso, p0 “ 1 ´ p y p1 “ p. Por tanto,
a partir de una variable aleatoria U „ Unifr0, 1s, generamos X como
#
0 si U ď 1 ´ p
X“
1 si U ą 1 ´ p.

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.

19.2.2. Distribución Geométrica


Consideramos ahora el caso en que X „ Geomppq, esto es, X representa el
número de fracasos antes del primer éxito, en pruebas Bernoulli independientes con
probabilidad de éxito p. La función de probabilidad es

pn “ PtX “ nu “ pp1 ´ pqn , n “ 0, 1, 2, . . .

La media y la varianza de X toman los valores

1´p 1´p
ErXs “ y Var rXs “ .
p p2

Aplicando (19.1) obtenemos que, dada U „ Unifr0, 1s, podemos generar X


mediante
$
&0 si U ď p

n´1
ÿ n
ÿ
X“
%n si
’ pp1 ´ pqi ă U ď pp1 ´ pqi , n ě 1.
i“0 i“0

Sin embargo, la fórmula anterior no resulta conveniente para su implementa-


ción en el ordenador. tenemos que tratar de simplificarla, para que el cálculo de X
sea tan eficiente como sea posible. Ello es necesario ya que, en modelos reales de
simulación, es frecuente que haya que generar cantidades muy grandes de tales
números, por lo que la eficiencia de su cálculo es un factor clave.
Para simplificar la expresión anterior, comenzamos por observar que
n´1
ÿ n´1
ÿ
i 1 ´ p1 ´ pqn
pp1 ´ pq “ p p1 ´ pqi “ p “ 1 ´ p1 ´ pqn
i“0 i“0
1 ´ p1 ´ pq

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

por lo que podemos simplificar la expresión


n´1
ÿ n
ÿ
pp1 ´ pqi ă U ď pp1 ´ pqi
i“0 i“0

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:

lntp1 ´ pqn`1 u ď lnp1 ´ U q ă lntp1 ´ pqn u.

A continuación, aplicamos las propiedades del logaritmo para reformular la


expresión anterior como

pn ` 1q lnp1 ´ pq ď lnp1 ´ U q ă n lnp1 ´ pq.

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

Así, hemos obtenido la siguiente fórmula para generar X:


Z ^
lnp1 ´ U q
X“ . (19.2)
lnp1 ´ pq

Para implementar la función suelo anterior podemos emplear la función de Ex-


cel REDONDEAR.MENOS(número; decimales), que “Redondea un número hacia
abajo, en dirección hacia cero”.
Por otra parte, como 1 ´ U „ Unifr0, 1s, también podemos generar una variable
aleatoria X „ Geomppq como se indica a continuación, donde q fi 1 ´ p.

Generación de X „ Geomppq.
Z ^
lnpU q
X“ . (19.3)
lnpqq

284
19.3. Generación de variables aleatorias continuas

19.3. Generación de variables aleatorias continuas


A continuación, abordamos la generación de variables aleatorias continuas,
mediante el llamado método de la Transformada Inversa (MTI). Supongamos que
queremos generar, a partir de una variable aleatoria U „ Unifr0, 1s, una variable
aleatoria X continua con función de distribución conocida,
F pxq “ PtX ď xu.
Supondremos que F es estrictamente creciente en el intervalo de valores de x tales
que 0 ă F pxq ă 1.
Para aplicar el MTI, procedemos como sigue. Para cada valor 0 ă U ă 1, tene-
mos que resolver la ecuación
F pXq “ U
en la variable X. Notemos que la solución será
X “ F ´1 pU q,
donde F ´1 es la transformada o función inversa de F .

Método de la Transformada Inversa para generar X

X “ F ´1 pU q,

Comprobemos que, si U „ Unifr0, 1s, entonces la variable aleatoria X definida


por X “ F ´1 pU q tiene la distribución de interés, F pxq. Para ello, basta comprobar
la siguiente cadena de identidades:
PtX ď xu “ PtF ´1 pU q ď xu “ PtF ˝ F ´1 pU q ď F pxqu “ PtU ď F pxqu “ F pxq.

19.3.1. Distribución Uniforme


Apliquemos el MTI para generar una variable aleatoria X „ Unifra, bs, cuya
función de distribución es
$

’ 0 si x ď a
&x ´ a
F pxq “ si a ă x ă b

’ b´a
%
1 si x ě b.
Para aplicar el MTI, consideramos la ecuación
F pXq “ U,
para 0 ă U ă 1. Esto es,
X ´a
“ U.
b´a
Claramente, su solución X “ F ´1 pU q está dada por
X “ a ` pb ´ aqU.

285
19. S IMULACIÓN DE VARIABLES ALEATORIAS

Generación de X „ Unifra, bs

X “ a ` pb ´ aqU.

19.3.2. Distribución Exponencial


Supongamos que queremos generar una variable aleatoria X „ Exppλq, esto
es, con función de distribución
#
0 si x ď 0
F pxq “ ´λx
1´e si x ą 0.

La media y la varianza de X están dadas por

E rXs “ 1{λ, y Var rXs “ 1{λ2 .

Para aplicar el MTI, formulamos la siguiente ecuación, para 0 ă U ă 1:

1 ´ e´λX “ U.

La resolveremos aplicando las equivalencias que se muestran a continuación:

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

19.3.3. Distribución Weibull


Supongamos que estamos interesados en generar una variable aleatoria X „
Weibullpα, βq, que representa, p. ej., el tiempo de vida de una componente electró-
nica. Su función de distribución es
#
0 si x ď 0
F pxq “ ´px{βqα
1´e si x ą 0,

donde α, β ą 0 son parámetros dados. La media y la varianza de X están dadas


por
(
E rXs “ βΓp1 ` 1{αq, y Var rXs “ β 2 Γp1 ` 2{αq ´ Γ2 p1 ` 1{αq .

Para generar X dada 0 ă U ă 1, consideramos la ecuación

F pXq “ U,

que resolveremos aplicando las siguientes equivalencias:

α
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{α .

Como 1 ´ U „ Unifr0, 1s, también podemos generar X como se indica a conti-


nuación.

Generación de X „ Weibullpα, βq

X “ β p´ lnpU qq1{α .

19.3.4. Distribución Normal


Supongamos que queremos generar una variable aleatoria X „ Normalp0, 1q,
cuya función de distribución es
żx
1 2
F pxq “ ? e´t {2 dt, t P R.
2π ´8

En este caso, al considerar la ecuación

F pXq “ U,

para 0 ă U ă 1, vemos que no podemos resolverla mediante una fórmula cerrada.

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

Para ampliar conocimientos

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

[AMO13] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Al-


gorithms, and Applications. Pearson New International Edition, 2013.

[Bak15] K. Baker. Optimization Modeling with Spreadsheets. Wiley, Hoboken, NJ,


3rd edition, 2015.

[Ber16] D. P. Bertsekas. Nonlinear Programming. Athena Scientific, Nashua, NH,


3rd edition, 2016.

[Ber17] D. P. Bertsekas. Dynamic Programming and Optimal Control, vol. I. Athena


Scientific, Nashua, NH, 4th edition, 2017.

[BJS09] M. S. Bazaraa, J. J. Jarvis, and H. D. Sherali. Linear Programming and


Network Flows. Wiley, New York, 4th edition, 2009.

[BT97] D. Bertsimas and J. N. Tsitsiklis. Introduction to Linear Optimization.


Athena Scientific, Nashua, NH, 3rd edition, 1997.

[Den08] E. V. Denardo. The Science of Decision Making: A Problem-Based Approach


Using Excel. Wiley, New York, 2008.

[HL15] F. S. Hillier and G. J. Lieberman. Investigación de operaciones, 10.a ed.


McGraw Hill, México, 2015.

[Kle75] L. Kleinrock. Queueing Systems. Vol. I: Theory. Wiley, New York, 1975.

[KPP04] H. Kellerer, U. Pferschy, and D. Pisinger. Knapsack Problems. Springer,


Berlin, 2004.

[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.

[NW88] G. L. Nemhauser and L. A. Wolsey. Integer and Combinatorial Optimiza-


tion. Wiley, New York, 1988.

291
B IBLIOGRAFÍA

[Rag16] C. T. Ragsdale. Spreadsheet Modeling and Decision Analysis: A Practical In-


troduction to Business Analytics. South-Western College Pub, Cincinatti,
OH, 8th edition, 2016.

[Rar16] R. L. Rardin. Optimization in Operations Research. Pearson, 2nd edition,


2016.

[Ros12] S. M Ross. Simulation, 5th edition. Academic Press, New York, 2012.

[Sav10] S. L. Savage. Decision Making with Insight. South-Western College Pub.,


Cincinnati, OH, 3rd edition, 2010.

[STGH18] J. F. Shortle, J. M. Thompson, D. Gross, and C. M. Harris. Fundamentals


of Queueing Theory. Wiley, Hoboken, NJ, 5th edition, 2018.

[Tah12] H. A. Taha. Investigación de operaciones, 9.a ed. Prentice Hall Iberia, Ma-
drid, 2012.

[WA19] W. L. Winston and S. C. Albright. Business Analytics: Data Analysis and


Decision Making. South-Western College Pub, Cincinatti, OH, 7th edi-
tion, 2019.

[Win08] W. L. Winston. Investigación de operaciones: Aplicaciones y algoritmos, 4.a


ed. traducida. Thomson International, 2008.

[Wol20] L. A. Wolsey. Integer Programming. Wiley, New York, 2nd edition, 2020.

292

También podría gustarte