Formulaci´
on y Resoluci´
on de Modelos
de Programaci´
on Matem´
atica
en Ingenier´
ıa y Ciencia.
Enrique Castillo, Antonio J. Conejo, Pablo Pedregal,
Ricardo Garc´ıa y Natalia Alguacil
DEDICATORIA
´
Indice General
Prefacio xi
I
Modelos
1
1 Programaci´on lineal 3
1.1 Introducci´on . . . 3
1.2 El problema del transporte . . . 4
1.3 El problema de la planificaci´on de la producci´on . . . 6
1.4 El problema de la dieta . . . 9
1.5 El problema del flujo en una red . . . 11
1.6 El problema de la cartera de valores . . . 13
1.7El sistema de vigas y cuerdas . . . 15
1.8 El problema del despacho econ´omico . . . 18
Ejercicios . . . 22
2 Programaci´on lineal entera-mixta 25 2.1 Introducci´on . . . 25
2.2 El problema de la mochila . . . 25
2.3 Identificaci´on de s´ıntomas relevantes . . . 27
2.4 El problema de la Academia de Ingenier´ıa . . . 29
2.5 El problema del horario . . . 32
2.6 Modelos de localizaci´on de plantas productivas . . . 35
2.7Programaci´on de centrales t´ermicas de producci´on de electricidad 39 Ejercicios . . . 44
3 Programaci´on no lineal 47 3.1 Introducci´on . . . 47
3.2 Algunos ejemplos geom´etricos . . . 47
3.2.1 El paquete postal . . . 47
3.2.2 La tienda de campa˜na . . . 48
3.2.3 La bombilla . . . 48
3.2.4 La superficie . . . 50
3.2.5 El transporte de arena . . . 50
3.3 Algunos ejemplos mec´anicos . . . 51
3.3.1 El voladizo . . . 51
3.3.2 La estructura de dos barras . . . 52
3.3.3 La columna sometida a pandeo . . . 53
3.3.4 El sistema de vigas y cuerdas . . . 54
3.4 Algunos ejemplos de ingenier´ıa el´ectrica . . . 56
3.4.1 Estimaci´on de estado en sistemas el´ectricos . . . 56
3.4.2 Reparto ´optimo de carga . . . 58
3.5 El problema de la matriz equilibrada . . . 62
3.6 El problema de la asignaci´on de tr´afico . . . 66
Ejercicios . . . 69
II
M´
etodos
73
4 Introducci´on a la programaci´on lineal 75 4.1 Introducci´on . . . 7 5 4.2 Formulaci´on del problema . . . 754.3 Problema de programaci´on lineal en forma est´andar . . . 80
4.3.1 Transformaci´on a la forma est´andar . . . 81
4.4 Soluciones b´asicas . . . 83
4.5 Sensibilidades . . . 85
4.6 Dualidad . . . 86
4.6.1 Obtenci´on del dual a partir del primal en forma est´andar 87 4.6.2 Obtenci´on del problema dual . . . 88
4.6.3 Teoremas de dualidad . . . 89
Ejercicios . . . 95
5 El conjunto de soluciones factibles 99 5.1 Introducci´on y motivaci´on . . . 99
5.2 Conjuntos convexos . . . 101
5.3 Espacios vectoriales . . . 108
5.4 Conos poli´edricos convexos . . . 109
5.5 Politopos . . . 112
5.6 Poliedro . . . 113
5.7PPL acotado y no acotado . . . 115
Ejercicios . . . 116
6 Resoluci´on de problemas de programaci´on lineal 119 6.1 Introducci´on . . . 119
6.2 El m´etodo simplex . . . 120
6.2.1 Ejemplo ilustrativo . . . 120
6.2.2 Descripci´on general . . . 122
6.2.3 Etapa de iniciaci´on . . . 123
6.2.4 Operaci´on elemental de pivotaci´on . . . 125
´
INDICE GENERAL vii
6.2.6 Iteraci´on reguladora . . . 128
6.2.7Detecci´on de no acotaci´on . . . 128
6.2.8 Detecci´on de no factibilidad . . . 129
6.2.9 Etapa de iteraciones est´andar . . . 129
6.2.10 El algoritmo simplex revisado . . . 131
6.2.11 Algunos ejemplos ilustrativos . . . 133
6.3 El m´etodo del punto exterior . . . 143
6.3.1 Fase inicial . . . 145
6.3.2 Fase reguladora . . . 146
6.3.3 Detecci´on de infactibilidad y de no acotaci´on . . . 146
6.3.4 Fase de iteraciones est´andar . . . 147
6.3.5 El algoritmo MPE . . . 149
6.3.6 Algunos ejemplos ilustrativos . . . 150
Ejercicios . . . 160
7 Programaci´on lineal entera-mixta 163 7.1 Introducci´on . . . 163
7.2 El m´etodo de ramificaci´on y acotaci´on . . . 165
7.2.1 Introducci´on . . . 165
7.2.2 El algoritmo de RA para un PPLEM . . . 165
7.2.3 Estrategias de ramificaci´on y procesamiento . . . 166
7.2.4 Otros problemas de programaci´on lineal entera-mixta . . 174
7.3 El m´etodo de los cortes de Gomory . . . 175
7.3.1 Introducci´on . . . 17 5 7.3.2 Generaci´on de un corte . . . 175
7.3.3 Algoritmo de los cortes de Gomory para PPLE . . . 177
Ejercicios . . . 183
8 Optimalidad y dualidad en programaci´on no lineal 187 8.1 Introducci´on . . . 187
8.2 Condiciones necesarias de optimalidad . . . 193
8.2.1 Diferenciabilidad . . . 193
8.2.2 Condiciones de Karush–Kuhn–Tucker . . . 194
8.3 Condiciones de optimalidad: suficiencia y convexidad . . . 211
8.3.1 Convexidad . . . 211
8.3.2 Condiciones suficientes de Karush–Kuhn–Tucker . . . 216
8.4 Teor´ıa de la dualidad . . . 222
8.5 Ilustraci´on pr´actica de la dualidad y separabilidad . . . 227
8.5.1 Esquema centralizado o m´etodo primal . . . 227
8.5.2 Mercado competitivo o esquema dual . . . 231
8.5.3 Conclusi´on . . . 231
8.6 Condiciones de regularidad . . . 232
9M´etodos computacionales para programaci´on no lineal 239
9.1 Algoritmos de optimizaci´on para problemas sin restricciones . . . 240
9.1.1 M´etodos de b´usqueda lineal . . . 240
9.1.2 Optimizaci´on sin restricciones . . . 246
9.2 Algoritmos de optimizaci´on con restricciones . . . 259
9.2.1 M´etodos duales . . . 259
9.2.2 M´etodos de penalizaciones . . . 266
9.2.3 M´etodo del punto interior en programaci´on lineal . . . 274
Ejercicios . . . 283
III
Software
289
10 La herramienta GAMS 291 10.1 Introducci´on . . . 29110.2 Ejemplo ilustrativo . . . 292
10.3 Caracter´ısticas del lenguaje . . . 297
10.3.1 Conjuntos . . . 298
10.3.2 Escalares . . . 300
10.3.3 Vectores y matrices de datos . . . 300
10.3.4 Reglas sobre las expresiones matem´aticas en asignaciones 302 10.3.5 Variables . . . 303
10.3.6 Restricciones . . . 306
10.3.7Modelos . . . 306
10.3.8 Resoluci´on . . . 307
10.3.9 La potencia del asterisco . . . 310
10.3.10 Resultados . . . 311
10.3.11 Expresiones condicionales . . . 311
10.3.12 Conjuntos din´amicos . . . 313
10.3.13 Estructuras iterativas . . . 313
10.3.14 Escritura en fichero de salida . . . 316
10.3.15 Listado de las restricciones no lineales . . . 317
11 Algunos ejemplos en GAMS 319 11.1 Introducci´on . . . 319
11.2 Ejemplos de programaci´on lineal . . . 319
11.2.1 El problema del transporte . . . 319
11.2.2 El problema de planificaci´on de la producci´on . . . 323
11.2.3 El problema de la dieta . . . 325
11.2.4 El problema de flujos en redes . . . 327
11.2.5 El problema de la cartera de valores . . . 332
11.2.6 El sistema de vigas y cuerdas . . . 334
11.2.7El despacho econ´omico de centrales t´ermicas . . . 336
11.3 Ejemplos de programaci´on lineal entera mixta . . . 339
11.3.1 El problema de la mochila . . . 339
´
INDICE GENERAL ix
11.3.3 El problema de la academia de ingenier´ıa . . . 342
11.3.4 El problema del horario . . . 345
11.3.5 Modelos de localizaci´on de plantas productivas . . . 347
11.3.6 Programaci´on horaria de centrales t´ermicas . . . 349
11.4 Ejemplos de programaci´on no lineal . . . 353
11.4.1 El ejemplo del paquete postal . . . 353
11.4.2 El ejemplo de la tienda . . . 354
11.4.3 El ejemplo de la l´ampara . . . 355
11.4.4 El ejemplo de la superficie . . . 355
11.4.5 El ejemplo del transporte de arena . . . 356
11.4.6 El ejemplo del voladizo . . . 357
11.4.7El ejemplo de la estructura con dos barras . . . 357
11.4.8 El ejemplo de la columna . . . 358
11.4.9 El ejemplo del sistema de vigas y cuerdas . . . 359
11.4.10 Estimaci´on de estado en sistemas el´ectricos . . . 361
11.4.11 Reparto ´optimo de cargas . . . 364
11.4.12 El problema de la red de abastecimiento de agua . . . 367
11.4.13 El problema de la matriz equilibrada . . . 369
11.4.14 El problema de la asignaci´on de tr´afico . . . 371
Ejercicios . . . 372
IV
Aplicaciones
377
12 Aplicaciones 379 12.1 Aplicaciones a la inteligencia artificial . . . 37912.1.1 Aprendizaje de funciones neuronales . . . 381
12.2 Aplicaciones a CAD . . . 388
12.2.1 Generaci´on autom´atica de mallas . . . 389
12.3 Aplicaciones a la probabilidad . . . 395
12.3.1 Compatibilidad de matrices de probabilidad condicional . 396 12.3.2 Cuasi-compatibilidad . . . 400
12.4 Modelos de regresi´on . . . 404
12.5 Aplicaciones a problemas de optimizaci´on . . . 410
12.5.1 Problemas de c´alculo variacional . . . 412
12.5.2 Problemas de control ´optimo . . . 419
12.6 Sistemas de transporte . . . 426
12.6.1 Introducci´on . . . 426
12.6.2 Elementos de una red de tr´afico . . . 428
12.6.3 El problema de asignaci´on de tr´afico . . . 432
12.6.4 Modelos de asignaci´on con restricciones laterales . . . 440
12.6.5 El caso de la demanda el´astica . . . 443
12.6.6 Combinaci´on de asignaci´on y distribuci´on . . . 449
12.7Coordinaci´on hidrot´ermica a corto plazo . . . 453
12.7.1 Formulaci´on del problema mediante RL . . . 454
12.7.3 Significado econ´omico de los multiplicadores . . . 459
13 Algunos trucos ´utiles 461 13.1 Introducci´on . . . 461
13.2 Algunos trucos gen´ericos . . . 461
13.2.1 Tratamiento de variables no acotadas . . . 462
13.2.2 Transformaci´on de desigualdades en igualdades . . . 463
13.2.3 Transformaci´on de igualdades en desigualdades . . . 464
13.2.4 Transformaci´on de maximizaci´on a minimizaci´on . . . 465
13.2.5 Transformaci´on de funciones no lineales en lineales . . . . 465
13.2.6 Tratamiento de funciones no lineales como lineales . . . . 465
13.2.7Espacio vectorial como cono . . . 468
13.2.8 Restricciones alternativas . . . 470
13.2.9 Tratamiento de restricciones condicionales . . . 472
13.2.10 Tratamiento de funciones no continuas . . . 472
13.2.11 Tratamiento de funciones no convexas a trozos . . . 473
13.3 Algunos trucos en GAMS . . . 476
13.3.1 Asignaci´on de valores a una matriz . . . 476
13.3.2 Definici´on de una matriz sim´etrica . . . 477
13.3.3 Definici´on de una matriz cuasi-vac´ıa . . . 47 8 13.3.4 Descomposici´on de un problema separable . . . 479
13.3.5 Adici´on iterativa de restricciones a un problema . . . 480
13.3.6 Tratamiento de los estados inicial y final . . . 481
13.3.7An´alisis de sensibilidad . . . 482
13.3.8 Dependencia del flujo del programa . . . 482
Ejercicios . . . 483
A Soluciones factibles y compatibilidad 489 A.1 El cono dual . . . 490
A.2 Cono asociado a un poliedro . . . 492
A.3 El procedimientoΓ . . . 495
A.4 Compatibilidad de sistemas lineales . . . 501
A.5 Resoluci´on de sistemas lineales . . . 502
A.6 Aplicaciones a varios ejemplos . . . 506
A.6.1 El problema del transporte . . . 507
A.6.2 El problema de la planificaci´on de la producci´on . . . 512
A.6.3 Las tablas “input–output” . . . 518
A.6.4 El problema de la dieta . . . 520
A.6.5 El problema de las redes . . . 521
Ejercicios . . . 526
B Notaci´on 531
Bibliograf´ıa 547
Prefacio
La modelizaci´on es una de las ´areas m´as atractivas de la ingenier´ıa y las ciencias aplicadas. De hecho, los ingenieros necesitan construir modelos para resolver problemas de la vida real. El objetivo de un modelo consiste en reproducir la realidad de la forma m´as fiel posible, tratando de entender c´omo se comporta el mundo real y obteniendo las respuestas que pueden esperarse de determinadas acciones. En la pr´actica se utilizan muchos tipos de modelos, tales como mode-los de ecuaciones diferenciales, modemode-los de ecuaciones funcionales, modemode-los en diferencias y de elementos finitos, y modelos de programaci´on matem´atica.
La selecci´on del modelo adecuado para reproducir la realidad es una etapa crucial para obtener una soluci´on satisfactoria a un problema real. Las estruc-turas matem´aticas asociadas no son arbitrarias, sino una consecuencia de la realidad misma. En este libro, se hace un esfuerzo importante por conectar las realidades f´ısica y matem´atica. Se muestra al lector el razonamiento que conduce al an´alisis de las diferentes estructuras, modelos y conceptos. Esto se pone de manifiesto en los ejemplos ilustrativos, que muestran la conexi´on entre modelo y realidad.
En este libro se tratan los modelos de programaci´on matem´atica, incluyendo los de programaci´on lineal y no lineal.
Los problemas de programaci´on matem´atica son problemas particulares a los que uno se enfrenta con cierta frecuencia. Uno est´a preparado para resolverlos usando muchas de las herramientas disponibles, procedimientos o paquetes de software. De hecho, estos problemas se estudian en detalle en los estudios de grado y postgrado. Sin embargo, uno puede no estar preparado para resolver otros problemas muy frecuentes como
1. Problemas de programaci´on lineal con muchas variables y/o restricciones
2. Problemas de programaci´on no lineal
3. T´ecnicas de descomposici´on para problemas a resolver con herramientas de programaci´on matem´atica
4. Reglas para transformar otros problemas en problemas de programaci´on matem´atica
En este libro se dan m´etodos que permiten resolver una amplia colecci´on de problemas pr´acticos interesantes.
El objetivo de este libro no es el de tratar los m´etodos est´andar de an´alisis, que est´an ya cubiertos en muchos otros libros. Al contrario, se trata de mostrar al lector la potencia de estos m´etodos para resolver problemas pr´acticos, y luego de introducir los principales conceptos y herramientas.
Cuando se analiza y discute la programaci´on matem´atica, una posibilidad es la de dar un profundo an´alisis te´orico del problema y una discusi´on de los diferentes problemas y m´etodos. Esta opci´on tiene algunos riesgos. Aunque a veces, inicialmente, el tratamiento parece ser m´as riguroso y profundo, el lector es conducido a ser demasiado curioso y cuidadoso con los detalles matem´aticos pero sin preocuparse ni entender a d´onde conducen ´estos o de d´onde proceden. Por ejemplo, no es infrecuente dar a una persona que ha estudiado durante a˜nos programaci´on lineal, un dibujo bidimensional sencillo en el que aparece el conjunto factible, y preguntarle que marque la secuencia de puntos extremos asociada al m´etodo simplex, sin obtener una respuesta correcta. N´otese que esto significa que no se comprende la esencia misma del m´etodo simplex y de las ideas en que ´este se basa.
Alternativamente, uno puede tratar este tema con la ayuda de ejemplos ilustrativos, y tratar de transmitir al lector la profundidad y el ingenio que hay detr´as de estos m´etodos, con lo que se hace el libro m´as legible y atractivo. No tratamos con m´etodos o soluciones est´andar. El lector que busque m´etodos est´andar o referencias de trabajos con esta orientaci´on deber´ıa consultar uno de los muchos libros sobre este tema que se dan en la bibliograf´ıa. Por el contrario, en este libro se discuten los problemas antes mencionados desde otro punto de vista.
Adem´as de obtener soluciones, matem´aticos e ingenieros est´an interesados en analizar las condiciones que conducen a problemas bien definidos. En este contexto, los problemas de compatibilidad y unicidad de soluci´on juegan un papel central. De hecho, conducen a conclusiones f´ısicas e ingenieriles muy interesantes, que relacionan las condiciones f´ısicas, obtenidas de la realidad, con las correspondientes condiciones que hay tras los modelos matem´aticos. Los m´etodos a desarrollar en este libro tambi´en permiten concluir si el conjunto de restricciones conducen a la existencia de al menos una soluci´on.
El libro est´a organizado en cuatro partes. En la primera parte se trata de los modelos para introducir al lector en el atractivo mundo de la programaci´on matem´atica, por medio de ejemplos cuidadosamente seleccionados. Se gu´ıa al lector para que descubra el planteamiento matem´atico de los problemas tras un entendimiento claro de los problemas f´ısicos e ingenieriles.
La parte segunda trata de los m´etodos y describe las t´ecnicas principales para resolver problemas de programaci´on lineal y no lineal. Tal como se ha indicado, la intenci´on de esta parte no es la de dar un an´alisis riguroso de los m´etodos, sino un entendimiento de las ideas b´asicas y principales.
Prefacio xiii
parte se resuelven usando esta herramienta.
Una vez que el lector est´a familiarizado con los problemas de programaci´on matem´atica y el software GAMS, se dedica la parte cuarta a aplicaciones de estas t´ecnicas a problemas pr´acticos m´as importantes de varias ´areas del co-nocimiento, como la inteligencia artificial (AI), dise˜no asistido por ordenador (CAD), estad´ıstica y probabilidad, econom´ıa, ingenier´ıa, y problemas de trans-porte. Todas estas aplicaciones han surgido de la vida real. En otras palabras, son modelos matem´aticos de problemas f´ısicos, econ´omicos o ingenieriles. Esta parte incluye tambi´en un cap´ıtulo dedicado a trucos que son ´utiles cuando se tratan casos especiales de problemas, como, por ejemplo, convertir problemas no lineales en lineales, y tambi´en se dan algunos trucos espec´ıficos de GAMS.
Este libro puede utilizarse como libro de consulta o referencia y como libro de texto en cursos de grado y de postgrado. Se incluyen en el libro numero-sos ejemplos ilustrativos y ejercicios de fin de cap´ıtulo. Adem´as se ha incluido el c´odigo GAMS para implementar muchos de los ejemplos del libro. La ver-si´on actual de este programa, junto con una breve Gu´ıa de usuario, puede ser obtenida por Internet en la direcci´on:
http://www.gams.com/
Este libro est´a dirigido a una audiencia amplia, que incluye matem´aticos, ingenieros, y cient´ıficos aplicados. Hay unos pocos prerrequisitos para el lector, ya que un conocimiento previo de ´algebra lineal, c´alculo elemental y una cierta familiaridad con matrices son muy convenientes.
Varios colegas y estudiantes han le´ıdo versiones previas de los manuscritos de este libro y han suministrado valiosos comentarios y sugerencias. Sus con-tribuciones han dado lugar a una sustancial mejora del libro. En particular, se agradece la ayuda de Angel Yustres, Jos´e Manuel Vell´on, y Marta Serrano, que hicieron una lectura muy cuidadosa del manuscrito y dieron interesantes sugerencias, a Gonzalo Echevarr´ıa, por su ayuda inform´atica, y al equipo de Wiley por su trabajo en la edici´on en versi´on inglesa de este libro.
Los autores agradecen tambi´en a la Universidad de Cantabria, e Iberdrola y Jos´e Antonio Garrido por su soporte econ´omico. Especial menci´on merece la Universidad de Castilla-La Mancha por la publicaci´on y financiaci´on de este trabajo.
Finalmente, Enrique Castillo quiere expresar su agradecimiento m´as sincero al Profesor Alfonso Fern´andez Canteli (Universidad de Oviedo) por su constante apoyo, ´animo y confianza.
Enrique Castillo, Antonio J. Conejo, Pablo Pedregal, Ricardo Garc´ıa, y Natalia Alguacil Ciudad Real, Espa˜na
Parte I
Modelos
Cap´ıtulo 1
Programaci´
on lineal
1.1
Introducci´
on
La programaci´on matem´atica es una potente t´ecnica de modelado usada en el proceso de toma de decisiones. Cuando se trata de resolver un problema de este tipo, la primera etapa consiste en identificar las posibles decisiones que pueden tomarse; esto lleva a identificar las variables del problema concreto. Normal-mente, las variables son de car´acter cuantitativo y se buscan los valores que optimizan el objetivo. La segunda etapa supone determinar qu´e decisiones re-sultan admisibles; esto conduce a un conjunto de restricciones que se determinan teniendo presente la naturaleza del problema en cuesti´on. En la tercera etapa, se calcula el coste/beneficio asociado a cada decisi´on admisible; esto supone determinar una funci´on objetivo que asigna, a cada conjunto posible de valores para las variables que determinan una decisi´on, un valor de coste/beneficio. El conjunto de todos estos elementos define el problema de optimizaci´on.
La programaci´on lineal (PL), que trata exclusivamente con funciones objeti-vos y restricciones lineales, es una parte de la programaci´on matem´atica, y una de las ´areas m´as importantes de la matem´atica aplicada. Se utiliza en campos como la ingenier´ıa, la econom´ıa, la gesti´on, y muchas otras ´areas de la ciencia, la t´ecnica y la industria.
En este cap´ıtulo se introduce la programaci´on lineal por medio de varios ejemplos seleccionados. Para empezar nuestra exposici´on se hace notar que cualquier problema de programaci´on lineal requiere identificar cuatro compo-nentes b´asicos:
1. El conjunto de datos.
2. El conjunto de variables involucradas en el problema, junto con sus domi-nios respectivos de definici´on.
3. El conjunto de restricciones lineales del problema que definen el conjunto de soluciones admisibles.
4. La funci´on lineal que debe ser optimizada (minimizada o maximizada).
En las secciones que siguen se da una lista de ejemplos, prestando especial atenci´on en cada caso a estos cuatro elementos.
La lista seleccionada no es sino una muestra de la gran cantidad de problemas de programaci´on lineal (PPL) disponibles en las referencias. El objetivo en dicha selecci´on es poder ilustrar de manera clara el alcance de la programaci´on lineal y ayudar a nuestros lectores a familiarizarse con los cuatro elementos descritos m´as arriba.
1.2
El problema del transporte
En esta secci´on se presenta y se describe el problema del transporte.
Imag´ınese que un cierto producto debe enviarse en determinadas cantidades
u1, . . . , um, desde cada uno de mor´ıgenes, y recibirse en cantidadesv1, . . . , vn,
en cada uno de ndestinos. El problema consiste en determinar las cantidades
xij, que deben enviarse desde el origenial destinoj, para conseguir minimizar
el coste del env´ıo.
Los cuatro elementos principales de este problema son:
1. Datos
m: el n´umero de or´ıgenes
n: el n´umero de destinos
ui: la cantidad que debe enviarse desde el origeni vj: la cantidad que debe ser recibida en el destinoj
cij: el coste de env´ıo de una unidad de producto desde el origen i al
destinoj
2. Variables
xij: la cantidad que se env´ıa desde el origenial destinoj.
Se supone que las variables deben ser no negativas:
xij≥0; i= 1, . . . , m; j= 1, . . . , n (1.1)
Esto implica que la direcci´on de env´ıo del producto est´a prefijada desde los distintos or´ıgenes hasta los destinos. No obstante, otras hip´otesis podr´ıan tenerse en cuenta. Por ejemplo, podr´ıa no limitarse el signo de las variablesxij ∈IR , si no se quiere predeterminar cu´ales
son los puntos de partida y llegada.
3. Restricciones. Las restricciones de este problema son:
n j=1
xij = ui; i= 1, . . . , m
m i=1
xij = vj; j= 1, . . . , n
u
1u
2u
3v
1v
2v
3x
11x
12x
13x
21x
23
x
31x
22x
33
x
321.2. El problema del transporte 5
Figura 1.1: Esquema del problema del transporte.
El primer conjunto de condiciones indica que la cantidad del producto que parte del origenidebe coincidir con la suma de las cantidades que parten de ese origen hasta los distintos destinosj= 1, . . . , n.
El segundo conjunto de condiciones asegura que el total recibido en el destinoj debe corresponder a la suma de todas las cantidades que llegan a ese destino y parten de los distintos or´ıgenesi= 1, . . . , m.
Nuestros lectores deben distinguir entre lascotas de las variables(1.1) y lasrestricciones del problema(1.2).
4. Objetivo que debe optimizarse. En el problema del transporte nos interesa normalmente minimizar los costes de env´ıo (suma de los costes de env´ıo por unidad de producto multiplicado por las cantidades enviadas); es decir, se debe minimizar
Z=
m
i=1
n
j=1
cijxij (1.3)
Una vez que se han identificado estos cuatro elementos, se est´a preparado para resolver el problema.
Ejemplo 1.1 (problema del transporte). Consid´erese el problema del trans-porte de la Figura 1.1, conm= 3 or´ıgenes yn= 3 destinos, y
En este caso, el sistema (1.2) es Cx=
1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1
x11 x12 x13 x21 x22 x23 x31 x32 x33 = 2 3 4 5 2 2 (1.4)
xij ≥0; i, j= 1,2,3
Las tres primeras ecuaciones establecen la conservaci´on del producto en los tres or´ıgenes y las tres ´ultimas igualdades, la conservaci´on del producto en los tres destinos.
Si se concretan valores particulares
c=
12 21 32 3 2 1
para los costes de env´ıo, nuestro problema consiste en minimizar
Z=x11+ 2x12+ 3x13+ 2x21+x22+ 2x23+ 3x31+ 2x32+x33. (1.5) Mediante el paquete GAMS puede resolverse este problema (v´ease la secci´on 11.2.1), y encontrar un valor m´ınimo de 14 para la funci´on objetivo, lo que implica un coste de
Z= 14 unidades, parax=
21 02 00 2 0 2
(1.6)
T´ıpicamente, los paquetes comerciales de optimizaci´on proporcionan solu-ciones ´optimas o informan al usuario de que el problema es no factible, pero no indican si existen diversas soluciones ´optimas. En la secci´on A.40 del ap´endice, se ver´a que este problema admite muchas soluciones ´optimas con el mismo coste ´
optimo asociado.
1.3
El problema de la planificaci´
on de la
pro-ducci´
on
100 200 300 400 500 600
1 2 3 4 5 6 7 8 9 10 11 12
Demanda
Tiempo
1.3. El problema de la planificaci´on de la producci´on 7
Figura 1.2: Gr´afico de la demanda en funci´on del tiempo.
mensual. En general, cualquier problema de planificaci´on admitir´a diversas po-sibilidades que aseguren que la demanda es convenientemente atendida. Existen dos posibilidades:
1. Producci´on variable. El fabricante puede producir cada mes el n´umero exacto de unidades que le solicitan. Sin embargo, como una producci´on que var´ıa es costosa de mantener, por los costes de horarios m´as largos en los meses de producci´on alta y los costes asociados al paro del personal y la maquinaria en los meses de producci´on baja; este tipo de producci´on no es eficiente.
2. Producci´on constante. El fabricante que debe atender una demanda que cambia con el tiempo puede producir por encima de dicho nivel en pe-riodos de baja demanda y almacenar la sobreproducci´on para los periodos de demanda mayor. As´ı, la producci´on puede mantenerse constante, com-pensando la demanda alta con la sobreproducci´on de periodos pasados. Sin embargo, debido a los costes de almacenamiento, tal opci´on puede no ser deseable si requiere costes altos de almacenamiento durante varios meses.
Los problemas de esta naturaleza ilustran las dificultades que surgen cuan-do objetivos contrarios est´an presentes en un sistema dado. Nuestro objetivo es llevar a cabo una planificaci´on de la producci´on que maximice los benefi-cios despu´es de considerar los costes de las variaciones en la producci´on y los almacenes.
Los cuatro elementos principales que intervienen en el problema de la plani-ficaci´on de la producci´on son:
n: el n´umero de meses a considerar
s0: la cantidad almacenada disponible al principio del periodo conside-rado
dt: el n´umero de unidades (demanda) que se solicita en el mes t
smax: la capacidad m´axima de almacenamiento
at: el precio de venta en el mest
bt: el coste de producci´on en el mes t
ct: el coste de almacenamiento en el mest
2. Variables
xt: el n´umero de unidades producidas en el mest
st: el n´umero de unidades almacenadas en el mest
3. Restricciones. Como la demanda dt en el mes t debe coincidir con el
cambio en el almacenamiento, st−1−st, m´as la producci´on xt en el mes t; la capacidad de almacenamiento no puede excederse; y la demandadt,
almacenamientost, y producci´onxt deben ser no negativas; se tienen las
siguientes restricciones:
st−1+xt−dt = st; t= 1,2, . . . , n
st ≤ smax; t= 1,2, . . . , n
st, xt ≥ 0
(1.7)
4. Funci´on a optimizar. Una posibilidad en el problema de la planificaci´on de la producci´on consiste en maximizar el ingreso despu´es de descontar los costes de la variaci´on de la producci´on y los inventarios; esto es, maximizar el beneficio
Z =
n
t=1
(atdt−btxt−ctst) (1.8)
Si el periodo es corto, at, bt, yctpueden considerarse constantes, esto es, at=a, bt=byct=c.
Otra posibilidad consiste en minimizar los costes de almacenamiento:
Z=
n
t=1
ctst (1.9)
1.4. El problema de la dieta 9
Tabla 1.1: Demanda como funci´on del tiempo en el ejemplo 1.2
Tiempo Demanda
1 2
2 3
3 6
4 1
1.1 y sup´ongase que la cantidad almacenada inicialmente es s0= 2. Entonces, el sistema (1.7) se transforma en
Cx=
−1 0 0 0 1 0 0 0 1 −1 0 0 0 1 0 0 0 1 −1 0 0 0 1 0 0 0 1 −1 0 0 0 1
s1 s2 s3 s4 x1 x2 x3 x4 = 0 3 6 1
st, xt ≥ 0; t= 1,2,3,4
(1.10) donde el 0 en la matriz de la derecha procede de restar la demanda parat= 1 del almacenamiento inicial.
Si se maximiza el beneficio despu´es de descontar los costes debidos a las variaciones en la producci´on y los inventarios, como en (1.8), y se toma at =
3, bt= 1, ct= 1, nuestro problema de optimizaci´on se traduce en maximizar
Z= 36−x1−x2−x3−x4−s1−s2−s3−s4 (1.11) sujeto a (1.10).
Mediante GAMS puede resolverse este problema (v´ease la secci´on 11.2.2), y obtener el valor m´aximo
Z = 26 parax= (s1, s2, s3, s4, x1, x2, x3, x4) = (0,0,0,0,0,3,6,1)T lo que implica ning´un almacenamiento. Se sugiere al lector que concrete una nueva funci´on de demanda de modo que la soluci´on ´optima de lugar a almace-namiento no nulo.
1.4
El problema de la dieta
conocen los contenidos nutritivos de ciertos alimentos, sus precios y la cantidad m´ınima diaria de nutrientes aconsejada. El problema consiste en determinar la cantidad de cada alimento que debe comprarse de suerte que se satisfagan los m´ınimos aconsejados y se alcance un precio total m´ınimo.
Los cuatro elementos que intervienen en el problema de la dieta son:
1. Datos
m: el n´umero de nutrientes
n: el n´umero de alimentos
aij: la cantidad del nutrienteien una unidad del alimentoj bi: la cantidad m´ınima del nutrienteiaconsejada
cj: el precio de una unidad del alimentoj
2. Variables. Las variables relevantes en este problema son:
xj: la cantidad del alimentoj que debe adquirirse.
3. Restricciones. Como la cantidad total de un nutriente dadoies la suma de las cantidades de los nutrientes en todos los alimentos y las cantida-des de alimentos deben ser no negativas, se deben cumplir las siguientes restricciones:
n
j=1
aijxj ≥ bi; i= 1, . . . , m (1.12)
xj ≥ 0; j= 1, . . . , n
4. Funci´on a minimizar. En el problema de la dieta se est´a interesado en minimizar el precio de la dieta:
Z=
n
j=1
cjxj (1.13)
dondecj es el precio unitario del alimentoj.
Ejemplo 1.3 (el problema de la dieta). Consid´erese un caso con cinco nutrientes y con los m´ınimos aconsejados para los nutrientes digeribles (DN), prote´ınas digeribles (DP), calcio (Ca), y f´osforo (Ph) dados en la tabla 1.2.
Las restricciones (1.12) se convierten en
78.6 7 0.1 80.1 67.2 7 7 .0 6.50 9.40 8.80 13.730.4 0.02 0.09 0.03 0.14 0.41 0.270.34 0.30 1.29 0.86
x1 x2 x3 x4 x5 ≥
74.2 14.7 0.14 0.55
(1.14)
1.5. El problema del flujo en una red 11
Tabla 1.2: Contenidos nutritivos de cinco alimentos: (DN) nutrientes digeribles, (DP) prote´ınas digeribles, (Ca) calcio, y (Ph) f´osforo
Cantidad
Nutriente requerida Ma´ız A Avena Ma´ız B Salvado Linaza DN 74.2 78.6 70.1 80.1 67.2 77.0 DP 14.76.50 9.40 8.80 13.730.4 Ca 0.14 0.02 0.09 0.03 0.14 0.41 Ph 0.55 0.270.34 0.30 1.29 0.86
Sup´ongase que los precios unitarios de los alimentos son:
c1= 1, c2= 0.5, c3= 2, c4= 1.2, c5= 3. De este modo, se tiene el PPL siguiente; minimizar
Z =x1+ 0.5x2+ 2x3+ 1.2x4+ 3x5 (1.15) sujeto a (1.14).
Usando alguno de los paquetes existentes para resolver dicho PPL, como por ejemplo GAMS, se llega a la soluci´on con un coste m´ınimo de (ver el c´odigo al final de la secci´on 11.6) Z = 0.793, en el punto (0,1.530,0,0.023,0). Esto significa que s´olo debe comprarse avena y salvado.
1.5
El problema del flujo en una red
Consid´erese una red de transporte (un sistema de tuber´ıas, ferrocarriles, au-topistas, comunicaciones, etc.) a trav´es del cual desea mandarse un producto homog´eneo (aceite, grano, coches, mensajes, etc.) desde ciertos puntos de la red, llamadosnudos fuente, hasta otros nudos de destino, llamadossumideros. Adem´as de estas dos clases de nudos, la red puede contener nudos interme-dios, donde no se genera ni se consume el producto que est´a fluyendo por la red. Den´otese porxij el flujo que va desde el nudo ial nudo j (positivo en la
direcci´oni→j, y negativo en la direcci´on contraria).
Los cuatro elementos presentes en los problemas de flujo son
1. Datos
G: el grafoG= (N,A) que describe la red de transporte, dondeN es el conjunto de nudos, yAes el conjunto de conexiones
n: el n´umero de nudos en la red
cij: el precio de mandar una unidad del bien desde el nudoial nudoj.
2. Variables. Las variables involucradas en este problema son:
xij: el flujo que va desde el nudoi al nudoj.
3. Restricciones. Imponiendo la condici´on de conservaci´on del flujo en to-dos los nuto-dos, y las restricciones sobre la capacidad de las l´ıneas o conexio-nes, se obtienen las siguientes restricciones. Las referidas a la conservaci´on del flujo son
j
(xij−xji) = fi; i= 1, . . . , n (1.16)
y las relacionadas con la capacidad de las l´ıneas o conexiones son
−mij ≤xij ≤ mij; ∀i < j (1.17)
dondei < j evita la posible duplicaci´on de restricciones.
4. Funci´on a minimizar. El precio total es
Z=
ij
cijxij (1.18)
As´ı, debe minimizarse (1.18) bajo (1.16) y (1.17).
Los problemas de flujo en redes son abundantes en ingenier´ıa. De hecho, los sistemas de abastecimiento de agua, los sistemas de redes de comunicaci´on, y otros, conducen a este tipo de problemas. Adem´as de encontrar las soluciones de los problemas de optimizaci´on, se puede estar interesado en analizar el conjunto de soluciones, y en c´omo cambia dicho conjunto cuando fallan algunos elementos en el sistema. El ejemplo siguiente se centra en una de tales situaciones.
Ejemplo 1.4 (un problema de flujo en redes). Consid´erese el problema de flujo en la red de la figura 1.3, donde las flechas indican los valores positivos de las variables del flujo.
Las ecuaciones (1.16) y (1.17) son ahora
1 1 1 0 0
−1 0 0 1 0 0 −1 0 0 1 0 0 −1 −1 −1
x12
x13
x14
x24
x34
=
f1
f2
f3
f4
xij ≤ mij; ∀i < j
−xij ≤ mij; ∀i < j
(1.19)
1
2
3
4
x
12f
3f
2f
1x
24x
14f
4x
34x
131.6. El problema de la cartera de valores 13
Figura 1.3: Diagrama de un problema de flujo en redes.
Sup´ongase adem´as quecij = 1;∀i, j. El problema de optimizaci´on es
mini-mizar
Z=x12+x13+x14+x24+x34
sujeto a (1.19).
Mediante el software adecuado, puede obtenerse la soluci´on siguiente:
Z= 5 en el punto
x12 x13 x14 x24 x34 =λ 0 3 4 −4 2
+ (1−λ) 4 −1 4 0 −2
; 0≤λ≤1
Esta soluci´on indica que existe un conjunto infinito de soluciones, todas ellas proporcionando el mismo valor ´optimo,Z= 5. En el cap´ıtulo 5, secci´on A.6.5, se explicar´a c´omo se han obtenido todas estas soluciones ´optimas.
1.6
El problema de la cartera de valores
Un inversor es propietario de participaciones de varios valores. M´as concreta-mente, es due˜no debiparticipaciones de los valores burs´atilesAi,i= 1,2, ..., m.
Los precios actuales de estos valores sonvi. Consid´erese que se pueden predecir
los dividendos que se pagar´an al final del a˜no que comienza y los precios finales de los diferentes valores burs´atiles, esto es, Ai pagar´a di y tendr´a un nuevo
preciowi.
Como en un principio se ten´ıanbi participaciones del valor burs´atili, despu´es
del ajuste se tendr´anbi+xi.
Los elementos principales del problema de la cartera son:
1. Datos
m: el n´umero de valores burs´atiles
bi: el n´umero actual de participaciones del valor burs´atili vi: el precio actual del valoripor participaci´on
di: el dividendo que se pagar´a al final del a˜no en el valor burs´atili wi: el nuevo precio del valor burs´atili
r: porcentaje m´ınimordel valor actual de toda la cartera que no debe superarse en el ajuste
s: porcentaje m´ınimo del valor total actual que no debe superarse por el valor futuro total de la cartera, para hacer frente a la inflaci´on.
2. Variables
xi: el cambio en el n´umero de participaciones del valor burs´atili.
3. Restricciones. Aunque no se ha indicado en el enunciado del problema, deben asegurarse ciertas condiciones que debe satisfacer una cartera bien equilibrada, como las restricciones que siguen a continuaci´on. El n´umero de participaciones debe ser no negativo:
xi≥ −bi (1.20)
La cartera debe evitar depender en exceso de un valor cualquiera; esta condici´on puede establecerse exigiendo que el capital asociado a todo valor concreto, despu´es del ajuste, represente al menos una cierta fracci´onrdel capital total actual de la cartera. Esto es:
r(
i
vi(bi+xi))≤vj(bj+xj); ∀j (1.21)
El capital total de la cartera no debe cambiar en el ajuste pues se supone que no se invierte dinero adicional:
i
vixi= 0 (1.22)
Para hacer frente a la inflaci´on, el capital total en el futuro debe ser al menos un cierto porcentaje smayor que el capital invertido actualmente:
i
wi(bi+xi)≥(1 +s)
i
1.7. El sistema de vigas y cuerdas 15
4. Funci´on a optimizar. Nuestro objetivo es maximizar los dividendos:
Z =
i
di(bi+xi) (1.24)
Nuestra tarea se concreta en determinar el valor m´aximo de los dividendos sujeto a todas las restricciones anteriores.
Ejemplo 1.5 (el problema de la cartera). Est´udiese el caso particular en que se tienen participaciones de tres valores burs´atiles, 75 deA, 100 deB, y 35 deC, con precios 20, 20 y 100 d´olares, respectivamente. Adem´as se dispone de la siguiente informaci´on: Ano pagar´a dividendos y alcanzar´a una nueva cotizaci´on de 18 d´olares,B pagar´a 3 d´olares por participaci´on y la nueva cotizaci´on ser´a 23 d´olares, y C pagar´a 5 d´olares por participaci´on con una nueva cotizaci´on de 102 d´olares. Si se toman los porcentajes r como 0.25 y s, 0.30, todas las restricciones anteriores se escriben
xA ≥ −75
xB ≥ −100
xC ≥ −35
0.25 [20(75 +xA) + 20(100 +xB) + 100(35 +xC)] ≤ 20(75 +xA)
0.25 [20(75 +xA) + 20(100 +xB) + 100(35 +xC)] ≤ 20(100 +xB)
0.25 [20(75 +xA) + 20(100 +xB) + 100(35 +xC)] ≤ 100(35 +xC)
20xA+ 20xB+ 100xC = 0
18(75 +xA) + 23(100 +xB) + 102(35 +xC) ≥ 1.03(7000)
(1.25) Despu´es de varias simplificaciones, las restricciones anteriores se transforman en
xA ≥ −75
xB ≥ −100
xC ≥ −35
15xA−5xB−25xC ≥ 250
−5xA+ 15xB−25xC ≥ −250
−5xA−5xB+ 7 5xC ≥ −1750
20xA+ 20xB+ 100xC = 0
18xA+ 23xB+ 102xC ≥ 270
(1.26)
La soluci´on que proporciona GAMS es
Z= 612.5 d´olares yxA= 12.5, xB= 7 5, xC =−17.5
1.7
El sistema de vigas y cuerdas
10.00
B
D
F
A
C
Viga 1
Viga 2
Viga 3
x
1x
22.00
2.00
2.00
E
Figura 1.4: Sistema de cuerdas y vigas.
consiste en determinar la carga total admisible que puede soportar tal sistema sin colapsar, bajo equilibrio de fuerzas y de momentos, si se supone que el peso de las cuerdas y las vigas es despreciable.
Los principales elementos que intervienen en este problema son
1. Datos
I: conjunto de cargas
S: conjunto de cuerdas
B: conjunto de vigas
Ts: carga m´axima permitida en la cuerdas∈S
Ωb: conjunto de cargas aplicadas en el punto medio de la vigab. Obs´ervese
que Ωb⊂Iy consiste en una sola carga, o ninguna
Ψb: conjunto de cuerdas que soportan la vigab; Ψbes un subconjunto de S y normalmente consta de dos elementos
Θb: conjunto de cuerdas que cuelgan de la vigab
dli: distancia de la cargaial punto izquierdo de la viga donde act´ua drs: distancia de la cuerdas al punto izquierdo de la vigab que soporta.
s∈Ψb.
2. Variables. Las variables involucradas en este problema son las siguientes:
xi: la cargai
ts: tensi´on generada en la cuerda s bajo la acci´on del conjunto de las
cargasxi,i∈I.
3. Restricciones. La condici´on de equilibrio de fuerzas en cada viga lleva al conjunto de ecuaciones
s∈Ψb
ts=
i∈Ωb
xi+
1.7. El sistema de vigas y cuerdas 17
para cadab∈B, y la condici´on de equilibrio de momentos (tomados con respecto a los extremos izquierdos de cada viga) se escribe como
s∈Ψb
drsts=
i∈Ωb dlixi+
x∈Θb drsts
para cada vigab∈B.
Tambi´en se debe respetar la tensi´on m´axima permitida en cada cuerda
0≤ts≤Ts
para cadas∈S; y la no negatividad de cada cargai
xi≥0
4. Funci´on a optimizar. El problema consiste en maximizar la carga total:
Z =
i xi
Ejemplo 1.6 (un sistema de vigas y cuerdas). Como ejemplo concreto consid´erese el sistema descrito en la figura 1.4, donde las cargas x1 y x2 se aplican en los puntos medios de las vigas 2 y 3, respectivamente. Las cuerdas
AyB pueden soportar una carga m´axima de 300;CyD, 200; yE yF, 100. La condici´on de equilibrio de fuerzas en cada viga se plasma en las ecuaciones
tE+tF = x2
tC+tD = tF
tA+tB = x1+tC+tD
(1.27)
y el equilibrio de momentos (tomados con respecto aE,C, yA, respectivamente) proporciona
10tF = 5x2 8tD = 6tF
10tB = 5x1+ 2tC+ 10tD
(1.28)
Resolviendo sucesivamente estas ecuaciones para las tensiones, se llega a
tF =
x2 2
tE =
x2 2
tD =
3x2 8
tC =
x2 8
tB =
2x2 5 +
x1 2
tA =
x2 10+
x1 2
Finalmente, considerando que las cargas act´uan hacia abajo (x1, x2≥0), las restricciones anteriores se transforman en:
x2
2 ≤ 100 3x2
8 ≤ 200
x2
8 ≤ 200,
x1 2 +
2x2
5 ≤ 300
x1 2 +
x2
10 ≤ 300
x1 ≥ 0
x2 ≥ 0
(1.30)
En realidad, de entre todas estas condiciones hay algunas que son m´as res-trictivas que otras. De hecho, las restricciones anteriores pueden reducirse al conjunto de restricciones:
0 ≤ x2 ≤ 200 4x2+ 5x1 ≤ 3000
x1 ≥ 0
(1.31)
El problema consiste en maximizar la carga total
x1+x2 sujeto a las restricciones (1.31).
La soluci´on que aporta GAMS, descrita en la secci´on 11.2.6, es
Z = 640 en el puntox1= 440; x2= 200 Las tensiones correspondientes en las cuerdas son
tA= 240; tB= 300; tC= 25; tD= 7 5; tE = 100; tF = 100
1.8
El problema del despacho econ´
omico
1.8. El problema del despacho econ´omico 19
Cada l´ınea en la red el´ectrica transmite la potencia desde el nudo suministra-dor hasta el nudo receptor. La cantidad de potencia enviada es proporcional a la diferencia de los ´angulos de estos nudos (al igual que el flujo de agua a trav´es de la tuber´ıa que conecta dos dep´ositos es proporcional a la diferencia de alturas de las superficies en los dos dep´ositos). La constante de proporcionalidad tiene un nombre curioso pues los ingenieros el´ectricos la denominansusceptancia. La potencia transmitida desde el nudoial nudoj a trav´es de la l´ınea i−j es por tanto
Bij(δi−δj) (1.32)
dondeBij es la susceptancia de la l´ıneai−j; yδi yδj los ´angulos de los nudos iyj, respectivamente.1
Por razones f´ısicas, la cantidad de potencia transmitida a trav´es de una l´ınea de potencia tiene un l´ımite. Dicho l´ımite se justifica mediante consideraciones t´ermicas o de estabilidad. Por tanto, una l´ınea debe funcionar de manera que este l´ımite de transporte no se supere en ning´un caso. Esto se formula como
−Pijmax≤Bij(δi−δj)≤Pijmax (1.33)
dondePmax
ij es la capacidad m´axima de transporte de la l´ıneai−j.
Debe insistirse en que la potencia transmitida es proporcional a la diferencia de ´angulos y no a un ´angulo dado. En consecuencia, el valor de un ´angulo arbitrario puede fijarse a 0 y considerarlo como el origen:
δk = 0 (1.34)
dondek es un nudo arbitrario.
Una consecuencia de seleccionar de modo arbitrario el origen es que los ´
angulos son variables no restringidas en signo.
La potencia producida por un generador es una magnitud positiva acotada inferior y superiormente. La cota inferior se debe a condiciones de estabilidad (de manera an´aloga a como un coche no puede moverse con velocidades por debajo de un cierto l´ımite). La cota superior obedece a consideraciones t´ermicas (al igual que la velocidad de un veh´ıculo no puede superar una cierta cota superior). Las restricciones anteriores pueden expresarse como
Pimin≤pi≤Pimax (1.35)
dondepi es la potencia producida por el generadoriyPimin yPimax son
cons-tantes positivas representando, respectivamente, la potencia de salida m´axima y m´ınima admisibles para el generadori.
En cada nudo, la potencia que llega debe coincidir con la potencia que sale del mismo (ley de conservaci´on de energ´ıa), que puede expresarse como
j∈Ωi
Bij(δj−δi) +pi=Di, ∀i (1.36)
1Existen modelos m´as precisos, pero el que se presenta aqu´ı es razonable para muchos
donde Ωi es el conjunto de nudos conectados a trav´es de las l´ıneas al nudoi y Di la demanda en el nudo i.
Seg´un se ha indicado antes, la potencia transmitida a trav´es de cada l´ınea est´a acotada, as´ı pues
−Pijmax≤Bij(δi−δj)≤Pijmax, ∀j∈Ωi, ∀i (1.37)
Los elementos principales de este problema son:
1. Datos
n: el n´umero de generadores
Pmin
i : la potencia m´ınima del generadori
Pmax
i : la potencia m´axima del generadori Bij: la susceptancia de la l´ıneai−j
Pmax
ij : la capacidad de transporte m´axima de la l´ıneai−j Ci: el coste de producci´on de potencia del generadori
Ωi: el conjunto de nudos conectados al nudoi
Di: la demanda en el nudoi
2. Variables
pi: la potencia que debe producir el generadori δi: el ´angulo del nudoi
3. Restricciones. Las restricciones en este problema son
δk = 0
j∈Ωi
Bij(δi−δj) +pi = Di i= 1,2, . . . , n
−Pmax
ij ≤ Bij(δi−δj) ≤ Pijmax; ∀j∈Ωi, i= 1,2, . . . , n
Pmin
i ≤ pi ≤ Pimax; i= 1,2, . . . , n
(1.38)
4. Funci´on a minimizar. El objetivo del problema del despacho econ´omico es minimizar el precio total de la producci´on de potencia, que puede con-cretarse como
Z=
n
i=1
Cipi (1.39)
donde Ci es el precio de la producci´on del generadori, ynel n´umero de
0.1 ≤ P2≤ 0.4
3 2 1
generador
demanda nudo
coste = 6 0.15 ≤ P1≤ 0.6
coste = 7
B23 = 3.0 P23 = 0.4
B13 = 3.5
P13 = 0.5
0.85 B12 = 2.5
P12 = 0.3
max max
max
1.8. El problema del despacho econ´omico 21
Figura 1.5: Ejemplo de despacho econ´omico.
Ejemplo 1.7 (problema del despacho econ´omico). Consid´erese un siste-ma de 3 nudos y 3 l´ıneas (v´ease la figura 1.5). El generador del nudo 1 produce al precio de 6 y sus l´ımites inferior y superior son, respectivamente, 0.15 y 0.6. El coste de producci´on del generador del nudo 2 es 7y sus cotas superior e inferior son, respectivamente, 0.1 y 0.4. La l´ınea 1–2 tiene susceptancia 2.5 y admite un transporte m´aximo de 0.3; la l´ınea 1–3 tiene susceptancia 3.5 y cota superior de transporte de 0.5; finalmente la l´ınea 2–3 tiene susceptancia 3.0 y l´ımite superior de transporte 0.4. El sistema tiene un ´unico nudo de demanda en el nudo 3 con un valor de 0.85. Se considera un periodo de una hora. El origen se sit´ua en el nudo 3.
El problema del despacho econ´omico para este ejemplo tiene la forma si-guiente. Minimizar
6p1+ 7p2 (1.40) sujeto a
δ3 = 0
3.5(δ3−δ1) + 2.5(δ2−δ1) +p1 = 0 3.0(δ3−δ2) + 2.5(δ1−δ2) +p2 = 0
3.5(δ1−δ3) + 3.0(δ2−δ3) = 0.85 0.15 ≤ p1 ≤ 0.6 0.10 ≤ p2 ≤ 0.4
−0.3 ≤ 2.5(δ1−δ2) ≤ 0.3
−0.4 ≤ 3.0(δ2−δ3) ≤ 0.4
−0.5 ≤ 3.5(δ1−δ3) ≤ 0.5
(1.41)
Las variables a optimizar sonp1,p2,δ1yδ2.
La soluci´on ´optima para este problema de despacho econ´omico, que ser´a resuelto en la secci´on 11.2.7, es:
Z = 5.385, p= (0.565,0.285)T, δ= (−0.143,−0.117,0)T
Ejercicios
1.1 Pedro P´erez fabrica cable el´ectrico de alta calidad usando dos tipos de aleaciones met´alicas, A y B. La aleaci´on A contiene un 80% de cobre y un 20% de aluminio, mientras que la B incluye un 68% de cobre y un 32% de aluminio. La aleaci´on A tiene un precio de 80 euros por tonelada, y la B, 60 euros por tonelada. ¿Cu´ales son las cantidades que Pedro P´erez debe usar de cada aleaci´on para producir una tonelada de cable que contenga al menos un 20% de aluminio y cuyo coste de producci´on sea el menor posible?
1.2 Tres empleados deben realizar seis tareas distintas. El empleadoipuede hacer aij partes de la tarea j en una hora y se le pagacij por hora. El
n´umero total de horas de trabajo para el empleado i esb1i y el n´umero
de unidades que requiere la tareaj esb2j. Se desea determinar el plan de
trabajo que da lugar a un coste m´ınimo
C=
3
i=1 6
j=1
cijxij
donde xij representa el n´umero de horas empleadas en la tarea j por el
empleado i. Plant´eese este problema como un PPL.
1.3 Una compa˜n´ıa de fabricaci´on de muebles ha de determinar cu´antas mesas, sillas, pupitres y librer´ıas debe hacer para optimizar el uso de sus recursos. Estos productos utilizan dos tipos diferentes de paneles, y la compa˜n´ıa dispone de 1500 tableros de un tipo y 1000 de otro tipo. Por otro lado cuenta con 800 horas de mano de obra. Las predicciones de venta as´ı como los pedidos atrasados exigen la fabricaci´on de al menos 40 mesas, 130 sillas, 30 pupitres y como m´aximo 10 librer´ıas. Cada mesa, silla, pupitre y librer´ıa necesita 5,1,9, y 12 tableros, respectivamente, del primer tipo de panel y 2,3,4, y 1 tableros del segundo. Una mesa requiere 3 horas de trabajo; una silla, 2; un pupitre, 5; y una librer´ıa 10. La compa˜n´ıa obtiene un beneficio de 12 d´olares en cada mesa, 5 d´olares en cada silla, 15 d´olares en un pupitre, y 10 d´olares en una librer´ıa. Plant´eese el modelo de programaci´on lineal para maximizar los beneficios totales. Modif´ıquese el problema para imponer que deban fabricarse cuatro sillas por cada mesa.
1.4 Una empresa que produce un cierto producto P consta de dos plantas. Cada planta produce 90 toneladas deP al mes, y el producto se distribuye en tres mercados distintos. La tabla 1.3 muestra los precios unitarios del env´ıo de una tonelada dePdesde cada planta a cada mercado. La empresa desea enviar el mismo n´umero de toneladas a cada mercado y minimizar el coste total. Form´ulese el problema como un PPL.
1
6 5
4 3 2
7
20 mi 30 mi 20 mi
15 mi
10 mi 15 mi
18 mi
200 tn.
-300 tn.
-150 tn.
300 tn.
-100 tn.
200 tn.
-150 tn.
Ejercicios 23
Tabla 1.3: El problema de la distribuci´on
Plantas Mercado1 Mercado2 Mercado3
Planta1 1 3 5
Planta2 2 5 4
Figura 1.6: Diagrama de la carretera y los datos del transporte.
n´umero de toneladas por nudo que debe transportarse. Si esta cantidad es positiva, el nudo es una fuente; en otro caso es un sumidero. El objetivo es minimizar el n´umero total de toneladas que deben desalojarse. Plant´eese el problema como un PPL.
1.6 Un productor de electricidad tiene que planificar la producci´on en cada hora para maximizar los beneficios vendiendo la energ´ıa en un horizonte temporal que abarca un n´umero de horas dado. El productor no genera energ´ıa antes de dicho periodo. Los precios de la energ´ıa en cada hora pueden predecirse con garant´ıas y se consideran conocidos. La energ´ıa m´ınima que el productor puede generar en cada hora es cero y el m´aximo es una cantidad fija. La diferencia de producci´on en horas consecutivas no puede exceder un determinado l´ımite. El coste de generaci´on de energ´ıa es lineal. Form´ulese este problema como un PPL.
1.7En el sistema de muelles de la figura 1.7, los puntos negros est´an fijos mien-tras los blancos est´an libres. Todos los muelles pueden rotar libremente alrededor de cada nudo. El comportamiento de cada muelle se caracte-riza mediante una constante positiva ki en las unidades apropiadas. La
posici´on de equilibrio del nudo central se determina resolviendo el sistema
4
i=1
ki(x−xi) = 0
sixi es el vector que indica la posici´on del nudo i y xes la posici´on del
X
Y
(0,1)
(-1,0)
(0,-1)
(1,0)
Figura 1.7: Sistema de muelles.
trabajo realizado por el nudo libre bajo la acci´on de una fuerza constante y conocida F, actuando en dicho nudo, considerando que las constantes de los cuatro muelles est´an restringidas por la condici´on lineal
i
ki=c
Cap´ıtulo 2
Programaci´
on lineal
entera-mixta
2.1
Introducci´
on
En el cap´ıtulo 1 se analizaron problemas de programaci´on lineal en los que las variables tomaban valores reales. Sin embargo, en muchos casos realistas, algu-nas de las variables no son reales sino enteras, o incluso est´an m´as restringidas siendo binarias, es decir, que toman exclusivamente los valores 0 ´o 1. Se ver´a en el Cap´ıtulo 7que el empleo de variables enteras hace m´as complejo el problema de programaci´on lineal, debido a la ausencia de continuidad.
En este cap´ıtulo se dan algunos ejemplos de problemas lineales entero-mixtos (PLEM), y en algunos de ellos, se emplean variables binarias.
2.2
El problema de la mochila
Una clase importante de problemas de programaci´on entera son aquellos en los que las variables pueden tomar solamente dos valores. Esta situaci´on se puede modelar empleandovariables 0–1. Cada valor se asocia a una de las posibilidades de una elecci´on binaria:
x=
1 si la situaci´on tiene lugar 0 en otro caso
Un problema cl´asico en el que aparecen estas variables es el problema de la mo-chila. Consid´erese un excursionista que debe preparar su mochila. Consid´erese asimismo que hay una serie de objetos de utilidad para el excursionista, pero que el excursionista s´olo puede llevar un n´umero limitado de objetos. El problema consiste en elegir un subconjunto de objetos de tal forma que se maximice la utilidad que el excursionista obtiene, pero sin rebasar su capacidad de acarrear objetos.
Esto problema consta de los siguientes elementos:
1. Datos
n: n´umero de objetos
aj: peso de cada objetoj
cj: utilidad de cada objetoj
b: la capacidad m´axima de la mochila (del excursionista)
2. Variables
xj=
1 si el objetoj se mete en la mochila
0 si no se mete (2.1)
3. Restricciones. La capacidad m´axima de la mochila no ha de excederse:
n
j=1
ajxj≤b
4. Funci´on a maximizar. El objetivo de este problema es maximizar la utilidad, que se puede expresar como
Z=
n
j=1
cjxj
Ejemplo 2.1 (el armador). Un armador tiene un carguero con capacidad de hasta 700 toneladas. El carguero transporta contenedores de diferentes pesos para una determinada ruta. En la ruta actual el carguero puede transportar algunos de los siguientes contenedores:
Contenedor c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 Peso 100 155 50 112 70 80 60 118 110 55
El analista de la empresa del armador ha de determinar el env´ıo (conjunto de contenedores) que maximiza la carga transportada.
Este problema puede formularse como un problema tipo mochila. Las varia-bles son:
xj =
1 si el contenedorj se carga 0 si no se carga
La funci´on objetivo es maximizar la carga que transportar´a el carguero:
2.3. Identificaci´on de s´ıntomas relevantes 27
y la restricci´on es que el peso de la carga transportada no puede exceder la capacidad m´axima del carguero:
100x1+ 155x2+ 50x3+ 112x4+ 7 0x5+ 80x6 +60x7+ 118x8+ 110x9+ 55x10≤700
T´engase en cuenta queai=ci;∀i, ya que la utilidad en este caso es el peso.
La decisi´on ´optima es transportar los contenedores: c1, c3, c4, c5, c6, c7, c8, c9. El valor ´optimo es 700, lo que indica que el carguero est´a completo.
2.3
Identificaci´
on de s´ıntomas relevantes
Sea D = {D1, D2, . . . , Dn} un conjunto conocido de posibles enfermedades.
Consid´erese que los m´edicos, al identificar las enfermedades asociadas a un con-junto de pacientes, basan su decisi´on normalmente en un conjunto de s´ıntomas
S ={S1, S2, . . . , Sm}. Consid´erese que se quiere identificar un n´umero m´ınimo
de s´ıntomasSa⊂ S, de tal manera que cada enfermedad puede distinguirse
per-fectamente de las otras de acuerdo con los niveles de los s´ıntomas en el conjunto
Sa. Determinar el n´umero m´ınimo de s´ıntomas es importante ya que da lugar
a un coste m´ınimo de diagn´ostico.
Este problema consta de los siguientes elementos:
1. Datos
D: conjunto de enfermedades
S: conjunto de s´ıntomas
n: n´umero de enfermedades (cardinal deD)
m: n´umero de s´ıntomas (cardinal deS)
cij: el nivel del s´ıntomaj asociado a la enfermedadi
dikj: nivel de discrepancia entre las enfermedadesiykdebido al s´ıntoma j
a: nivel m´ınimo requerido de discrepancia (se explica en lo que sigue)
2. Variables
xj=
1 si el s´ıntomaj pertenece aSa
0 si no pertenece (2.2)
3. Restricciones. El subconjunto Sa debe ser suficiente para distinguir
claramente todas las enfermedades:
m
j=1
donde
dikj=
1 si cij=ckj
0 si cij=ckj
(2.4)
mide la discrepancia entre las enfermedades Di yDk en t´erminos de los
s´ıntomas incluidos en Sa, y a > 0 es el nivel de discrepancia deseado.
T´engase en cuenta que a medida que el valor de a es mayor, mayor ser´a el n´umero de s´ıntomas requeridos (cardinal deSa). En este caso
m
j=1
xjdikj
coincide con el n´umero de s´ıntomas enS0que toman distintos valores para las enfermedades Di yDk, yaes el n´umero m´ınimo, para cualquier par
(Di, Dk) de enfermedades, necesario para tener un subconjunto aceptable
Sa. Esto quiere decir que pueden desconocersea−1 s´ıntomas, y a´un as´ı
se puede diferenciar cualquier par de enfermedades (Di, Dk).
4. Funci´on a minimizar. El objetivo de este problema es minimizar el n´umero de s´ıntomas seleccionados, el cardinal del conjuntoS0:
Z =
m
j=1
xj.
El problema as´ı formulado, nos permite determinar el conjunto m´ınimo S0, asociado aa= 0, de s´ıntomas del conjuntoS que permite identificar las enfer-medades del conjuntoD. Sin embargo, si las enfermedades han de identificarse con alguna carencia de informaci´on, el conjunto S0 puede resultar inservible. Por tanto, normalmente se emplea un valora >0.
Una vez seleccionados los s´ıntomas relevantes para identificar cada enferme-dad, pueden determinarse los s´ıntomas relevantes asociados a la enfermedadi. Esto puede hacerse minimizando
Z=
m
j=1
xj
sujeto a
m
j=1
xjdikj> a; k∈ {1,2, . . . , n}, i=k (2.5)
En otras palabras, se determina el subconjunto m´ınimo del conjuntoSai⊆ S de
manera que la enfermedaditenga s´ıntomas diferentes comparada con el resto de enfermedades. Este subconjunto se denomina conjunto de s´ıntomas relevantes
para la enfermedadi.