Anda di halaman 1dari 190

Modelos y Mt odos de I nvest igacin de

Operaciones. Procedimient os para Pensar.


(Modelado y Resolucin de Problemas de Organizacin I ndust rial
mediant e Programacin Mat emt ica)






Mtodos Cuantitativos de Organizacin Industrial


Jos Pedro Garca Sabater
Grupo de Investigacin ROGLE
Departamento de Organizacin de Empresas
Curso 10 / 11
1 MODELOS .............................................................................................................................. 12
1.1 Qu es un Modelo? ............................................................................................................. 12
1.2 Para qu sirve un modelo? ................................................................................................. 13
1.2.1 Aprender / Entender. ........................................................................................................ 13
1.2.2 Implementar en un ordenador. .......................................................................................... 14
1.2.3 Toma de decisiones. ......................................................................................................... 14
1.3 El Problema, el Cliente y el Concepto de Solucin. ............................................................. 14
1.4 Ciclo de Vida de la construccin de Modelos ...................................................................... 15
1.4.1 Definir el Problema ........................................................................................................... 15
1.4.2 Modelar y Construir la Solucin ........................................................................................ 15
1.4.3 Utilizar la Solucin. ........................................................................................................... 16
1.5 Generacin de Soluciones Informticas para la resolucin de Problemas que se abordan
mediante mtodos matemtico. .......................................................................................................... 16
1.6 Algunos principios para tener xito en el modelado ........................................................... 17
1.6.1 Los Modelos han de ser simples, su anlisis debe ser complejo........................................ 17
1.6.2 Ir paso a paso. .................................................................................................................. 17
1.6.3 Usar al mximo metforas, analogas y similitudes ........................................................... 18
1.6.4 Los datos disponibles no deben conformar el modelo. ...................................................... 18
1.6.5 Principio Subyacente: Modelar es Explorar ....................................................................... 19
2 TIPOS DE MODELOS. LOS MODELOS DE PROGRAMACIN MATEMTICA. .................... 20
2.1 Clasificacin de modelos segn el efecto de su resolucin ............................................... 20
2.1.1 Modelos Normativos ......................................................................................................... 20
2.1.2 Modelos Descriptivos. ....................................................................................................... 20
2.2 Modelos Matemticos............................................................................................................ 21
2.3 Modelos de Programacin Matemtica ................................................................................ 21
2.3.1 Por qu se llama Programacin Matemtica? ................................................................. 22
2.3.2 Una clasificacin de Modelos de Programacin Matemtica. ............................................ 23
2.3.3 Los Componentes de un Modelo Matemtico .................................................................... 25
2.4 Modelos de Optimizacin Combinatoria .............................................................................. 26
2.5 Otros Modos de Modelar. Otros Modos de Pensar. ............................................................. 27
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 4 de 190 JPGS2011
2.5.1 Teora de Grafos .............................................................................................................. 27
2.5.2 Programacin Dinmica .................................................................................................... 28
2.5.3 Teora de Colas ................................................................................................................ 29
2.5.4 Dinmica de Sistemas ...................................................................................................... 29
2.5.5 Simulacin ........................................................................................................................ 30
2.5.6 Teora de Juegos .............................................................................................................. 30
3 PROGRAMACIN MATEMTICA .......................................................................................... 31
3.1 La construccin de un Modelo de Programacin Matemtica. ........................................... 31
3.2 Implementacin de un Modelo de Programacin Matemtica (Validacin) ........................ 32
3.2.1 Modelo de sintaxis errnea. .............................................................................................. 32
3.2.2 Modelo incompatible ......................................................................................................... 33
3.2.3 Modelos no acotados ........................................................................................................ 34
3.2.4 Modelo Resoluble ............................................................................................................. 34
3.3 Caractersticas de un buen modelo de Programacin Matemtica ..................................... 35
3.3.1 Facilidad para entender el modelo .................................................................................... 35
3.3.2 Facilidad para detectar errores en el modelo ..................................................................... 35
3.3.3 Facilidad para encontrar la solucin .................................................................................. 35
4 MODELOS DE PROGRAMACIN LINEAL............................................................................. 37
4.1 Qu es la Programacin Lineal? ........................................................................................... 37
4.2 La importancia de la Linealidad. ........................................................................................... 37
4.3 Situaciones que pueden modelarse mediante Programacin Lineal. ................................. 37
4.4 Definicin de Objetivos ......................................................................................................... 38
4.4.1 Programacin Lineal y Programacin Multiobjetivo ........................................................... 38
4.5 Las restricciones ................................................................................................................... 40
4.5.1 Tipos bsicos de Restricciones ......................................................................................... 40
4.5.2 La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
modo de resolver. .............................................................................................................................. 40
4.6 Anlisis de resultados ........................................................................................................... 43
4.6.1 Interpretaciones econmicas ............................................................................................ 43
4.6.2 El Modelo Dual ................................................................................................................. 45
4.6.3 Anlisis de Sensibilidad .................................................................................................... 46
Modelos y Mtodos de Investigacin de Operaciones

Pgina 5 de 190
4.6.4 Modelos Estables ............................................................................................................. 46
5 LINEALIZANDO LO NO LINEAL ............................................................................................ 48
5.1 Objetivos no Lineales fcilmente linealizables .................................................................... 49
5.1.1 Objetivo Minimizar un valor absoluto. ............................................................................. 49
5.1.2 Objetivo Minimizar el Mximo o Maximizar el Mnimo ................................................... 50
5.1.3 Objetivos de Ratio ............................................................................................................ 50
5.1.4 Objetivos Maximizar el Mximo (o Minimizar el Mnimo) .................................................... 51
5.2 El uso de variables discretas para representar relaciones condicionales. ........................ 51
5.2.1 Funciones no continuas. ................................................................................................... 52
5.2.2 Relacin Lgica: 1
j j
j
a x b o = s

. ........................................................................... 52
5.2.3 Relacin Lgica 1
j j
j
a x b o < =

: ............................................................................ 52
5.2.4 Relacin Lgica 1
j j
j
a x b o s =

: ............................................................................ 53
5.2.5 Relacin Lgica 1
j j
j
a x b o = >

: .......................................................................... 53
5.2.6 Relacin Lgica 1
j j
j
a x b o > =

: .......................................................................... 54
5.2.7 Relacin Lgica 1
j j
j
a x b o > =

: .......................................................................... 54
5.3 Ms Relaciones Lgicas y su representacin. ..................................................................... 54
5.4 Conjuntos especiales de variables ordenadas .................................................................... 57
6 MODELOS DE PROGRAMACIN ENTERA ........................................................................... 60
6.1 Introduccin ........................................................................................................................... 60
6.2 Diferentes reas de aplicacin de la Programacin Entera ................................................. 60
6.2.1 Problemas con inputs (u outputs) discretos ....................................................................... 60
6.2.2 Problemas con condiciones lgicas .................................................................................. 60
6.2.3 Problemas de combinatoria .............................................................................................. 60
6.2.4 Problemas No-lineales ...................................................................................................... 61
6.3 Otras condiciones aplicadas a Modelos de Programacin Lineal ...................................... 61
6.3.1 Restricciones disyuntivas .................................................................................................. 61
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 6 de 190 JPGS2011
6.3.2 Regiones No-Convexas .................................................................................................... 62
6.3.3 Limitar el nmero de variables en una solucin ................................................................. 62
6.3.4 Decisiones Secuencialmente Dependientes ...................................................................... 62
6.3.5 Extensiones discretas de capacidad ................................................................................. 62
6.4 Tipos Especiales de Modelos de Programacin Entera ...................................................... 63
6.4.1 El problema de la mochila ................................................................................................. 63
6.4.2 Problemas de cubrimiento ................................................................................................ 63
6.4.3 Problemas de empaquetado ............................................................................................. 64
6.4.4 El Problema del viajante de comercio ............................................................................... 65
6.4.5 El problema de asignacin cuadrtica ............................................................................... 66
6.5 Buenas y malas formulaciones de un modelo de PE........................................................... 67
6.6 Simplificacin de un modelo de Programacin Entera ....................................................... 67
6.6.1 Ms Restricciones y Ms Ajustadas .................................................................................. 67
6.6.2 Simplificar una restriccin entera con otra restriccin ........................................................ 68
6.6.3 Restricciones discontinuas ................................................................................................ 69
6.7 Informacin econmica y sensibilidad en los modelos de PE ............................................ 69
7 PROGRAMACIN NO LINEAL ............................................................................................... 70
7.1 ptimos locales y globales ................................................................................................... 70
7.2 Programacin Separable ....................................................................................................... 71
7.3 Cmo convertir un modelo no separable en un modelo separable .................................... 73
8 PROGRAMACIN ESTOCSTICA ........................................................................................ 74
8.1 Introduccin ........................................................................................................................... 74
8.2 Formulacin de Problema Estocstico................................................................................. 74
9 PROCEDIMIENTOS DE RESOLUCIN DE MODELOS DE PROGRAMACIN MATEMTICA.76
9.1 Introduccin ........................................................................................................................... 76
9.2 Resolucin de problemas de programacin matemtica mediante el uso de paquetes ya
disponibles .......................................................................................................................................... 76
9.2.1 Algoritmos y paquetes ...................................................................................................... 76
Modelos y Mtodos de Investigacin de Operaciones

Pgina 7 de 190
9.2.2 El uso de la Hoja de Clculo Excel .................................................................................... 78
9.2.3 El uso de Lenguajes de Modelado .................................................................................... 80
9.3 El uso de paquetes para la resolucin de modelos de Programacin Lineal ..................... 80
9.3.2 Sistemas de Apoyo en la Decisin y Sistemas Expertos ................................................... 82
9.4 Procedimientos de Resolucin de Programacin Lineal ..................................................... 82
9.4.1 El algoritmo Simplex ......................................................................................................... 82
9.4.2 Los Mtodos del Punto Interior ......................................................................................... 83
9.5 Procedimientos de Resolucin en Programacin Lineal Entera ......................................... 83
9.5.1 Ramificacin y acotacin .................................................................................................. 83
9.5.2 Enumeracin implcita....................................................................................................... 86
9.5.3 Mtodos del plano cortante ............................................................................................... 87
9.6 Procedimientos de Resolucin en Programacin 0-1 .......................................................... 87
10 OPTIMIZACIN COMBINATORIA. INTRODUCCIN ............................................................. 88
10.1 Introduccin ....................................................................................................................... 88
10.2 Complejidad en la Optimizacin Combinatoria,. .............................................................. 90
10.2.1 Optimizacin Combinatoria............................................................................................ 90
10.2.2 Variaciones (con y sin) Repeticin, Combinaciones, Permutaciones. ............................. 90
10.2.3 P y NP .......................................................................................................................... 91
10.3 Algoritmos bsicos. ........................................................................................................... 92
10.4 Problemas de Optimizacin Combinatoria ....................................................................... 92
10.4.1 Segn su aplicacin. ..................................................................................................... 92
10.4.2 Segn su clasificacin formal. ....................................................................................... 94
10.4.3 Segn las soluciones que se buscan. ............................................................................ 94
10.5 Evaluacin de Procedimientos. ......................................................................................... 94
11 OPTIMIZACIN COMBINATORIA. LA BSQUEDA RPIDA DE SOLUCIONES ................... 95
11.1 Introduccin. ...................................................................................................................... 95
11.2 Procedimientos de Resolucin Aleatorios........................................................................ 96
11.2.1 Para qu sirven? ......................................................................................................... 96
11.2.2 Pueden funcionar? ...................................................................................................... 96
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 8 de 190 JPGS2011
11.2.3 Un procedimiento de generacin aleatoria de soluciones............................................... 98
11.3 Algoritmos Heursticos. ..................................................................................................... 98
11.3.1 Concepto de Heurstica ................................................................................................. 98
11.3.2 Procedimientos Constructivos ....................................................................................... 99
12 ALGORITMOS ENUMERATIVOS ......................................................................................... 101
12.1 Concepto de Algoritmo Enumerativo. ............................................................................. 101
12.2 Algoritmo de Enumeracin Completa ............................................................................. 101
12.3 Estructura de un algoritmo de exploracin completa basado en exploracin de nodos.102
12.3.1 Conceptos previos: Nodo ............................................................................................ 102
12.3.2 Estructura general de un procedimiento de exploracin completa basado en nodos. ... 103
12.3.3 Funciones de evaluacin ............................................................................................. 103
12.3.4 Seleccin del Nodo a explotar ..................................................................................... 104
12.3.5 Generacin de nodos (explosin) ................................................................................ 104
12.3.6 Eliminacin (o cierre) de Nodos. .................................................................................. 104
12.4 Otras tcnicas de Enumeracin basadas en la exploracin por nodos. ....................... 105
13 PROCEDIMIENTOS DE MEJORA LOCAL ........................................................................... 106
13.1 Vecindario ........................................................................................................................ 106
13.1.1 Intercambio de 2 elementos ........................................................................................ 106
13.1.2 2-opt ........................................................................................................................... 106
13.1.3 Insertar ....................................................................................................................... 106
13.2 Algoritmos de Mejora basados en Vecindario ................................................................ 107
13.2.1 Nomenclatura .............................................................................................................. 107
13.2.2 Mejora Iterativa Simple. Procedimiento ........................................................................ 107
13.2.3 Descenso Rpido. Procedimiento ................................................................................ 107
13.2.4 Mejora Iterativa Aleatorizada. Procedimiento ............................................................... 107
14 PROCEDIMIENTOS METAHEURSTICOS ........................................................................... 108
14.1 Procedimientos de poblacin .......................................................................................... 108
14.1.1 Algoritmos Genticos .................................................................................................. 109
14.1.2 Scatter Search y Algoritmos Memticos ...................................................................... 114
14.2 Metaheursticas de Bsqueda de Entornos .................................................................... 115
Modelos y Mtodos de Investigacin de Operaciones

Pgina 9 de 190
14.2.1 GRASP ....................................................................................................................... 115
14.2.2 ILS y VNS ................................................................................................................... 116
14.2.3 Recocido Simulado ..................................................................................................... 116
14.2.4 Tabu search. ............................................................................................................... 116
14.3 Metaheursticas basadas en el reconocimiento de patrones. ........................................ 117
14.3.1 Redes Neuronales ...................................................................................................... 117
14.3.2 Algoritmo de Colonia de Hormigas .............................................................................. 117
15 ALGUNOS EJERCICIOS DE PROGRAMACION MATEMTICA .......................................... 119
15.1 Cunto gana la Empresa? ............................................................................................. 119
15.2 Problema de Corte ........................................................................................................... 119
15.3 Centralita Telefnica ........................................................................................................ 120
15.4 Varios Turnos ................................................................................................................... 120
15.5 Plan de Produccin .......................................................................................................... 120
15.6 Localizacin ..................................................................................................................... 123
15.7 Vinos DON PEPN ....................................................................................................... 124
15.8 Plan de Produccin de Zapatillas .................................................................................... 130
15.9 Problema de Distribucin ................................................................................................ 131
15.10 Gestin de Stocks ........................................................................................................ 132
15.11 Equilibrado de Lneas ................................................................................................... 135
15.12 Jorge y Nuria................................................................................................................. 135
15.13 Operacin Brisca .......................................................................................................... 139
15.14 Carga de Aviones. ........................................................................................................ 142
16 ALGUNOS EJERCICIOS DE OPTIMIZACIN COMBINATORIA .......................................... 146
16.1 Problema del FlowShop de 3 mquinas. ......................................................................... 146
16.1.1 Descripcin del Problema ............................................................................................ 146
16.1.2 Definicin de la estructura de la solucin. .................................................................... 146
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 10 de 190 JPGS2011
16.1.3 Definicin del modo de evaluar la solucin. ................................................................. 146
16.1.4 Un procedimiento de generacin aleatoria de soluciones. ............................................ 146
16.1.5 Un procedimiento enumerativo de resolucin. ............................................................. 146
16.1.6 Un procedimiento heurstico ........................................................................................ 147
16.1.7 Un procedimiento de mejora local ............................................................................... 147
16.1.8 Un algoritmo gentico ................................................................................................. 148
16.2 Problema del viajante de comercio. ................................................................................ 148
16.2.1 Descripcin del Problema. ........................................................................................... 148
16.2.2 Definicin de la estructura de la solucin. .................................................................... 149
16.2.3 Definicin del modo de evaluar la solucin. ................................................................. 149
16.2.4 Un procedimiento de generacin aleatoria de soluciones. ............................................ 149
16.2.5 Un procedimiento enumerativo de resolucin. ............................................................. 149
16.2.6 Un procedimiento heurstico ........................................................................................ 149
16.2.7 Un procedimiento de mejora local ............................................................................... 150
16.2.8 Un algoritmo gentico ................................................................................................. 150
16.3 Problema de Secuenciacin JIT ...................................................................................... 151
16.3.1 Descripcin del Problema ............................................................................................ 151
16.3.2 Definicin de la estructura de la solucin. .................................................................... 151
16.3.3 Definicin del modo de evaluar la solucin. ................................................................. 151
16.3.4 Un procedimiento de generacin aleatoria de soluciones. ............................................ 151
16.3.5 Un procedimiento enumerativo de resolucin. ............................................................. 152
16.3.6 Un procedimiento heurstico ........................................................................................ 152
16.3.7 Un procedimiento de mejora local................................................................................ 153
16.3.8 Un algoritmo gentico ................................................................................................. 153
16.4 Corte de Piezas rectangulares. ........................................................................................ 154
16.5 Quinielas........................................................................................................................... 156
16.6 SUDOKU ........................................................................................................................... 160
16.7 Secuenciando en la Lnea de Montaje ............................................................................. 162
17 CASOS ................................................................................................................................. 167
17.1 Asignacin de Fechas y Aulas para Exmenes. ............................................................. 167
17.2 La Ruta de Llanes ............................................................................................................ 167
17.3 Sistema Elctrico ............................................................................................................. 169
Modelos y Mtodos de Investigacin de Operaciones

Pgina 11 de 190
17.4 Optimizacin en la Refinera ............................................................................................ 172
17.5 Red de Metro de Valencia ................................................................................................ 175
17.6 Rutas de Distribucin ...................................................................................................... 176
17.7 Fabricacin de Zapatillas ................................................................................................. 177
17.8 Las Farmacias de Alcudia, Benimodo y Carlet ............................................................... 179
17.9 Planificacin Agregada en una Planta de Motores. ........................................................ 181
17.10 REFRESCOS EN FONT DEL RAFOL ............................................................................ 183
17.11 Central Pendiente Dominicana. .................................................................................... 184
18 BIBLIOGRAFA..................................................................................................................... 189

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 12 de 190 JPGS2011
1 MODELOS
1.1 Qu es un Modelo?
Se atribuye a Ackoff una de las definiciones ms simples de modelo:
Un modelo es una representacin de la realidad
Esta definicin es llamativa por su simplicidad pero no aclara el porqu de los modelos.
Pidd (1996) propone la siguiente definicin mucho ms completa:
Un modelo es una representacin explcita y externa de parte de la realidad
como la ven las personas que desean usar el modelo para entender, cambiar,
gestionar y controlar dicha parte de la realidad
De esta definicin se pueden extraer muchas reflexiones interesantes sobre los Modelos y su uso en
Investigacin de Operaciones. Los modelos son representaciones (no son la realidad).
Desgraciadamente el ser humano tiende a confundir el modelo con la realidad, en un proceso de
metonimia o sincdoque. As el hombre crea modelos y tergiversa la realidad hasta que esta se adapta.
Los modelos son explcitos se construyen manejan y modifican como tales. Y deben ser modelos
explcitamente no se pretende hacer creer que los modelos son la realidad.
Los modelos son externos, una teora mental no es modelo hasta que no tiene una representacin
externa respecto del modelador. En esa presentacin externa radica una de las grandes ventajas de los
modelos: ponen negro sobre blanco, los pensamientos, los datos, las hiptesis y las intuiciones. En
ocasiones este esfuerzo es ms que suficiente para reconocer que no hay tal modelo sino un conjunto de
prejuicios.
Los modelos representan parte de la realidad. Afortunadamente la realidad es siempre ms compleja
que cualquier modelo por sofisticado que este sea. El modelador discrimina que aspectos son relevantes
y cuales no, en funcin del objetivo que pretende alcanzar.
Los modelos los realizan los modeladores. Son su esfuerzo y son su resultado. En muchas ocasiones,
al construir modelos, el modelador ha de atender comentarios que le obligan a incorporar este u otro
aspecto de la realidad. Entonces el modelador es otro. Si a un pintor le dijeran el color con el que ha de
pintar una puesta de sol, no sera su puesta de sol sino la del observador impertinente. En este caso la
realidad representada se limita a ser la que quiere ver, manejar controlar o cambiar el que dirige el
modelo. En muchas ocasiones una empresa solicita un modelo a un consultor externo para poderlo
utilizar internamente. Es uno de los caminos ms adecuados para que el modelo no se pueda utilizar,
pues siempre habr matices que podran haber sido representados de otra manera.
Los modelos, al representar externa y explcitamente parte de la realidad, permiten fundamentalmente
entender. Una etapa bastante habitual en el ciclo de vida de un modelo exige, tras uno (o varios) intentos
de modelado, cambiar de herramienta de modelado, puesto que el mejor entendimiento del problema
provoca cambios radicales en la percepcin de la realidad.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 13 de 190
La inteligencia de la realidad a travs del modelo, permitir asesorar sobre la oportunidad de cambios
en la realidad modelada. Dichos cambios sern ms adecuados cuantos ms aspectos de la realidad se
hayan podido modelar.
La gestin de la realidad a travs de los modelos es una herramienta de continua, pero no percibida,
aplicacin de los modelos. La gestin financiera de una empresa es uno de los modos ms extendidos
de uso de un modelo (la contabilidad) sin una percepcin clara del modelo utilizado. Pero tambin el uso
de las tcnicas MRP en la gestin de materiales responden a la implementacin informtica de modelos
en funcin de los cuales se toman decisiones. Incluso la implementacin informtica es en ocasiones
inadecuada porque no se conoca suficientemente bien la realidad (o lo que es peor, el modelo).
Por ltimo el modelo, al anticipar resultados permite establecer referencias en funcin de las cuales
medir o controlar el rendimiento de un sistema.
1.2 Para qu sirve un modelo?
En atencin a lo anterior se pueden definir tres mbitos de utilidad de los modelos en la Investigacin
de Operaciones:
- Aprender / Entender
- Implementar en un ordenador
- Tomar decisiones
1.2.1 Aprender / Entender.
En primer lugar hay que destacar que la experiencia demuestra que el principal beneficio en la
generacin de un modelo es el entendimiento que el modelador adquiere del comportamiento de la
realidad. Puede ocurrir, y de hecho ocurre con frecuencia, que una vez finalizado el modelo, los
objetivos perseguidos inicialmente se hayan alcanzado sin hacer ningn tipo de experimento.
Modelar como proceso puede tener ms valor que el modelo en s mismo
Es habitual que para desarrollar un modelo se tenga que acceder a informacin a la que nunca se le
habra prestado atencin. Asimismo es comn que la generacin de modelo haga aparecer datos reales
y contradictorios entre diferentes elementos de la realidad.
Una vez construido el modelo, se puede utilizar su ejecucin para conocer como el sistema acta y
reacciona. Es, por ejemplo, el caso de los simuladores de vuelo utilizados para el entrenamiento de los
futuros pilotos.
Adems el modelo, como representacin externa y explcita, puede permitirnos conocer errores y
fundamentalmente mostrarlos. De tal modo que el responsable del error pueda reconocer sus
equivocaciones sin que nadie tenga que decrselo a la cara (lo dice el ordenador)
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 14 de 190 JPGS2011
Por ltimo, dentro de este epgrafe, podemos destacar la utilidad de los modelos como base de
discusin. Si el modelo representa la realidad, los gestores de sta podrn probar las ventajas de sus
opiniones sobre el modelo, centrando de este modo la discusin hacia aspectos realizables y rentables.
1.2.2 Implementar en un ordenador.
La automatizacin de procesos exige el modelado previo. Si se desea gestionar la informacin que
genera una empresa, o implementar un sistema de gestin de recursos humanos es necesario realizar
un modelo de dicha empresa que comprenda de la manera ms eficiente posible toda la informacin
vinculada. Cuanto ms general sea el modelo, mayor ser la cantidad de empresas a las que se las
podr aplicar el mismo software.
Del mismo modo la utilidad de los modelos de Programacin de Produccin viene justificada, en gran
medida, es la capacidad de stos de ser implementados y resueltos mediante sistemas informticos que
puedan automatizar el proceso de toma de decisin.
1.2.3 Toma de decisiones.
Los modelos construidos permiten mediante su resolucin ayudar a la toma de decisiones generando
soluciones ptimas dado un objetivo establecido.
Asimismo pueden ser utilizados para evaluar el impacto de tomar decisiones, antes de tomarlos, y de
este modo elegir la que ms se ajuste a la solucin.
1.3 El Problema, el Cliente y el Concepto de Solucin.
En general el cliente no conoce suficientemente bien su problema. Si lo conociera no nos solicitara
ayuda para resolverlo.
El cliente tiene una nebulosa sobre un problema que nosotros ayudamos a precipitar con la
construccin del problema. Es por ello que muchos problemas de organizacin industrial no se
resuelven sino que se disuelven.
A partir de la descripcin del problema, generamos informacin que podr ser capturada en forma de
datos, dichos datos son analizables de tal modo que generan unos datos conocidos como variables de
salida. Esos datos por lo general son intiles salvo que se transformen en informacin, y slo sta ltima
puede ayudar a resolver el problema.

Dat os
I nf ormacin
Problema
Solucin
I nformacin
Dat os
Procedi-
mient o
Procedi -
mient o
I nformacin
Probl ema
Solucin
Modelos y Mtodos de Investigacin de Operaciones

Pgina 15 de 190
As pues existen tres significados para la palabra solucin en nuestro entorno. Una solucin es un
conjunto de variables que han adquirido un determinado valor. Una solucin es tambin el programa que
generar informacin a partir de los datos disponibles (generalmente se le denomina solucin
informtica) Y por ltimo est lo que el cliente considera que es la solucin a su problema, que
bsicamente se da cuando el problema desaparece.
1.4 Ciclo de Vida de la construccin de Modelos
No existe un mtodo para construir un modelo perfecto de modo directo. En cualquier caso se puede
decir que en la definicin de cualquier modelo hay tres etapas o hitos bsicos que se concretan en:
1. Definir el Problema. Esta fase incluye entender el problema y acordar con el cliente los
resultados a obtener.
2. Modelar y Construir la Solucin. Esta fase incluye definir el tipo de tcnica a utilizar, generar
el modelo (implementarlo informticamente si es el caso) y por ltimo validarlo.
3. Utilizar la Solucin. Un modelo perfecto que no se utilice es un modelo perfectamente intil.
Ser capaz de implementar el modelo de tal manera que el cliente lo utilice, y mantener
un concreto sistema de actualizacin son los dos elementos bsicos de esta fase.
Cualquiera de las etapas citadas exige replantearse siempre la vuelta al principio del proceso. La
mejor comprensin de la realidad puede llevar (lleva) a cambiar el tipo (o tipos) de tcnica a utilizar para
alcanzar el objetivo propuesto.
1.4.1 Definir el Problema
1. Entender el problema: Hay que estructurar el problema para entenderlo. Cualquier
herramienta es buena. En ocasiones con esta etapa el problema a resolver queda
resuelto. Y en general tambin ocurre que el primer problema planteado no era el
problema real.
2. Acordar con el cliente los resultados a obtener. No significa necesariamente que el cliente
deba definir el resultado concreto del trabajo. Pero es interesante conocer si pretende
una respuesta del tipo s o no o una hoja Excel.
1.4.2 Modelar y Construir la Solucin
3. Definir el tipo de tcnica: La decisin del tipo de tcnica que mejor se ajusta al problema
puede ser revocada en cualquier instante, pero da por perdido todo el trabajo anterior.
Esto incluye el anlisis de datos disponibles y resultados requeridos.
4. Generar el modelo: Esta etapa incluye estimar los parmetros para modelar o calcular
resultados, adems de dar forma fsica al modelo. En este punto es de destacar la
aplicacin del principio Ir paso a paso. Que implica abordar escalonadamente los
diferentes aspectos de la realidad que se pretenden modelar.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 16 de 190 JPGS2011
5. Validar el modelo: Decidir si el modelo vale para algo, si se puede usar y si el cliente lo
encontrar aceptable. Fundamentalmente esta fase exige comprobar que se comporta
como se pretenda que se comportara.
1.4.3 Utilizar la Solucin.
6. Implementar el modelo: Trabajar con el cliente para poder extraer los mximos beneficios
del trabajo realizado.
7. Actualizar el modelo: Es evidente que si la realidad es cambiante el modelo debe adaptarse
a las nuevas circunstancias de manera continua si se pretende que siga teniendo
utilidad.
1.5 Generacin de Soluciones Informticas para la resolucin de Problemas que se abordan
mediante mtodos matemtico.
A continuacin se ofrece una estructura til para ayudar a plantear herramientas que resuelven
problemas reales de clientes reales.
1) Anl isi s del Pr obl ema. En gener al el cl i ent e no es capaz de def i ni r su pr obl ema.
2) Preproceso de Datos. Analizar los datos disponibles nos permite tener una visin detallada
del problema. En general, si los datos no han sido previamente utilizados sern
probablemente errneos.
3) Generar resultados a mano. Si somos capaces de entender el problema seguro que somos
capaces de generar una hoja de clculo donde representar una posible solucin, calculada a
mano.
a. Definir la Estructura de la Solucin
b. Disear e implementar un Representador de una Solucin
c. Diseo del Mtodo de Evaluacin de Resultados (definir cmo se va a presentar que
un resultado es mejor que otro)
d. Implementar un Evaluador de Solucin
4) Comprobar que los resultados son inteligibles por parte del cliente. Y que lo que creemos que
es peor es realmente peor.
5) Generar un modelo de programacin matemtica (preferiblemente lineal).
6) Seleccin de la Herramienta o Tecnologa de resolucin adecuada.
7) Definir el Procedimiento de Resolucin
8) Diseo de Procedimientos de Resolucin para clientes no-expertos.
a. Diseo de Estructura de Datos de Entrada
Modelos y Mtodos de Investigacin de Operaciones

Pgina 17 de 190
b. Definir los Procedimientos de Lectura de Datos
Desde base de datos
Desde ficheros de texto
Desde pantalla
c. Generar Algoritmos para generar soluciones
Generacin aleatoria de Soluciones
Heursticas Voraces
Diseo de Mtodos de Enumeracin
Diseo de Metaheursticas
1.6 Algunos principios para tener xito en el modelado
Aunque como se ver posteriormente existen mltiples tipos de modelos (y por tanto de procesos de
modelado) se pueden extraer algunos principios generales tiles en cualquier caso:
- Los Modelos han de ser simples, su anlisis debe ser complejo
- Ir paso a paso
- Usar metforas, analogas y similitudes.
- Los datos disponibles no deben conformar el modelo.
- Modelar es explorar.
1.6.1 Los Modelos han de ser simples, su anlisis debe ser complejo.
Al modelar se puede tener la tendencia de trasladar toda la complejidad de la realidad al modelo.
Esto, aunque suele agradar al que mira el modelo, no es til para quien lo debe utilizar por dos
motivos: un modelo de este tipo es difcil de construir y tambin es difcil de utilizar.
Antes de comenzar el proceso de modelado se debera responder a la pregunta: para qu quiero el
modelo? de un modo concreto. De este modo se puede garantizar que para hacer un simulador de
coches, no se pierde tiempo modelando el funcionamiento del turbo cuando lo que se pretende es hacer
una herramienta para comprender el funcionamiento del volante.
1.6.2 Ir paso a paso.
Es habitual observar que se pretende construir un modelo considerando todos los aspectos
simultneamente. La ciencia avanza paso a paso, los modelos, si pretenden estar dentro de ella,
tambin.
Metafricamente hablando intentar construir un modelo completo desde el principio, puede llevar a
que, al intentar dibujar las hojas en los rboles, se olvide que el objeto a pintar era el bosque.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 18 de 190 JPGS2011
Un corolario de este principio exige Dividir para Vencer. Empezar generando pequeos modelos de
una parte reducida y determinada del proceso para aumentar la capacidad.
As pues la estrategia recomendable es evitar tener todos los aspectos en cuenta desde el principio.
El proceso de modelado puede comenzar aislando una pequea parte y realizando un modelo detallado,
que permita su reproduccin en otras secciones. Tambin se puede realizar al principio un modelo muy
general, e ir mejorando etapa a etapa la exactitud del mismo.
1.6.3 Usar al mximo metforas, analogas y similitudes
Ms que quedar restringido por la realidad tal y como se percibe a primera vista, es interesante
abordarla, e incluso modelarla desde otros puntos de vista.
El punto anterior se pretenden ilustrar con este ejemplo: Si al hacer un modelo de secuenciacin para
lneas de montaje en sistemas Justo-a-Tiempo se cae en la cuenta de que el problema matemtico es
bsicamente el problema de repartir escaos de una manera proporcional, se habr conseguido resolver
un problema actual (secuenciacin JIT) con herramientas desarrolladas desde el siglo XVIII. Todas las
propiedades analizadas para el segundo problema, pueden ser adaptadas para el primero ms nuevo.
Adems, el abandonar de modo explcito la realidad puede simplificar el problema o representarlo de
un modo ms sencillo. Cualquier plano de metro de cualquier ciudad no representa cada lnea y cada
estacin tal cual es sino que une mediante lneas, los puntos, que representan estaciones, que en casi
ningn caso pueden superponerse sobre un plano detallado y proporcional de la ciudad. La
representacin exacta de la realidad incrementara la dificultad en la lectura de dichos planos.
1.6.4 Los datos disponibles no deben conformar el modelo.
Un fallo comn a la hora de plantear un modelo es retrasar el comienzo del modelado hasta que se
disponga de los datos. El planteamiento debe ser el contrario, el modelo debe requerir datos, no los
datos conformar el modelo.
El analista debe desarrollar las lneas bsicas sobre el modelo y una vez hecho esto, debiera
definirse la estructura de datos necesarios. Si hubiera tiempo lo lgico sera que a la luz de estos
resultados preliminares se redefiniera el modelo y por tanto los datos necesarios, y as sucesivamente.
Se pueden distinguir tres conjuntos bsicos de datos necesarios para crear y validar un modelo:
- Datos que aportan informacin preliminar y contextual. Permitirn generar el modelo.
- Datos que se recogen para definir el modelo. Estos datos nos permitirn
parametrizar el modelo.
- Datos que permiten evaluar la bondad del modelo.
Hay que destacar la importancia de que los datos del segundo y el tercer tipo sean distintos, porque
en caso contrario el modelo no se habr realmente validado.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 19 de 190
Una ltima recomendacin respecto a los datos es evitar aquellos que ya estn recogidos. Un
ejemplo lo ilustrar claramente: Para desarrollar un modelo para la programacin de produccin puede
ser necesario desarrollar submodelos de demandas de los clientes para los productos fabricados. La
mayor parte de las empresas guardan esta informacin en sistemas informticos que se usan para
introducir rdenes y enviar facturas.
El modo obvio de recoger la informacin de la demanda es acudir a estos sistemas, sin embargo hay
diferentes motivos por los que esto no se debe hacer as, por ejemplo: los sistemas slo recogen lo que
se vende, no lo que el cliente quiere. Por tanto muchas veces refleja lo que hay en stock, pues se obliga
al cliente a comprar lo que existe.
1.6.5 Principio Subyacente: Modelar es Explorar
Dado que un modelo es el resultado de intentar representar parte de la realidad para tomar
decisiones, implementar o entender, se podra pensar que el proceso de modelar es un proceso lineal.
Sin embargo, la experiencia muestra que en el proceso de modelar hay muchas vueltas atrs,
cambios de direccin o cambios de perspectiva, incluso es bastante habitual que haya cambios de
herramientas.
Modelar es explorar la realidad. Y en especial la realidad desconocida. Por ellos siempre aplica el
siguiente corolario de la ley de Murphy: Si se consigue que el modelo funcione a la primera, es que se
ha errado el problema.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 20 de 190 JPGS2011
2 TIPOS DE MODELOS. LOS MODELOS DE PROGRAMACIN MATEMTICA.
2.1 Clasificacin de modelos segn el efecto de su resolucin
Shapiro(2001) clasifica los modelos segn el efecto de su resultado en Normativos o Descriptivos.
Son normativos los modelos matemticos (a su vez estos se pueden clasificar en modelos de
optimizacin y modelos de resolucin mediante heursticas).
Los modelos descriptivos que engloban al resto (Previsin, Data Mining, Simulacin, Dinmica de
Sistemas,).
2.1.1 Modelos Normativos
Los modelos normativos exigen el planteamiento de un modelo matemtico (funcin objetivo y
restricciones). Los modelos cuya estructura se ajusta a algunos de los patrones clsicos para los que es
factible la optimizacin (programacin lineal por ejemplo) forman el subconjunto de modelos de
optimizacin.
En ocasiones la estructura del modelo impide el uso de algn mtodo de optimizacin conocido, es
por ello que se plantean los procedimientos heursticos de resolucin que, si bien no garantizan ptimos,
permiten encontrar soluciones en espacios cortos de tiempo.
Es evidente que el trabajo en el primer caso se debe centrar en el proceso de modelado, mientras
que en el segundo grupo el esfuerzo se hace en la definicin del mtodo heurstico de resolucin.
En estos apuntes se despliega uno de los tipos de modelos normativos, la Programacin Matemtica.
La Programacin Matemtica no es el nico modo de modelar matemticamente, ni el nico modo
normativo de hacerlo. Por ello en los puntos siguientes se har una presentacin de algunos de estos
modos.
2.1.2 Modelos Descriptivos.
Los modelos descriptivos abarcan todas aquellas tcnicas de modelado que no comportan la
definicin de estructuras matemticas que definen una solucin como la deseable para ser
implementada.
Entre los modelos descriptivos se pueden citar los modelos de simulacin, la teora de colas e incluso
las tcnicas de previsin entre otras. Algunos de los modelos descriptivos llevan aparejada una carga
matemtica importante, mientras que otros no necesariamente su estructura es de tipo matemtico.
Aunque ello no les quita ni un pice de formalidad. Por poner un ejemplo los modelos IDEF-0 son
altamente formales y estndar, y aunque tienen aspecto de grafo no necesariamente debieran ser
incluidos entre los que se denominan Modelos Matemticos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 21 de 190
2.2 Modelos Matemticos
Los modelos matemticos son modelos formales que utilizan el lenguaje de las matemticas para
describir un sistema, expresando parmetros, variables, relaciones. El lenguaje matemtico no se limita
a la expresin de nmeros y operadores aritmticos que los relacionan. As por ejemplo la teora de
grafos, ampliamente utilizada en aplicaciones prcticas, es un subconjunto de la ms general teora de
conjuntos.
Los modelos matemticos se pueden clasificar de mltiples maneras. A continuacin se describen
algunas que se consideran relevantes.
Los modelos pueden ser lineales o no lineales. Si todos los operadores de un modelo son lineales el
modelo es lineal, si al menos uno es no lineal el modelo es no-lineal. Aunque hay excepciones los
modelos lineales son mucho ms difciles de manejar que los modelos no lineales. En general los
modelos no lineales pueden ser linealizados, pero entonces, es posible, que se estn perdiendo
aspectos relevantes del problema.
Los modelos pueden ser determinista o estocstico. Un modelo determinista es aquel en que cada
conjunto de variables en un estado est definido por los parmetros del modelo y por los estados
anteriores. Un modelo determinista se comporta siempre igual para un conjunto de parmetros de
entrada. En un modelo estocstico las variables de estado se representan por distribuciones de
probabilidad, y por tanto el modelo es capaz de recoger aleatoriedad o incertidumbre.
Los modelos pueden ser estticos o dinmicos. Un modelo esttico no tiene en cuenta el tiempo,
mientras que los modelos dinmicos s. Los modelos dinmicos se suelen representar con ecuaciones
en diferencias o ecuaciones diferenciales.

2.3 Modelos de Programacin Matemtica
La caracterstica comn que comparten todos los modos de modelar matemticamente es que
representan la realidad mediante variables y parmetros (y algunos otros artificios como funciones o
conjuntos). De este modo la realidad queda cuantificada. Entre ellos estn la Programacin Dinmica o
la Teora de Grafos.
Los modelos de Programacin Matemtica se distinguen por que representan la realidad mediante
funciones. Estas son combinacin de variables y parmetros en forma de restricciones y/o funciones
objetivo. En general, las restricciones se deben respetar y las funciones objetivo optimizar.
Este tipo de modelos matemticos pertenecen al grupo de los modelos normativos (qu indican el
camino a seguir) frente a la categora de los descriptivos (que describen la situacin actual o futura).

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 22 de 190 JPGS2011
2.3.1 Por qu se llama Programacin Matemtica?
Tres nombres de tres cientficos ilustres van asociados al origen del extrao nombre de
Programacin Matemtica: Koopmans, Dantzig y Kantorovich
1
.
Los tres parecen haber diseado mtodos de Planificacin y Programacin de Operaciones
(produccin y transporte) utilizando modelos matemticos.
Se podra decir pues que se lo que se conoce como Programacin Matemtica fue originariamente
un modo de resolver problemas de Programacin mediante mtodos matemticos.

1
Al finalizar el primer tercio del siglo XX, Kantorovich, premio Nobel de Economa en 1975, se enfrenta al problema de
planificacin desde una ptica de Optimizacin Matemtica. Kantorovich, que viva en la Unin Sovitica enfoca cmo combinar la
capacidad productiva de una fbrica para maximizar la produccin. Para ello utiliza un mtodo de anlisis que posteriormente se
llam Programacin Lineal. Aunque entonces no tena nombre.
En el ao 1951 Koopmans (que fue premiado junto con Kantorovich con el Nobel) edita un libro de ttulo "Activity Analysis of
Production and Allocation", (Wiley, New York (1951) ). Dicho libro recoge trabajos que sus autores dicen que son ampliaciones o
reduccin de trabajos publicados entre 1947 y 1949.
En el libro que l edita, Koopmans, escribe dos captulos relevantes. El captulo III "Analysis of production as an efficient
combination of activities" donde expone un "problema de produccin" de manera matemtica, y el captulo XIV de ttulo "A model
of transportation" donde plante el problema de "programar el transporte de barcos" tambin desde una ptica de optimizacin
matemtica. Unos aos antes haba planteado el problema pero de modo terico segn l mismo indica.
De hecho en los artculos indica que estaba influenciado por una corta entrevista que tuvo con Dantzig. El propio Dantzig
escribe el captulo II del citado libro de ttulo: "The programming of interdependent activities: Mathematical Model" que indica que
es una revisin de un artculo de 1949. En ese captulo se distingue la palabra programming que hace referencia a la
programacin y Mathematical que hace referencia al modelo. Dantzig se concentra en los modelos donde las relaciones son
lineales pues tienen unas propiedades interesantes, entre otras que no hay ptimos locales, y de repente en la pgina 30 los
problemas de programacin con modelos lineales se convierten en "problemas de programacin lineal. Aparentemente el nombre
de Programacin Lineal fue sugerido por Koopmans en 1948 en una reunin que tuvieron Koopmans y Dantzig en RAND
Corporation.
La nota de entrada del captulo nos recuerda que est "republicando un trabajo de 1949". Porque ya en 1947 Dantzig haba
diseado el algoritmo del Simplex, que es un procedimiento eficaz de resolucin del problema de programacin lineal.
Segn una historia paralela, el trmino programacin lineal habra surgido porque "programacin" era a lo que se dedicaba el
departamento en la USAF para el que trabajaba Dantzig. El propio Dantzig , sugiere que inicialmente su mtodo se utiliz para
calcular las dietas ptimas.
Y Kantorovich? En su autobiografa para el Premio Nobel, Kantorovich escribe: "In 1939, the Leningrad University Press
printed my booklet called The Mathematical Method of Production Planning and Organization which was devoted to the formulation
of the basic economic problems, their mathematical form, a sketch of the solution method, and the first discussion of its economic
sense. In essence, it contained the main ideas of the theories and algorithms of linear programming. The work remained unknown
for many years to Western scholars. Later, Tjalling Koopmans, George Dantzing, et al, found these results and, moreover, in their
own way. But their contributions remained unknown to me until the middle of the 50s."

Modelos y Mtodos de Investigacin de Operaciones

Pgina 23 de 190
Los modelos de programacin cuyas variables tenan relaciones lineales, tenan la interesante
propiedad de no tener ptimos locales por lo que la Programacin Lineal se convirti pronto en un
lugar comn de encuentro de modeladores y solucionadores.
2.3.2 Una clasificacin de Modelos de Programacin Matemtica.
Una clasificacin de los modelos de programacin matemtica podra tener en cuenta las siguientes
caractersticas:
- Estructura objetivos y restricciones (lineal o no lineal)
- Caractersticas de las Variables (Reales, Discretas -Enteras-, Binarias)
- Certidumbre de los Parmetros (Ciertos e Inciertos)
- Nmero de Objetivos (Ninguno, Uno o ms de Uno)
- Nmero de Restricciones (Ninguna, Ms de Cero)
El objeto de esta descripcin no es establecer una perfecta clasificacin de todos los modelos de
programacin matemtica. En realidad se pretende fijar un marco que sirva de referencia en el contexto
de estos apuntes.
2.3.2.1 Programacin Lineal
Entre los tipos de modelos de uso ms generalizado en Programacin Matemtica se encuentra la
denominada Programacin Lineal. sta, en su forma ms bsica, consiste en un conjunto de variables
reales, que mediante combinacin lineal de parmetros ciertos, permite establecer un objetivo y
restricciones lineales.
Los fundamentos matemticos de los modelos lineales se encuentran en la teora de las
desigualdades lineales desarrollada en el siglo XIX como se puede leer en (Poler 2001). Aunque se
encuentran precedentes en distintos campos (teora de juegos, definicin de dietas, problemas de
transporte...) la formulacin y resolucin general de los problemas de Programacin Lineal fue realizada
en el proyecto SCOOP, lanzado en 1947 por el ejrcito del aire de los Estados Unidos de Norteamrica,
dando lugar al algoritmo denominado Simplex expuesto inicialmente por Dantzig en 1947. En menos de
10 aos la Programacin Lineal experimento un fuerte desarrollo con trabajos que abordaron, entre
otros temas, la degeneracin, la dualidad y las formas compactas.
Actualmente es posible encontrar en el mercado, incluyendo aplicaciones gratuitas en internet,
aplicaciones comerciales para la resolucin eficiente de problemas de Programacin Lineal (CPLEX,
XPRESS, LINDO, QSB...), siendo un avance significativo de los ltimos aos el desarrollo de paquetes
que facilitan la introduccin del modelo y la integracin de ste con los Sistemas de Informacin de la
empresa.
La mayor parte de estos paquetes utilizan (o han utilizado) el denominado mtodo Simplex. Dicho
mtodo, aunque computacionalmente ineficiente, tiene la ventaja docente de ser metdico y que permite
explicar, mediante el propio mtodo, algunos conceptos como precios-sombra o costes reducidos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 24 de 190 JPGS2011
Hasta finales de la dcada de los 80 del siglo XX no surgen como alternativa vlida los denominados
mtodos del punto interior. El menor coste computacional de este tipo de algoritmos hace que su
implantacin en los paquetes comerciales sea creciente.
Por ltimo parece necesario destacar que aunque para el observador no experimentado la exigencia
de linealidad puede parecer excesivamente restrictiva, la realidad es que un gran nmero de problemas
reales puedan ser modelados con esa consideracin (Williams, 1999). La ventaja de los Programacin
Lineal frente a la Programacin No-Lineal es que para esta no se conocen modelos generales de
resolucin eficientes. Curiosamente el trabajo que se desarrolla en resolucin de Programacin No-
Lineal est colaborando en mejorar la eficiencia de la Programacin Lineal.
2.3.2.2 Programacin Lineal Entera
Si a alguna de las variables de un problema lineal se le impone la condicin de integridad el problema
pasa a ser de Programacin Lineal Entera (Mixta si todas no son variables enteras). La condicin de
integridad puede venir impuesta, entre otros motivos, por el imposible fraccionamiento de determinados
recursos. Uno de los procedimientos ms efectivos para la resolucin de este tipo de problemas se
fundamenta en el concepto de ramificacin y cota. Desgraciadamente aunque la lgica de este
procedimiento es eficaz, conduciendo necesariamente al ptimo, el coste computacional en algunos
problemas es, an hoy en da, excesivo. Otro procedimiento para la resolucin de estos problemas se
basa en los mtodos de planos cortantes, aunque este mtodo levant grandes expectativas por ahora
no han fructificado de modo eficiente.
Una variante especial de los problemas de Programacin Lineal Entera lo constituyen aquellos
donde algunas variables son bivalentes. El uso de este tipo de variables tiene su origen en la
representacin de aquellas decisiones que slo admiten dos valores, pero tambin aquellos problemas
que exigen restricciones de tipo lgico. La pretensin de resolver estos problemas de modo eficiente ha
dado lugar a mtodos como el de enumeracin implcita o tcnicas ms generales de enumeracin
como las descritas en (Kauffmann y Henry-Labordere, 1976).
Hay que destacar la existencia de algunos tipos especiales de problemas con variables bivalentes,
que se abordan mediante mtodos especficos de resolucin, ptimos en algunos casos y ms eficientes
por haber sido desarrollados ex profeso. Algunos de estos problemas son los de cubrimiento,
asignacin, particin, mochila y rutas. (Williams, 1999)
2.3.2.3 Programacin Estocstica
Si a los problemas de Programacin Matemtica (en general) se les incorpora la incertidumbre en los
parmetros, esta incertidumbre se puede abordar mediante la denominada Programacin Estocstica.
Una variante de la misma especialmente interesante es la Programacin Lineal Estocstica, que puede
ser resuelta de modo ptimo, aunque con un coste computacional elevado.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 25 de 190
Uno de los mecanismos para abordar la incertidumbre en los datos es el uso de los denominados
escenarios. Estos constituyen un posible conjunto de valores para los parmetros. Cada uno de estos
escenarios pueden tener una probabilidad asociada aunque no necesariamente. (Dembo, 1991).
Existen diferentes modos de formular mediante un problema de Programacin Lineal un Problema
Estocstico aunque bsicamente consiste en obtener una decisin para el instante actual teniendo en
cuenta los escenarios futuros. De este modo la decisin a tomar no ser ptima, en general, para
ninguno de los escenarios aunque s para el conjunto de ellos. Este modo de plantear y resolver el
problema tiene un elevado coste computacional pero se puede abordado mediante descomposiciones y
computacin en paralelo con ndice de paralelizacin elevado.
Otro modo de abordar la estocasticidad en los parmetros es obtener el ptimo para cada escenario
y comparar el valor que esta decisin tendra para el resto de escenarios, eligiendo como decisin
definitiva la ms buena, o la menos mala o cualquier otro mecanismo que se considere oportuno.
2.3.2.4 Programacin No-Lineal
Si a los modelos de Programacin Lineal se les elimina el requerimiento de que la funcin objetivo o
las restricciones sean lineales, se obtienen modelos de Programacin No-Lineal. La eliminacin del
requerimiento de linealidad se suele fundamentar en la estructura no lineal del objeto, o parte de l, a
modelar. Sin embargo muchas de las circunstancias aparentemente no lineales pueden ser linealizadas
sin prdida de su significado.
El motivo de la aparente obsesin por la linealidad se basa, fundamentalmente, en la falta de eficacia
en la obtencin de ptimos mediante el uso de los procedimientos actualmente existentes para la
resolucin de problemas no-lineales en general.
Es conocido que uno de los principales avances en la resolucin de estos problemas es el conocido
teorema de optimalidad de Kuhn y Tucker que establece las condiciones necesarias de optimalidad en
problemas restringidos, aunque no cmo llegar a ellas.
Una variante de la programacin No-Lineal la constituyen aquellos problemas sin restricciones, para
los que el clculo del ptimo tiene su origen en el desarrollo del clculo matemtico del siglo XVIII.
En general se puede admitir que la resolucin de grandes problemas de optimizacin en
programacin No-Lineal an hoy no es eficiente. Sin embargo el esfuerzo realizado no es infructuoso,
por poner un ejemplo los algoritmos del punto interior fueron desarrollados a partir de conceptos No-
Lineales y se han revelado eficientes en los problemas de Programacin Lineal.
2.3.3 Los Componentes de un Modelo Matemtico
Los modelos matemticos tienen dos componentes bsicos:
- Datos: Valores conocidos y constantes.
- Variables: Valores que se calculan.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 26 de 190 JPGS2011
Mediante la combinacin lineal de los mismos se generan:
- Funcin Objetivo que debe minimizarse o maximizarse
- Restricciones que establece lmites al espacio de soluciones.
Tanto la funcin objetivo como las restricciones se expresan matemticamente mediante el uso de
variables o incgnitas. Se pretende definir unos valores a dichas variables de tal modo que se obtiene la
mejor valoracin de la funcin objetivo mientras se cumplen todas las restricciones.

En su formulacin bsica los modelos matemticos tienen una funcin objetivo y una o ms
restricciones. Sin embargo existen excepciones como:
- Mltiples Objetivos
- Objetivos No existentes
- No existencia de restricciones
2.3.3.1 Mltiples objetivos
Un modelo de Programacin Matemtica exige una nica funcin objetivo que tiene que ser
maximizada o minimizada. Esto sin embargo no implica que no se puedan abordar los problemas con
mltiples funciones objetivo. De hecho, como se ha comentado, existen diferentes mtodos de
modelado y posterior resolucin que se pueden aplicar en estos tipos de problemas.
Numerosos autores relacionan la Programacin Multi-Objetivo con la Teora de la Decisin que se
aborda ms adelante. Optimizacin sin restricciones
Los problemas de optimizacin sin restricciones pretenden minimizar (o maximizar) una funcin real
f(x) donde x es un vector de n variables reales. Es decir se buscan un x* tal que f(x
*
)s f(x) para todos los
x cercanos a x
*
.
En el caso de un problema de optimizacin global, el x* buscado es el que minimiza f para todo el
espacio xeR
n
.
2.4 Modelos de Optimizacin Combinatoria
La Optimizacin Combinatoria es una rama de la Investigacin Operativa que consiste en encontrar la
solucin ptima a un problema en que cada solucin est asociada a un determinado valor (el valor de la
solucin).
El trmino Combinatoria hace a la rama de la matemtica que estudia colecciones finitas de objetos que
satisfacen unos criterios especificados, y se ocupa, en particular, del "recuento" de los objetos de dichas
colecciones (combinatoria enumerativa) y del problema de determinar si cierto objeto "ptimo" existe
(combinatoria extremal).
Modelos y Mtodos de Investigacin de Operaciones

Pgina 27 de 190
El trmino Optimizacin hace referencia a este segundo aspecto de la bsqueda del mejor valor. En
muchos de esos problemas la bsqueda exhaustiva no es factible y por la estructura de los problemas
tanto no es posible.
La optimizacin combinatoria acta en el campo de los problemas de optimizacin en los que el conjunto
de soluciones factibles es discreto (o reducible a discreto). En algunos casos se tiende la tendencia a
asumir que la OC es la programacin lineal entera con variables binarias.
La bsqueda ( o la definicin de la existencia) de un ptimo para tipos especficos de problemas ha dado
lugar a una cantidad considerable de algoritmos que son capaces de resolver casos especficos en
tiempo polinomial.
Los problemas de optimizacin combinatoria tratan de encontrar la mejor solucin de entre un conjunto
de tems discreto y por tanto finito. En principio cualquier algoritmo constructivo o de bsqueda podra
encontrar la solucin optima, pero no necesariamente tiene porqu garantizarla.
En aquellos casos en que el problema parece resistirse a ser resuelto se suele abordar el problema de
diferentes maneras:
- Algoritmos que funcionan bien generalmente para tamaos pequeos de problemas.
- En ocasiones hay problemas que su versin aplicada no presenta las caractersticas
del worst-case.
- Algoritmos de aproximacin que son capaces de dar soluciones muy cerca del ptimo.
2.5 Otros Modos de Modelar. Otros Modos de Pensar.
En el punto anterior se ha planteado una visin general de la Programacin Matemtica entendida en
un sentido restrictivo. A continuacin se revisan algunas tcnicas diferentes en el fondo o en la forma. La
lista, que no es exhaustiva ni las agrupaciones consideradas son necesariamente disjuntas, incluye las
Teoras de Redes, de Colas y de Juegos, la Simulacin, la Programacin Dinmica. No se consideran,
aunque son tambin importantes, modos de modelar como la Previsin (Companys, 1990), la Teora de
Decisin (White, 1972), (Raiffa, 1970) o Teora de Juegos (Binmore, 1994), o aplicaciones concretas
como modelos de Inventario (Axster, 2000) o de Reemplazo (Figuera y Figuera, 1979)
2.5.1 Teora de Grafos
Segn (Kauffman, 1972) la Teora de Redes es una rama de la teora de conjuntos basada en los
trabajos de Kning. En aquel momento, era para el autor, la rama de la teora de conjuntos con ms
futuro. De hecho aporta una ayuda eficaz para modelar y resolver determinados problemas de carcter
combinatorio que aparecen en los ms diversos dominios(Companys, 2003).
La teora de redes, o de grafos, incluye un modo de representar y soporte matemtico para resolver.
El modo de representar es intuitivo en su forma ms simple, por su relacin con la realidad fsica, de
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 28 de 190 JPGS2011
determinados tipos de problemas. El soporte matemtico es especial para cada tipo de problema, que
suelen ser complejos problemas de combinatoria, permite resolverlo de modo ms simple que al utilizar
la Programacin Matemtica convencional. Es relativamente sencillo traducir un modelo de red a un
modelo de Programacin Matemtica, es un poco ms complicado (aunque posible) hacer la traduccin
a la inversa. La decisin sobre qu modo de modelar se debe utilizar, debe tomarla el modelador
teniendo en cuenta la necesidad de transmitir el modelo (donde la teora de grafos es claramente
superior), la disponibilidad de herramientas y la realidad concreta a modelar.
En lneas generales se puede decir que los componentes bsicos de la denominada Teora de
Grafos son los vrtices (o nodos o puntos) y los arcos que los unen. A un conjunto determinado de
vrtices y arcos se le denomina red. A partir de estos conceptos se desarrollan otros como camino,
corte, rbol, etc.
Algunos de los principales modelos que de este modo se plantean son: los problemas de arbol
mnimo, de camino mnimo, de flujo mximo o de permutacin ptima. El poder reducir un problema real
a un problema clsico de grafos implica la posibilidad de conocer mtodos eficaces de resolucin, para
muchos de ellos (siempre dependiendo del tamao y la complejidad). Algunos de los problemas de
Gestin Industrial que se pueden abordar con estos mtodos son la programacin de Proyectos, la
Gestion de Inventarios, Diseo de Rutas, Secuenciacin y Temporizacin....
2.5.2 Programacin Dinmica
Si antes se destacaba que el nombre de Programacin Matemtica no era muy representativo de la
propia tcnica, el de Programacin Dinmica no lo mejora.
Cuando el nombre Programacin Matemtica haba adquirido cierto auge Bellman plante en la
dcada de los 50 (del siglo XX) la herramienta denominada Programacin Dinmica, a travs de su libro
del mismo ttulo para la resolucin de problemas de carcter secuencial (inicialmente econmicos pero
tambin fsicos y matemticos).
El fundamento de este procedimiento se encuentra en el principio de optimalidad que Bellman
enunci del siguiente modo:
Una poltica es ptima si en un periodo dado, cualesquiera que sean las decisiones
precedentes, las decisiones que queden por tomar constituyen una poltica ptima teniendo
en cuenta los resultados precedentes
La Programacin Dinmica es un mtodo de optimizacin de los sistemas o de su representacin
matemtica, sobre la que se opera por fases o secuencias. (Kauffman, 1972).
El mtodo de resolucin denominado Programacin Dinmica consiste en buscar las subpolticas
ptimas que comprendan cada vez ms fases unitivas (Denardo, 1982), hasta encontrar la, o las,
polticas ptimas. En ciertos problemas los clculos se vuelven mucho ms simples cuando se hace la
optimizacin en un cierto sentido privilegiado o a partir de cierta fase(Companys, 2002).
Modelos y Mtodos de Investigacin de Operaciones

Pgina 29 de 190
Las variables utilizadas pueden ser discretas o continuas. Adems los parmetros pueden ser
deterministas o estocsticos. Cuando el futuro es aleatorio (parmetros estocsticos) la optimizacin de
la esperanza matemtica del valor total slo puede llevarse a cabo en un sentido, remontndose desde
el futuro hacia el pasado. (Kauffman, 1972).
Si al concepto de Programacin Dinmica se le une la consideracin de los mtodos de Ramificacin
y Corte, aparece el concepto de Programacin Dinmica Acotada, por el cual se utilizan cotas en un
esquema de Programacin Dinmica, limitando el nmero de vrtices que se pueden almacenar
(Bautista, Companys, and Corominas, 1992)
2.5.3 Teora de Colas
Se admite como inevitable la existencia de colas en los sistemas en que las entradas y/o el servicio
se producen a intervalos irregulares. La teora de colas es un mtodo de modelado que describe el
comportamiento de las mismas. La primera aplicacin prctica de la que se tiene constancia, y con la
que se inicia la investigacin en este campo es el trabajo de Erlang a principios del siglo XX.
Uno de los resultados ms conocidos de la teora de colas es la denominada frmula de Little que
relaciona la longitud de la cola con el tiempo de espera y el ritmo de entrada al sistema.
Los resultados ms habituales de la teora de colas se refieren a sistemas de una etapa con entradas
y salidas siguiendo distribuciones exponenciales. Sin embargo ms tiles en mltiples ocasiones son las
redes de colas con tiempos de los procesos no necesariamente exponenciales. Un excelente resumen
de la situacin actual de la teora de colas se puede encontrar en (Gross, Shortle, Thomson, and Harris,
2008).
Los desarrollos en teora de colas han ido extendiendo sus soluciones tanto para diferentes tipos de
entradas como para redes de colas.
Es de destacar el especial inters que la teora de colas tiene en el diseo de elementos
estructurales de la denominada Nueva Economa (servidores web, procesadores compartidos...)
2.5.4 Dinmica de Sistemas
Se atribuye a Forrester el inicio del desarrollo de la denominada Dinmica de Sistemas. Esta tiene su
relacin directa con el Enfoque de Sistemas visto en el apartado dedicado a los Fundamentos
Organizativos de la Organizacin de Empresas.
Forrester desarroll un conjunto de herramientas y una aproximacin a la simulacin que se ha
llegado a conocer como dinmica de sistemas, mediante la cual se puede llegar a comprender como la
estructura de un sistema humano y sus polticas de control operan. Mostr tambin el valor que tienen
los modelos explcitos que combinan procesos de negocio y estructura organizacional.
En (Pidd, 1996) se sugiere que el precursor de esta idea es Tustin que en 1953 public un trabajo
titulado El mecanismo de los sistemas econmicos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 30 de 190 JPGS2011
Las herramientas de la Dinmica de Sistemas pueden utilizarse de diferentes maneras. La
aproximacin bsica suministra una manera de observar sistemas humanos, haciendo especial hincapi
en la importancia de algunos aspectos estructurales como el control por retroalimentacin. La
consideracin de esta circunstancia aporta interesantes resultados incluso sin el uso de herramientas
informticas. Otro modo de utilizar la dinmica de sistemas es realizando simulaciones mediante
ordenador, que permitan entender mejor el funcionamiento de otro sistema. Por ltimo, la Dinmica de
Sistemas se puede utilizar para mejorar el diseo de un sistema, evaluando mediante simulacin su
comportamiento.
2.5.5 Simulacin
Asociada en ocasiones a la teora de colas y heredera de la dinmica de sistemas se encuentra otra
herramienta de los mtodos cuantitativos como es la simulacin. El incremento de la capacidad de
clculo de los ordenadores, as como sus crecientes capacidades grficas hace que esta ltima est
experimentando una aplicacin creciente en el modelado de flujos de materiales, e incluso de
informacin.
Esta aplicacin creciente ha supuesto, en algunos casos, el abandono de las herramientas analticas,
que requiere un esfuerzo conceptual que aparentemente la simulacin no requiere. Hay que destacar,
en contra de esta opinin que la simulacin bien aplicada exige un importante esfuerzo para garantizar
la validez de resultados. De hecho, dado que la simulacin es comparable al anlisis por experimentos,
al hacer una simulacin hay que hacer frente a los mismos problemas que hay que afrontar cuando se
hace experimentacin convencional (incluyendo diseo experimental y anlisis estadstico). De este
modo el uso de la simulacin no reduce el esfuerzo a realizar, sino que resuelve problemas que la teora
de colas analtica no es actualmente capaz de abordar(Gross and Harris, 1998).
Pero no slo la simulacin de eventos discretos est disponible (aunque es con mucho la ms
utilizada en el terreno prctico) sino que la simulacin basada en agentes y o la simulacin mediante
Dinmica de Sistemas tiene su importante utilidad al modelar otros conceptos.
2.5.6 Teora de Juegos
Algunos problemas de toma de decisin se plantean bajo la forma de un juego, donde se trata de
tomar una o varias decisiones, frente a uno o varios decisores cuyas reacciones a las decisiones
tomadas se conocen poco o nada. La teora de juegos trata de establecer como debiera comportarse
racionalmente un individuo ante la ignorancia del comportamiento del adversario cuando se conocen las
reglas de la competencia aceptadas por los participantes. (Kauffmann, 1972)
Para (Kauffman, 1972) la teora de juegos se desarrolla a partir de los trabajos de Borel en 1921 y
Von Neumann en 1924, aunque la teora ya haba preocupado en diferentes formas a Kepler, Huyghens,
Pascal, Fermat y Bernouilli entre otros.
Von Neumann y Morguestern en su primera obra sobre Teora de Juegos, investigaron dos
planteamientos distintos: el estratgico o no cooperativo y el cooperativo. La complejidad del primer
Modelos y Mtodos de Investigacin de Operaciones

Pgina 31 de 190
problema planteado hizo que se limitaran a los juegos estrictamente competitivos o de suma nula, donde
los dos jugadores (slo dos) tienen intereses diametralmente opuestos. La segunda parte (el juego
cooperativo) an fue ms complejo y por tanto se limitaron a clasificar los modelos de formacin de
coaliciones, (Binmore, 1994)
Nash afront dos de las barreras que Von Neumann y Morgenstern se haban autoimpuesto. Sobre
los juegos no cooperativos estableci la idea del equilibrio que aparece cuando la eleccin estratgica
de cada jugador es la respuesta ptima a las elecciones estratgicas de los otros jugadores, con lo que
no es necesario restringirse a los juegos de suma cero. Respecto a los problemas cooperativos Nash
rompi con la idea de que los problemas de negociacin son indeterminados y ofreci argumentos para
determinarlos. (Binmore, 1994)
Actualmente la teora de juegos, lleva aparejado un aparato matemtico cada vez ms complicado.
En cualquier caso su modo de trabajo puede ser, y es, de gran utilidad en el anlisis la toma de
decisiones con la presencia de otros decisores.
3 PROGRAMACIN MATEMTICA
3.1 La construccin de un Modelo de Programacin Matemtica.
Es importante destacar que en la metodologa que se explica a continuacin el camino es de
continuas idas y vueltas. As lo normal es que una vez terminada una fase haya que volver a una etapa
anterior y de este modo volver a comenzar.
Conjuntos de Datos, y por tanto de ndices Conocer los tipos de datos de los que se dispone permite
establecer, conjuntos y con ellos ndices. Muchos de los que se definen en esta fase no son
estrictamente necesarios, y otros se incorporarn en fases siguientes.
Parmetros. Representar los conjuntos de datos mediante Smbolos con subndices, permitir
comenzar la conceptualizacin del problema. Generalmente en esta fase aparecen nuevos
ndices, o incluso se establecen parmetros que luego se comprobar que son variables.
Objetivo. Establecer la funcin objetivo en forma de lenguaje natural (Maximizar el beneficio
esperado o minimizar el ratio de aprovechamiento) permite empezar a definir variables que se
pueden denominar de control. No es importante en una primera fase establecer el objetivo de
modo lineal, simplemente con representarlo ya es suficiente.
Variables de Control De la etapa anterior se han definido las variables que configurarn la funcin
objetivo. Dichas variables deben ser explcitamente representadas. En general, aunque algunos
autores opinan lo contrario, se puede decir que las variables en la funcin objetivo no son las
decisiones que se toman, sino los efectos de dichas decisiones, es por ello que se ha preferido
denominarlas de control.
Restricciones. El modo ms habitual de generar restricciones es expresarlas verbalmente y
cuantificarlas posteriormente. Lo habitual es que surjan nuevos datos, parmetros ndices y
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 32 de 190 JPGS2011
variables. En principio tras fijar las restricciones evidentes se observar que las variables de
decisin y las de control no estn conectadas. Las conexiones darn lugar a nuevas
restricciones.
Variables de Decisin. En general al plantear la funcin objetivo no se est plasmando las
decisiones que en realidad se quieren tomar. Dichas variables deben ser tambin reflejadas.
Modelo Completo La construccin del modelo completo (funciones objetivo ms restricciones) dar
generalmente nuevos ndices, parmetros, variables y restricciones.
Validacin La validacin del modelo exige su formulacin y su resolucin. La importancia de esta
etapa exige un apartado entero (el siguiente). La validacin suele exigir recomenzar el proceso
de validacin desde el principio.

Por ltimo convendra recordar que el buen modelo, su resolucin y el anlisis de los resultados,
generalmente dar una mejor comprensin del problema, cerrando de este modo el crculo de esta
metodologa.
3.2 Implementacin de un Modelo de Programacin Matemtica (Validacin)
Un modelo matemtico sobre el papel es en general consistente. Ahora bien su introduccin en un
formato que permita resolverlo adecuadamente nos informar de nuevos errores, que lleva
Antes de prestar demasiada atencin a la solucin obtenida tras resolver un modelo que se haya
construido, se debe comprobar que se ha modelado lo que se pretenda. Asumiendo que no hay errores
de tipo sintctico (generalmente los paquetes informticos los detectan) existen tres salidas que en
general se recorrern sucesivamente: que el modelo sea incompatible, que el modelo no est acotado y
que el modelo sea resoluble. An llegado este punto caben dos situaciones, que el modelo sea resoluble
pero sus soluciones no sean coherentes con el problema, y por ltimo que el modelo sea resoluble y sus
soluciones sea coherentes. Si se alcanza este punto, el modelo est listo para ser utilizado.
3.2.1 Modelo de sintaxis errnea.
El error ms tpico es que la funcin objetivo no sea una frmula sino un conjunto de frmulas. Una
manera de detectarlo es comprobar que ningn ndice en las variables de la funcin objetivo se queda
sin su sumatorio correspondiente.
Otro error tpico se da en las restricciones. Todos los ndices de todas las variables utilizadas deben
estar en la expresin de la restriccin. Ya sea en forma de sumatorios, ya sea en forma del rango en el
que aplica la restriccin (el para todo i).
Utilizar los paquetes de resolucin para detectar problemas es lo ms razonable en tiempo. Un modo
de utilizarlos eficientemente es pedirles que escriban el modelo en formato .lp
Modelos y Mtodos de Investigacin de Operaciones

Pgina 33 de 190


De este modo es posible visualizar si lo que hemos escrito en formato compacto se parece a lo que
pretendamos obtener en modo desarrollado.
3.2.2 Modelo incompatible
Un modelo no tiene solucin si existen restricciones contradictorias. Por ejemplo, las siguientes
restricciones haran el modelo irresoluble:
2
1
2 1
2 1
> +
s +
x x
x x

En la prctica esta situacin no ser tan evidente. El programa intentar resolver hasta que detecte la
incompatibilidad. En algunos casos la indicar, aunque no es lo habitual.
En pocas ocasiones la incompatibilidad ser debida a que el problema real no tiene solucin, aunque
en la mayor parte de casos es debido a que se ha formulado mal el problema.
Un modo lgico de buscar las restricciones que generan la incompatibilidad es ir anulndolas. Hasta
encontrar aquella (o aquellas) que al anularlas permiten que la solucin exista. Hay que tener en cuenta
que en general las restricciones son incompatibles a pares, por lo tanto no necesariamente la restriccin
anulada es la que est mal. Podra ser otra restriccin que use las mismas variables. En pocas
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 34 de 190 JPGS2011
ocasiones, las incompatibilidades se producen por triangulacin de restricciones (en pocas ocasiones
pero ocurre).
Otro mecanismo para encontrar las incompatibilidades es generar una solucin obvia (o real). Al
obligarla, introducindola como restricciones de igualdad, el modelo debiera soportarla. Si no lo hicieran
las restricciones violadas sern las incompatibles.
3.2.3 Modelos no acotados
Se dice que un problema no est acotado si su funcin objetivo se optimiza cuando alguna variable
tiende a infinito. La solucin obtenida en este caso, si puede ayudar a reconocer el error de formulacin.
Mientras que en un modelo incompatible el problema es la existencia de demasiadas restricciones,
en un problema no acotado faltan restricciones. Generalmente restricciones fsicas obvias que han sido
olvidadas o relaciones entre variables no consideradas.
Los modelos no acotados tienen un dual incompatible, aunque la inversa no es siempre cierta. Por
eso muchas herramientas resuelven inicialmente el dual.
3.2.4 Modelo Resoluble
Cuando un modelo no es incompatible y es acotado se conoce como un modelo resoluble. Cuando
se obtenga la solucin ptima de un modelo resoluble lo primero que hay que hacer es comprobar que
sta es lgica. Si no lo fuera el modelo sera errneo. El sentido comn es el mejor aliado en este caso.
Para comprobar que los resultados son lgicos existen mltiples maneras, y cada modelador tiene su
estructura de trabajo. Una que da buenos resultados es modificar de manera sistemtica los costes en la
funcin objetivo (o las limitaciones en las restricciones) para comprobar que se puede modificar la
solucin modificando los coeficientes.
Hay que destacar el valor de la optimizacin en la validacin del modelo. Cuando se trata de
maximizar (o minimizar) alguna cantidad, alguna restriccin debe ser utilizada completamente. Es
interesante, cuando se trata de un modelo nuevo, probar con diferentes objetivos, porque dan relevancia
a diferentes restricciones y, por tanto, se pueden ir comprobando todas.
Si el resultado es lgico deberamos compararlo con un resultado real, podra ser que el modelo
fuera demasiado restrictivo (aunque no llegue a ser incompatible) o demasiado laxo (aunque no llegue a
ser no acotado)
En muchos casos, este anlisis ya est conduciendo hacia un mejor entendimiento del problema, y
por tanto, el esfuerzo (aunque sin solucin) ya est siendo eficaz.
De la exposicin anterior se desprende de modo natural que el proceso modelado-validacin debe ir
repitindose hasta converger en un modelo que represente de modo suficientemente acertado la
realidad. Y este proceso es muy til para entender la propia realidad modelada.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 35 de 190
3.3 Caractersticas de un buen modelo de Programacin Matemtica
Tres son los objetivos bsicos que se deben pretender al construir modelos de programacin
matemtica.
- Que sea un modelo fcil de entender
- Que sea un modelo cuyos errores sean fciles de detectar
- Que sea un modelo de fcil resolucin
3.3.1 Facilidad para entender el modelo
A menudo es posible construir un modelo compacto y realista donde diferentes variables aparezcan
de modo implcito y no de modo explcito. Sin embargo construir este tipo de modelos conduce
habitualmente a soluciones difciles de evaluar y ms an de interpretar. Incluso, aunque los modelos
menos compactos, requieren un tiempo ms largo de resolucin, este tiempo compensa el que
posteriormente habra que invertir en la interpretacin de la solucin.
Es til tambin utilizar acrnimos para designar las variables y las restricciones, de tal modo que los
resultados se puedan, posteriormente, interpretar ms fcilmente.
Existe tambin unas normas de estilo que, no siendo obligatorias permiten entender mejor el modelo,
si todo el mundo las utiliza igual. En general se admite que las letras de la h a la l (minscula) se refieren
a ndices, que las letras x,y,z son variables mientras que a,b,c,d,m,n,p,q suelen utilizarse como
parmetros, o las letras griegas suelen hacer referencia a variables binarias. Aunque no existe ninguna
norma escrita, el uso de este estilo simplifica el trabajo que supone entender un modelo. En cualquier
caso es imprescindible que no existan homnimos ni sinnimos, esto es, elementos con el mismo
nombre y significado distinto, o elementos con distinto nombre y el mismo significado.
3.3.2 Facilidad para detectar errores en el modelo
Este objetivo est claramente unido al anterior. Los errores podran ser de dos tipos: de tecleo
(nmeros errneos o defectos ortogrficas) y de formulacin.
Para evitar los problemas de tecleo es til utilizar programas de generacin de matrices o lenguajes
de modelado. Muchos de estos programas tiene procedimientos que detectan errores adems de otras
funciones relacionadas.
3.3.3 Facilidad para encontrar la solucin
Los modelos de Programacin Lineal utilizan una gran cantidad de tiempo de computacin, y por
tanto sera interesante construir modelos que sean resueltos de modo rpido. Este objetivo se
contrapone en la prctica al primero de los enunciados. En algunos casos es posible reducir el tamao
del modelo mediante procedimientos instalados en el propio editor de modelos. En otros es un ejercicio
que debe realizar el modelador.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 36 de 190 JPGS2011
A continuacin se presentan tres mtodos que permiten reducir el coste de computacin: Uso de
Cotas, Unidades de Medida apropiadas y uso de formulacin modal.
3.3.3.1 Uso de Cotas
Es posible alcanzar reducciones sustanciales en el tiempo de computacin teniendo en cuenta las
cotas globales (GUB) citadas en el captulo siguiente. Evidentemente esta reduccin ser efectiva
dependiendo de si el paquete lleva o no incorporadas rutinas que traten estas cotas.
3.3.3.2 Unidades de medida
Cuando se modela una situacin prctica es importante prestar atencin a las unidades en las cuales
se miden las cantidades. Si existe una gran disparidad en los coeficientes de un modelo de
Programacin Lineal se incrementa sustancialmente el tiempo de computacin.
Es decir, si las restricciones de capacidad se miden en toneladas, los beneficios no se deberan dar
en pesetas por kilo. Idealmente las unidades se deberan plantear de tal manera que los coeficientes no
nulos estn entre 0.1 y 10. Algunos paquetes comerciales tienen procedimientos para escalar
automticamente los coeficientes antes de resolver y despus desescalar tambin de modo
automtico.
3.3.3.3 Formulacin Modal
En problemas de Programacin Lineal grandes, se puede reducir sustancialmente el nmero de
variables utilizando la denominada formulacin modal. Si un conjunto de restricciones se ve afectada por
un reducido nmero de variables, se puede considerar como espacio de soluciones el espacio que
marcan estas variables y sus restricciones. Y, de este espacio, slo seran de inters algunos puntos
(los vrtices).
Modelos y Mtodos de Investigacin de Operaciones

Pgina 37 de 190
4 MODELOS DE PROGRAMACIN LINEAL
4.1 Qu es la Programacin Lineal?
El problema bsico de Programacin Lineal consiste en minimizar una funcin objetivo lineal de
variables lineales continuas, sujetas a restricciones lineales. Se considera que una funcin es lineal si es
una combinacin lineal de las variables consideradas.
Una expresin estndar de un problema de Programacin Lineal es:
,
min
. .

0
i i
i
i j i j
i
i
c x
s a
a x b
x
>
>


La regin de factibilidad es un poliedro y al menos una solucin ptima es un vrtice del citado
poliedro.
4.2 La importancia de la Linealidad.
Los modelos de Programacin Lineal exigen que tanto las expresiones de las restricciones como de
los objetivos se hagan de modo lineal. Esto quiere decir que no pueden aparecer expresiones del tipo
2 1
x x ,
1
x
e x
1
3
. Para muchos problemas prcticos esta es una consideracin que impide el uso de la
Programacin Lineal (aunque modos de reconvertir modelos de Programacin no-Lineal en modelos de
Programacin Lineal)
La principal razn por la que los modelos de Programacin Lineal son preferibles es porque son
mucho ms fciles de resolver. Los modelos de Programacin Lineal son ms fciles de resolver puesto
que en el espacio de soluciones factibles siempre ser posible encontrar una solucin en un vrtice,
reduciendo de este modo el espacio de posibles soluciones ptimas a un nmero finito de las mismas.
Desde luego en cada ocasin hay que comprobar que es posible resolver mediante Programacin
Lineal, es decir, comprobar que el modelo se ajusta suficientemente a la realidad.
4.3 Situaciones que pueden modelarse mediante Programacin Lineal.
La programacin lineal, pese a sus restricciones evidentes por las caractersticas de las variables y
las funciones, tienen una amplia variedad de aplicaciones.
Algunos de los problemas clsicos de Programacin Lineal son:
- Blending (Mezcla). Este tipo de problemas consideran las decisiones relativas a la mejor
generacin de uno o varios productos resultado de una mezcla. Quiz el problema ms
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 38 de 190 JPGS2011
antiguo se refiere a la generacin de dietas, pero tambin en la industria de elaborados
alimenticios o en la industria petrolera tiene aplicaciones.
- Product Mix (Catlogo de Productos). En su versin ms bsica pretende establecer la
proporcin de productos a fabricar dados unos recursos limitados y unos beneficios
esperados.
- Decisin de Inversiones. Otro de los problemas clsicos consiste en seleccionar la mejor
cartera de inversiones minimizando riesgos o maximizando beneficios dado un conjunto de
limitaciones en los recursos.
- Problema del Transporte. Consiste en definir, en una red de suministro, los centros que
deben producir, la cantidad a producir y el destino de esta produccin, teniendo en cuenta
costes de transporte y/o de almacn, adems de beneficios esperados y limitaciones en los
recursos disponibles.
4.4 Definicin de Objetivos
Dado un conjunto de restricciones, diferentes funciones objetivo conducirn a diferentes soluciones.
Si diferentes funciones objetivo dan lugar a la misma solucin es conveniente analizar la estructura del
modelo puesto que puede aportar un mejor entendimiento del problema.
Algunos de los objetivos que se pueden definir son: Maximizar beneficio, Minimizar costes, Maximizar
rentabilidad, Maximizar el nmero de empleados, Minimizar el nmero de empleados, Maximizar la
satisfaccin del cliente y Maximizar la probabilidad de sobrevivir.
Podran definirse muchos otros objetivos. Pero tambin podra ocurrir que no se quisiera optimizar
nada o que se quieran optimizar diferentes objetivos de modo simultneo, teniendo estos objetivos
direcciones conflictivas. En cualquiera de estos casos la Programacin Matemtica es interesante y
debe ser utilizada.
4.4.1 Programacin Lineal y Programacin Multiobjetivo
El caso de los Objetivos Simples es el caso ms sencillo, generalmente se pretenden maximizar
beneficios o minimizar costes. La principal ventaja de estos objetivos es que los diferentes factores se
ven reducidos a una unidad comn: la monetaria.
Si se pretende minimizar costes es importante fijar restricciones adecuadas, puesto que en ocasiones
minimizar costes supone no hacer nada. Tambin hay que distinguir de manera adecuada los costes
fijos y los costes variables.
Si se pretende maximizar beneficios hay que tener en cuenta que estos se pueden obtener a lo largo
del tiempo. Incorporar el concepto de tiempo en la evaluacin del beneficio se puede hacer de mltiples
maneras entre las que destaca el Valor Actual Neto.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 39 de 190
Se ha decidido incorporar la Programacin Multi-Objetivo como parte de la Programacin
Matemtica, puesto que conceptualmente pertenece a ella con la caracterstica de la existencia de ms
de un objetivo (lo que por otro lado es ms habitual en la realidad que el caso de un solo objetivo)
La optimizacin Multi-Objetivo tiene sus races en los trabajos sobre economa de Edgeworth y
Pareto realizados a finales del siglo XIX.
El concepto escalar de optimalidad no es aplicable en la Programacin Multi-Objetivo, dando lugar al
concepto de solucin no dominada u ptimo de Pareto (recibe tambin otros nombres). Este concepto
permite la existencia de mltiples soluciones ptimas.
Un modo de abordar este tipo de problemas es optimizar la suma ponderada de los valores de cada
objetivo. Para algunos autores esto no es posible salvo que se encuentre un factor comn como podra
ser el coste monetario, aunque esto no es siempre posible. Los pesos deben ser relativos (o valores
monetarios o similares) y deben tener en cuenta el rango de accin de cada variable.
Al sumar diferentes objetivos, aunque sea ponderados, se est introduciendo un cierto grado de
arbitrariedad por lo que ser necesario comprobar que el resultado se ajusta a nuestros requerimientos.
Uno de los pesos que se pueden utilizar inicialmente son los precios-sombra
2
que en cada resolucin
dan las restricciones, para un modelo en que todos los objetivos menos uno se han convertido en
restricciones.
Otro modo interesante de abordar estos problemas es la denominada Programacin Multinivel, en la
que los objetivos se ordenan por importancia y se van tratando de optimizar uno detrs de otro, fijando
en cada caso como restriccin que el valor de las funciones objetivos ms importantes ha de ser igual
al ptimo encontrado. Una variante relajada de la programacin multinivel es la tcnica denominada
Goal Programming donde para cada objetivo se establece un valor suficiente (o valor meta), se fija
tambin una penalizacin para el caso de que no se alcance dicho valor meta, y cada uno de los
objetivos pasa al conjunto de restricciones pasando a formar parte de las restricciones. De este modo, al
igual que en los casos anteriores el problema pasa a tener un solo objetivo, que es minimizar las
penalizaciones ligadas a no alcanzar las metas fijadas.
Por ltimo es posible abordar el problema Multi-Objetivo encontrando las superficies que forman los
puntos no dominados, siendo el decisor el que selecciona su opcin. Una solucin no-dominada es
aquella que al compararse con cualquier otra solucin factible tiene al menos uno de los objetivos mejor.
Una primera aproximacin consistir en resolver el problema tantas veces como objetivos tenga el
resultado, utilizando en cada ocasin un objetivo distinto. La comparacin de los diferentes resultados
puede dar una idea de qu solucin es mejor. En este caso se puede utilizar la solucin para un objetivo
como la solucin inicial.

2
El concepto de precio-sombra aparece al realizar la denominada interpretacin econmica de las soluciones.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 40 de 190 JPGS2011
Por ltimo en ocasiones no existe ningn objetivo real, lo nico que se pretende es encontrar una
solucin vlida. En otras ocasiones el objetivo a perseguir no es optimizable (por ejemplo el objetivo
sobrevivir) El uso de los modelos matemticos nos puede permitir encontrar soluciones factibles (que
cumplen las restricciones si stas existen).
4.5 Las restricciones
4.5.1 Tipos bsicos de Restricciones
Las restricciones son expresiones de relaciones entre variables. Dichas relaciones se representan
mediante restricciones en la programacin matemtica, y tienen la formulacin de una combinacin
lineal de variables limitada por un determinado valor.
Las restricciones se pueden clasificar en funcin de la realidad que pretenden representar, o en
funcin de su relacin con el resto del modelo matemtico.
Segn su relacin con la realidad que pretenden representar se pueden encontrar las siguientes:.
- Restricciones de capacidad. Se limita la produccin de un conjunto de productos debido a
la limitacin de alguno de los recursos utilizados en su fabricacin.
- Disponibilidad de Materia Prima. Se limita la produccin de un conjunto de productos
segn la cantidad de materia prima disponible.
- Limitaciones en la demanda del mercado. Se limita la produccin de un producto en
funcin de la venta estimada.
- Restricciones de Continuidad o Balance de Materiales. En programacin multiperiodo, los
productos que quedan al final de un periodo son las que hay al principio del siguiente.
Tambin si un producto se descompone la suma de las cantidades descompuestas es
igual a la cantidad original ( o con un factor de rendimiento). Son tambin restricciones de
continuidad las que conectan los diferentes arcos que entran o salen de un nodo (por
ejemplo en problemas de distribucin de energa).
- Estipulaciones de Calidad. Al hacer mezcla de productos, se pueden establecer
restricciones en funcin de caractersticas de calidad de la mezcla y las materias primas.
- Relaciones de tipo lgico. En ocasiones las restricciones tienen forma de expresin lgica,
si consumes ms de 40kw hay que activar un segundo generador
4.5.2 La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
modo de resolver.
Las anteriores restricciones forman parte de las relaciones concretas entre las variables de los
problemas. Tambin se podran clasificar las restricciones en funcin de su comportamiento en el resto
del modelo.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 41 de 190
- Restricciones Duras y Blandas
- Restricciones Conflictivas
- Restricciones Redundantes
- Cotas Simples y Generalizadas.
- Restricciones de Rango.
Restricciones Duras y Blandas
Una restriccin del tipo:
b x a
j
j j
s


elimina, evidentemente, cualquier solucin para la que la suma sobre j exceda el valor de b.
Esto puede ser considerado como poco realista en algunas ocasiones. Por ejemplo, si b son las
horas disponibles quiz, si interesara, habra que contratar algunas horas extras. En este caso la
restriccin se denomina blanda. Son duras aquellas restricciones que no se pueden violar de algn
modo.
Un mecanismo para modelar las restricciones blandas podra ser:
b u x a
j
j j
s


donde u es una variable que aparecera en la funcin objetivo con un coste cu. De este modo en caso
de ser necesario la restriccin sera violada aunque penalizando la funcin objetivo. A la variable u se le
puede incorporar un lmite de tal manera que no exceda un cierto valor.
Si la restriccin blanda es una desigualdades mayor o igual se puede aplicar el mismo esquema.
b x a
j
j j
>


Si la restriccin es una igualdad la restriccin debe sustituirse por:
b v u x a
j
j j
= +


tanto u como v se vern penalizados en la funcin objetivo y en la solucin uno de los dos valores debe
ser cero.
Restricciones conflictivas
En ocasiones ocurre que un problema incorpora un conjunto de restricciones que no siempre pueden
satisfacer al mximo cada una de las restricciones. En este caso los objetivos seran tambin
conflictivos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 42 de 190 JPGS2011
El tipo de modelo a que da lugar esta situacin es de los que se llaman modelos de coordinacin de
objetivos. Cada restriccin es, en este caso un objetivo, que debe cumplirse tanto como sea posible.
Por ejemplo, si se pretendiera imponer el siguiente conjunto de restricciones:
i b x a
i
j
j ij
=


Y se deseara admitir que no todas se cumplen, se podra modelar del siguiente modo
i b v u x a
i i i
j
j ij
= +


El objetivo sera asegurar que cada restriccin se cumple lo mximo posible. Este objetivo se puede
modelar, entre otros modos de estas dos maneras
a) Minimizar la suma de todas las desviaciones

+
i
i i
v u Min

b) Minimizar la mxima desviacin
i 0 v - z
i 0
s.a.

i
>
>
i
u z
z Min

Sea cual sea el mtodo elegido podra a su vez ser ponderado si alguna de las restricciones parece
ms importante.
Restricciones redundantes
En el caso en que se tenga una restriccin del tipo
b x a
j
j j
s


y la evaluacin

j
j j
x a sea en cualquier caso inferior a b, se puede decir que la restriccin es
redundante, o que su precio sombra es nulo, es decir no tiene influencia sobre la funcin objetivo.
Una restriccin redundante puede ser eliminada sin afectar al ptimo. Generalmente no es posible
eliminar las restricciones redundantes a priori. Adems, si el modelo se va a usar de modo continuado,
la restriccin no se puede eliminar por si nuevos valores de los coeficientes convierten a la restriccin en
relevante.
Hay que tener en cuenta que en la Programacin Entera la redundancia no es tan fcil de considerar
como en la Programacin Lineal, ms an en ocasiones las restricciones redundantes facilitan la
bsqueda del ptimo.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 43 de 190
Cotas Simples y Generalizadas
Las cotas simples se pueden manejar de manera mucho ms eficiente definindolas como tales. El
motivo, que ya se ha indicado anteriormente es la existencia de una versin revisada del Simplex que
maneja de manera especial estas cotas y reduciendo el tiempo total de computacin.
Las cotas simples tienen las siguientes formulaciones
L x U x > s o
Las otras cotas que algunos paquetes de resolucin consideran son las denominadas Cotas
Generalizadas (GUB)
U x
i
s


Restricciones de Rango
En ocasiones las restricciones adquieren este formato:

s s
j
j j
b x a b
1 2

Estas restricciones (en realidad son dos) pueden expresarse como tales, pero existe un modo ms
compacto y que est disponible en muchos paquetes comerciales. Consiste en definir nicamente la
restriccin

s
1
b x a
j j
con un rango de (b
1
-b
2
)
Otro modo de expresarlas consiste en transformar las restricciones en otras de este tipo:
( )
2 1
1
b b u
b u x a
j j
s
= +


siendo estas restricciones ms fciles de manejar por la mayor parte de paquetes y, por tanto, el tiempo
de computacin para obtener la solucin se ver reducido.
4.6 Anlisis de resultados
4.6.1 Interpretaciones econmicas
Para avanzar en esta seccin es conveniente plantear un problema de mezcla de productos que sirva
como ejemplo.
Una empresa fabrica 5 tipos de productos utilizando fundamentalmente 2 tipos de recursos (3
tornos y 2 fresas) Tras deducir el coste de la materia prima cada producto aporta el beneficio
expresado en la tabla 2. En la misma tabla se representa los tiempos de operacin necesarios
para hacer cada producto en cada mquina.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 44 de 190 JPGS2011
Pr 1 Pr 2 Pr 3 Pr 4 Pr 5
Torno 12 20 - 25 15
Fresa 10 8 16 - -
Beneficio unitario 550 600 350 400 200
La semana tiene 6 das de 16 horas.
Al acabar el proceso de fabricacin es necesario proceder al montaje final de cada producto que
exige 20 horas de operario. La empresa dispone de 8 operarios trabajando en cada uno de los dos
turnos.
El modelo del programa es:
[Max] 550 x1 +600 x2 + 350x3 + 400x4 + 200x5
Sujeto a:
Tornos 12x
1
+20x
2
+25x
4
+15x
5
s288
Fresas 10x
1
+8x
2
+16x
3
s192
Montaje 20x
1
+20x
2
+20x
3
+20x
4
+20x
5
s384
La solucin del problema es
x1=12;x2=7,2;x3=x4=x5=0
Con valor de la funcin objetivo de 10920 euros
Ejemplo 1
De la observacin de los resultados se conoce que tanto la restriccin de tornos como la de Montaje
estn al lmite, mientras que fresas tiene an capacidad.
Pero adems existe informacin de inters que puede salir del modelo.
a) Cunto debieran incrementar su precio los productos 3,4,5 para que fueran rentable
fabricarlos (coste reducido)?
b) Cunto vale una hora extra de cada recurso (precio-sombra)
Estos resultados pueden obtenerse del anlisis del simplex si este mtodo ha sido utilizado como el
de resolucin. Tambin pueden obtenerse de la resolucin del dual que se explica en un punto posterior.
En general cualquier paquete informtico incorpora un anlisis de sensibilidad ms que suficiente
para conocer tanto los costes reducidos y los precios sombra, como los rangos en los que se deben
mover las variables para no cambiar de solucin bsica.
Precios sombra
Modelos y Mtodos de Investigacin de Operaciones

Pgina 45 de 190
El precio sombra es el precio mximo que se debera pagar por una unidad extra de un
determinado recurso. Estas variaciones son siempre marginales y tienen un cierto lmite (incorporar
10000 horas de montaje sera absurdo). Estos lmites (rangos) se establecen en la siguiente seccin.
Los precios sombra de varias restricciones no pueden utilizarse simultneamente pues las
variaciones en los trminos independientes de varias restricciones simultnemente, no suponen la suma
de los precios sombra en la funcin objetivo. Los precios sombra son un claro ejemplo de costes de
oportunidad, concretamente del coste de la oportunidad perdida.
Costes reducidos
Los costes reducidos son el valor que habra que subir el precio (o la contribucin marginal) de cada
producto para que la variable que lo representa no fuera nula. Tambin este incremento en precio tiene
un lmite por encima del cual no se van a establecer ms variaciones. Otra manera de observar los
costes reducidos es como el dinero que se dejara de ganar si se obliga al sistema a producir al menos
un producto del tipo en cuestin.
4.6.2 El Modelo Dual
El modelo dual se genera al convertir los objetivos en restricciones y las restricciones en objetivos.
Bsicamente se trata de crear tantas variables como restricciones se encuentran, y combinarlas
linealmente con el trmino independiente de cada restriccin para generar la funcin objetivo. Al mismo
tiempo los coeficientes de la funcin objetivo pasan a ser los trminos independientes de las
restricciones, cuya matriz tecnolgica es la transpuesta de la original.
De este modo el anterior problema queda.
[Min] 288y
1
+192y
2
+384y
3

sujeto a:
12y
1
+10y
2
+20y
3 >550
20y
1
+8y
2
+20y
3
>600
16y
2
+20y
3
>350
25y
1
+20y
3
>400
15y
1
+1y
3
>200
Al resolver el modelo dual se obtiene la siguiente solucin para las variables:
y
1
=6,25 y
2
=0 y
3
=23,75
Ejemplo 2
Esto significa que si aumentramos en una unidad el nmero de horas disponibles de torno el
incremento en el beneficio de la empresa sera de 6,25 , mientras que sera nulo si aumentramos las
horas de fresa. Este concepto es el denominado Precio Sombra.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 46 de 190 JPGS2011
4.6.3 Anlisis de Sensibilidad
Al resolver un modelo lo importante generalmente no es conocer los valores solucin de cada una de
las variables, o la funcin objetivo sino la poltica a la que conduce el modelo. As en el modelo de
ejemplo lo que importa es que se fabrican productos de tipo 1 y tipo 2 de tal manera que utilizan a plena
capacidad los recursos torno y mano de obra. Si un modelo es estable ligeras variaciones de los
coeficientes no variarn esta poltica, sino nicamente las cantidades concretas.
Rangos en las restricciones
En el apartado anterior se han descrito los precios sombra como tiles para predecir el efecto de
pequeos cambios en el valor de la restriccin. Se ha indicado tambin que estos cambios son as
interpretables dentro de un determinado rango.
Conocer los rangos en los que se puede mover una restriccin sin alterar gravemente la solucin,
sirve para realizar anlisis de sensibilidad. En ocasiones los valores de las restricciones (y otros
coeficientes) no son estrictamente conocidos, pero se la solucin no variara (conceptualmente) con
variaciones en los coeficientes dentro del rango, es til conocer ste, para saber si hay que invertir un
mayor esfuerzo en conocer exactamente el dato.
Cuando los rangos son amplios se puede asumir que un modelo es estable.
Rangos en el objetivo
A menudo es til conocer los efectos de cambios en los coeficientes de la funcin objetivo en la
solucin ptima (para ello se han definido los costes reducidos). Anlogamente a las restricciones se
pueden definir rangos de variacin donde no existirn variaciones en la estructura de la solucin.
La misma aplicacin en anlisis de sensibilidad que los rangos en las restricciones pueden tener los
rangos en los objetivos. Adems de que aqu no solo variar la poltica de la solucin sino tampoco la
cantidad exacta.
4.6.4 Modelos Estables
En muchas ocasiones es ms interesante encontrar soluciones estables que soluciones ptimas. Las
soluciones estables son aquellas en las que pequeas variaciones de los coeficientes no alteran la
solucin final. Esto se da en una gran proporcin de casos en los que no se puede cambiar la poltica de
una empresa debido a pequeas variaciones en los datos de entrada.
De algn modo este tipo de situacin puede ser modelado relajando algunas restricciones, es decir,
suponer que se va a poder violar la restriccin:
b x a
j j
s


Para ello resulta de inters que se pueda establecer como:
b u x a
j j
=


Modelos y Mtodos de Investigacin de Operaciones

Pgina 47 de 190
Y un sumando en la funcin objetivo que penalice el uso de u.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 48 de 190 JPGS2011
5 LINEALIZANDO LO NO LINEAL
Cuando se trata de un modelo lineal los beneficios (o costes) son proporcionales a la cantidad
vendida o fabricada, el uso de un recurso limitado depende linealmente de la cantidad fabricada y el uso
total de un recurso por parte de un conjunto de actividades es la suma de consumos parciales.
Todas estas expresiones configuran un modelo lineal. Sin embargo en realidad se dan, en ocasiones,
circunstancias no lineales.
Es fcil encontrar ejemplos sencillos de expresiones que, siendo aparentemente lineales, en el fondo
no lo son, como por ejemplo el objetivo de minimizar el valor absoluto de una diferencia.
Tambin es habitual encontrar relaciones entre variables cuya aproximacin es difcilmente
aproximable a un caso lineal.


As por ejemplo los beneficios asociados a la venta de un producto pueden depender de la cantidad
vendida.
Un modo bastante acertado de representar esta relacin entre el precio de venta y la cantidad pedida
es la denominada elasticidad de precios (la inelasticidad supone que un incremento en el precio supone
incremento en los beneficios). El grado de elasticidad de un producto es:
precio el en cambio de porcentaje
demandada x cantidad la en cambio de porcentaje
=
x
E
De este modo, y asumiendo E
x
constante en un rango:
x
E
x
k
x p
1
) ( =
donde k es el precio sobre el cual la demanda es unitaria. Por tanto los beneficios esperados para una
venta de x son:
)
1
1 (
) (
x
E
x k x x p

=
Ejemplo 3

Modelos y Mtodos de Investigacin de Operaciones

Pgina 49 de 190
El anterior es un ejemplo de relacin no lineal que conducira a un objetivo no lineal. Existen tambin
ejemplos de restricciones no lineales. Por ejemplo en la mezcla de componentes cuyas caractersticas
mezcladas no tengan un comportamiento lineal. O cuando se vean afectadas por un producto de
variables (por ejemplo, mantener la presin de un gas por debajo de ciertos niveles, pudiendo alterar
volumen y temperatura).
Ms habituales an son las restricciones de tipo lgico, que por su propia estructura no son lineales.
Los modelos de programacin no-lineal son mucho ms complejos de resolver que sus anlogos
lineales, adems en muchos paquetes aunque se encuentra una solucin sta no es necesariamente
ptima. Sin embargo es posible convertir relaciones no lineales en aproximaciones lineales. Y ese es el
objeto de este captulo.
5.1 Objetivos no Lineales fcilmente linealizables
En los siguientes apartados se relacionan algunos de los objetivos que ms comnmente se
encuentran en la construccin de modelos pero que no son lineales en su definicin. Dichos objetivos
son:
- Minimizar un valor absoluto.
- Minimizar el mximo.
- Minimizar un ratio.
5.1.1 Objetivo Minimizar un valor absoluto.
Esta situacin se da cuando se pretende minimizar una cierta discrepancia entre dos valores.
| | Min x y
La funcin absoluto no es una funcin lineal, para convertirla en lineal es necesario establecer una
tercera variable que:
| | z Min
sujeto a:

z x y
z y x
>
>





Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 50 de 190 JPGS2011
5.1.2 Objetivo Minimizar el Mximo o Maximizar el Mnimo
En ocasiones el objetivo que se persigue se representa de la siguiente manera:
| |

j
ij j
x a Min
i
Max

La funcin mximo no es una funcin lineal. Y por tanto debe ser linealizada. El objetivo minimizar el
mximo se puede convertir en un objetivo lineal introduciendo una variable z que lo representa. La
nueva formulacin es:
| | z Min
sujeto a:
i 0 s

z x a
j
ij j

Las nuevas restricciones garantizan que z ser mayor o igual que cualquiera de los valores
i x a
j
ij k


Evidentemente el objetivo
| |

j
ij j
i
x a Min Max
se puede representar tambin de un modo similar.
Sin embargo los objetivos maximizar el mximo y minimizar el mnimo no se pueden representar de
modo lineal, sino segn Programacin Entera ( y se presentan en un apartado posterior)
5.1.3 Objetivos de Ratio
En ocasiones aparecen objetivos de ratio. Por ejemplo maximizar la relacin beneficios/inversin.
Dichos siguientes objetivos no-lineales pueden ser representados genricamente del siguiente modo.
| |

j
j j
j
j j
x b
x a
Max
Es posible transformar la funcin objetivo de forma que se convierta en un objetivo lineal. Para ello
hay que establecer una transformacin de variables como la que se representa a continuacin:

j j
w x t =
donde
1
j j
j
t
b x
=


Con esta transformacin el objetivo pasa a ser lineal, con la siguiente expresin:
Modelos y Mtodos de Investigacin de Operaciones

Pgina 51 de 190
| |

j
j j
w a Max
Para garantizar la transformacin hay que incorporar la siguiente restriccin.
1 =

j
j j
w b
Y adems hay que convertir las restricciones originales que utilizan las variables x que han sido
transformadas
e x d
j
j j
>
s


en nuevas restricciones que usan la variable w
j
0
>
s

et w d
j
j j

Hay que destacar que esta transformacin es vlida si

j
j j
x b
es siempre del mismo signo y no nula.
5.1.4 Objetivos Maximizar el Mximo (o Minimizar el Mnimo)
Si el objetivo fuera del tipo
| |

j
j ij
x a Max
i
Max
Sujeto a restricciones lineales convencionales
Este tipo de situacin se puede modelar del siguiente modo
Max z
Sujeto a
... ) 0 ( ) 0 (
2 1
v = v =

z x a z x a
j
j j
j
j j

Pero eso exige el uso de restricciones de tipo lgico que se analizarn ms adelante.
5.2 El uso de variables discretas para representar relaciones condicionales.
El uso de variables enteras en el proceso de modelado puede servir a diferentes propsitos como se
ha indicado anteriormente. Pueden representar cantidades indivisibles y tambin variables de decisin.
Estas indican la decisin a tomar. Suelen ser variables de tipo binario 0-1 (o=1 abrir centro y o=0 no
abrir) Aunque nada impide que adopten ms valores (o=0 no abrir, o=1 abrir en Valencia, o=2 abrir en
Alicante)
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 52 de 190 JPGS2011
Sin embargo, en este apartado se pretende establecer, la utilidad de las variables enteras para
establecer relaciones entre restricciones basadas en condiciones.
5.2.1 Funciones no continuas.
La suposicin de que la produccin de un determinado artculo supone un coste fijo C
1
adems de un
coste variable C
2
que depende de la cantidad, y que el coste fijo no se paga si la cantidad fabricada es
0.

=
> +
=
0 x 0
0 x
2 1
x C C
C
T

Sera interesante conocer, mediante una variable o si x es mayor que 0 o es nulo (o=1 o o=0
respectivamente). De este modo
x C C C
T
+ =
2 1
o
Esto se podra lograr estableciendo la restriccin
0 s o M x
donde M es una cota superior conocida de x.
5.2.2 Relacin Lgica: 1
j j
j
a x b o = s

.
Tambin se pueden utilizar estas variables indicadoras para conocer si una restriccin es violada o
no. Sea la restriccin:
b x a
j
j j
s


Supngase que se desea que o=1 represente que la restriccin se cumple, esto se puede expresar
como:
1
j j
j
a x b o = s


Se puede mostrar que el modo de representar sta condicin mediante una desigualdad lineal es:
b M M x a
j
j j
+ s +

o

Donde M es tal que
j j
j
a x b M s

en cualquier circunstancia.
5.2.3 Relacin Lgica 1
j j
j
a x b o < =

:
Podra interesar representar la siguiente condicin
Modelos y Mtodos de Investigacin de Operaciones

Pgina 53 de 190
1
j j
j
a x b o < =


Esta condicin se representa del siguiente modo:

j j
j
a x m b o + >


Donde m es una cota inferior de
j j
j
a x b

.

5.2.4 Relacin Lgica 1
j j
j
a x b o s =

:
Podra interesar representar la siguiente condicin
1
j j
j
a x b o s =


Esta condicin se representa del siguiente modo:
( )
j j
j
a x m b c o c > +


Donde m es una cota inferior de
j j
j
a x b

y c es la tolerancia a partir de la cual consideramos que


j j
j
a x b >


5.2.5 Relacin Lgica 1
j j
j
a x b o = >

:
Sea ahora la restriccin:
j j
j
a x b >


Supngase que se desea que o=1 represente que la restriccin se cumple, esto se puede expresar
como:
1
j j
j
a x b o = >


Se puede mostrar que el modo de representar sta condicin mediante una desigualdad lineal es:
j j
j
a x m m b o + > +


Donde m es una cota inferior de
j j
j
a x b


Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 54 de 190 JPGS2011
5.2.6 Relacin Lgica 1
j j
j
a x b o > =

:
Podra interesar representar la siguiente condicin
1
j j
j
a x b o > =


Esta condicin se representa del sigiente modo:

j j
j
a x M b o s


Donde M es de nuevo una cota superior de
j j
j
a x b



5.2.7 Relacin Lgica 1
j j
j
a x b o > =

:
Asimismo, podra interesar representar la siguiente condicin
1
j j
j
a x b o > =


Esta condicin se representa del siguiente modo:
( )
j j
j
a x M b c o c + s


Donde M es de nuevo una cota superior de
j j
j
a x b

y c es la tolerancia a partir de la cual se


considera que
j j
j
a x b <


5.3 Ms Relaciones Lgicas y su representacin.
Para poder abordar este apartado es necesario establecer una cierta notacin del Algebra Booleana
bsica:
v significa o (o inclusivo, A, B, o ambos)
. significa y
significa NO
significa implica
significa si y solo si
Estos elementos se denominan operadores y unen proposiciones como P,Q,R... x>0, o=1, etc.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 55 de 190
El par de operadores { ,v} sirve para representar cualquier combinacin posible (lo que es
especialmente interesante). Asumiremos que los smbolos por orden de importancia son , . , v y
, lo cual evita el uso de excesivos parntesis.
As por ejemplo:
(P.Q)vR se puede escribir como P.QvR
P(QvR) se puede escribir como PQvR
P es lo mismo que P
PQ es lo mismo que PvQ
PQ.R es lo mismo que (PQ).(PR)
PQvR es lo mismo que (PQ)v(PR)
P.QR es lo mismo que (PR)v(QR)
PvQR es lo mismo que (PR).(QR)
(PvQ) es lo mismo que P. Q
(P.Q) es lo mismo que P v Q
Mediante estas reglas bsicas es posible construir casi cualquier expresin y reducirla a otra que
utilice distintos operadores.
As por ejemplo si X
i
es la proposicin o
i
=1, se puede decir que:
0 a e equivalent es
0 a e equivalent es
0 1 - 1 a e equivalent es
1 , 1 a e equivalent es
1 a e equivalent es
2 1 2 1
2 1 2 1
1 1 1
2 1 2 1
2 1 2 1
=
s
= =
= =
> + v
o o
o o
o o
o o
o o
X X
X X
X
X X
X X

Suponga que se quiere garantizar que si x=1 entonces y=0, siendo ambas variables binarias
x+y1
Ejemplo 4
Ejemplo 2 Suponga que se quiere garantizar que si xb y x1 entonces y=z+1. Siendo x y z
variables enteras.
La expresin buscada es:
( ) ( ) ( )
( ) ( ) ( ) ( )
1 1
1 1 1
x b x y y
x b x y y t
s . > = +
s . > = = +

Usando :
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 56 de 190 JPGS2011
( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( )
( ) ( )
1
1 1
1 1 1
1 1
1 1
x b
x
y z
y z
o
|
o | t
t
t
s =
> =
= . = =
= > +
= s +

Se puede afirmar que la expresin es equivalente a:
1
1
0
1
1
x M b
x M
y z m m
y z M M
o | t
o
|
t
t
+ s
+ > +
s
> +
+ s +

Donde m es una cota inferior de y-z-1 y M es una cota superior de y-z+1
Ejemplo 5
En un caso de programacin de produccin, si cualquiera de los productos A o B se fabrican,
entonces hay que fabricar C, D, E.
Esta condicin se puede representar como
) ( ) (
E D C B A
X X X X X v v v
Sea o
i
=1 se fabrica el producto i
Sea o una variable auxiliar tal que
1 1 = > + o o o
B A

Esta expresin se puede indicar como
0 2 s + + o o o
B A

Adems
1 1 > + + =
E D C
o o o o
Lo que se puede expresar como
0 s
E D C
o o o o
As pues el ejemplo se puede representar como el par de restricciones
)
`

s
s +
0
0 2
E D C
B A
o o o o
o o o

Modelos y Mtodos de Investigacin de Operaciones

Pgina 57 de 190
Ejemplo 6
En ocasiones se admite como til el uso de polinomios de variables indicadoras. Estas expresiones
pueden ser siempre sustituidas por expresiones lineales, as, por ejemplo
2 a e equivalent es 1
1 a e equivalent es 0
2 1 2 1
2 1 2 1
= + =
s + =
o o o o
o o o o

De modo ms general si el trmino
2 1
o o ha de aparecer siempre podr ser sustituido por una
variable
2 1 3
o o o = que tiene la siguiente condicin ) 1 1 ( 1
2 1 3
= . = = o o o lo cual se puede
expresar mediante
1
0
0
3 2 1
3 2
3 1
s +
s +
s +
o o o
o o
o o

Es incluso posible linealizar trminos en los que se multiplica el valor de una variable 0-1 con una
variable real ) ( o x Sea ) ( o = x y
)
`

= =
= =
x y
y
1
0 0
o
o

lo que es equivalente a
M M y x
y -x
M y
s +
s +
s
o
o

0
0

5.4 Conjuntos especiales de variables ordenadas
Existen dos tipos de restricciones cuya presencia en problemas reales es habitual y que, adems,
estn implementadas en mltiples paquetes porque facilitan la resolucin. Estas son conjuntos de
variables en que slo una de entre todas puede adoptar un valor no nulo. Estas variables se denominan
SOS1.
El modelado de una funcin como
| |
| |
| |

e
e +
e
=
6,10 x 8 3
4,6 x 4
0,4 x 2
x
x
x
y
sera del tipo
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 58 de 190 JPGS2011
1
22 10 8
10 6 4
4 3 2 1
4 3 2
4 3 2
= + + +
+ + =
+ + =



y
x

siendo (
4 3 2 1
, , , )un conjunto SOS2
Otro ejemplo de uso de estas variables es la denominada formulacin modal, citada en un apartado
anterior.
Sea el siguiente conjunto de restricciones:
7 s +
B A
x x

15 3 s +
B A
x x
5 s
B
x

La representacin grfica del espacio de soluciones de este modelo es:
Esta situacin se puede modelar representando exclusivamente los vrtices. Usando por tanto ms
variables aunque menos restricciones (concretamente una)
1
4 3 2 1 0
= + + + +
Y all donde se encuentra x
A
y x
B
los cambiaremos por:
4 3 2
5 4 2 + + =
A
x
3 2 1
3 5 5 + + =
B
x
Donde los coeficientes son las coordenadas x e y de cada uno de los puntos. Este tipo de
formulacin puede ahorrar gran cantidad de tiempo en la resolucin del problema.
Asociadas a estas existen los conjuntos de variables denominadas SOS2. En ellos slo dos
variables pueden tener valor no-nulo y adems deben ser consecutivas.



0

A
x
B
x
(0,0)
(0,5)
(2,5)
(4,3)
(5,0) 0

A
x
B
x
(0,0)
(0,5)
(2,5)
(4,3)
(5,0)
Modelos y Mtodos de Investigacin de Operaciones

Pgina 59 de 190
Supngase que la regin de factibilidad de una variable es la siguiente OABCDEFG regin no-
convexa

Esta regin se puede representar de la siguiente manera, utilizando las variables
3 2 1
, o o o y
) 5 ( ) 1 ( 1
) 8 3 ( ) 0 ( 1
) 4 ( ) 3 ( 1
1 2 3
2 1 2 1 2
2 1 2 1
s . s =
s . s + =
s + . s =
x x
x x x x
x x x
o
o
o

lo que equivale a imponer las siguientes restricciones:
1
5
4 3
15 7 3
4 4
9 5
4
3 2 1
1
3 2
2 2 1
2 2 1
1 2 1
1 2
> + +
s
s +
s +
s + +
s + +
s +
o o o
o
o
o
o
o
x
x
x x
x x
x x
x

Existe una formulacin alternativa para una regin no-convexa y conectada. Esta sera la siguiente
1
0 4 2 3 3
0 5 5 3 4 2
2
1
s + + + + +
=
=
F E D C B A
F E D C b A
G F E D C B
x
x




Siendo en este caso el conjunto ) , , , , , (
F E D C B A
del tipo SOS2

El uso de estos dos tipos de variables SOS1 y SOS2 es considerado explcitamente por algunos
motores de resolucin y facilita enormemente el proceso de ramificacin y corte, y por tanto reduce el
coste computacional.


A B
C
D
E F
G
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 60 de 190 JPGS2011
6 MODELOS DE PROGRAMACIN ENTERA
6.1 Introduccin
Una gran cantidad de problemas reales se puede modelar utilizando variables enteras y restricciones
lineales.
En la mayor parte estos los valores que pueden adoptar las variables enteras son 0-1. Tales valores
se utilizan para modelar decisiones si o no. Como se ver en los siguientes apartados, es posible
establecer relaciones lgicas entre restricciones, usando este tipo de variables y manteniendo la
linealidad.
Antes de abordar la linealizacin mediante programacin entera, hay que destacar la problemtica de
la resolucin de estos modelos. Los tiempos de computacin para resolver un problema de
Programacin Entera son mucho ms largos que para un problema de Programacin Lineal de similares
caractersticas.
Existe un peligro evidente de invertir gran cantidad de recursos en modelar, slo para descubrir al
final que el problema no era resoluble en un tiempo razonable, por ello en los ltimos apartados del
presente captulo se abordar el problema de reducir el tamao de los modelos.
6.2 Diferentes reas de aplicacin de la Programacin Entera
En el presente apartado se tratan diferentes reas donde la programacin entera resulta de inters.
6.2.1 Problemas con inputs (u outputs) discretos
Este es el caso ms obvio: si fabricamos aviones o coches no es posible fabricar 2.33 unidades. Por
tanto la solucin debe ser entera. En realidad en estos casos es especialmente relevante la PE slo si
los valores resultado son de un dgito. En otros casos basta resolver como si fuera Programacin Lineal
y posteriormente redondear.
6.2.2 Problemas con condiciones lgicas
Suele ocurrir que en algunas de las restricciones que se deseen imponer son de tipo lgico.
si se abre fbrica en Valencia, no se debe abrir en Madrid
Este tipo de condiciones lgicas pueden ser modeladas mediante Programacin Entera, simplemente
introduciendo nuevas variables como se ver en un apartado posterior.
6.2.3 Problemas de combinatoria
Muchos de los problemas prcticos de Investigacin Operativa tienen como caracterstica bsica la
existencia de un extremadamente largo nmero de soluciones posibles. Dichas soluciones aparecen a
partir de diferentes mtodos de ordenar actividades y/o asignar recursos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 61 de 190
Este tipo de problemas se denominan Combinatorios. Los problemas de tipo combinatorio se
pueden clasificar a su vez en problemas de Secuencia o de Reparto. Estos ltimos se clasifican a su
vez en problemas de asignacin, donde existen tantos trabajos como recursos, y cada trabajo exige slo
un recurso, y los problemas de transporte donde cada trabajo requiere varios recursos. Algunos
problemas de Reparto no requieren PE, aunque la mayora s.
6.2.4 Problemas No-lineales
Como ya se ha comentado en el captulo anterior los problemas No-Lineales se pueden atacar
mediante modelos de PE. Para ello se han mostrado diferentes tcnicas en el captulo anterior.
6.3 Otras condiciones aplicadas a Modelos de Programacin Lineal
La mayor parte de los modelos de PEM aparecen desde Programacin Lineal en la que hay que
aplicar unas restricciones extraordinarias. En este apartado se observan las ms comunes de estas
restricciones.
6.3.1 Restricciones disyuntivas
Supongamos que en un problema de Programacin Lineal pretendemos que no todas las
restricciones acten simultneamente
N
R R R R v v v v ...
3 2 1

Introduciremos un conjunto de variables
i
o (i=1,...,N) donde 1 =
i
o si se ha de cumplir R
i
.
i i
R =1 o
Y el conjunto
i
o debe cumplir
1 ...
2 1
> + + +
N
o o o

Ejemplo:
Sea una restriccin
1 2 3
R R R v v
Si R
i
es del tipo
i
j
j ij
b x a s

entonces el caso se representa como:


1 1 1
2 2 2
3 3 3
j j
j
j j
j
j j
j
a x M M b
a x M M b
a x M M b
o
o
o
+ s +
+ s +
+ s +


Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 62 de 190 JPGS2011
1 2 3
1 o o o + + >


6.3.2 Regiones No-Convexas
6.3.3 Limitar el nmero de variables en una solucin
Esta es otra aplicacin de restricciones disyuntivas. Como ya se ha comentado en cualquier
problema de Programacin Lineal no habr ms variables no-nulas que restricciones. Sin embargo es
posible que nos interese reducir este nmero de variables no nulas. Para hacer esto se necesita la PE.
Para ello se incorporan nuevas variables
i
o tales que:
1 0 = >
i i
x o
lo que equivale a introducir la restriccin 0 s
i i
M x o
En este caso se introducir la siguiente condicin
k
i
s

o
que reducir a k el nmero de variables no-nulas
6.3.4 Decisiones Secuencialmente Dependientes
A menudo ocurre que se pretende que una decisin se prolongue en el tiempo. Por ejemplo si
t

representa si una instalacin est abierta o cerrada, y se pretende que una vez cerrada ya no se vuelva
a abrir
) 0 ( ... ) 0 ( ) 0 ( 0
2 1
= . . = . = =
+ + n t t t

se puede representar como
0 2 -
....
0 2
0 2
1
3 2
2 1
s +
s +
s +
n n




6.3.5 Extensiones discretas de capacidad
A menudo no es realista suponer que determinadas restricciones no pueden ser violadas. As por
ejemplo una mquina podra aumentar su nmero de horas disponibles sin ms que duplicar (o triplicar)
el nmero de turnos que trabaja. Con evidentemente un coste asociado.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 63 de 190
Supongamos que la restriccin citada se puede expresar como
j j j
b x a s


Donde b
i
es variable y tiene un coste asociado de c
i
(independiente para cada b
i
) con
n o
c c c < < < < ... 0
1

Esta situacin se puede modelar del siguiente modo en la restriccin
0 ...
1 1 0
s
n n o j j
b b b x a o o o
y en la funcin objetivo se aade
n n o
c c c o o o + + + ...
1 1 0

el conjunto de variables (
n
o o o ,..., ,
1 0
) es de tipo SOS1 y fijndole una cota de 1 no es siquiera
necesario establecer condiciones de integralidad.
6.4 Tipos Especiales de Modelos de Programacin Entera
En estos apartados se presentan algunos problemas clsicos de Programacin Entera. La
importancia de estos problemas radica en el hecho de que los problemas complejos se suelen poder
reducir a combinaciones de stos.
6.4.1 El problema de la mochila
Un problema de PE con una nica restriccin se denomina Problema de Mochila y toma la forma
| |
b
Max
i
i
s

o
o
i
i
a s.a
c

El problema de la mochila se da pocas veces de modo independiente (seleccin de proyectos o
decisin de inversin). El problema de la mochila es, comparativamente, fcil de resolver. El mejor modo
de resolverlo es programacin dinmica, y no ramificacin y corte que explora de manera demasiado
amplia.
6.4.2 Problemas de cubrimiento
Estos problemas derivan de un tipo de problema abstracto que puede ser enunciado del siguiente
modo:
Dado un conjunto S de objetos que podemos numerar S=(1,2,...,m) y dada una clase T de
subconjuntos de S, teniendo cada clase un coste el problema es cubrir todos los miembros de S
utilizando miembros de T
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 64 de 190 JPGS2011
Sea S=(1,2,3,4,5,6) sea T=((1,2),(1,3,4),(5,6),(4,6),(3,4,5)). Se producira cubrimiento con
((1,2),(1,3,4),(5,6)) o con ((1,2),(5,6),(3,4,5))
Para modelarlo sea:
T de elemento simo - i el usar de coste el
contrario caso en 0
do selecciona es T de elemento simo - i el si 1
=

=
i
i
c
o

El modelo resulta
| |
1
1
1
1
1
1
s.a

4 3
5 3
5 4 2
5 2
1
2 1
i
> +
> +
> + +
> +
>
> +

o o
o o
o o o
o o
o
o o
o
i i
c Min

Este problema de cubrimiento tiene 3 propiedades bsicas.
P1 El problema es de minimizacin y las restricciones son >1
P2 Todos los coeficientes RHS son 1
P3 Todos los dems coeficientes de la matriz son 0 o 1
Si se relaja la propiedad 2 (se obliga a que algunos elementos de S sean cubiertos en un mayor
nmero de ocasiones) se tiene un tipo de problema de cubrimiento ponderado. Y si adems se permite
que los dems coeficientes de la matriz puedan valer 0 y 1 (propiedad 3) tenemos lo que se denomina
un problema de cubrimiento generalizado.
6.4.3 Problemas de empaquetado
Otro tipo clsico de problemas son los de empaquetado, que se pueden enunciar as:
Dado un conjunto S de objetos que podemos enumerar S=(1,2,...,m) y dada una clase T de
subconjuntos de S, teniendo cada subconjunto un valor asociado, se trata de relacionar miembros de T
que maximicen el valor pero que no se superpongan
Con el conjunto S y la clase T del ejemplo anterior el problema queda (incorporando un valor v
i
a
cada miembro de T)
Modelos y Mtodos de Investigacin de Operaciones

Pgina 65 de 190
| |
1
1
1
1
1
1
s.a

4 3
5 3
5 4 2
5 2
1
2 1
i
s +
s +
s + +
s +
s
s +

o o
o o
o o o
o o
o
o o
o
i i
v Max

Las mismas generalizaciones de los problemas de cubrimiento se pueden aplicar en los
problemas de empaquetado dando lugar al problema de empaquetado ponderado y al problema de
empaquetado generalizado.
6.4.4 El Problema del viajante de comercio
ste problema es un problema muy habitual y de simple formulacin aunque de resolucin muy
complicada en circunstancias reales.
El problema consiste en establecer un circuito que recorra todos los destinos pasando una solo vez
por cada uno de ellos. Existen muchas situaciones reales asociadas a este problema de rutas, con
diferentes variantes, e incluso se da en otras situaciones como por ejemplo en la reduccin de costes de
cambio de partida.
Su formulacin evidente es la siguiente
i 1
j 1 s.a
c
j
ij
i
ij
j i,
ij
=
=

o
o
o
ij
Min

En una situacin cualquiera (con 6 ciudades) la solucin ptima podra ser:

lo que, evidentemente, no es una solucin satisfactoria. Para eliminar esta circunstancia se puede
aadir el siguiente conjunto de restricciones, que requieren de las variables u
i
.
1 s + n n u u
ij j i
o
Esto incorpora n(n-1) restricciones al problema. La variable u
i
representa el orden en el que el
punto i ser visitado, siendo u
1
=1.
1
2
3
5
4
6 1
2
3
5
4
6
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 66 de 190 JPGS2011
Si el nmero de restricciones incorporado es excesivo (lo que puede ocurrir) existe un
procedimiento alternativo para resolver el problema de las sub-ciclos. Consistira en incorporar la
restriccin
2
31 23 12
s + + o o o
Esto eliminara la solucin planteada anteriormente de entre las posibles. En definitiva ste es un
modo de buscar el ptimo mediante el sucesivo refinamiento del modelo.
En cualquier caso hay que destacar el elevadsimo coste computacional de la resolucin de este
problema mediante PEM, cuando las dimensiones no son pequeas por ello lo habitual es plantear
mecanismos de resolucin especiales.
6.4.5 El problema de asignacin cuadrtica
Esta es una generalizacin del problema de asignacin descrita en un captulo anterior. Aunque el
problema de asignacin es un problema de Programacin Lineal fcil de resolver, el problema de
asignacin cuadrtica es un problema de PE y generalmente muy difcil de resolver.
El problema consiste en:
Dado un conjunto S con n elementos y un conjunto T con el mismo nmero de elementos, el
problema consiste en asignar exactamente un elemento de S a T y viceversa
Para ello se define

e e
=
contrario caso en 0
T j a asigna se S i si 1
, j i
o
Las restricciones son las siguientes
1,2,..., j 1
n 1,2,..., i 1
1
1
= =
= =

=
=
n
i
ij
n
j
ij
o
o

La diferencia con el problema de asignacin normal radica en la funcin objetivo. En ella las
variables se multiplican, para valorar la asignacin combinada. Es decir, se asigna un coste c
ijkl
si al
mismo tiempo que ieS se asigna a jeT se asigna a keS a leT.

>
n
i k
l j i
kl ij ijkl
c
, ,
o o
Este problema se puede abordar como un problema de PE clsico con n
4
variables binarias.
Tambin existen procedimientos especficos de resolucin.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 67 de 190
6.5 Buenas y malas formulaciones de un modelo de PE
La mayor parte de las consideraciones realizadas en apartados anteriores para la Programacin
Lineal sirven para la PE. Adems nuevas consideraciones se convierten en importantes en el momento
que el problema tiene variables enteras.
La primera y ms importante de las razones es que la resolucin de un modelo de PE es mucho
ms complicada que uno de Programacin Lineal de parecidas dimensiones.
El nmero de variables no es un buen indicador para saber si un modelo est bien o mal
construido. De hecho en ocasiones es interesante introducir nuevas variables siempre que faciliten el
proceso de resolucin.
El nmero de restricciones afecta, generalmente, en un sentido contrario que a los modelos de
Programacin Lineal, es decir, un mayor nmero de restricciones facilita el proceso de resolucin. El
motivo es que aumenta la posibilidad de que el ptimo del modelo de Programacin Lineal asociado sea
a su vez entero.
El uso de los conjuntos ordenados de variables, si el paquete puede trabajar con ellos, facilita la
resolucin.
6.6 Simplificacin de un modelo de Programacin Entera
En este apartado se proponen cuatro procedimientos que permiten mejorar el tiempo de
resolucin de modelos de PE. La mayor parte de estos procedimientos parten del anlisis concreto de
cada problema.
6.6.1 Ms Restricciones y Ms Ajustadas
En Programacin Lineal es habitual pretender reducir el nmero de restricciones como un modo
de facilitar la resolucin. En PE el efecto deseado es el mismo, aunque el mtodo es el contrario.
Mediante el anlisis directo de diferentes restricciones es posible encontrar restricciones combinadas
que reducen el mbito de variacin de diferentes variables, haciendo que el ptimo del problema de
Programacin Lineal est muy cerca del ptimo del PE.
| |
{ } 1 , 0
1 2 2 2
0 2 2 3 6 2 -
2 5 3
.
3 10 7 5
i
5 4 3 2
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
e
> +
> + +
> + +
+ + + +
o
o o o o
o o o o o
o o o o o
o o o o o
a s
Min

De la tercera restriccin se puede sacar la siguiente relacin:
1 2 2 1 2
5 4 2 3
> + + + > o o o o 1
2
1
3 3
= > o o
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 68 de 190 JPGS2011
De la segunda restriccin, y realizando operaciones parecidas:
1 2 2 3 2 6
5 4 1 2
> + + > o o o o 1
6
1
2 2
= > o o
Y nuevamente de la restriccin tercera:
0
5 4
s s o o
0
0 0
5
4 4
=
= s
o
o o

De donde 0
1
= o y la funcin objetivo es 0
Bsicamente se puede admitir que el mtodo consiste en analizar la configuracin del problema,
para encontrar relaciones, ms o menos evidentes, que reducen el nmero de variables al asignarles
valores.


6.6.2 Simplificar una restriccin entera con otra restriccin
Dada la restriccin entera
9 6 4
2 1
s +
Donde
2 1
y son variables enteras. A efectos de la resolucin la restriccin
2 2
2 1
s +
es equivalente y mucho ms adecuada porque los enteros ms prximos estn en ella considerados
El procedimiento consiste en encontrar para cada restriccin
o n n
a a a a s + + + o o o ...
2 2 1 1

Una restriccin
o n n
b b b b s + + + o o o ...
2 2 1 1

que no reduzca el espacio de enteros posibles pero s el del problema de Programacin Lineal
asociado. Aunque es un mtodo muy efectivo, realmente el clculo de las restricciones citadas a
menudo consume excesivos recursos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 69 de 190
6.6.3 Restricciones discontinuas
En ocasiones hay que restringir una variable continua a segmentos o puntos, por ejemplo
0 a x b x c x = s s =
Esta circunstancia puede ser representada por un conjunto de restricciones disyuntivas, pero
tambin existe un procedimiento alternativo para representarla
1
2 2 1 1
2 2 1
= + + +
+ + =
o o
o
y y
c y b y a x

donde
2 1
y o o
son variables binarias y y
1
y y
2
son variables continuas (y no negativas)

Un caso comn pero especial es:
0) (a a x 0 > > = x
En este caso
1
2 1
2 1
= + +
+ =
y y
y M y a x
o

6.7 Informacin econmica y sensibilidad en los modelos de PE
Por las propias restricciones de los modelos de PE no es posible extraer de la resolucin (o del
dual) informacin estricta sobre los precios sombra o los costes reducidos, de las restricciones o de los
coeficientes.
Las restricciones no completamente utilizadas no implican, necesariamente que no tengan precio
sombra, puesto que es posible que una ligera ampliacin introduzca (o saque) de la regin de
factibilidad un punto que cumpla las condiciones de integralidad y mejore la funcin objetivo.
El nico modo de conocer tanto la informacin econmica prevista como de hacer un anlisis de
sensibilidad adecuado consistira en resolver una y otra vez el mismo modelo cambiando coeficientes.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 70 de 190 JPGS2011
7 PROGRAMACIN NO LINEAL
Los modelos de programacin no-lineal son mucho ms complejos de resolver que sus anlogos
lineales, adems en muchos paquetes aunque se encuentra una solucin sta no es necesariamente
ptima. Sin embargo es posible convertir relaciones no lineales en aproximaciones lineales. Para poder
tomar la decisin acerca de qu mtodo de resolucin es ms apropiado es importante conocer si el
problema es convexo o no-convexo.
7.1 ptimos locales y globales
El problema ms grave de la denominada Programacin No Lineal es la dificultad de garantizar que
un ptimo local (es decir un punto que es objetivamente mejor que todos sus vecinos) sea el ptimo
global. Mucha investigacin se dedica a este problema, y estos apuntes no pretenden ni de lejos
reflejarla.
Pero s que hay que entender determinados conceptos que ayudan a comprender la complejidad del
problema. Para ello es necesario recordar tres definiciones.
Definicin de regin convexa: Se dice que una regin del espacio es convexa si el segmento
que une dos puntos cualesquiera de la regin est ntegramente en la regin.
Definicin de funcin convexa: Se dice que una funcin es convexa si el conjunto de los
puntos (x,y) donde y>f(x) forma un regin convexa.
Definicin de un modelo de PM convexo: Se dice que un modelo de Programacin
Matemtica es convexo si implica la minimizacin de una funcin convexa sobre una
regin convexa.
Un modelo de Programacin Matemtica Convexo:
0 , x
2 4 x -
5 2x
4 : s.a.
2 4
2 1
2 1
2 1
2 1
2 1
2
1
>
> +
s +
s +

x
x
x
x x
x x x Min

Ejemplo 7
Un modelo de Programacin Matemtica No-Convexo
0 , x
2 4 x -
5 2x
4 : s.a.
6 3 4 -
2 1
2 1
2 1
2 1
2 1
3
1
>
> +
s +
s +
+
x
x
x
x x
x x x Min

Ejemplo 8
Modelos y Mtodos de Investigacin de Operaciones

Pgina 71 de 190
En el segundo de los ejemplos la regin de factibilidad es convexa, aunque la funcin objetivo no lo
es, por lo que es modelo no es convexo. La no convexidad conduce a una situacin en la que aparecen
ptimos locales lejos del ptimo global.
La posibilidad de que ptimos locales aparezcan como ptimos propiamente dichos, cuando el
modelo es no-convexo, es lo que convierte estos problemas en muy difciles de resolver.
Si el problema es convexo cualquier ptimo que se encuentre es ptimo global. Sin embargo
encontrar un ptimo global en un problema no-convexo requiere algoritmos ms sofisticados. Por
ejemplo el uso de la programacin separable que se explica en la siguiente seccin.
7.2 Programacin Separable
Se dice que una funcin es separable si puede ser expresada como la suma de funciones de una
variable nica.
Por ejemplo, la funcin
) log(
1
3
2
3
1
x
x
x + +
se puede denominar separable mientras que
2 1
3
2 1
x x
x
x x
+
+
no es funcin separable.
La importancia de que una funcin sea separable para la programacin matemtica radica en el
hecho de que una vez separada la mayor parte de las funciones se pueden aproximar a funciones
definidas por tramos que sean lineales. A partir de aqu ser posible encontrar un ptimo global para una
funcin convexa, o al menos un ptimo local si es no-convexa.
Aunque puede parecer que la clase de funciones separables es muy restrictiva, en realidad es
posible convertir en separables muchas funciones objetivo aparentemente no separables.
Una vez las variables han sido separadas, la funcin resultante se puede aproximar a una funcin por
tramos lineal. No importa donde est la no linealidad, pues el procedimiento es el mismo tanto se es en
la funcin objetivo como si es en las restricciones.
Para convertir en lineal la siguiente funcin objetivo del Ejemplo 7:
2
1 1 2
4 2 x x x
solo es necesario convertir la funcin x
1
2
.
A partir de la segunda restriccin del ejemplo es evidente que no es posible que x
1
sea mayor que
2.5. En este caso La funcin
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 72 de 190 JPGS2011
| | 5 . 2 , 0
2
1
e = x x y
puede ser sustituida por:
| |
| |
| |

e
e
e
=
2,2.5 x 5
5 . 0
25 . 2
2 , 0 x 2 3
1 , 0 x
x
x
x
y

Esta representacin es equivalente a:
1
25 . 6 4 1 0
5 . 2 2 1 0
4 3 2 1
4 3 2 1
4 3 2 1 1
= + + +
+ + + =
+ + + =



y
x

Por tanto el modelo del ejemplo 1 es el siguiente:
0 , , , , , x y,
1
0 6.25 4 y -
0 2.5 2 x -
2 4 x -
5 2x
4 : s.a.
2 4
4 3 2 1 2 1
4 3 2 1
4 3 2
4 3 2 1
2 1
2 1
2 1
2 1
>
= + + +
= + + + +
= + + + +
> +
s +
s +





x
x
x
x x
x x y Min

Ejemplo 9
Dado que la funcin es convexa no es necesario aadir ninguna restriccin ms. Si la funcin fuera
no-convexa sera necesario aadir una restriccin que tuviera en cuenta que
como mximo 2
i
adyacentes pueden ser no nulos
Esta restriccin slo se puede modelar mediante Programacin Entera, como se vi en un apartado
anterior. Lo destacable es que existen implementaciones que la consideran de manera eficiente.
En cualquier caso la separacin de variables para generar problemas no convexos conduce con
demasiada frecuencia a ptimos locales.
Para resolver este problema a menudo es posible resolver el mismo modelo mediante diferentes
estrategias, lo que da lugar a diferentes ptimos locales y, con suerte, algunos de ellos es ptimo global.
Existe un modo ms eficiente de convertir una funcin no-lineal en una funcin lineal. Este modo
alternativo conduce a la siguiente formulacin del Ejemplo 7
3 2 1
3 2 1 1
25 . 2 3
5 . 0
o o o
o o o
+ + =
+ + =
y
x

Modelos y Mtodos de Investigacin de Operaciones

Pgina 73 de 190
i j 0 i j 1 0 > > . < = >
j j i
si o o o
Aunque en tiempo de computacin es ms eficiente, este sistema es ms difcil de modelar y
requiere necesariamente del uso de programacin entera. Y en cualquier caso el problema de ptimos
locales permanece.
7.3 Cmo convertir un modelo no separable en un modelo separable
Considerar la no-linealidad slo si el modelo es separable puede parecer demasiado restrictivo. Sin
embargo, es posible convertir casi cualquier funcin de dos o ms variables en una funcin separable.
Una de las funciones no separables ms comunes es el producto de dos o ms variables. Si
observamos en nuestra funcin la expresin:
2 1
x x
sta puede ser sustituida por
2
2
2
1
u u donde
) (
2
1
) (
2
1
2 1 2
2 1 1
x x u
x x u
=
+ =

que es una funcin separable, donde los trminos pueden ser linealizados de modo aproximado como
se explica en el apartado anterior. Hay que destacar que u
2
es un variable libre, es decir, puede adoptar
valores negativos.

Otro mtodo de separacin es el uso de logaritmos. La anterior funcin x
1
x
2
puede ser representada
por:
y donde ) log( ) log( ) log(
2 1
x x y + =
que es una restriccin que puede tener variables separadas. Y donde la funcin logaritmo puede ser
linealizada.
Un tercer modo de separacin es el uso de funciones lineales definidas por tramos de ms de una
dimensin. Aunque este modo obliga a la aparicin de un gran nmero de variables y restricciones
auxiliares.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 74 de 190 JPGS2011
8 PROGRAMACIN ESTOCSTICA
8.1 Introduccin
Hasta este momento todas las formulaciones que se han presentado de Programacin Matemtica
asumen que los datos son conocidos. Sin embargo, en muchos problemas reales los datos no pueden
ser conocidos con exactitud. En ocasiones por errores de medida, pero ms generalmente porque son
datos sobre circunstancias que se darn en el futuro, y simplemente no pueden ser conocidos con
anticipacin.
Este tipo de problemas se dan con mucha frecuencia, puesto que en muchas ocasiones las
decisiones se toman de modo recurrente.
Por ejemplo el departamento de compras de una empresa toma la decisin de adquirir cierta cantidad
de materia prima atendiendo a una demanda conocida para el presente pero estimada para el futuro. Y
cuando ese futuro sea presente se tomar una nueva decisin.
El anterior es un ejemplo de recursividad. sta es, bsicamente, la capacidad de emprender acciones
correctivas despus de que la situacin incierta ocurra.
Hay que destacar tambin la propiedad de no-anticipacin que se exige a la programacin
estocstica. Se puede definir esta como la imposibilidad de vincular la decisin en el primer periodo no
depende de lo que de hecho ocurra en el segundo periodo. La decisin de hoy para hoy no puede ser
modificada maana.
8.2 Formulacin de Problema Estocstico
Una posible formulacin del Problema Lineal Estocstico es la siguiente:
0
0


. .
min
e
>
>
s +
s
+

y
x
h y W x T
b Ax
a s
y d p x c
e e e e
e
e
T
e e
T

Donde x c
T
es el coste de la decisin inmediata
e
T
e
y d es el coste de la mejor decisin en el escenario e.
A es la matriz tecnolgica sin incertidumbre
T
e
es la matriz tecnolgica con incertidumbre para las variables que corresponden a la decisin a
tomar.
W
e
es la matriz tecnolgica con incertidumbre para las variables que corresponden al futuro.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 75 de 190
Los problemas estocsticos son especialmente complicados debido a su tamao, que crece con el
nmero de escenarios. Pero adems la propia generacin de los escenarios y la definicin de
probabilidades a los mismos p
e
es un tema de gran complejidad.
Una de las principales ventajas de la programacin estocstica es que las soluciones que obtiene
para los periodos congelados (x) son estables ante los diferentes escenarios.
Existen paquetes informticos especficamente dedicados a la resolucin de problemas con
escenarios, pero tambin se pueden utilizar paquetes estandar, aunque la complejidad anteriormente
aludida es una limitacin evidente en su uso.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 76 de 190 JPGS2011
9 PROCEDIMIENTOS DE RESOLUCIN DE MODELOS DE
PROGRAMACIN MATEMTICA.
9.1 Introduccin
Hasta el momento se han planteado procedimientos de Modelado, dando por supuesto que el modelo
en s mismo podra ser resuelto. En el presente apartado se pretenden mostrar cmo se resuelven
problemas de programacin matemtica.
Pero existen en el mercado, disponibles para su adquisicin, procedimientos generales de resolucin
capaces de resolver en tiempos adecuados problemas cada vez ms complicados.
Aunque en la prctica es posible que sea ms rentable disear el propio procedimiento de resolucin.
Por ello se abordan en la fase final del captulo mtodos para disear procedimientos de resolucin para
los problemas que ya han sido modelados
9.2 Resolucin de problemas de programacin matemtica mediante el uso de
paquetes ya disponibles
9.2.1 Algoritmos y paquetes
Algoritmo es una palabra de origen rabe, concretamente, Al-jwarizmi era el apodo de un matemtico
cordobs de nombre Mohamed ibn Musa. Un algoritmo es un conjunto finito y ordenado de operaciones
cuya aplicacin permite resolver un problema.
Un algoritmo puede ser programado como un conjunto de rutinas de ordenador para resolver
problemas que tienen que estar expresados en un tipo particular de formato. Cuando los algoritmos
resuelven problemas suficientemente generales se suelen agrupar en paquetes que posteriormente se
comercializan.
Estos paquetes comerciales contienen habitualmente algoritmos para resolver modelos de
Programacin Lineal y de Programacin Entera Mixta.
Cuatro son los tipos de algoritmos que se pueden encontrar generalmente en un paquete comercial:
Una versin revisada del Simplex
Una extensin del Simplex para modelos separables
Un algoritmo de Ramificacin y Corte para modelos de Programacin Entera.
Algoritmos del Punto Interior
En cualquier caso otros hacen un uso cruzado de los diferentes mtodos. As la estrategia que
parece ms adecuada para problemas de muy grandes dimensiones es utilizar algoritmos genricos que
Modelos y Mtodos de Investigacin de Operaciones

Pgina 77 de 190
rpidamente nos conduzcan al entorno del ptimo y finalizar la exploracin del espacio de soluciones
con un Simplex que
Una de las mayores ventajas del uso de paquetes comerciales es que son muy flexibles en su uso.
Adems suelen contener unas caractersticas que los hacen muy interesantes, si se desean utilizar:
Reduccin, Soluciones iniciales, Cotas de Variables, Anlisis de Sensibilidad.
Reduccin
Algunos paquetes tienen procedimientos para detectar y eliminar redundancias en los modelos. De
este modo se reduce el tamao y por tanto el tiempo de resolucin.
Soluciones iniciales
La mayor parte de los paquetes permiten que el usuario aporte una solucin inicial. Si est
suficientemente cerca del ptimo el tiempo de resolucin se ver sustancialmente reducido. Esta
herramienta es especialmente til cuando se quiere probar el efecto de pequeos cambios en los
valores del modelo.
Cotas de variables
En algunas ocasiones el valor de las variables est acotada del siguiente modo:
L x U x > s Donde U y L son constantes.
Aunque en la formulacin convencional de los problemas de Programacin Lineal, esta restriccin
sera asociada a una fila de la matriz de restricciones, es ms eficiente considerar U o L simplemente
como una cota. Existe una versin modificada del Simplex que permite trabajar con estas variables
acotadas.
Restricciones de Cotas Generalizadas
Son bastante habituales las restricciones del tipo:
M x x x
n
s + + + ....
2 1

Este tipo de restricciones corresponden con una fila de unos en la matriz de restricciones y se suelen
denominar Cotas Superiores Generalizadas GUB (Generalized Upper Bound) del subconjunto. Si
existen muchas restricciones de este tipo para conjuntos disjuntos es til representarlos como GUBs,
puesto que reducen considerablemente el coste computacional.
Anlisis de sensibilidad
Cuando se halla la solucin ptima a menudo nos interesa investigar como afectaran cambios en los
coeficientes de la funcin objetivo y las restricciones. Esta informacin, que se puede obtener de todos
los paquetes comerciales es de una gran importancia, en el uso de los modelos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 78 de 190 JPGS2011
9.2.2 El uso de la Hoja de Clculo Excel
La hoja de clculo Excel dispone entre sus herramientas una dedicada a la resolucin de problemas
de Programacin Matemtica. Dicha herramienta (que en ocasiones hay que instalar a travs de
Herramientas/Opciones) se denomina Solver..
Para ilustrar su uso, bastante intuitivo por otro lado, se procede a plantear el modelo del apartado
3.6.
Una disposicin de las celdas, meramente orientativa, pues el solver es verstil en ese aspecto,
podra ser la siguiente:
En la celda G3 se ha introducido la frmula =SUMAPRODUCTO($B2:$F2;B3:F3) sta celda se ha
copiado en las celdas de la columna G inferiores.
Para poder usar el solver hay que acceder a travs de Herramientas/Solver.
En la fila 1 se ha puesto los nombres de las variables, en la fila 2 aparecern los valores de stas. La
fila 3 se dedica a los coeficientes de la funcin objetivo. Las filas 4 a 6 se dedican a las restricciones. En
la columna H se colocan los lmites de las restricciones.

Modelos y Mtodos de Investigacin de Operaciones

Pgina 79 de 190

Para que el ejemplo sea ms ilustrativo se ha incorporado una restriccin de integridad. Accediendo
al men de opciones se pueden modificar parmetros tales como el mtodo de resolucin usado, o el
tiempo mximo permitido.

Al acabar la resolucin del problema el Solver pregunta qu tipo de informes se desean. Y por tanto
es posible acceder a ellos. Dichos informes incluyen respuestas, sensibilidad (precios-sombra y costes-
reducidos) y anlisis de lmites (rangos)
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 80 de 190 JPGS2011

9.2.3 El uso de Lenguajes de Modelado
9.3 El uso de paquetes para la resolucin de modelos de Programacin Lineal
Aunque, en principio, uno podra programarse sus propios algoritmos para la resolucin de
problemas de Programacin Lineal, la realidad es que existen muchas alternativas que son mucho ms
eficientes que cualquier implementacin individual.
En el terreno del software comercial dos son los paquetes relevantes: CPLEX y Gurobi. CPLEX es el
software clsico. Llevan aos mejorando sus algoritmos y los ltimos pasos que dio (concretamente
CPLEX 12) parecan haber dejado completamente atrs a sus competidores. Sin embargo Gurobi en el
2009 salt a la arena, con un solucionador que es capaz de dejar atrs a CPLEX. En cualquier caso
pueden resolver problemas con decenas de miles de variables, tanto enteras como binarias, en algunos
segundos.
Muy lejos de estos dos software se encuentran las aplicaciones de software libre como GLPK
LPSolve.
En cualquier caso adems del soft de optimizacin, generalmente hace falta tener un soft de
interface, para poder introducir datos en formato natural, y extraerlos de manera natural tambin.
Se pueden encontrar en el mercado diferentes paquetes que ayuden al usuario a estructurar e
introducir un problema en un paquete en forma de modelo.Este tipo de programas se denominan
generadores de matrices por su origen, aunque en realidad son lenguajes de alto nivel para la
programacin matemtica.
El lenguaje de escritura ms utilizado es MathProg que es implementado en diferentes herramientas
como, o MPL. Algunas son de pago (AMPL y MPL de Maximal Software por ejemplo) y otras son
gratuitas como . Gusek o LPSolveIDE.
Por otro lado, el uso de software para la resolucin de programacin lineal cuando los programas son
de un cierto tamao (unos miles de variables) pueden requerir, para ser eficientes, de un cierto nivel de
tuneado. Parmetros como los gaps admisibles, las reglas de pivote, la reduccin previa, exigen unos
minutos hasta dar con una combinacin adecuada.
Se admite habitualmente que el mayor problema para aplicar de modo exitoso los modelos de
programacin matemtica no son los modelos ni los tiempos de resolucin, sino la interface con el
usuario: la entrada y la salida de datos.
El uso de paquetes de modelado aporta las siguientes ventajas:
a) Un modo de entrada de datos ms natural
b) Corregir y verificar es mucho ms fcil
c) Modificar se hace ms fcilmente
Modelos y Mtodos de Investigacin de Operaciones

Pgina 81 de 190
d) La repeticin de la ejecucin se puede automatizar.
9.3.1.1 Brevsima Introduccin al MPL
El MPL es uno de los programas existentes en el mercado que facilita la introduccin de modelos
matemticos en sistemas de resolucin de problemas de programacin matemtica.
Una versin MPL de prueba para estudiantes puede descargarse de la web www.maximal-usa.com.
Existiendo tambin en dicha web un muy buen manual en castellano, y mltiples ejemplos.
La utilidad del MPL se aprecia rpidamente sin ms que analizar cmo se introducira el problema del
apartado 3.6 citado anteriormente.

Es evidente la relacin entre este modo de introducir el modelo y el propio modelo.
Adems MPL incluye muchas otras funcionalidades como que Los datos pueden imputarse
directamente, o a travs de ficheros de texto, excel, access y otros medios. O que Si hay sumatorios
largos se pueden calcular por separado como macros.
Adems de un fichero solucin convencional se puede conectar a Excel o Access. Y por tanto el
sistema puede dar y recibir informacin a/de paquetes convencionales.
Por otro lado el MPL tiene funcionalidades como al correccin ortogrfica y sintctica de los modelos,
as como herramientas que permiten analizar los modelos desde un punto de vista estructural.
9.3.1.2 El proyecto NEOS
Tambin es relevante citar del denominado proyecto NEOS. Este se traduce en una web donde los
mejores optimizadores estn disponibles para ser utilizados remotamente. Adems el servidor tiene
INDEX
i= 1..5;
j= (torno,fresa,montaje);
DATA
benef[i] := (550,600,350,400,200);
prodhoras[j,i] :=(12,20,0,25,15,
10,8,6,0,0,
20,20,20,20,20);
rechoras[j] := (288,192,384);
VARIABLES
x[i];

MAX SUM( i : benef*x);

SUBJECT TO
restr[j] : SUM(i : prodhoras*x)<=rechoras;

END
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 82 de 190 JPGS2011
interesantes resmenes sobre la programacin matemtica. http://www-neos.mcs.anl.gov/neos/ es la
direccin web donde toda esta mina de informacin esta disponible.
9.3.2 Sistemas de Apoyo en la Decisin y Sistemas Expertos
En ocasiones, al disear software para aplicaciones especficas, se incorporan algoritmos de
programacin matemtica que sirven de soporte a la toma de decisin. Generalmente este software
desarrollar otras mltiples funciones adems de resolver el modelo, como acceder a bases de datos e
interactuar con el gestor o persona que toma la decisin. Si tales sistemas incorporan algoritmos que
resuelvan los problemas ms habituales y establecidos, el gestor podr concentrarse en la toma de
decisin real. Para disear dichos algoritmos es conveniente construir modelos y disear mtodos de
resolucin de Programacin Matemtica.
A medida que los sistemas de apoyo a la toma de decisin se vuelven ms sofisticados incorporan
procedimientos que plantean opciones y no slo representan datos. La definicin de tales opciones
no es ms que encontrar soluciones a los problemas que se plantean y modelan.
Otro concepto relacionado es el denominado sistema experto. Estos sistemas aceptan, en teora,
definiciones informales de los problemas, que se formalizan a medida que el usuario le ayuda, a travs
del interfase diseado al efecto, seleccionando entre diferentes alternativas. Esta informacin que aade
el usuario se complementa con informacin histrica recogida de resoluciones anteriores.
9.4 Procedimientos de Resolucin de Programacin Lineal
Se proponen en este apartado los principios en los que se basan el mtodo de resolucin conocido
como Simples. Este mtodo se utiliza desde su desarrollo a mediados de los 50. En la dcada de los 80
se desarrollaron nuevos mtodos como los de Punto Interior o el Mtodo de los Elipsoides, que no se
tratarn en estos apuntes.
9.4.1 El algoritmo Simplex
No es objeto de este apartado establecer concretamente como funciona el algoritmo del Simplex. Sin
embargo s es necesario destacar los principios bsicos de funcionamiento.
Dado un problema de Programacin Lineal, ste se debe expresar de forma estndar
(maximizacin y desigualdades menor-igual o minimizacin y desigualdades mayor-igual)

s
=
i j
i
b x
sujeto
x Max
ij
i
a
a
c z

Las restricciones se pueden expresar mediante notacin matricial de modo:
b Ax s
Modelos y Mtodos de Investigacin de Operaciones

Pgina 83 de 190
Se obtiene una solucin bsica al problema Ax=b haciendo n-m variables iguales a 0 (para
convertir el problema en linealmente independiente y determinado). A las variables definidas como nulas
se les denomina variables no-bsicas, y a las dems, variables bsicas. Si existe solucin para el
problema planteado con las n-m variables no bsicas definidas, entonces a esa solucin se le denomina
solucin bsica factible.
Las soluciones bsicas factibles generan los vrtices de un poliedro convexo. En uno de estos
vrtices se encuentra el ptimo si este existe. Se dice que dos vrtices son adyacentes si sus conjuntos
de variables bsicas tienen m-1 variables bsicas en comn.
El algoritmo simplex consiste, bsicamente, en desplazarse de un vrtice a otro adyacente
(empezando por uno cualquiera) hasta que cualquier movimiento empeore la funcin objetivo.
El algoritmo simplex clsico, ha sido revisado, en diferentes ocasiones. De l han salido
procedimientos, denominados simplex revisados, en los que se hace un especial hincapi en la
estructura matricial y por tanto en el clculo matricial, reduciendo notablemente el coste computacional.
9.4.2 Los Mtodos del Punto Interior
Los mtodos del punto interior se basan en que el progreso de las soluciones se realizan en el
interior de la regin factible, y no a travs de los vrtices de la misma como hace el mtodo Simplex.
La estrategia del algoritmo del punto interior es implementar, en el espacio original de la regin de
factibilidad, transformaciones a media que avanza el algoritmo.
Una vez conocida la regin de factibilidad y un punto inicial e interior al mismo, se debe definir un
modo de progreso en una direccin que permita reducir el valor de la funcin objetivo, y que el nuevo
punto siga siendo factible e interior.
Este proceso se debe repetir hasta que no pueda haber una mayor reduccin en el valor de la
funcin objetivo.
As pues las preguntas que hay que conocer como responder son tres: Cmo encontrar un punto
factible e interior?, Cmo definir el camino de evolucin? y Cmo se sabe que se ha alcanzando el
ptimo?

9.5 Procedimientos de Resolucin en Programacin Lineal Entera
9.5.1 Ramificacin y acotacin
En la prctica la mayor parte de los problemas de PE se resuelven utilizando la tcnica conocida
como ramificacin y corte (branch and bound). Este procedimiento se basa en la divisin de problemas
en subproblemas (ramificacin) mientras el ptimo no sea una solucin factible entera.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 84 de 190 JPGS2011
La Ramificacin y Poda es un mtodo general de bsqueda. Empieza considerando el problema raz
(el problema original con la regin factible completa sin las restricciones de integridad). Si se cumplen
dichas restricciones el procedimiento ha terminado.Si no se cumplen, la regin de factibilidad se divide
en o ms regiones.Se resuelve cada uno de los subproblemas, si uno de ellos satisface las restricciones
de integridad el problema ha sido resuelto pero no se puede garantizar su optimalidad. Si no satisface
dichas restricciones, su valor se puede tomar como una cota. Si el valor de dicha cota es peor que el
mejor resultado obtenido hasta el momento no har falta seguir explorando este problema. Este
procedimiento se resuelve de modo iterativo para cada uno de los subproblemas generados.
Concretamente en Programacin Entera El mtodo consiste en relajar el problema de PE
convirtindolo en Programacin Lineal , resolver mediante el simplex este problema de Programacin
Lineal, si las variables de la solucin ptima satisfacen la condicin de integralidad, hemos obtenido el
ptimo. SI dicha condicin no se satisface el valor de la funcin objetivo aporta una cota superior del
ptimo. Hay que volver a ramificar y volverlo a intentar.
0 x
,
8 2 7x
9 3 2
5 2 3x
.
4 3 7x z
2
3 1
2 1
3 2
3 2 1
3 2 1
>
e
s +
s
s +
+ + =
+
Z x x
x
x x
x x
a s
x x Max

La solucin del problema relajado es
2857 . 14
) 3 , 0 , 1428 . 1 ( ) , , (
3 2 1
=
=
z
x x x

Este valor es una cota mxima del problema, aunque no es un valor solucin porque
+
eZ x
1

La ramificacin consiste en generar un par de nuevos subproblemas, mediante la adicin
respectiva de nuevas restricciones.
Subproblema2 = Problema1 + ) 1 (
1
s x
Subproblema3 = Problema1 + ) 2 (
1
> x
La relajacin del subproblema2 da lugar a la siguiente solucin y funcin objetivo
1667 . 14 ) 667 . 2 , 5 . 1 , 1 ( ) , , (
2 3 2 1
= = z x x x
Dado que
+
eZ x
2
, volvemos a obtener una cota mxima ms ajustada aunque la solucin no es
factible.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 85 de 190
La relajacin del subproblema3 no tiene solucin, por lo que no se profundizar ms en esa rama.
Se crearn pues dos nuevos subproblemas
Subproblema4 = Subproblema2 + ) 2 (
3
s x
Subproblema5 = Subproblema2 + ) 3 (
3
> x
La relajacin del suproblema 4 da la siguiente solucin.
42857 . 9 ) 2 , 5 . 1 , 714 . 0 ( ) , , (
4 3 2 1
= = z x x x
La relajacin del subproblema 5 da la siguiente solucin.
14 ) 3 , 0 , 1 ( ) , , (
5 3 2 1
= = z x x x
La solucin del subproblema 5 da valores enteros de x
1
, x
3
, y adems se puede garantizar su
optimalidad porque la cota superior del subproblema 4 es 9.42, inferior al 14 ya obtenido.
Grficamente se puede representar del siguiente modo:



En la resolucin mediante mtodos de ramificacin y acotacin, se puede optar bsicamente por dos
estrategias en la seleccin del siguiente nodo a ramificar:
a) Elegir la rama ms profunda
b) Elegir la rama con mejor cota
c) Elegir el primero de los nodos an no explotados (FIFO)
d) Elegir el ltimo nodo abierto y no explotado (LIFO)
Aunque aparentemente la opcin b llevara ms rpidamente a la solucin, lo cierto es que
depende de cada problema la seleccin de una alternativa u otra.
2857 . 14
) 3 , 0 , 1428 . 1 ( ) , , (
3 2 1
=
=
z
x x x
Problema 1
1667 . 14
) 667 . 2 , 5 . 1 , 1 ( ) , , (
2
3 2 1
=
=
z
x x x
Subproblema 2

42857 . 9
) 2 , 5 . 1 , 714 . 0 ( ) , , (
4
3 2 1
=
=
z
x x x
Subproblema 4
14
) 3 , 0 , 1 ( ) , , (
5
3 2 1
=
=
z
x x x
Subproblema 5
Subproblema 3

No factible
) 1 (
1
s x ) 2 (
1
> x
) 2 (
3
s x ) 3 (
3
> x
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 86 de 190 JPGS2011
Otra tcnica interesante en la aplicacin de la ramificacin y corte es la del clculo inicial de una
solucin que permita fijar la cota superior (en algunos textos anglfonos se denomina incumbent). sta,
obtenida mediante algn procedimiento heurstico, dara una solucin candidato que permitira, en
ocasiones, podar ramas sin necesidad de explorarlas profundamente.
Por otro lado, aunque en este apartado se ha explicado la tcnica de ramificacin y acotacin para
un problema de PE, es posible aplicarlo en otros entornos conservando la misma configuracin (Por
ejemplo para la resolucin de problemas de Optimizacin Combinatoria)
9.5.2 Enumeracin implcita
El mtodo de enumeracin implcita se usa frecuentemente para resolver PE 0-1. En la
enumeracin implcita se aplica el hecho de que cada variables es binaria para simplificar las
componentes a ramificar y acotar del proceso de ramificacin y acotacin y para determinar eficazmente
cuando un nodo no debe ser explorado.
El rbol que se usa en el mtodo de la enumeracin implcita es similar a los rboles que se
utilizan para resolver Pe convencional. Cada rama del rbol especificar para una determinada variables
si vale x
i
=0 x
i
=1. Todas las variables a las que se las asigna un valor se denominan variables fijas y las
dems variables libres.
Para cualquier nodo (un conjunto de variables fijas con sus valores asignados) se denomina
integracin del nodo a cualquier especificacin de las variables libres.
Un modo de integrar de modo eficiente un nodo es asignando a las variables libres los valores que
permiten maximizar (o minimizar) la funcin objetivo. Si esta integracin es factible entonces esta es la
mejor solucin a que se puede llegar a travs del nodo en el que nos encontramos. Si no fuera factible el
valor de la funcin objetivo obtenido definira una cota superior (o inferior) del nodo.
Desgraciadamente no hay ningn modo efectivo de saber si para un nodo no existe ninguna
integracin factible.
| |
2
3
2 2
: a sujeto
2 3
6 5 3 1
5 3 2 1
4 3 2 1
6 5 4 3 2 1
s + + + +
s + + +
s + +
+ + +
o o o o
o o o o
o o o o
o o o o o o Max

Modelos y Mtodos de Investigacin de Operaciones

Pgina 87 de 190


9.5.3 Mtodos del plano cortante
Los mtodos del plano cortante se utilizan para resolver problemas de PE. El mtodo consiste en
relajar los problemas de PE a problemas de Programacin Lineal. Si la solucin resultante del problema
es entera, el problema ha sido resuelto.
Si no es as, se plantear una nueva restriccin (plano de corte) que se aadir al problema y que
pretenden relajar las aristas que dan soluciones no enteras.
El nuevo problema se vuelve a resolver como Programacin Lineal y el proceso anterior se repite
hasta que la solucin es entera.
Aunque el nmero de cortes necesarios para garantizar la optimalidad se ha demostrado que es
finito, en realidad no es un procedimiento muy exitoso para problemas grandes.
9.6 Procedimientos de Resolucin en Programacin 0-1
Cuando el nmero de variables binarias es muy alto, probablemente compense disear
procedimientos especficos como los explicados en el captulo de Optimizacin Combinatoria que
sucede a ste.


1 1 1 0 0 0 1
NO 7
0 1 1 0 0 1
SI 4
1 1 1 0 0 1
NO 7
1 0 1 0 0 1
NO 5
1 1 1 0 0 1
NO 7
1 1 0 0 0 1
SI 6
1 1 1 1 0 1
NO 6
1 1 1 0 0 1
NO 7
1 1 1 0 1 1
NO 5
1 1 1 0 0 1
NO 7
1 1 1 0 0 0
SI 7
1 1 1 0 0 1
NO 7
1
1
= o 0
1
= o
1
2
= o 0
2
= o
1
3
= o 0
3
= o
0
4
= o
1
4
= o
0
5
= o 1
5
= o
0
6
= o
1
6
= o
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 88 de 190 JPGS2011
10 OPTIMIZACIN COMBINATORIA. INTRODUCCIN
10.1 Introduccin
Como se ha comentado anteriormente el Ingeniero de Organizacin Industrial disea y mejora
artefactos lgicos. Estos suelen tener forma de herramienta software que interpreta datos en el mbito
de un problema, y los transforma entregando como resultados datos que pueden ser ejecutados.
Especficamente dentro del rea de la Gestin de la Produccin y las Operaciones, muchos de los
problemas que se plantean tienen estructuras especialmente difciles para garantizar la optimalidad en la
resolucin.
Entre las herramientas disponibles para generar dichas soluciones, los algoritmos de optimizacin
combinatoria resuelven instancias de problemas que se creen difciles en general, explorando el espacio
de soluciones (usualmente grande) para estas instancias. Los algoritmos de optimizacin combinatoria
logran esto reduciendo el tamao efectivo del espacio, y explorando el espacio de bsqueda
eficientemente.
La mayor parte de los procesos de resolucin de problemas en optimizacin combinatoria no
garantizan el ptimo ni siquiera en el contexto de modelo, que no necesariamente es el problema real,
pero su aproximacin al ptimo es probablemente suficiente.
Los mtodos de resolucin se pueden clasificar de muchas maneras. Una de ellas permite pueden
clasificar los mtodos de resolucin en 4 grandes grupos:
a) Algoritmos constructivos: Construyen la solucin desde una solucin incompleta, a partir de
los datos del problema y el conocimiento que del mismo se tiene.
b) Algoritmos de mejora Comienzan con una solucin factible y completa al problema, y esta
solucin general es modificada gradualmente de un modo progresivo.
c) Estrategias de "divide y vencers" En esta estrategia se opta primero por dividir el problema
en fragmentos a los que se le aplica cualquier otra estrategia, recomponiendo finalmente la
solucin.
d) Estrategias de aprendizaje. Las estrategias de aprendizaje pasan por tomar decisiones, en
funcin de datos conocidos por el resultado de resoluciones anteriores o en la misma resolucin.
La clasificacin que se utiliza aqu extiende el concepto de heurstica tanto para los mtodos
constructivos como para los de mejora, y considera las ltimas dos estrategias las dentro del proceso
general de resolucin, ms que entre los procedimientos de resolucin en Optimizacin Combinatoria.
Los mtodos habitualmente utilizados para resolver problemas son del tipo heurstico o
metaheurstico. Esto es, son capaces de generar soluciones al problema. Son aproximaciones que
pretenden acercarse lo ms posible al ptimo, pero que pueden fallar en el intento. En los inicios de la
Investigacin Operativa, y dada las limitaciones de clculo automtico que entonces se tena, era
habitual desarrollar procedimientos heursticos (es decir que hallaban soluciones) muy rpidamente. Los
Modelos y Mtodos de Investigacin de Operaciones

Pgina 89 de 190
procedimientos eran especficos para cada problema y en general su eficiencia era escasa cuando se
intentaban utilizar en otros mbitos.
Pese a no garantizar la optimalidad, los mtodos heursticos de resolucin (incluyendo entre ellos los
procesos de mejora local y los algoritmos metaheursticos), son bsicos por varios motivos. En primer
lugar son capaces de generar soluciones lo que generalmente es mejor que no tener solucin alguna.
En segundo lugar se puede decir que alcanzar el ptimo de un modelo que tampoco es exactamente el
problema real no es esencialmente grave. Por ltimo ser capaz de disear una buena heurstica, exige
un conocimiento del problema que puede conducir a mejoras de otro tipo.
Con la existencia de ordenadores cada vez ms potentes, y aprovechando su capacidad de clculo
han surgido en las ltimas dcadas, las denominadas tcnicas metaheursticas. Son procedimientos
genricos que pueden ser fcilmente adaptados para resolver
La mayora de las metaheursticas tienen como objetivo los problemas de optimizacin combinatoria,
pero por supuesto, se pueden aplicar a cualquier problema que se pueda reformular en trminos
heursticos, por ejemplo en resolucin de ecuaciones booleanas
Muchos de los procedimientos denominados metaheursticos se fundamentan generalmente en la
capacidad del mundo natural de encontrar buenas soluciones y se intenta reproducir esta capacidad,
surgiendo de este modo algoritmos como el Recocido Simulado, los Algoritmos Genticos, las Redes
Neuronales, los Sistemas de Hormigas y GRASP (Diaz, Glover, Ghaziri, Gonzales, Laguna, and
Moscato, 1996).
En realidad los fenmenos naturales en los que dicen basarse todas las metaheursticas tienen en
comn su capacidad de explorar convenientemente el adyacente posible (Kauffman, 2003) para
abandonar ptimos locales.
Se puede realizar una clasificacin simplificada de los procedimientos metaheursticos indicando que
hay tres grandes grupos. El primer grupo lo forman los que dada una solucin intentan mejorarla
(bsqueda local). El segundo grupo lo conforman los que parten de un conjunto de soluciones
(poblacin) para intentar obtener una mejor por combinacin y evolucin de las anteriores. El tercer
grupo lo conforman aquellos que pretenden especficamente aprender de soluciones previas.
La bsqueda local es la base de la mayor parte de los mtodos heursticos. Empezando por una
determinada solucin (en ocasiones generada aleatoriamente) la bsqueda local se mueve hacia un
vecino que es mejor que la actual solucin de acuerdo con la funcin objetivo. En general la bsqueda
local corre el riesgo evidente de quedar atrapada en un ptimo local y la mayor parte de los algoritmos
basados en ptimos locales pretenden evitar este problema.
Estos apuntes se estructuran en dos partes, una dedicada a la introduccin a la Optimizacin
Combinatoria y otra a los procedimientos de resolucin. Se acompaan los apuntes con resoluciones
aproximadas a 3 problemas segn seran requeridos en examen.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 90 de 190 JPGS2011
En la primera parte se pretende, en primer lugar, establecer qu es la Optimizacin Combinatoria y
dar una idea general sobre la complejidad de establecer soluciones ptimas en dichos entornos. Se
presenta a continuacin una aproximacin a los problemas de optimizacin combinatoria mediante una
tentativa de clasificacin de los mismos. Se presenta finalmente una aproximacin a los criterios que
permiten seleccionar algoritmos en funcin de los requerimientos solicitados.
En la segunda parte se abordan los procedimientos de resolucin de problemas de optimizacin
combinatoria clasificados en 3 grandes grupos:
a) Procedimientos de Resolucin Aleatorios
b) Procedimientos Enumerativos
c) Procedimientos Heursticos (se incluyen en estos los Metaheursticos
10.2 Complejidad en la Optimizacin Combinatoria,.
10.2.1 Optimizacin Combinatoria
Un problema de optimizacin combinatoria es un problema de optimizacin en el cual el espacio de
soluciones posibles es discreto.
La optimizacin combinatoria es una rama de la optimizacin de las matemticas aplicadas
fuertemente relacionada con la investigacin operativa, la teora algortmica y la teora de la complejidad
computacional. Los algoritmos de optimizacin combinatoria resuelven problemas que se creen difciles
en general, por la va de explorar el, habitualmente grande, espacio de soluciones del citado problema.
Los buenos algoritmos de optimizacin combinatoria lo logran por la va de reducir el tamao efectivo del
espacio a buscar y explorando de modo eficiente dicho espacio.
10.2.2 Variaciones (con y sin) Repeticin, Combinaciones, Permutaciones.
Es relevante recordar algunos conceptos de combinatoria, pues estos permiten establecer la
dimensin de alguno de los problemas aqu tratados.
Los problemas de combinatoria se pueden definir como la Seleccin de un subconjunto de entre un
conjunto de elementos con permitiendo (o no) la repeticin y siendo (o no) relevante el orden de los
mismo.
Si el subconjunto seleccionado es todo el conjunto original el problema tratado es de permutaciones.
Si el orden no importa el problema es de Combinacin.
A continuacin se recuerdan algunas frmulas bsicas que permiten calcular el nmero de
alternativas posibles a determinadas estructuras
Variaciones sin Repeticin: Nmero de modos de seleccionar y ordenar r elementos de un conjunto
de n, donde ninguno se puede repetir.
!
( )!
r
n
n
A
n r
=


Modelos y Mtodos de Investigacin de Operaciones

Pgina 91 de 190
Variaciones con Repeticin: Nmero de modos de seleccionar y ordenar r elementos de un
conjunto de n.
r
n
Permutacin sin Repeticin: Nmero de modos en el que se puede ordenar un conjunto de n
elementos distintos entre s. ! n
Permutacin con Repeticin: Nmero de modos de ordenar un conjunto de n elementos donde hay
m1 elementos de tipo 1, m2 elementos de tipo 2mS elementos de tipo S.
!
1! 2! !
n
m m mS

Combinaciones sin Repeticin: Nmero de modos de seleccionar r elementos de un conjunto de n,
donde ninguno se puede repetir.
!
!( )!
r
n
n
C
r n r
=


Combinaciones con Repeticin: Nmero de modos de seleccionar r elementos de un conjunto de
n, permitiendo la repeticin en la seleccin.
( )
1
1 !
!( 1)!
r
n r
n r
C
r n
+
+
=


Por su inters se destacan algunas otras relaciones que permiten calcular de cuantos modos se
pueden introducir elementos (iguales o distintos-ordenados y no ordenados) en casillas (iguales o
distintas ordenadas y no ordenadas). Cuando se indica que los elementos estn ordenados hace
referencia a que interesa el orden, no a que estn previamente ordenados.
r Objetos distintos y no ordenados en n casillas distintas y no ordenadas
r
n
r Objetos idnticos en n casillas distintas y ordenadas
( )
1
1 !
!( 1)!
r
n r
n r
C
r n
+
+
=


r Objetos distintos y ordenados en n casillas distintas y ordenadas
( )
1
1 !
( 1)!
r
n r
n r
C
n
+
+
=


Todas estas relaciones (junto con otras muchas y lo que es ms importante- el modo de llegar a
ellas), se pueden encontrar en (Kauffmann, 1971).
10.2.3 P y NP
Teora de la Complejidad
La teora de la complejidad computacional es la rama de la teora de computacin que estudia los
recursos, o coste, de computacin requerido para resolver un problema dado.
Este coste se suele medir en terminos de parmetros abstractos como el tiempo y el espacio. Tiempo
son los pasos que requiere el problema para ser resuelto y el espacio suele referirse a la cantidad de
memoria que utiliza.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 92 de 190 JPGS2011
Otros recursos que se pueden considerar es el nmero de procesadores en paralelo que se
necesitan para resolver un problema en paralelo. En este caso hay que considerar el tiempo paralizable
y el no paralelizable.
La teora de la complejidad no es la teora de la comptuabilidad que tiene que ver con la capacidad
de resolver un problema, independientemente de los recursos requeridos.
P y NP
La clase de complejidad P es el conjunto de problemas de decisin que pueden ser resueltos por una
mquina determinista en tiempo polinomial. Esta clase corresponden a la idea intuitiva de los problemas
que se puede resolver de modo efectivo en los peores casos.
La clase de complejidad NP es el conjunto de problemas de decisin que pueden resolverse por una
mquina no determinista en tiempo polinomial. Esta clase contiene una gran cantidad de problemas que
se pretenden resolver. La principal propiedad de los problemas de esta clase es que sus soluciones
pueden ser chequeadas de modo eficiente en tiempo polinomial.
10.3 Algoritmos bsicos.
- Ordenar
- Buscar el Mayor (o menor)
- Intercambiar
- Sumar
- Voltear
10.4 Problemas de Optimizacin Combinatoria
En este apartado se describen algunos problemas clsicos de optimizacin combinatoria. La
intencin inicial al redactar el apartado era establecer una clasificacin, pero esto parece casi imposible,
habida cuenta de que se pueden encontrar muchos tipos de clasificaciones en funcin de diferentes
criterios para cada tipo de problema. As, se ha optado por enumerar (sin nimo de ser exhaustivos ni
exclusivos) diferentes tipos de problemas en funcin de diferentes aspectos como por ejemplo: su
aplicacin, la clase terica a la que pertenecen o las soluciones que se pretenden conseguir. Se han
dejado aparte clasificaciones que consideraran aspectos como su dureza en terminos de complejidad, o
la existencia de algoritmos eficientes para su resolucin.
10.4.1 Segn su aplicacin.
10.4.1.1 Secuenciacin
Los problemas de secuenciacin son, junto con los de rutas, la aplicacin ms clsica en
optimizacin combinatoria, tanto por la extensin de su aplicacin, como por su facilidad de
planteamiento. An as el nmero de problemas diferentes que se puede plantear son muchos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 93 de 190
Definir el orden en el que se deben ejecutar las tareas de un proyecto para minimizar su duracin,
teniendo en cuenta limitaciones en los recursos, es un clsico problema de secuenciacin.
La secuenciacin en una mquina hace referencia al orden en que un conjunto de trabajos deben
pasar por una mquina. Permite considerar aspectos como la duracin, fecha de entrega, la importancia
del cliente
Los problemas de secuenciacin de una mquina se extienden teniendo en cuenta mquinas en
paralelo y/o mquinas en serie (taller de flujo) y de ah al taller general. Otra extensin habitual es
considerar tiempos de preparacin de mquinas. Adems el uso de mltiples recursos diferentes y
limitados forma parte tambin de las posibilidades
Si adems de definir la secuencia (o incluso asignar la mquina) se tuviera que definir la cantidad a
producir se entrara en los problemas que unen la lotificacin con la Secuenciacin (ELSSP).
La secuenciacin con mezcla de modelos en una lnea de montaje, pretende establecer el orden en
el que un conjunto de productos (pertenecientes a varias familias en diferentes cantidades) deben
circular por una lnea de montaje.
10.4.1.2 Rutas
Los problemas de rutas tratan de establecer el circuito a recorrer para dar un determinado servicio,
ya sea de entrega de recepcin o de ambos. El problema clsico denominado del viajante de comercio
(TSP) supone visitar una y slo una vez un conjunto de puntos. A este problema se le pueden aadir
variantes como incluir varios viajantes, limitar la capacidad de los camiones o la disponibilidad de
tiempo, incorporar ventanas temporales de entrega o recepcin, obligar o prohibir determinados tramos,
hacerlo en una o varias ocasiones por cada tramo
10.4.1.3 Corte y Empaquetado
Los problemas de corte son los ligados a reducir el consumo de materia prima que se vende o
consume troceada. Pueden ser unidimensionales (vigas), bidimensionales (placas de vidrio, cartn o
tela) o incluso tridimensionales como en el corte de mrmol. Tambin se pueden considerar variantes
como que las piezas a obtener tengan una forma regular, o irregular (por ejemplo retales de tela). O
restricciones que obligan a mantener determinadas direcciones de corte, o realizar cortes completos.
Los problemas de Trim son una variante de estos problemas en los que de un rollo (de papel o de
acero) se trocean otros rollos de anchos y longitudes diferentes). El problema radica en este caso en
establecer los modos en los que los diferentes rollos se van haciendo para minimizar no slo la materia
prima desperdiciada sino tambin las preparaciones de mquina a realizar.
Los problemas de empaquetado son similares siendo los contrarios, pretenden ubicar en la mnima
superficie (o el mnimo volumen) posible un conjunto de partes que son inicialmente diferentes.
10.4.1.4 Horarios
Los problemas de horarios son un problema clsico de optimizacin de combinatoria que tiene en la
gestin docente (aunque evidentemente no es exclusiva de ella) una gran cantidad de aplicaciones: el
diseo de horarios de clase, repartos de guardias, calendarios de exmenes, son algunos fcilmente
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 94 de 190 JPGS2011
reconocibles. En la industria se pueden encontrar fcilmente cuando se trata de repartir cargas de
trabajo desiguales entre operarios con calendarios laborales.
10.4.1.5 Asignacin
Los problemas en los que se asignan recursos a tareas o tareas a agrupaciones son otra clase
habitual de problemas. El equilibrado de lneas es un problema muy conocido, pero los problemas de
asignacin de frecuencias o de generacin de equipos multidisciplinares equilibrados no son menos
habituales.
10.4.2 Segn su clasificacin formal.
- El pr obl ema de l a mochi l a (uni o mul t i dimensi onal )
- De mxi mo (o mi nimo) f l uj o
- Pr obl emas de Asi gnaci n Cuadr t i ca
- Gr aph Par t i t i oni ng Pr obl em
- Bi par t i t e Dr aw i ng Pr oblem
- Cubr i mi ent o, Par t i ci n y Empaquet ado.
- De cami no ms cor t o (o ms l ar go)
- El pr obl ema de col or eado de gr af os
- Li near Or der i ng Pr obl em
10.4.3 Segn las soluciones que se buscan.
En algunos problemas, slo se tiene inters en encontrar una solucin factible (e incluso en algunos
casos nicamente se pretende saber si existe una solucin). En otros casos el objetivo es que la
solucin factible encontrada sea suficientemente buena o incluso que sea ptima (es decir que no haya
ninguna solucin mejor).Por ltimo es posible que se tenga inters en localizar todas las soluciones
ptimas o incluso todas las soluciones factibles.
10.5 Evaluacin de Procedimientos.
Los algoritmos se pueden medir en funcin de su capacidad de alcanzar buenos resultados, y del
coste (tanto en tiempo como en memoria que requieren) para alanzar dichos resultados.
Estos criterios se denominan: Eficiencia, Robustez y Bondad.
Al comparar los algoritmos se puede realizar tanto en el tiempo de resolucin que emplean como en
el resultado que obtienen.
En el caso de comparar los resultados estos se pueden comparar contra el ptimo, contra una cota
del ptimo, o contra el resultado de otros algoritmos. Lo que se mide puede ser el comportamiento
promedio, el comportamiento en el peor de los casos o el nmero de xitos (nmero de veces que se
obtiene el ptimo o el mejor resultado).

Modelos y Mtodos de Investigacin de Operaciones

Pgina 95 de 190

11 OPTIMIZACIN COMBINATORIA. LA BSQUEDA RPIDA DE
SOLUCIONES
11.1 Introduccin.
La mayor parte de los procesos de resolucin de problemas en optimizacin combinatoria no
garantizan el ptimo ni siquiera en el contexto de modelo, que no necesariamente es el problema real.
(Foulds 1983) clasifica los mtodos de resolucin en 4 grandes grupos:
a) Algoritmos constructivos: Construyen la solucin desde una solucin incompleta, a partir de los
datos del problema y el conocimiento que del mismo se tiene.
b) Algoritmos de mejora Comienzan con una solucin factible y completa al problema, y esta solucin
general es modificada gradualmente de un modo progresivo.
c) Estrategias de "divide y vencers"La esta estrategia se opta primero por dividir el problema en
fragmentos a los que se le aplica cualquier otra estrategia, recomponiendo finalmente la solucin.
d) Estrategias de aprendizaje. Las estrategias de aprendizaje pasan por tomar decisiones mensuales
robre el modo de resolver, en funcin de datos conocidos por el resultado de resoluciones anteriores o
en la misma resolucin.
Sin embargo la clasificacin que se va a utilizar en estos apuntes extiende el concepto de heurstica
tanto para los constructivos como para los de mejora, y las ltimas dos estrategias las considera dentro
del proceso general de resolucin, ms que entre los procedimientos de resolucin en Optimizacin
Combinatoria.
As se clasifican en estos apuntes los mtodos segn los siguientes cuatro tipos:
a) Generacin de soluciones por mtodos heursticos constructivos
b) Generacin de soluciones por mtodos enumerativos
c) Generacin de Soluciones por Mtodos Heursticos de Mejora Local.
d) Generacin de Soluciones por Mtodos Heursticos de Poblacin.
Adems se incorpora la generacin de soluciones por mtodos aleatorios, pues aunque son
ineficientes en el proceso de bsqueda, pueden ser eficaces, tanto para calibrar mtodos cmo, y ms
relevante para comprobar que se ha entendido bien el problema.
Los mtodos habitualmente utilizados para resolver problemas son del tipo heurstico o
metaheurstico. Esto es, son capaces de generar soluciones al problema. Son aproximaciones y
inacciones que pretenden acercarse lo ms posible al ptimo, pero que pueden fallar en el intento.
Pese a su no-optimalidad, muchos de estos mtodos son bsicos por varios motivos. En primer lugar
son capaces de generar soluciones lo que generalmente es mejor que no tener solucin alguna. En
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 96 de 190 JPGS2011
segundo lugar se puede decir que alcanzar el optimo de un modelo que tampoco es exactamente el
problema real no es esencialmente grave. Por ltimo ser capaz de disear una buena heurstica, exige
un conocimiento del problema que puede conducir mejoras de otro tipo.
11.2 Procedimientos de Resolucin Aleatorios.
11.2.1 Para qu sirven?
Disear un procedimiento de resolucin aleatorio debiera, en primer lugar, ser fcil de hacer. Adems
debiera permitir generar soluciones factibles (o al menos evaluables) de modo rpido. Dos son los
motivos por los que se recomienda comenzar el anlisis de cualquier problema con el desarrollo de
procedimientos de resolucin aleatorios:
a) Para comparar contra procedimientos ms elaborados.
b) Para tener rpido un procedimiento que d soluciones y comprobar que se est abordando
el problema adecuado.
Adems las soluciones obtenidas aleatoriamente pueden servir de base para otros procedimientos
ms elaborados (mejora local o algoritmos genticos).
11.2.2 Pueden funcionar?
En principio esto dependera de cada problema, pero se puede generalizar diciendo que los
resultados aleatorios tienen una baja probabilidad de ser buenos, pero en ese caso, la repeticin
suficiente podra llegar a dar, de un modo ni eficiente ni robusto resultados aceptables.
Como ejemplo se ha evaluado un problema de Flow-Shop de 3 mquinas, 12 tareas, con tiempos
aleatorios de ejecucin entre 2 y 20. Se ha ejecutado un algoritmo aleatorio 1000 veces y se ha obtenido
la siguiente grfica de resultados.

Tras 1000 iteraciones en una ocasin se ha obtenido un resultado igual a 164, siendo el ptimo 163
(aunque eso no es conocido a priori).
Se ha repetido el experimento con 10000 iteraciones obteniendo los siguientes resultados.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 97 de 190

Es decir, en dos ocasiones (de entre 10000) se ha alcanzado el ptimo, y slo en 10 ocasiones el
error cometido sobre el ptimo ha sido menor que el 2,5%.
En problemas ms grandes la dispersin crece, y adems el tiempo de ejecucin no es despreciable.
Sin embargo, y en el mismo problema, con un algoritmo de mejora iterativa sencillo, a partir de una
solucin aleatoria, se obtiene el ptimo en el 50% de las ocasiones, en la misma cantidad de tiempo que
se tarda en generar aproximadamente 100 soluciones aleatorias.
Para comprobarlo se han utilizado las 1000 soluciones aleatorias generadas en la primera
experiencia y a cada una de ellas se le ha aplicado un algoritmo de mejora iterativa con un vecindario
definido segn un intercambio de 2 (comn para todos los problemas de permutacin).
El histograma resultado ha sido el siguiente:

Es decir, el ptimo se alcanz en casi el 50% de las ejecuciones y el peor resultado obtenido estaba
a 13% del ptimo.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 98 de 190 JPGS2011
Con el anterior ejemplo se ha pretendido mostrar que las heursticas aleatorias no funcionan de modo
eficiente, aunque son fundamentales, pues permiten iniciar los procesos tanto de modelado como
incluso de resolucin.

11.2.3 Un procedimiento de generacin aleatoria de soluciones
En este apartado se presenta un sencillo procedimiento que permite generar soluciones aleatorias
para problemas en los que el vector solucin es una permutacin de n elementos.
Sea v un vector con n elementos a permutar
i:=0;
while i<n-1 do begin
j:=random(1..n-i)
intercambiar(v[i+1];v[i+j])
i:=i+1
end;
Intercambiar es un procedimiento que intercambia los valores de v en las posiciones sealadas.
Procedure intercambiar(v[i+1];v[i+j])
begin
aux:=v[i+1];
v[i+1]:=v[i+j];
v[i+j]:=aux;
end;
11.3 Algoritmos Heursticos.
11.3.1 Concepto de Heurstica
Un algoritmo heurstico es un procedimiento que permite encontrar una solucin y que suelen
disearse de modo especfico para cada problema. En mtodos matemticos, heurstica suele hacer
referencia a un procedimiento que busca una solucin aunque no garantiza encontrar la mejor solucin.
En Inteligencia Artificial se suele denominar funcin heurstica a aquella que dirige la bsqueda (o
construccin) de una solucin, utilizando algn mecanismo ms o menos sencillo.
Un buen algoritmo heurstico debe ser eficiente, bueno y robusto. Esto es: debe requerir un esfuerzo
computacional realista, su resultado debe estar suficientemente cerca del ptimo, y la probabilidad de
obtener una mala solucin debe ser baja.
Un tipo especial de heursticas son las constructivas, es decir aquellas que en cada paso aaden un
elemento ms a una solucin que no ha sido completamente construida. Las Heursticas constructivas
se pueden utilizar siempre que el problema se puede resolver mediante decisiones sucesivas. (Rutas,
Secuenciacin, Lneas de Montaje).En muchas ocasiones el objeto de la decisin es evidente, pero no
necesariamente es as.
El otro tipo principal de heursticas son las de bsqueda de entornos o de mejora local. Estas parten
de una solucin cualquiera (no necesariamente aleatoria) y avanzan buscando en el vecindario ms
prximo, produciendo mejoras hasta que alcanzan un punto donde ningn elemento en el vecindario es
mejor que la solucin de la que ya se dispone.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 99 de 190
Las heursticas tambin pueden ser de tipo voraz (en ingls greedy) estas heursticas eligen siempre
las soluciones mejores de modo local para generar el resultado. Algnas heursticas greedy son
ptimas (como ejemplo el algoritmo de Johnson para un flow-shop de 2 mquinas), pero no
necesariamente es as. Los algoritmos de tipo voraz suelen ser muy rpidos pues no consideran
alternativas.
La alternativa a las heursticas greedy son las Heursticas con BackTracking. Estas son heursticas
que si alcanzan un punto de no retorno (o no suficientemente buenos) retroceden en el proceso de
reconstruccin, para analizar caminos abandonados.
- M t odos Const r uct i vos
Vor aces
Heur st i cas con BackTr acki ng
- Heur st i cas No Const r uct i vas
Expl or aci n de Ent or nos
- M t odos Combi nados

11.3.2 Procedimientos Constructivos
Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante
decisiones sucesivas. (Rutas, Secuenciacin, Lneas de Montaje). En muchas ocasiones el objeto de
la decisin es evidente, pero no necesariamente es as.
Aunque cada heurstica constructiva es diferente, y no hay ningn lmite en su diseo, algunas de las
alternativas que permiten plantear heursticas son las siguientes:
a) Reglas de Prioridad: Se asignan valores a los objetos que se van a seleccionar en el
proceso de construccin y se utilizan para elegir la siguiente opcin. Los valores pueden
calcularse de una vez para el resto del clculo o variar dinmicamente tras cada
decisin dando lugar a las Reglas Estticas o a las Dinmicas. En muchos casos es
importante que la regla de prioridad tenga en cuenta criterios de desempate.
b) Direccin de Construccin: En ocasiones es posible identificar una direccin de
construccin. En general se suele trabajar hacia adelante, pero tambin es posible
disear heursticas que funcionen hacia atrs o incluso en las dos direcciones
simultneamente.
c) Tcnicas de Reduccin Previa: El anlisis previo del problema puede llevar a tomar
decisiones que afecten a la estructura de la solucin antes de comenzar el proceso de
resolucin. (Por ejemplo eliminar subsecuencias antes de empezar por ser demasiado
caras)
d) Heurstica de Paso Mltiple: Se repite el clculo cambiando las reglas de decisin o
incluso tomando decisiones de modo estocstico.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 100 de 190 JPGS2011
e) Heursticas MultiStart: Repetir la heurstica pero comenzando cada vez por un
elemento diferente.
11.3.2.1 Miopa de las Heursticas Constructivas
Uno de los principales problemas de las heursticas constructivas es la denominada miopa. sta
consiste en el mal comportamiento de algunas heursticas, segn el cual las decisiones tomadas en
cada etapa, aunque buenas segn el criterio de seleccin, perjudican la solucin final.
Dos son los modos de solucin a este problema: dotar de profundidad a la regla de prioridad o
disear heursticas con backtracking.
Dotar de profundidad a la regla de decisin es que en cada etapa de decisin se tenga en cuenta, en
la medida de lo posible como afectar en las siguientes etapas de decisin la decisin actual. La regla
de prioridad en este caso evaluara no slo el efecto de la decisin a tomar sino tambin las decisiones
que se tomaran como consecuencia de la que se tome.
Dotar a las heursticas de tcnicas de backtracking. Es decir dotar de capacidad a las heursticas de
volver atrs en las decisiones (y tomar nuevas decisiones) si la situacin no es la deseable.
11.3.2.2 Heursticas con BackTracking
Las heursticas con backtracking buscan una solucin probando una de entre varias alternativas,
cada decisin se almacena de tal modo que si se puede demostrar que una decisin fue incorrecta se
restablezca la solucin en ese punto. Conceptualmente un algoritmo de bracktracking es equivalente a
una bsqueda en profundidad en un algoritmo enumerativo, donde cada decisin equivale a un nodo en
el rbol.
11.3.2.3 Procedimientos de enumeracin incompletos.
Como se ha dicho la Optimizacin Combinatoria es una rama de la Optimizacin de las matemticas
aplicadas en el cual el espacio de soluciones posibles es discreto. Es decir, el ptimo se podra alcanzar
mediante la enumeracin de todas las soluciones, aunque esta posibilidad est restringida a tamaos
muy pequeos de problema.
Las tcnicas de enumeracin pueden ser utilizadas para disear procedimientos constructivos que
sean ms rpidos aunque menos eficaces reduciendo el nmero de nodos a explorar o limitando el
tiempo de ejecucin.
11.3.2.4 Heursticas Constructivas. Estructura General y Alternativas de Diseo
Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante
decisiones sucesivas. (Rutas, Secuenciacin, Lneas de Montaje). En muchas ocasiones el objeto de
la decisin es evidente, pero no necesariamente es as.
Se consideran heursticas voraces aquellas que avanzan sin posibilidad de deshacer las decisiones
tomadas.

Modelos y Mtodos de Investigacin de Operaciones

Pgina 101 de 190
12 ALGORITMOS ENUMERATIVOS
12.1 Concepto de Algoritmo Enumerativo.
Un algoritmo Enumerativo o Completa exacto es aquel que garantiza la obtencin de la mejor
solucin posible, el ptimo, por la va de explorar el espacio de soluciones en su totalidad.
En el problema citado para ejemplificar la bsqueda aletoria (el Flow-Shop con 12 tareas) el nmero
de alternativas posibles es de 479.001.600. Si en generar y evaluar cada solucin se tardar una
milsima de segundo el problema requerira ms de 5 das de computacin si se pudiera hacer de un
modo ordenado y sistemtico (de un modo aleatorio sera sencillamente imposible).
A la vista de las anteriores magnitudes es evidente que los mtodos de enumeracin completa no
son prcticos en la mayor parte de situaciones normales. Sin embargo son una buena estructura para
comenzar la bsqueda de soluciones.
Los procedimientos de Enumeracin Completa se pueden clasificar en ciegos o guiados segn la
forma de dirigir la exploracin. Segn si buscan una solucin exacta o se conforman con una buena
solucin los procedimientos son exactos o heursticos. Tambin se pueden clasificar segn si buscan
una solucin ptima, todas las soluciones ptimas o todas las factibles.
Por ltimo los algoritmos pueden utilizar la Fuerza Bruta analizando una por una todas las soluciones,
o pueden tener algn tipo de inteligencia que permita podar aquellas ramas del rbol de exploracin que
no van a ser tiles.
12.2 Algoritmo de Enumeracin Completa
Los algoritmos de enumeracin completa son diferentes en funcin de la estructura de la solucin.
As por ejemplo no es lo mismo hacer enumeracin completa para soluciones que se representan como
un vector de n dimensiones donde los valores pueden ser 0 o 1, que para una solucin que se
representa como una permutacin de valores, o una solucin cuya estructura sea una combinacin de n
elementos tomados de r en r.
A continuacin se presenta un algoritmo de enumeracin completa para problemas de permutacin
basado en una propuesta de Dijkstra citado en http://www.cut-the-knot.org/do_you_know/AllPerm.shtml.
For c = 1 To M
i = N - 1
Do While (S(i - 1) >= S(i)): i = i - 1: Loop
j = N
Do While (valor(j - 1) <= valor( i - 1)): j = j - 1: Loop
Intercambia S( i - 1) con S(j - 1)
i = i + 1
j = N
Do While (i < j)
Intercambia S( i - 1) con S(j - 1)
i = i + 1
j = j - 1
Loop
Next c
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 102 de 190 JPGS2011
El algoritmo propuesto anteriormente enumera de modo lexicogrfico a partir de una solucin inicial
expresada en el vector S.
El que se expresa a continuacin enumera combinaciones (r,n) de la pgina 231 de Matemticas
discreta Escrito por Richard Johnsonbaugh,scar Alfredo Palmas Velasco

12.3 Estructura de un algoritmo de exploracin completa basado en exploracin
de nodos.
12.3.1 Conceptos previos: Nodo
Se puede plantear que los procedimientos de exploracin siguiendo un sistema arborescente de
nodos que se se evaluan, se podan, se seleccionan y se explotan.
Cada nodo hace referencia a una solucin parcial (o relajada) del problema. Dicha solucin parcial
puede ser valorada, por lo que ya se sabe de la solucin, o por lo que las futuras incorporaciones a la
solucin incorporarn.
Cada nodo, excepto el nodo final, es descendiente de algn nodo padre, al que completa
parcialmente la solucin que aquel traa de sus antecedentes.
Por la va de la explosin, se generan descendientes a cada nodo se completa un poco ms la
solucin, aadindole un subconjunto de opciones que permiten definir un poco ms la informacin.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 103 de 190
12.3.2 Estructura general de un procedimiento de exploracin completa basado en nodos.
La estructura propuesta parte de la estructura bsica nodo que mantiene toda la informacin relativa
a los nodos (como mnimo: cual es el nodo padre, evaluacin, que informacin incorpora a la solucin
del nodo padre, si est explotado o no).
Una estructura superior al nodo la constituye la lista de nodos. Dicha lista almacenar todos los
nodos abiertos (podra almacenar todos los nodos).
Mientras haya algn nodo abierto el proceso se repetir con las siguientes 3 fases: seleccionar el
siguiente nodo a explotar, explotar el nodo seleccionado (que incluye evaluar los nuevos nodos y cerrar
el nodo ya explotado) y una ltima fase que cierra aquellos nodos que no se tengan, o no se quieran,
mantener abiertos. Adems cada vez que se genere una solucin completa hay que comprobar si
mejora la mejor solucin disponible hasta este momento
GenerarNodoOriginal;
GenerarUnaSolucionInicial; // esto es opcional
While haya_nodos_abiertos do begin
SeleccionarNodoExplotar;
ExplotarNodoSeleccionado; // incluye EvaluarNuevosNodos;
ComprobarSiSeHaAlcanzadoUnaSolucinMejor;
CerrarNodosNotiles;
End; //del while
A continuacin se desarrollan las funciones bsicas que hacen falta para el uso de esta estructura
que son:
a) La funcin de evaluacin de cada nodo.
b) El modo de seleccionar el nodo a explotar.
c) El modo de explotar el nodo seleccionado.
d) Los criterios por los cuales se cierran nodos

12.3.3 Funciones de evaluacin
La funcin de evaluacin considera dos paquetes de informacin que suministra la solucin parcial
que, como tal, tiene el nodo. Por una lado la parte de la solucin que ya est completamente detallada.
Por el otro la informacin asociada a la parte de la solucin que no se ha definido.
Segn lo dicho la funcin de evaluacin del nodo, sea f(n), se compone de una parte ligada la
solucin parcial conocida ,sea g(n) y sea h(n) la evaluacin de la solucin que quedara por definir.
Si el componente de la funcin de evaluacin del nodo ligado a la fase ya definida de la solucin se
conoce de modo exacto se definir como g*(n). Si el componente de la funcin de evaluacin del nodo
ligado a la parte no definida de la solucin se conoce de modo exacto se definir como h*(n).
Teniendo en cuenta la existencia de estos dos componentes se pueden definir diferentes modos de
evaluar la calidad de cada nodo (que servir posteriormente para compararlo entre ellos). Algunos de los
parmetros que permiten crear los diferentes criterios son:
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 104 de 190 JPGS2011
De modo general se puede definir f(n)=(2-w(n))g(n)+w(n)h(n), donde w(n) es un coeficiente que
pondera la importancia de g y h en funcin del nodo en el que se encuentre la exploracin.
En general, y salvo que se tenga una razn fundada, se puede asumir que w(n)=1 para todo n.
Es importante destacar que, en ocasiones, g(n) y h(n) sern muy costosos de calcular. Este hecho
requiere una evaluacin especial dado que el nmero de ocasiones en que haya que hacer el clculo
puede ser considerable.
12.3.4 Seleccin del Nodo a explotar
De entre los nodos abiertos hay que elegir cual es el nodo a explotar. Cada criterio tiene sus ventajas
e inconvenientes ligadas a:
b) La facilidad de bsqueda del nodo.
c) La rapidez en la que se encuentran soluciones completas.
d) La rapidez en la que se encuentran buenas soluciones completas.
Los criterios ms habituales son:
a) Seleccin aleatoria
b) Primero el ms antiguo (FIFO)
c) Primero el ms moderno (LIFO)
d) Primero el ms profundo (bsqueda en profundidad)
e) Primero el menos profundo (Bsqueda en Anchura)
f) Primero el de menor coste (g(n))
g) Primero el de mejor cota (f(n)),
h) Primero el de mejor esperanza
12.3.5 Generacin de nodos (explosin)
Cada problema tiene un mecanismo de generacin de nodos (una vez seleccionado el mismo)
diferente. No es posible proponer un mecanismo general. Aunque s hay algunos criterios que se deben
observar. En primer lugar debe generar todas las opciones posibles a partir del nodo explotado, y no
debe conducir a la generacin de una cantidad excesiva de nodos en cada explosin.
En los problemas en que la solucin es una permutacin de valores un modo habitual de explotar
nodos es aadir un nuevo valor a la solucin parcialmente construida.
12.3.6 Eliminacin (o cierre) de Nodos.
No todos los nodos abiertos son igualmente necesarios, por ello se suele aadir un procedimiento
que elimine aquellos nodos que no se quieran mantener abiertos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 105 de 190
Algunos de los nodos abiertos sern manifiestamente incompatibles y por ello deben ser cerrados.
Otros nodos sern estructuralmente iguales que otros nodos ya creados (abiertos o no), podra interesar
buscar esos nodos para cerrar el nodo idntico.
Es posible que haya nodos que conduzcan de manera unvoca a la generacin de una solucin
completa. En ese caso hay que crearla y valorarla, comparndola con la mejor solucin disponible hasta
el momento, guardndola si es mejor que ella y en cualquier caso cerrndolas.
Algunos nodos estarn dominados por otros nodos ya creados, en ese caso se debe cerrar el nodo.
Otros nodos podran tener alguna caracterstica que les impidiera conducir a un ptimos en cuyo caso
pueden tambin ser cerrados.
En algunos casos la cota de los nodos abiertos es ya peor que la mejor de las soluciones obtenidas.
En ese caso no tiene sentido seguir explotando ese nodo y conviene que sea cerrado.
Por ltimo, es posible que por problemas de memoria no se pueda tener abierta ms de una cierta
cantidad de nodos. En ese caso hay que elegir el conjunto de nodos a mantener y cerrar el resto.
Los procedimientos de enumeracin completa analizan todos y cada uno de los nodos que se abren.
12.4 Otras tcnicas de Enumeracin basadas en la exploracin por nodos.
Las tcnicas de Enumeracin Implcita analizan que nodos no se deben abrir puesto que se puede
deducir de su estructura los resultados que puede obtener.
Las tcnicas Beam Search avanzan por niveles y no permiten que haya ms de M nodos abiertos
simultneamente.
Las tcnicas Laser generan, a partir de cada nodo abierto, soluciones, mediante heursticas rpidas,
aunque la exploracin se hace tambin por niveles. Este mtodo permite tener buenas soluciones sin
necesidad de acabar el procedimiento que garantizara el ptimo.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 106 de 190 JPGS2011
13 PROCEDIMIENTOS DE MEJORA LOCAL
Son procedimientos basados en analizar el vecindario de una determinada solucin, para averiguar si
existe, en dicho vecindario, una solucin con mejor valor de funcin objetivo.
El proceso de bsqueda examina todas las opciones dentro del vecindario actual y selecciona
(generalmente) la mejor opcin para moverse hacia l y recomenzar el proceso
13.1 Vecindario
La definicin de vecindario es el conjunto de soluciones que pueden ser alcanzados desde la
solucin actual con una operacin simple. Cualquier punto que requiera dos operaciones no es
vecindario.
La mejor solucin en un vecindario es un ptimo con respecto a su vecindario.
A continuacin se describen los tres tipos de vecindario ms habituales.
13.1.1 Intercambio de 2 elementos
Son vecinos de una determinada solucin todas aquellas soluciones alcanzables mediante el
intercambio de de dos elementos de la solucin.
Ejempo: Sea ABCDEFGH la solucin original considerada. Un intercambio de los elementos 3 y 6
proporcionara la siguiente solucin ABFDECGH
13.1.2 2-opt
Son vecinos de una determinada solucin todas aquellas soluciones mediante el siguiente
movimiento: Tras seleccionar dos elementos de una solucin invertir el tramo que hay entre los mismos.
Este tipo de vecindario ha demostrado su superioridad, en general, frente al del intercambio simple.
Adems todos los vecinos segn el proceso de intercambio son vecinos en segundo nivel del vecindario
2-opt. Lo mismo ocurre con los vecinos encontrados mediante el proceso Insertar.
Ejempo: Sea ABCDEFGH la solucin original considerada. Un 2-opt de los elementos 3 y 6
proporcionara la siguiente solucin ABFEDCGH
13.1.3 Insertar
Son vecinos de una solucin mediante el proceso de insercin aquellos en los que se coge un
elemento y se inserta entre otros dos elementos. Los vecinos as conseguidos son vecinos en segundo
nivel del vecindario 2-opt.
Ejempo: Sea ABCDEFGH la solucin original considerada. Insertar 3 en 6 proporcionara la siguiente
solucin ABDEFCGH.

Modelos y Mtodos de Investigacin de Operaciones

Pgina 107 de 190
13.2 Algoritmos de Mejora basados en Vecindario
13.2.1 Nomenclatura
x: solucin actual
x': solucin en el vecindario
c(x) = valor de la funcin objetivo para x
N(x): vecindario de x
random: funcin
13.2.2 Mejora Iterativa Simple. Procedimiento
Paso 1) Inicializacin
1.1 Seleccionar una solucin inicial x
1.2 Definir mejor_coste:=c(x)
Paso 2) Seleccin (y acabar si no hay mejora)
2.1 Seleccionar x' perteneciente N(x) tal que c(x')<c(x)
2.2 Si no hay tal x' entonces STOP
Paso 3) Actualizar
3.1 x:=x'
3.2 mejor_coste:=c(x)
3.3 Ir a paso 2.
13.2.3 Descenso Rpido. Procedimiento
Paso 1) Inicializacin
1.1 Seleccionar una solucin inicial x
1.2 Definir mejor_coste:=c(x)
Paso 2) Seleccin (y acabar si no hay mejora)
2.1 Seleccionar x' perteneciente N(x) tal que c(x')<c(x) y es el menor coste en el vecindario c(x')=min(N(x))
2.2 Si no hay tal x' entonces STOP
Paso 3) Actualizar
3.1 x:=x'
3.2 mejor_coste:=c(x)
3.3 Ir a paso 2.
13.2.4 Mejora Iterativa Aleatorizada. Procedimiento
wp: real positivo menor que 1.
Paso 1) Inicializacin
1.1 Seleccionar una solucin inicial x
1.2 Definir mejor_coste:=c(x)
Paso 2) Seleccin
2.1 Si random<wp seleccionar x' perteneciente N(x) de modo aleatorio
2.2 en caso contrario Seleccionar x' perteneciente N(x) tal que c(x')<c(x)
Paso 3) Actualizar
3.1 x:=x'
3.2 mejor_coste:=c(x)
3.3 Mientras no se produzca la condicin de terminacin ir a paso 2.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 108 de 190 JPGS2011
14 PROCEDIMIENTOS METAHEURSTICOS
Los procedimientos metaheursticos son un marco de referencia de alto nivel que se especializa para
resolver problemas de optimizacin. Es tambin una estrategia que gua otras heursticas en la
bsqueda de mejores soluciones factibles.
Las metaheursticas deberan ser generales y simples. A medida que se especializan pierden la
generalidad y exigen ms conocimiento del problema especfico,
Adems de los parmetros que definen cada algoritmo especfico, las metaheursticas requieren
algn tipo de representacin que por tanto es dependiente de cada problema.
Entre las metaheursticas ms conocidas se puede destacar:
- Algoritmos Genticos
- Scatter Search
- Algoritmos Memticos
- Algoritmos de Hormigas
- Redes Neuronales
- GRASP.
- Recocido Simulado
- Bsqueda Tab
- Iterated Local Search, Variable Neiborhood Search
14.1 Procedimientos de poblacin
Segn (Osman, 1995) las metaheursticas de poblacin, a la que pertenecen los algortimos
genticos, presentan todo o parte del siguiente esquema de la Ilustracin 1: Estructura genrica de las
Metaheursticas (Osman, 1995) En este esquema se puede observar que todos los procedimientos
empiezan obteniendo una generacin inicial (que algunas veces pueden estar constituidas por un solo
individuo). Esta generacin pasa a una segunda etapa (bsqueda por generacin de movimientos) o a
una tercera (bsqueda por generacin de soluciones). En la segunda etapa puede ser usado cualquier
procedimiento de bsqueda local que generan vecindarios a partir de una solucin nica. Los mtodos
de bsqueda por individuos pueden operar sobre cada individuo de la generacin actual.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 109 de 190

Ilustracin 1: Estructura genrica de las Metaheursticas (Osman, 1995)
Al final de la segunda etapa puede finalizar la bsqueda en la poblacin actual e ir a la etapa cuatro o
reinicializada volviendo a la etapa primera si la bsqueda evolutiva no se incluye, o la poblacin actual
pasa por la etapa tercera. En esta tercera etapa se realiza una bsqueda basada en la generacin de
nuevas soluciones. Al final de esta etapa se puede volver a la segunda o repetir otro ciclo de bsqueda
evolutiva. Las lneas punteadas indican opciones que pueden ser utilizadas o no.
14.1.1 Algoritmos Genticos
Los Algoritmos Genticos fueron introducidos por Holland en 1975 para imitar algunos de los
mecanismos que se observan en la evolucin de las especies. Basndose en las principales
caractersticas de la reproduccin sexual, Holland cre un algoritmo que genera nuevas soluciones a
partir de la unin de soluciones progenitoras utilizando operadores similares a los de la reproduccin, sin
necesidad de conocer el tipo de problema a resolver.

Una ventaja importante que presentan las heursticas frente a las tcnicas que buscan soluciones
exactas es que, por lo general, permiten una mayor flexibilidad para el manejo de las caractersticas del
problema. No suele ser complejo utilizar algoritmos heursticos que en lugar de funciones lineales
utilicen no linealidades. Habitualmente las heursticas proponen un conjunto de soluciones, ampliando
de esta forma las posibilidades de eleccin del decisor, especialmente cuando existen factores no
cuantificables que no han podido ser reflejados en el modelo pero deben ser tenidos en cuenta.
Generacin de la Poblacin Inicial
Bsqueda en el espacio de soluciones
Poblacin para la generacin actual
Bsqueda mediante generacin de movimientos
Bsqueda local
Fin de la bsqueda
Generacin temporal de la poblacin
Bsqueda mediante generacin de soluciones
Bsqueda evolutiva
Poblacin para la siguiente generacin
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 110 de 190 JPGS2011
En resumen, podra decirse que el uso de estas tcnicas supone la posibilidad de resolver, de forma
prctica, problemas de gran complejidad que resultaban intratables mediante tcnicas exactas y permite
definir con detalle el metabolismo del sistema.
Los algoritmos genticos son una clase de algoritmos inspirados en los mecanismos de la gentica,
que se aplican a problemas de optimizacin (especialemente a los problemas de combinatoria).
Procedimiento basado en la analoga con la evolucin de los seres vivos. La premisa que subyace a
este tipo de enfoques es, que se puede encontrar soluciones aproximadas a problemas de gran
complejidad computacional mediante un procedimiento de evolucin simulada matemticamente en un
ordenador [Holland, 1975]
Es una Metaheurstica que permite a partir de una poblacin inicial de soluciones, obtener soluciones
potencialmente mejores mediante el cruce de varias de las soluciones originales.
Requieren el diseo de tres operadores (generalmente de tipo probabilstico) que actuan sobre
objetos denominados strings.
- Repr oducci n: Sel ecci n de st r i ngs par a poder pr oceder a l a r epr oducci n.
- Cr uce: Combi naci n de dos o ms st r i ngs par a que i nt er cambi en val or es, r epr oduci ndose..
- M ut aci n: Al t er aci n espnt anea de l os el ement os de un st r i ng .
Estos procesos pueden tener cada uno formas variadas, e incluso se permite el avance en paralelo
de Algortimos Genticos con el mismo propsito.
14.1.1.1 Estructura General de un Algoritmo Gentico.
Generacin de la Poblacin Inicial
Repetir
Elegir dos (o ms) padres de entre la poblacin.
Construir una solucin nueva a partir de la estructura de los padres elegidos.
Si se considera conveniente provocar mutaciones.
Decidir si la nueva solucin pasa a formar parte de la poblacin.
Hasta alcanzar un criterio de parada

Generacin de la Poblacin Inicial
Se cumple la condicin de parada?
Si
Seleccin de progenitores
Aplicacin de los
operadores genticos
Mostrar la mejor solucin de la
poblacin final. Fin
Actualizar la poblacin
No
Modelos y Mtodos de Investigacin de Operaciones

Pgina 111 de 190
14.1.1.2 Representacin de las soluciones (representacin cromosmica).
Inicialmente en los Algoritmos Genticos se representaba la solucin mediante vectores de carcter
binario. Los operadores eran muy sencillos pero muchas de las soluciones obtenidas eran infactibles
que posteriormente haba que reparar.
Otro modo de representar soluciones til para los algoritmos genticos es utilizar un vector
unidimensional de elementos independientes. (Por ejemplo un vector para el Problema TSP).
Cuando el problema es ms complejo (por ejemplo un problema de Flow Shop Hbrido) puede exigir
N Vectores con codificacin combinada. En el caso del FlowShop Hbrido un buen modo de representar
es un vector que representa la secuencia de operaciones y otro vector las mquinas donde cada
producto va destinado.
Tambin se pueden utilizar vectores n-dimensionales cuyo problema fundamental es el de definir
mtodos de cruce eficientes (Ej: Vector Bidimensional para la Programacin de Produccin en Mquinas
en Paralelo)
Por ltimo existen vectores con codificacin implcita como por ejemplo para la codificacin del
balance de lneas en los que una correcta codificacin es una exigencia para obtener resultados
razonables.
14.1.1.3 Definicin de la Medida de Evaluacin de cada Solucin (Fitness)
El procedimiento de evaluacin de una solucin es especialmente importante en un algoritmo
gentico, pues se va a utilizar muchas veces.
- Fi t ness(x)= Val or f unci n obj et i vo
- Fi t ness(x)= Val or f unci n obj et i vo nor mal i zada
- Fi t ness(x)= Val or f unci n obj et i vo nor mal i zada Penal izaci n por i nf act i bi l i dad
- Ot r os
14.1.1.4 Definicin de Mtodos para la Generacin de la Poblacin inicial
Procedimientos
- Gener aci n Al eat or i a
- Heur st i cas conoci das
El tamao de la Poblacin es especialmente relevante. Un tamao demasiado grande genera
dispersin de resultados Un tamao demasiado pequeo genera una excesivamente rpida
convergencia de soluciones. Una pregunta interesante al disear un algoritmo gentico es si debe
mantenerse constante a lo largo del proceso.
14.1.1.5 Definicin de Mtodos para la seleccin de dos (o ms) padres de la Poblacin Inicial.
El nmero de padres seleccionados es generalmente dos (aunque puede ser mayor si el
procedimiento de cruce lo permite). El modo de seleccin de los padres se suele realizar mediante el
uso de la denominada ruleta. Se asignan probabilidades a los padres en funcin de su fitness
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 112 de 190 JPGS2011

14.1.1.6 Operaciones de Recombinacin o Cruce de los individuos seleccionados.
El cruce o intercambio de caractersticas entre las soluciones elegidas produce un fenmeno de
convergencia puesto que hace que los individuos de la poblacin cada vez se parezca mas entre s.
Existen infinidad de operadores de cruce, los ms sencillos son los desarrollados para
representaciones binarias como el one-point crossover que intercambia a partir de una posicin
determinada la cadena binaria que representa el individuo de cada padre. Este concepto se ha refinado
con el two-point crossover que intercambia la parte del individuo que hay entre dos posiciones definidas
de manera aleatoria.


14.1.1.7 Generacin Soluciones Iniciales
Para generar las soluciones iniciales se puede optar por generarlos de manera aleatoria o utilizando
heursticas conocidas que generan buenas soluciones de partida.
El problema de la primera aproximacin es que la convergencia a una buena solucin puede ser
lenta. El problema de la segunda aproximacin es que tiene una tendencia inicial que ser dificilmente
superada.
Por otro lado el tamao de la Poblacin es especialmente relevante. Un tamao demasiado grande
genera dispersin de resultados Un tamao demasiado pequeo genera una excesivamente rpida
convergencia de soluciones. Otra cuestin a resolver es si debe mantenerse constante dicho tamao a
lo largo del Proceso.
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
A
C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
A
C
1/6 = 17%
3/6 = 50%
B
2/6 = 33%
1-3-5-2-4-6-8-7
2-4-6-8-1-3-5-7
_-_-5-2-4-_-_-_
_-_-5-2-4-3-_-7
6-8-5-2-4-3-1-7
Se completa con
cromosomas del
segundo padre dentro
de la zona
intercambiada
Modelos y Mtodos de Investigacin de Operaciones

Pgina 113 de 190
14.1.1.8 Seleccin de Padres
El nmero de padres seleccionados es generalmente dos (aunque puede ser mayor si el
procedimiento de cruce lo permite).
El modo de seleccin de los padres se suele realizar mediante el uso de la denominada ruleta. En
ella se asigna una probabilidad a cada padre proporcional a su fitness de tal modo que la suma de
probabilidades sea la unidad.
14.1.1.9 Cruce
El cruce o intercambio de caractersticas entre las soluciones elegidas produce un fenmeno de
convergencia puesto que hace que los individuos de la poblacin cada vez se parezca mas entre s.
Existen infinidad de operadores de cruce, los ms sencillos son los desarrollados para
representaciones binarias como el one-point crossover que intercambia a partir de una posicin
determinada la cadena binaria que representa el individuo de cada padre. Este concepto se ha refinado
con el cruce de dos puntos que intercambia la parte del individuo que hay entre dos posiciones
definidas de manera aleatoria.
Este operador En primer lugar se calculan dos nmeros aleatorios entre 1 y el nmero de elementos
del vector. El operador obtiene del vector progenitor a los elementos contenidos entre el primer nmero
y el segundo nmero. Posicin a posicin de entre las an no asignadas se copian los elementos del
progenitor b si no estn incluidos en el fragmento de vector copiado del padre. Los huecos que queden
se rellenan con el orden en el que aparecen los valores no incorporados del progenitor b.
En muchas ocasiones el resultado as obtenido no es una solucin factible. En estos casos hay que
proceder a realizar una operacin de reparacin en la que se genera factibilidad al resultado obtenido.

14.1.1.10 Actualizar Poblacin
El argumento fundamental de los algoritmos genticos no es que obtienen buenos resultados a partir
de la exploracin ligada a una poblacin inicial, sino que la poblacin evoluciona a medida que se
obtienen soluciones mejores.
Dicha evolucin se consigue por la va de sustituir (de uno en uno o en paquetes) elementos de la
poblacin anterior por soluciones obtenidas durante la ejecucin del algoritmo.
14.1.1.11 Monitorizacin de Convergencia y Mutacin
Cada cierto tiempo es interesante realizar operaciones de mutacin, para garantizar que la poblacin
no converja demasiado rpidamente. Generalmente son operaciones en las que el vector obtenido es
afectado por alguna operacin de bsqueda de vecindario como la insercin o el intercambio de dos
elementos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 114 de 190 JPGS2011
La monitorizacin de la convergencia permite lanzar procedimientos de mutacin si es necesario Un
modo de monitorizar la convergencia es contabilizar para toda la poblacin si se repiten los mismos
valores en las posiciones.

Puede ser interesante aplicar cada cierto tiempo pequeas mutaciones a las soluciones obtenidas, ya
sea para mejorar la poblacin, ya sea para evitar la excesiva convergencia en la poblacin. Los tipos
bsicos de mutacin recuerdan a los vecindarios definidos en otro lugar de estos apuntes (2-opt,
Inversin, Insercin) pero tambin podra ser la introduccin selectiva de elementos ajenos a la
evolucin de la solucin.
14.1.2 Scatter Search y Algoritmos Memticos
La Scatter Search o bsqueda dispersa es un mtodo metaheurstico de poblacin para resolver
problemas de optimizacin. Aunque fue originalmente introducido en los aos setenta, recientemente es
cuando ha sido probado en numerosos problemas difciles con gran xito (Glover, Laguna, and Marti,
2003).
Pertenece a la familia de los llamados Algoritmos Evolutivos, y aunque presenta similitudes con los
Algoritmos Genticos, difiere de stos en principios fundamentales, tales como el uso de estrategias
sistemticas en lugar de aleatorias o la posibilidad de combinar ms de dos elementos.
Scatter Search proporciona un marco flexible que permite el desarrollo de diferentes
implementaciones con distintos grados de complejidad. El mtodo consta de las siguientes etapas:
Generacin de la Diversidad, Mtodo de Mejora sobre la poblacin anterior, seleccin de la poblacin de
referencia, seleccin de un subconjunto para la combinacin, combinacin y actualizacin de la
poblacin de referencia
Comienza con una coleccin de puntos de referencia (obtenidos mediante la aplicacin de otrso
procedimientos). Se parece a los algoritmos genticos excepto que en la bsqueda scatter la
combinacin de elementos de la poblacin es una combinacin lineal que es posteriormente adaptada
para convertirse en una solucin.
Los algoritmos memticos tambin pertenecen a los algoritmos basados en poblaciones. Explicado
de una manera muy bsica utiliza el operador de cruce de los algoritmos genticos, pero al obtener un
hijo le aplica mtodos de mejora local.
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
0 . 3
0 . 4
0 . 5
0 . 6
0 . 7
0 . 8
0 . 9
1
1 . 1
1 . 2
1 . 3
G e n e ra t i o n s
F
it
n
e
s
s
B e s t F i t n e s s
M e a n F i t n e s s
Modelos y Mtodos de Investigacin de Operaciones

Pgina 115 de 190
14.2 Metaheursticas de Bsqueda de Entornos
14.2.1 GRASP
Probablemente el modo ms sencillo para evitar los ptimos locales es empezar por puntos
diferentes cada vez el camino de descenso(Marti, 2003). Esta es la lgica bsica del procedimiento
denominado Greedy Randomized Adaptive Search Procedure-GRASP- (Resende and Ribeiro, 2003). La
generacin de los puntos de inicio es la parte voraz, aleatoria y adaptativa del proceso mientras que la
bsqueda local es el componente search. Este algoritmo de muy fcil implementacin, puede ser
tambin paralelizado o integrado con otras metaheursticas.
GRASP es el acrnimo de Greedy Randomized Adaptive Search Procedures. Es una metaheurstica
que empieza la resolucin del problema en diferentes puntos del espacio de soluciones y una vez
reempieza utiliza un procedimiento heurstico para completar o mejorar la solucin, alcanzando un
ptimo local.
La definicin de la situacin inicial puede ser ms o menos aleatoria. El mtodo de resolucin puede
ser una heurstica especfica del problema u otra metaheurstica de bsqueda local.
El modo ms sencillo para evitar los ptimos locales es empezar por puntos diferentes cada vez el
camino de descenso(Marti, 2003). Esta es la lgica bsica del procediminto denominado Greedy
Randomized Adaptive Search Procedure-GRASP- (Resende et al., 2003). La generacin de los puntos
de inicio es la parte voraz, aleatoria y adaptativa del proceso mientras que la bsqueda local es el
componente search. Este algoritmo de muy fcil implementacin, puede ser tambin paralelizado o
integrado con otras metaheursticas.
Otro modo de concebir las estructuras GRASP es mediante el uso de heursticas constructivas
randomizadas..

Dicha estructura utilizara un algoritmo heurstico constructivo voraz, sustituyendo el criterio de
seleccin del siguiente elemento a incorporar a la seleccin por un criterio estocstico. De este modo, en
el problema TSP, en lugar de elegir, por ejemplo, el vecino ms cercano, se elije aleatoriamente de entre
los 3 vecinos ms cercanos, o de entre aquellos vecinos que slo estn un 10% ms lejos que el ms
cercano de los vecinos.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 116 de 190 JPGS2011
14.2.2 ILS y VNS
La idea de reiniciar la bsqueda de nuevo es interesante, pero para espacios de solucin extenso
puede llevar a un procedimiento no eficiente. Por ello la Iterated Local Search (Loureno et al., 2003) lo
que pretende es comenzar la bsqueda de nuevo no por cualquier lado si no por puntos del espacio
que son modificaciones no demasiado fuertes- de soluciones ya encontradas previamente.
Especficamente se puede citar la Bsqueda de Vecindario Variable (Variable Neihborhood Search-
VNS), cuya idea fundamental es la bsqueda de mejores soluciones cambiando de vecindario cuando el
que se est considerando no va a dar mejores resultados (Hansen et al., 2003). La VNS se comporta
como un mtodo de descenso hacia mnimos locales, explorando sistemticamente o aleatoriamente,
cada vez ms lejanos vecindarios de la solucin. El mtodo salta de la solucin actual a una mejor s y
slo s encuentra una mejor solucin. (Perez et al., 2006).
14.2.3 Recocido Simulado
Los algoritmos de Recocido Simulado (Simulated Annealing) fueron introducidos por Cerny y
Kirkpatrick a principio de la dcada de los 80 del siglo XX para la optimizacin de problemas
combinatorios con mnimos locales. Utilizan tcnicas de optimizacin no determinista: no buscan la
mejor solucin en el entorno de la solucin actual sino que generan aleatoriamente una solucin cercana
y la aceptan como la mejor si tiene menor coste, o en caso contrario con una cierta probabilidad p; esta
probabilidad de aceptacin ir disminuyendo con el nmero de iteraciones y est relacionada con el
empeoramiento del coste.(Henderson et al., 2003)
El recocido simulado est basado en un cmo funciona el proceso fsico de recocido. En el proceso
de bsqueda de soluciones permite movimientos que no mejoran con una probabilidad que decrece a lo
largo del tiempo. El ratio de dicho decrecimiento queda determinado por el programa de enfriamiento
que casi siempre es un parmetro usado como ratio de decrecimiento exponencial.

x: solucin actual
c(x) = valor de la funcin objetivo para x
N(x): vecindario de x

Paso 1) Inicializacin
1.1 Seleccionar una solucin inicial x
1.2 Definir mejor_coste:=c(x)
1.3 Determinar la T inicial
Paso 2) Mientras no se produzca la condicin de terminacin
2.1 Elegir un x' perteneciente N(x)
2.2 Si x' es aceptable dependiendo del criterio de Recocido Simulado.
x:=x'
2.3 Actualizar T de acuerdo a la planificacin de Recocido Simulado.
14.2.4 Tabu search.
Otro mtodo metaheurstico que pretende dotar de "inteligencia" a los algoritmos de bsqueda local
es denominado de Bsqueda Tab (Gendreau, 2003). La bsqueda tab, a diferencia de otros
algoritmos basados en tcnicas aleatorias de bsqueda en vecindario, se caracteriza porque utiliza una
estrategia basada en el uso de estructuras de memoria para escapar de los ptimos locales, en los que
Modelos y Mtodos de Investigacin de Operaciones

Pgina 117 de 190
se puede caer al "moverse" de una solucin a otra por el espacio de soluciones. Al igual que en la
bsqueda local, la bsqueda tab selecciona de modo agresivo el mejor de los movimientos posibles en
cada paso. Al contrario que sucede en la bsqueda local, se permiten movimientos a soluciones del
entorno aunque se produzca un empeoramiento de la funcin objetivo, de manera que sea posible
escapar de los ptimos locales y continuar estratgicamente la bsqueda de mejores soluciones.
La bsqueda tab es una metaheurstica que resuelve problemas de optimizacin, basandose en que
se prohbe al sistema deshacer algunos de los ltimos movimientos realizados, para permitir la
bsqueda por entornos que de otro modo no se exploraran.
Esta metaheurstica resuelve problemas de optimizacin, basndose en una gestin de memoria
multinivel y exploracin. Utiliza el concepto de vecindario para probar soluciones. En su versin ms
simple un procedimiento de bsqueda tab es como sigue:
x: solucin actual
c(x) = valor de la funcin objetivo para x
N(x): vecindario de x

x:=determinarSolucinInicial;
while not(hayQueTerminar) do begin
V:=conjuntoDeVecinosNoProhibidos(x);
x:=elegirMejorVecino(V);
actualizarListaDeMovimientosProhibidos(x,x);
x:=x;
end;
Hay muchas variaciones, como por ejemplo los niveles de aspiracin, que se pueden incluir en
especificaciones ms complejas.
14.3 Metaheursticas basadas en el reconocimiento de patrones.
14.3.1 Redes Neuronales
Las redes neuronales artificiales, son sistemas de procesamiento de la informacin cuya estructura y
funcionamiento emulan a las redes neuronales biolgicas. Los elementos simples de procesamiento de
una red neuronal artificial tambin se denominan neuronas y el peso de sus conexiones, pesos
sinpticos. Las redes neuronales tienen una gran utilidad en sistemas de prediccin. Mediante un
histrico de datos (y de salidas) se establecen las relaciones entre los datos y las salidas
(entrenamiento), de tal modo que a un nuevo juego de datos le correspondera una nueva salida.
14.3.2 Algoritmo de Colonia de Hormigas
Un procedimiento heurstico de bsqueda basado en el comportamiento de las colonias de hormigas.
Particularmente su habilidad para encontrar el camino ms corte de modo colectivo.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 118 de 190 JPGS2011

Las hormigas tienen memoria que afecta al proceso de construccin del camino de modo que aquel
camino que es de menor camino es el que tiene ms probabilidad de ser elegido. En los algoritmos ACO
se guarda memoria de las conexiones ms habituales entre dos elementos consecutivos.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 119 de 190
15 ALGUNOS EJERCICIOS DE PROGRAMACION MATEMTICA
15.1 Cunto gana la Empresa?
Una empresa fabrica 2 productos P y Q.
P se vende a 90 y Q a 100 . La demanda de cada producto es de P=100 unidades/semana y de
Q=50 unidades/semana.
Los dos productos requieren de una misma pieza central, la Materia Prima de la cual vale a 20 la
unidad. Para fabricar la pieza central hacen falta 15 minutos del recurso B y 5 minutos del recurso C.
Para fabricar el componente 1 del producto P hace falta materia prima por valor de 20/unidad, 15
minutos del recurso A y 10 minutos del recurso C. Al ensamblar la pieza central con el componente 1
utilizamos otro componente 3 que se compra al precio de 5/unidad, lo ensambla el recurso D en 15
minutos cada unidad.
El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de
20/unidad, pasa por el recurso A donde est 10 minutos y luego por el proceso B donde est 15
minutos. Finalmente es ensamblado por el recurso D en 5 minutos. El mes tiene 20 das de 8 horas. Los
gastos totales son 3600/semana
a) Cul es el mejor plan de produccin para la empresa? Qu beneficio le aporta?
b) Cul es el valor de una hora ms de cada recurso productivo?
c) Establecer un objetivo que pretenda maximizar el ratio beneficio entre horas totales de
trabajo.
d) Establecer un objetivo que pretenda
e) Cmo incorporar limitaciones en la disponibilidad de materia prima?
f) Cmo incorporar un nmero indefinido de productos al modelo?

15.2 Problema de Corte
Una empresa tiene barras metlicas de 12,5 metros. Un da cualquiera recibe pedidos que acumulan
los siguientes cortes: 5 barras de 3 metros, 4 barras de 4 metros, 3 barras de 5 metros, 5 barras de 6,5
metros.
Defina un modelo que genere un plan de corte con el mnimo resto posible.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 120 de 190 JPGS2011
15.3 Centralita Telefnica
Una empresa tiene una centralita telefnica que debe atender durante 17 horas al da. La demanda
de operadores para las diferentes horas es variable. Puede contratar trabajadores a una ETT por 4,5,6,7
y 8 horas al da. Cada tipo de contrato tiene un coste diferente.
Defina cuntos contratos de cada tipo ha de hacer para cada hora de una jornada.
Resolucin:
El problema puede ser implementado en una hoja de clculo con la siguiente estructura.




15.4 Varios Turnos
Una fbrica puede trabajar a 3 turnos, con costes fijos por turno de (1000,500,200) y costes variables
diferentes en cada turno por unidad (20,30,40). Las capacidades productivas son tambin diferentes
(100,800,700). El precio de venta de cada unidad es de 50.
a) Cuntas unidades debe fabricar?
b) Si variara el precio con la cantidad puesta en el mercado segn una recta con los siguientes puntos
extremos: si vende a 100 el mercado demanda 500. Y si vende a 50 el mercado demanda 3000. Qu
precio debe imponer?

15.5 Plan de Produccin
Sea una empresa que fabrica 3 tipos de productos. Para ello utiliza 2 tipos de mquinas (Mecanizado
y Acabado). Tiene 3 mquinas de Mecanizado y 2 de Acabado.
Cada centenar de producto A requiere 2 horas de Mecanizado y 2 horas de Acabado.
Cada centenar de producto B requiere 3 horas de Mecanizado y 2 horas de Acabado.
Cada centenar de producto C requiere 2 horas de Mecanizado y 1 horas de Acabado.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 121 de 190
Adems para poner en marcha cada mquina hay que utilizar mano de obra, de la que disponemos 4
unidades por turno. Los costes de personal semanales se evalan en 3000 .
La semana laboral tiene 120 horas.
Se plantean dos escenarios de precios por centenar de unidades con probabilidades respectivas del
30% y del 70%.
Prob. Valor A Valor B Valor C
e=1 30% 50 50 40
e=2 70% 40 60 30
Las demandas estn limitadas en 5000 unidades de producto A y 4000 unidades de producto B y
5000 unidades de producto C.
1. Plantear el problema para el beneficio promedio esperado.
2. Plantear el problema para Maximizar el mnimo beneficio con Programacin Lineal.
3. Maximizar el beneficio por hora trabajada con Programacin Lineal.
4. Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el
mnimo beneficio.
5. Relajar la restriccin de mano de obra con escenario=1. El coste de la hora extra son 5. No se
hacen horas extra en fin de semana.
6. Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de
desigualdades posible.
7. Plantear el dual del problema original.
8. Suponer que en el escenario 1 existe una relacin entre el precio y la cantidad vendida, de tal
modo que el producto entre la cantidad vendida y la raz cuadrada del precio de venta es
constante e igual a 63.
9. Suponer que se puede alquilar una mquina ms de mecanizado con un coste fijo semanal de
300 y variable de 2 por hora utilizada
10. Suponer que se puede alquilar una mquina ms de mecanizado con un coste fijo semanal de
300 y variable de 2 por unidad fabricada.
Resolucin
2. Plantear el problema para el beneficio promedio esperado. (Resultado: Beneficio=5578)
I ndi ces
i =1..3 t i pos de pr oduct os
j =1..2 t i pos de mqui nas
e=1..2 escenar i os
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 122 de 190 JPGS2011
Dat os
fi,j= t i empo de pr oducci n de i en j ((2,2),(3,2),(2,1))
pe = pr obabi l i dad del escenar i o e (03,0,7)
nj = nmer o de mqui nas de t i po j (3,2)
mi = hor as de per sonal necesar i as par a fabr i car i (4,5,3)
vi,e = pr eci o de vent a del pr oduct o i en escenar i o e : ((50,50,40),(40,60,60))
di = demanda par a el pr oduct o i en cent enar es de uni dades: (20,30,40)
Vari abl es
Xi : Cant i dad de pr oduct o a fabr i car .

El model o queda
0 con
1..3 i
4 120 m
1..2 j 120 f
: a sujeto

3
1 i
i
3
1 i
j i,
2
1 e
3
1
,
>
= s
s
= s


=
=
= =
i
i i
i
j i
i
i e i e
X
d X
X
n X
X v p MAX


3. Plantear el problema para Maximizar el mnimo beneficio manteniendo Programacin Lineal
La expr esi n del obj et i vo en for mat o no Li neal :
3
,
e
1
max min
i e i
i
v X
=


Par a pl ant ear est e obj et i vo de modo l i neal es necesar i o cr ear una nueva var i abl e Z que
r epr esent ar di cho val or mni mo.
nes restriccio de resto el y
1..2 e 0 - Z
: a sujeto
Z
3
1
,
= s

= i
i e i
X v
MAX


4. Maximizar el beneficio por hora trabajada
La expresin del objetivo en formato no Lineal:


=
= =
2
1 i
2
1 e
3
1
,

max
i i
i
i e i e
X m
X v p

Para plantear este objetivo es necesario hacer una transformacin introduciendo
las variables w
i
y t, donde X
i
=w
i
t
El modelo queda de este modo:
Modelos y Mtodos de Investigacin de Operaciones

Pgina 123 de 190
0 con
1..3 i 0 t
0 480 m
1..2 j 0 120 f
: a sujeto

3
1 i
i
3
1 i
j i,
2
1 e
3
1
,
>
= s
s
= s


=
=
= =
i
i i
i
j i
i
i e i e
w
d w
t w
t n w
w v p MAX

5. Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el
mnimo beneficio.
Maximizar el uso de mano de obra se puede representar as:

=
2
1

i
i i
X m
Los otros dos objetivos han sido planteados en los apartados 1 y 2.
Los 3 objetivos no pueden ser considerados simultneamente

6. Relajar la restriccin de mano de obra con escenario=1.. El coste de la hora extra son 5. No se
hacen horas extra en fin de semana.
0 con
1..3 i
480 m
1..2 j 120 f
: a sujeto
5
3
1 i
i
3
1 i
j i,
3
1
1 ,
>
= s
s
= s

=
=
=
i
i i
i
j i
i
i i
X
d X
u X
n X
u X v MAX


7. Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de
desigualdades posibles.
120
480
s
= +

u
u X m
i
i i


15.6 Localizacin
Dado un conjunto de ciudades, con un beneficio asociado de servirlas y un coste de implantar un centro de
servicio en cada una de ellas, y unidas mediante carreteras de diferente longitud grafo conexo). Asumiendo
que desde una ciudad se puede servir a otras si la distancia no es superior a un cierto valor.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 124 de 190 JPGS2011
a) Cmo cubrir todas las ciudades a mnimo coste?
b) Cmo obtener el mximo beneficio con coste limitado.?
c) Cmo obtener mxima rentabilidad?
d) Cmo imponer que se debe implantar en A o en B?
e) Cmo imponer que se debe implantar en A y en B?
f) Cmo imponer que si implantas en A debes hacerlo en B?
g) Cmo imponer que si implantas en A no debes hacerlo en B?
h) Cmo imponer que si implantas en A y en B debes hacerlo en C?

15.7 Vinos DON PEPN
DON PEPN es la marca comercial de una empresa dedicada a la elaboracin de vinos, zumos y
licores. Cuando llega la poca de la vendimia debe decidir que cantidad de 2 tipos bsicos de uvas
debe comprar.
La uva la utiliza para fermentarla, tras un proceso de mezcla directamente dando lugar a tres tipos
de vinos (Tinto, Rosado y Blanco). Tambin la puede utilizar para venderla como zumo de uva. Y
por ltimo la puede fermentar de un modo acelerado y tras destilarla obtener alcohol etlico y un
poso que se utiliza tambin para el zumo de uva.
Cada kilo de uva comprado da lugar a 0,80 litros de cualquiera de los lquidos finales.
El vino Tinto debe tener un porcentaje mximo de 15% de uva de tipo 2. El vino Rosado debe tener
un porcentaje mximo de 35% de uva de tipo 2 y un porcentaje mnimo de 40% de uva de tipo 1. El
vino Blanco debe tener un porcentaje mximo de 15% de uva de tipo 1.
El zumo de uva se produce con un mnimo de un 70% en volumen de uva, el resto es agua. Aunque
no se debe incorporar ms de un 15% de poso de uva de tipo 1, o ms de un 30% de poso de uva
de tipo 2.
Por cada tonelada de uva de tipo 1 se generan 1,6 hectlitros de alcohol etlico y 2,4 hectlitros de
poso mediante la fermentacin acelerada, y por cada tonelada de uva de tipo 2 se generan 1,2
hectlitros de alcohol etlico y 2 hectlitros de poso. Asimismo se generan
El precio en el mercado mayorista del vino tinto Don Pepn es de 1 el litro, el vino Rosado se
vende a 0,9 por litro, y el vino blanco a 0,8 por litro. El litro de zumo de uva est a 0,5 por litro.
Mientras que el alcohol etlico obtenido de la uva se vende a 1,2 por litro.
Los precios de compra actuales de cada tipo de uva son 60 los 100 kilos de tipo 1, y 50 los 100
kilos de uva de tipo 2.
Sean X1 y X2 las toneladas de uva de cada tipo que se compran. Sean V1, V2 y V3 los hectolitros
de cada tipo de vino que se venden. Sea Z los hectolitros de zumo e Y los hectolitros de alcohol
etlico.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 125 de 190
a) Fija una funcin objetivo para un modelo que pretenda maximizar beneficios.
b) Fija las restricciones del modelo anterior.
c) Incorpora la restriccin de que la capacidad de fermentacin mxima de vino es de 5000
hectolitros.
d) Por restricciones financieras no es posible adquirir ms 600.000 de uva en esta temporada.
e) Suponga que algunas limitaciones del mercado imponen que al menos un 20% del Vino total
producido debe ser Vino Tinto, al menos un 30% debe ser Vino Rosado, y al menos un 20% debe
ser Vino Blanco.
f) La empresa ha decidido hacer zumo 100% natural, para ello se utilizar el agua que resulta de la
fermentacin y nada de agua externa.
g) Con la capacidad propia anterior, se podran alquilar unas cubas de fermentacin con un coste
fijo de 100 y un coste variable por hectolitro de 10. Como incorporar esta condicin.
h) Cmo incorporara la condicin de que o bien se compra uva de tipo 1 o se compra uva de tipo 2,
pero no las dos simultneamente.
Sobre el modelo realizado hasta la pregunta e) se resuelve mediante la excel con la siguiente tabla

Posteriormente se realiza un anlisis de sensibilidad con los siguientes resultados para las
variables.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 126 de 190 JPGS2011

Y el mismo anlisis da los siguientes resultados para las restricciones:

i) A partir de los datos anteriores se observa que la solucin tiende a generar tanto vino tinto como
sea posible. Cul es el precio mnimo que habra que ponerle al Vino Rosado para que fuera la
opcin prioritaria?
j) Qu precio debiera tener el alcohol etlico para que lo tuviramos en cuenta en nuestras
opciones de produccin?
k) Cunto debiera pagar como mximo por una capacidad de fermentacin de un hectolitro de vino
ms?
l) Cuntos litros de agua est aadiendo al zumo? Atendiendo a la pregunta f. en qu cree que
cambiarn los resultados cuando el zumo sea 100% natural?
Solucin
a) La funcin objetivo
100VT + 90VR + 80VB + 50Z +120Y 600X1 500X2
Modelos y Mtodos de Investigacin de Operaciones

Pgina 127 de 190
b) Hacen falta la siguientes variables:
X1VT Cantidad de uva 1 en toneladas dedicada a hacer vino tinto
X2VT Cantidad de uva 2 en toneladas dedicada a hacer vino tinto
X1VR Cantidad de uva 1 en toneladas dedicada a hacer vino rosado
X2VR Cantidad de uva 2 en toneladas dedicada a hacer vino rosado
X1VB Cantidad de uva 1 en toneladas dedicada a hacer vino blanco
X2VB Cantidad de uva 2 en toneladas dedicada a hacer vino blanco
X1Z Cantidad de uva 1 en toneladas dedicada a hacer zumo
X2Z Cantidad de uva 2 en toneladas dedicada a hacer zumo
X1FA Cantidad de uva 1 en toneladas dedicada a fermentar de modo acelerado
X2FA Cantidad de uva 2 en toneladas dedicada a fermentar de modo acelerado
P1 Poso obtenido de uva 1 tras la Fermentacin acelerada en hectolitros
P2 Poso obtenido de uva 2 tras la Fermentacin acelerada en hectolitros
P1Z Poso obtenido de uva 1 en hectolitros que se dedica al zumo
P2Z Poso obtenido de uva 2 en hectolitros que se dedica al zumo
Restricciones
La uva de tipo 1 que compramos es la que utilizamos (idem para 2)
X1=X1VT+X1VR+X1VB+X1Z+X1FA (R.1)
X2=X2VT+X2VR+X2VB+X2Z+X2FA (R.2)
El vino que fermentamos depende de la uva que dedicamos a ello
VT = 8(X1VT+X2VT) (R.3)
VR = 8(X1VR+X2VR) (R.4)
VB = 8(X1VB+X2VB) (R.5)
Calidades del vino:
0,15VT 8 X2VT (R.6)
0,35VR 8 X2VR (R.7)
0,40VR 8 X1VR (R.8)
0,15VB 8 X1VT (R.9)
El alcohol etlico que se fabrica es:
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 128 de 190 JPGS2011
Y = 1,6X1FA + 1,2X2FA (R.10)
El mismo proceso genera poso:
P1 = 2,4X1FA (R.11)
P2 = 2X2FA (R.12)
El zumo se obtiene de la uva y del poso que dedicamos a zumo (ms el agua que aadimos)
Z 8(X1Z+X2Z) + P1Z + P2Z (R.13)
0,7Z 8(X1Z+X2Z) + P1Z + P2Z (R.14)
0,15Z P1Z (R.15)
P1Z P1 (R.16)
P2Z P2 (R.17)
c) La limitacin de capacidad se expresa del siguiente modo
VT + VR + VB 5000 (R.18)
d) La restriccin financiera se expresa del siguiente modo:
600 X1+500 X2 600000 (R.19)
e) Las restricciones que impone el mercado respecto a las cantidades de vino se representan del
siguiente modo:
0,2(VT+VR+VB) VT (R.20)
0,3(VT+VR+VB) VR (R.21)
0,2(VT+VR+VB) VB (R.22)
f) Se puede incorporar en la restriccin R.13 un sumando relativo al agua y sustituir la relacin de
desigualdad por una igualdad. una variable A que es el agua obtenida de la fermentacin
Z = 4X1FA + 3,2X2FA + 8(X1Z+X2Z) + P1Z + P2Z (R.13b)
g) Funcin objetivo:
100VT + 90VR + 80VB + 50Z +120Y 600X1 500X2 100 -10u
todas las restricciones igual y adems:
VT + VR + VB u 5000
u-M 0
h) X1-M1 0
X2-M2 0
1 + 2 1
Modelos y Mtodos de Investigacin de Operaciones

Pgina 129 de 190
i) A partir de los datos anteriores se observa que la solucin tiende a generar tanto vino tinto como
sea posible. Cul es el precio mnimo que habra que ponerle al Vino Rosado para que fuera la
opcin prioritaria?
97,15 por hectolitro.
j) Qu precio debiera tener el alcohol etlico para que lo tuviramos en cuenta en nuestras
opciones de produccin?
Al menos 321 por hectolitro.
k) Cunto debiera pagar como mximo por una capacidad de fermentacin de un hectolitro de vino
ms?
13,5 por cada hectolitro de fermentacin.
l) Cuntos litros de agua est aadiendo al zumo? Atendiendo a la pregunta f. en qu cree que
cambiarn los resultados cuando el zumo sea 100% natural?
1697 hectolitros de agua. Actualmente no se produce ningn litro por fermentacin acelerada,
luego la generacin de zumo 100% natural obligar a vender Alcohol Etlico, lo que reducir la
rentabilidad del zumo. Teniendo en cuenta que el zumo tiene un margen de variabilidad escaso
en el precio, y sin embargo el alcohol etlico requiere un gran incremento de precio para ser
rentable, se puede admitir casi sin hacer ms pruebas, que el resultado ser que Don Pepn
abandonar el mercado de los zumos, salvo que suba sustancialmente el precio de stos.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 130 de 190 JPGS2011
15.8 Plan de Produccin de Zapatillas
Una empresa fabricante de zapatillas deportivas estima la siguiente demanda (en centenares de
pares) para los prximos 6 meses.
Mes 1 Mes 2 Mes 3 Mes 4 Mes 5 Mes 6
Cantidad 30 40 55 30 60 35
Los costes de produccin de cada par se evalan en 7 si se producen en horas normales, y 9 si
se produce en horas extras. El nmero de horas normales disponibles por da son 8. El nmero de
das laborables por mes son 20. Cada mes se puede trabajar un mximo de 40 horas Durante cada
hora de produccin es posible fabricar 25 pares de zapatillas. El coste de almacenar un par de un
mes para otro es de 01 por par. Se dispone de 200 pares en stock en estos momentos.
a) Establecer el modelo que permite definir el plan de trabajo para los prximos meses a mnimo
coste.
b) Suponga que tiene un compromiso con los trabajadores de utilizar cada dos meses al menos un
25% de la capacidad en horas extra actual.
c) Cmo limitar la capacidad del almacn?
d) Suponga que el objetivo sea minimizar el mximo stock entre periodos.
e) Suponga que el objetivo es minimizar las diferencias de produccin entre un mes y el siguiente:
para cualquier mes.
f) Cmo modelara que se pretende minimizar la mxima desviacin entre la produccin y la
demanda?
g) Cmo hara periodos de duracin variable? Por ejemplo la consideracin de meses de diferente
cantidad de das.
h) Cmo incorporara diferentes tipos de zapatillas en el modelo, para poder hacer un plan
conjunto?
i) Suponiendo e) Cmo incorporara un precio fijo a fabricar de un tipo o de otro en cada periodo
de tiempo? Bsicamente es como un coste de cambio de partida, si fabrica de tipo A paga una
penalizacin dependiente de A.
j) Como limitara los tipos de producto a fabricar en cada periodo de tiempo.
k) Sobre el modelo original podra incorporar una lista de materiales del producto a fabricar, para
establecer sus planes de compra? Suponga un plazo de entrega de un mes para cada
componente.
l) Plantear el dual del problema original.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 131 de 190
15.9 Problema de Distribucin
Una empresa de fabricacin y distribucin distribuye a 5 zonas de clientes, a travs de 3 centros de
distribucin que se aprovisionan de 2 destileras, propiedad tambin de la misma empresa.
Se conocen los costes de servir a cada zona de clientes desde cada destilera a travs de cada
centro de distribucin. Cada zona de clientes tiene una demanda (D) que debe ser abastecida. Cada
destilera tiene una capacidad (C ) de produccin limitada. Cada centro de distribucin tiene una
capacidad limitada tanto superior (S) como inferiormente (I) , y unos costes fijos (F) anuales y otros
relativos al volumen (V) que se mueve.
La empresa se plantea la poltica de mnimo coste para el nuevo ao, lo que podra implicar cerrar
algunos de los centros de distribucin.
a) Cmo modelara el problema?
b) Cmo incorporara la consideracin de diferentes productos en el mismo sistema logstico?
c) Cmo definira un modelo que pretendiera minimizar la diferencia de uso de capacidad entre las
dos destileras, siempre que no se sobrepasaran los costes totales ptimos ms que en un 20%?
d) Cmo incorporara la posibilidad de servir directamente a las zonas de clientes desde las
destileras?
e) De los 3 centros de distribucin del modelo original slo pueden quedar 2. Modele la situacin.
f) Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en
un 40%. Cmo evaluara las ventajas de invertir o no invertir?
g) Se va a hacer una inversin en algn centro de distribucin, para ampliar su capacidad en un
40%. Cmo evaluara en cual de ellos compensa invertir?
h) Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en
un 40%. Cmo evaluara las ventajas de invertir o no invertir?
i) Se plantea abrir un nuevo centro de distribucin. Con unos costes de construccin, amortizables
en 5 aos, y unos costes de funcionamiento Fijos y Variables. Cmo plantear el problema para
saber si ser rentable y a quien afectar el cambio?
j) Sobre el problema original se pretende maximizar el ratio de costes variables sobre fijos. Modele
el problema.
k) Sobre el problema original se pretende que la capacidad de la destilera primera pueda duplicar,
o triplicar su capacidad a diferentes costes. Modele el problema.
l) La capacidad de la destilera 2 puede ser superada con un coste adicional por unidad vendida.
m) Los costes variables de trasiego en cada centro de distribucin, crecen proporcionalmente a la
raz cuadrada del volumen movido. Modele la situacin.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 132 de 190 JPGS2011
15.10 Gestin de Stocks
Trabaja usted en una empresa cuya actividad bsica es la compra-venta de material electrnico. La
empresa ha decidido implantar un sistema de gestin de stocks informatizado, que decida cunto y
cundo comprar.
Ha quedado usted encargado de ello, entre otros motivos, por no asistir a la reunin donde se trat el
tema. Sus compaeros insisten en que el marrn no le cay por no estar presente, sino porque usted es
el ms capacitado para sacarlo adelante.
Tras analizar los productos con los que trabaja (demandas variables, precios variables, costes de
almacenamiento variables, etctera) decide que no puede aplicar mtodos de punto de pedido o de
aprovisionamiento peridico.
Para desarrollar un sistema informtico, usted pretende plantear un modelo matemtico y
posteriormente resolver con herramientas de las que existen en la red.
La empresa compra y vende un solo producto
3
de un proveedor taiwans. El tipo de entrega es en
bodegas del cliente, esto es, usted paga un precio de compra (PC) por el producto (que es variable para
los distintos periodos de tiempo) y el proveedor se hace cargo de todo el transporte, aduanas y dems
gastos asociados.
El plazo de entrega desde que se lanza el pedido es de 4 semanas. Y al cliente se le paga 4
semanas despus de haber recibido el producto.
Los costes de almacenamiento fsico (H) son conocidos aunque varan segn el periodo. El dato
viene en unidades monetarias por unidad de producto almacenado y por periodo de previsin.
La demanda (D) de nuestro producto vara con los periodos, aunque su variabilidad es conocida con
un margen de error pequeo. El precio de venta es conocido y variable por periodo(PV). La empresa
suele cobrar 3 semanas despus de haber producido la venta.
El saldo negativo del flujo de caja (diferencia entre cobros y pagos) tiene un coste financiero (CF), del
mismo modo que el saldo positivo lleva asociado un coste de oportunidad (CO). Adems no es posible
sobrepasar el saldo negativo en ms de una cierta cantidad lmite (LN). La empresa, como cualquier
empresa seria, tiene una previsin de pagos (PP), que es variable segn los periodos. Esta previsin
incluye los gastos como nminas, beneficios, energa, alquileres pero excluye los gastos de adquisicin
de materiales (porque de esto se encarga su programa informtico)

3
Evidentemente esto es una simplificacin para empezar.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 133 de 190
Como es evidente el objetivo de la empresa es ganar la mxima cantidad de dinero posible
4
. Los
periodos de previsin que usted considera son semanas. Y el horizonte de planificacin es de 26
semanas.
a) (2 puntos) Plantee el modelo matemtico. Si requiere incorporar variables y/o parmetros no
dude en hacerlo. Se considerar que indique y explique los ndices, parmetros y variables que
va a utilizar. Se considerar que explique cada restriccin. Se agradecer que utilice maysculas
para los parmetros y minsculas para las variables, asimismo ser agradecido el uso de los
parmetros ya indicados en negrita.

Respuesta a)
ndices
t: ndice temporal
Parmetros
PV: Precio de Venta en el periodo t
PC: Precio de Compra en el periodo t
H: Coste de almacenar una unidad en el periodo t
CF: Precio pagado en el periodo t por una unidad monetaria dispuesta de la lnea de crdito que
financia el flujo de caja.
CO: Coste de oportunidad en el periodo t de una unidad monetaria
D: Demanda prevista en el periodo t
PP: Pagos Previstos
LN: Lmite de la lnea de crdito.
Variables
x: cantidad vendida en el periodo t
y: cantidad comprada en el periodo t
z: cantidad en inventario al final del periodo t
f: flujo de caja en el periodo t
w: flujo de caja negativo

4
Hay que recordar que en contabilidad se aplica el concepto del devengo, que distingue el cobro del
ingreso, y los gastos de los pagos. Para saber cuanto dinero gana una empresa nos fijamos en lo que
ingresa y lo que gasta. Para conocer el flujo de caja nos fijamos en lo que cobra y lo que paga.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 134 de 190 JPGS2011
v: flujo de caja positivo

t t t t t
1 4

sujeto a
t=1..26 [r1.1]

t t t t t t t t t t
t t
t t t t
Max PV x PC y H z CF w COv
x D
z z y x


s
= +

1 8 8 3 3
t=1..26 [r1.2]
t=1..26 [r1.3]
t
t t t t t t t
t t
f f PC y PV x PP
w f

= +
> =1..26 [r1.4]
t=1..26 [r1.5]
t=1.
t t
t
v f
w LN
>
s
t
.26 [r1.6]
Todas las variables excepto f son reales positivos o nulos
Cuando una variable tenga indice negativo se asume que el valor correspondiente
es resultado de una programacion anterior anterior, y por tanto no es una variable sino un parametro

b) (1 punto) Cmo se modifica el modelo si hubiera ms de un producto que se recibe del mismo
proveedor? Construya el modelo.
Se incorpora un nuevo ndice i a todos los parmetros y variables que tengan que ver con los
productos. Sean P los productos que se compran del mismo proveedor.
, , , , , ,
i,t i,t i,t t t
, ,
, , 1 ,

sujeto a
t=1..26 i=1..P [r2.1]
i t i t i t i t i t i t t t t t
i t i t
i t i t i t
Max PV x PC y H z CF w CO v
x D
z z y


s
= +

4 ,
1 , 8 , 8 , 3 , 3
, ,
t=1..26 i=1..P [r2.2]
t=1..26 i=1..P [r2.3]

i t
t t i t i t i t i t t
i t i t
t t
x
f f PC y PV x PP
w f

= +
>

t=1..26 [r2.4]
t=1..26
t t
v f >
t
[r2.5]
t=1..26 [r2.6]
Todas las variables excepto f son reales positivos o nulos
Cuando una va
t
w LN s
riable tenga indice negativo se asume que el valor correspondiente
es resultado de una iteracion anterior, y por tanto no es una variable sino un parametro


c) (1 punto) Suponga que si en un periodo se produce compra de alguno de los productos hay que
pagar un coste fijo (SU) por transporte. Modele la situacin
Modelos y Mtodos de Investigacin de Operaciones

Pgina 135 de 190
d) (2 puntos) Suponga que puede diferir demanda de un periodo a otro con un coste suplementario
(Ki,t) por unidad diferida por periodo. El ingreso que se producir ser acorde al precio de venta
en la semana en que el cliente quera adquirir el producto.
e) (2 punto) Suponga que hay descuentos por cantidad para cada producto, de tal modo que los
precios de compra por unidad son los siguientes:

si la cantidad a comprar es menor que 100
si la cantidad a comprar esta en [100,500[
si la cantidad a comprar esta en [500,1000[
si la cantidad a comprar es mayor que 1000
i
i
i
i
i
A
B
PC
C
D


Modele la situacin, respetando la linealidad del modelo.
f) (2 puntos) Un gran distribuidor le ofrece un contrato de compra garantizada para el prximo ao
de (CG
t
) unidades de uno de los productos en cada uno de los periodos. Sus condiciones son:
f1) que el precio por el que el distribuidor compra ha de ser un 25% inferior a nuestro precio de
venta habitual y f2) los plazos de pago son de 9 semanas desde que el distribuidor adquiere el
producto. Sus estimaciones indican que de aceptar el trato este distribuidor se har con el 10%
de su demanda habitual estimada, que le comprar a l en lugar de a usted. Si no aceptase la
oferta sabe que perder un 5% de las ventas. Modele la situacin
15.11 Equilibrado de Lneas
Se tiene un conjunto de tareas, cada una con una duracin y un conjunto de precedencias.
a) Dado un tiempo de ciclo. Establecer una asignacin que utilice el mnimo nmero de estaciones.
b) Como conseguir adems el mnimo desequilibrio de carga entre estaciones.
c) Dado el nmero de estaciones, conseguir la asignacin de mnimo tiempo de ciclo.
d) Cmo obligar a que dos tareas determinadas estn separadas.
e) Cmo obligar a que dos tareas determinadas estn juntas

15.12 Jorge y Nuria
Jorge y Nuria se quieren casar. Ella de blanco por la alegra y l de negro. Entre otros quebraderos de
cabeza que les harn perder unas cuantas horas de aqu al da de la boda, no es el menor la tarea de
asignar los invitados a las mesas. Inicialmente Jorge y Nuria queran una boda ntima, como todos,
aunque ahora ya suman alrededor de 250 invitados.
Dicho reparto de invitados es una de las actividades ms tediosas de las que se encontrarn: El to tal no
se puede sentar con su concuado porque se llevan a muerte, dos invitados excusan en el ltimo
momento su asistencia...
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 136 de 190 JPGS2011
Tienen un amigo, usted, gran experto en diseo de modelos e implementaciones informticas, que les va
a echar una mano, construyendo una aplicacin que permitir hacer y rehacer, modificar, imprimir las
listas, etctera.
Para ello considera que uno de los conjuntos de datos (en el modelo debe constituir uno de los ndices)
a considerar son las agrupaciones mnimas (individuos, matrimonios, parejas, tros y otras agrupaciones
de invitados). Estas agrupaciones mnimas son grupitos de invitados que no se pueden separar, por
razones ms o menos obvias.
Otro de los conjuntos de datos a considerar son las mesas. Cada una de ellas tiene una capacidad
diferente (entre 8 y 12 comensales cada una).

a) Plantee un modelo donde se pretenda minimizar el nmero de mesas a utilizar.
b) Plantee una restriccin que evite que dos cuados que se llevan mal se sienten en la misma
mesa.
c) Suponga que el nmero de mesas mximo viene fijado por la capacidad del saln. Suponga que
entre cada agrupacin mnima de invitados existe una relacin de afinidad (que los novios
valorarn numricamente). Plantee un modelo que persiga maximizar la suma de afinidades en
las mesas. Es decir, la afinidad entre dos agrupaciones mnimas se suma si pertenecen a la
misma mesa. Ser interesante en este apartado incorporar una variable binaria que indique si
cada par de agrupaciones mnimas est en una misma mesa.
d) En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una
mesa sin conocidos?
Resolucin
a) Plantee un modelo donde se pretenda minimizar el nmero de mesas a utilizar.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 137 de 190
,
: Indice que recorren las agrupaciones minimas.
: Indice que recorre las mesas disponibles.
: Numero de individuos en la agrupacion i
: Capacidad de sillas en la mesa k
i
k
i
Indices
i
k
Parametros
N
M
Variables
o { }
{ }
k
k
,
,
0,1 Indica si la agrupacion i se sienta en la mesa k
0,1 Indica si la mesa k se utiliza
[MIN]
sujeto a
k
1
k
k
i i k k k
i
i k
k
N M
i
o
o
o o
o
=
=
s
=


En realidad la segunda restriccin no es necesaria pero no est de ms para ponerlo


b) Plantee una restriccin que evite que dos cuados que se llevan mal se sienten en la misma
mesa.
, ,
Sean i y j las agrupaciones correspondientes a los cuados que se llevan mal
1 k
i k j k
o o + s

c) Suponga que el nmero de mesas mximo viene fijado por la capacidad del saln. Suponga que
entre cada agrupacin mnima de invitados existe una relacin de afinidad (que los novios
valorarn numricamente). Plantee un modelo que persiga maximizar la suma de afinidades en
las mesas. Es decir, la afinidad entre dos agrupaciones mnimas se suma si pertenecen a la
misma mesa. Ser interesante en este apartado incorporar una variable binaria que indique si
cada par de agrupaciones mnimas est en una misma mesa.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 138 de 190 JPGS2011
, : Indices que recorren las agrupaciones minimas.
: Indice que recorre las mesas disponibles.
: Numero de individuos en la agrupacion i
: Capacidad de sillas en la mesa k
MMax: Nu
i
k
Indices
i j
k
Parametros
N
M
{ }
{ }
{ }
i,j
,
k
i,j,k
mero de mesas maximo
C : Indice de afinidad entre agrupaciones
0,1 Indica si la agrupacion i se sienta en la mesa k
0,1 Indica si la mesa k se utiliza
0,1 Indica con un 1 si la agru
i k
Variables
o
o

=
=
=
, ,
i,j,k
, , , ,
,
,
pacion i y la j comparten la mesa k
[MAX]
sujeto a
2 0 k
k
1
MMax
i j i jk
i k j k i j k
i i k k k
i
i k
k
k
k
C
N M
i

o o
o o
o
o
+ >
s
=
s


d) En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una
mesa sin conocidos?
i
Sea i la agrupacion que no queremos dejar aislada.
es una nueva variable que valdra 1 si en la mesa donde se sienta i no hay nadie conocido
Se asumen que los coeficientes de afinidad solo pueden ser
|
, , , i
,
, , ,
,
positivos
=0 debemos penalizar a la agrupacion i ( =1)
Esto se hace del siguiente modo
0
En la funcion objetivo se ha de incorporar un sumando que penalice la funcion
i j i j k
j k
i j i j k
j k
Si C
C
i
|
| + >

i
i
objetivo.
-
Con P un factor de penalizacion
P|


Modelos y Mtodos de Investigacin de Operaciones

Pgina 139 de 190
15.13 Operacin Brisca
Usted trabaja en una multinacional del sector audiovisual y ltimamente le estn pidiendo que haga
recopilatorios de canciones de cantantes de ayer y siempre. Estos recopilatorios se graban en CDs
para vender a travs de Teletiendas. Bsicamente el problema consiste en definir un conjunto de
canciones que quepan en el CD, utilizando al mximo el espacio disponible y que las diferentes pocas
del autor estn reflejadas. ltimamente est un poco harto del trabajo, en el que su criterio artstico (su
famoso odo musical) no sale demasiado bien parado. Est pensando en hacer un pequeo software
basado en programacin lineal que haga automticamente las recopilaciones.
Para ello parte de los siguientes ndices, datos y variables:
ndices Datos Variables
i: Recorre las pocas del
autor
j: Recorre las canciones
de cada poca
C: Capacidad del
soporte
d
i,j
Duracin de la
cancin j de la
poca i
X
i,j
{0,1}Variable binaria que
vale 1 si la cancin j de la
poca i se incorpora en el
soporte, 0 en caso
contrario
a) Defina la funcin objetivo
b) Defina la restriccin de que las canciones seleccionadas deben caber en el soporte.
c) Si fijamos un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?
d) Como minimizara la diferencia entre el mximo y el mnimo nmero de canciones de cada
poca que ha puesto?
e) Desde c) Suponga que le piden que disee, con las mismas canciones, adems, una cinta de
audio para la venta en gasolineras (con dos caras de igual capacidad C
a
) . Disee el modelo
entero incorporando lo que considere conveniente.
f) Desde c) Determinadas canciones no pueden entrar simultneamente en el mismo CD por
razones de copyright. Sean stas la cancin 3 de la poca 1 y la cancin 8 de la poca 3.
g) Desde c) Por razones sentimentales le indican que la cancin 4 de la poca 2 y la cancin 3 de
la poca 5 entran las dos o no entra ninguna.
h) Desde c) Suponga que pretende dotar de una cierta calidad al sistema. Para ello punta las
diferentes canciones y pretende que la calidad del CD sea lo mxima posible. Modele la nueva
funcin objetivo
i) Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas
canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)
que permiten maximizar el ratio calidad/precio.

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 140 de 190 JPGS2011
Resolucin
a) Defina la funcin objetivo
maximizar
j i
j i
j i
X d
,
,
,


b) Defina la restriccin de que las canciones seleccionadas deben caber en el soporte.
C X d
j i
j i
j i
s
,
,
,

c) Si fijamos un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?
siendo N
j
el nmero mnimo de canciones para cada poca
d) Como minimizara la diferencia entre el mximo y el mnimo nmero de canciones de cada
poca que ha puesto?
Se define una variable M que ser el mximo, y una variable que ser el mnimo entonces.
j
j
j i
j
j i j i
j
j i
j
j i
N X
C X d
Z X
X Y
a s
Z Y
>
s
>
>


,
, ,
,
,

0
0
.
min

e) Desde c) Suponga que le piden que disee, con las mismas canciones, adems, una cinta de
audio para la venta en gasolineras (con dos caras de igual capacidad C
a
) . Disee el modelo
entero incorporando lo que considere conveniente.
Habra que cambiar las variables para que indiquen en que cara va cada cancin.
Definimos X
i,j,k
como una variable binaria que indica que la cancin i de la poca j va en la cara k

j
j
j i
k
k j i
j
j i j i
j
j i j i
k j
k j i j i
k j i
k j i j i
N X
X
Ca X d
Ca X d
C X d
a s
X d
>
s
s
s
s

,
, ,
2 , , ,
1 , , ,
,
, , ,
, ,
, , ,
1

.
max

j
j i
j i
N X >

,
,
Modelos y Mtodos de Investigacin de Operaciones

Pgina 141 de 190
f)
Desde c) Determinadas canciones no pueden entrar simultneamente en el mismo CD por
razones de copyright. Sean stas la cancin 3 de la poca 1 y la cancin 8 de la poca 3.

X
1,3
+X
3,8
s1
g) Desde c) Por razones sentimentales le indican que la cancin 4 de la poca 2 y la cancin 3 de
la poca 5 entran las dos o no entra ninguna.
X
2,4
-X
5,3
=0
h) Desde c) Suponga que pretende dotar de una cierta calidad al sistema. Para ello punta las
diferentes canciones y pretende que la calidad del CD sea lo mxima posible. Modele la nueva
funcin objetivo
Definimos el parmetro a
i,j
que indica la calidad de la cancin (i,j).
La nueva funcin objetivo es:
maximizar
j i
j i
j i
X a
,
,
,



i) Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas
canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)
que permiten maximizar el ratio calidad/precio.
Definimos el parmetro b
i,j
que indica el precio de la cancin (i,j)
La nueva funcin objetivo es:
maximizar
j i
j i
j i
j i
j i
j i
X b
X a
,
,
,
,
,
,


Para linealizar se define la variable w
i,j
0
0
1
max
,
, ,
,
,
,
,
,
,
>
s
=


t N w
t C w d
w b
w a imizar
j
j
j i
j
j i j i
j i
j i
j i
j i
j i
j i

Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 142 de 190 JPGS2011
15.14 Carga de Aviones.
Es usted el responsable de carga de una empresa de transporte de mercancas por avin. Est
intentando cargar un BAING 717 con una carga de 4 productos distintos. Cada uno de ellos con las
siguientes caractersticas:

Carga Peso (Tm)
Volumen
(m3/tm) Beneficio (/Tm)
C1 18 500 300
C2 20 600 450
C3 10 550 350
C4 16 400 275

El proceso de asignacin de cargas es como sigue. El avin se divide en 3 compartimentos
(Delantero, Central y Trasero) con diferentes capacidades en peso y en volumen cada uno de ellos.
Dichas capacidades no se pueden sobrepasar

Capacidad en Peso
(Tm)
Capacidad en Volumen
(m3)
Delantero 12 6000
Central 16 9000
Trasero 10 5000
Adems y a efectos de estabilidad en vuelo del avin, es necesario que el porcentaje de peso
ocupado sobre el total sea el mismo en cada compartimiento

(1 punto) a) Defina la funcin objetivo
(1 punto) b) Defina las restricciones que considere necesarias para establecer la limitacin de
capacidad en peso y volumtrica.
(1 punto) c) Defina las restricciones que considere necesarias para establecer la limitacin de
demanda.
(1 punto) d) Defina las restricciones que considere necesarias para establecer las consideraciones
de equilibrio de la carga.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 143 de 190

El modelo anterior se ha resuelto utilizando el solver de Excel y se ha obtenido el siguiente anlisis de
sensibilidad

(1 punto) e) Cul sera el beneficio de aumentar un poco an a costa de seguridad, (ya sabe los
beneficios son los beneficios) la carga en peso de la parte delantera ?
(1 punto) f) Cul es el precio que debiera pagar el propietario de la carga de tipo 1 para que
considerramos su producto como posible mercanca en nuestro avin, sin prdida de
beneficios?
(1 punto) g) Hay algunos elementos prescindibles en la carga muerta del avin que ocupan volumen
aunque no pesan nada, (paracadas y dems), su jefe le pregunta por el beneficio que
supondra por unidad de volumen, deshacerse de ellos?
(1 punto) h) Un cliente le indica que si transporta carga de tipo 2 debe tambin transportar al menos
un 25% de la carga de tipo 1. Modele la situacin
(1 punto) i) Defina el modelo que incorpore todas las restricciones citadas y adems el objetivo sea
maximizar el ratio beneficio total/volumen ocupado.
(1 punto) j) Cmo permitira un desequilibrio de un 10% en el ratio de peso entre las distintas
bodegas del avin?


Valor Gradiente Coeficiente Aumento Disminucin
Nombre Igual reducido objetivo permisible permisible
0 -25 300 25 1E+30
6 0 450 118,75 0
0 0 350 0 1E+30
6 0 275 100 0
13 0 450 89,06249965 0
0 0 350 0 1E+30
3 0 275 100 0
1 0 450 0 50,89285696
5,33 0 350 28,1249999 0
3,67 0 275 0 51,50602392
Restricciones
Valor Precio Restriccin Aumento Disminucin
Celda Nombre Igual Sombra lado derecho permisible permisible
Limitacin de Demanda de 1 0 0 18 1E+30 18
Limitacin de Demanda de 2 20 75 20 3,88 1
Limitacin de Demanda de 3 5,33 0 10 1E+30 4,67
Limitacin de Demanda de 4 12,66 0 16 1E+30 3,33
Limitacin de Peso delante 12 237,5 12 0 0,21
Limitacin de peso central 16 0 16 1E+30 0
Limitacin de peso trasero 10 0 10 1E+30 0
Limitacin volumen delante 6000 0,5 6000 200 500
Limitacin volumen central 9000 0,5 9000 200 500
Limitacin volumen trasero 5000 0,5 5000 550 500
Cantidad Cargada de 3 detrs
Cantidad Cargada de 4 detrs
Cantidad Cargada de 4 en el centro
Cantidad Cargada de 4 delante
Cantidad Cargada de 2 delante
Cantidad cargada de 1
Cantidad Cargada de 2 en el centro
Cantidad Cargada de 2 detrs
Cantidad Cargada de 3 delante
Cantidad Cargada de 3 en el centro
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 144 de 190 JPGS2011
Resolucin
ndices
i : Recorre los productos a transportar. (1..P)
j : Recorre las bodegas del avin. (1..Q)
Parmetros
Sea B
i
el beneficio de transportar una unidad (en peso) de carga de tipo i
Sea CP
j
la capacidad en peso de la bodega j
Sea CV
j
la capacidad en volumen de la bodega j
Sea D
i
la demanda de transporte de producto i
Variables
Sea X
i,j
la cantidad a transportar (en peso) de carga de tipo i en la bodega j.
a) Defina la funcin objetivo
,
,
i i j
i j
B X


b) Defina las restricciones que considere necesarias para establecer la limitacin de capacidad en peso
y volumtrica.
,
,
j=1..Q
j=1..Q
i j j
i
i i j j
i
X CP
V X CV
s
s


c) Defina las restricciones que considere necesarias para establecer la limitacin de demanda.
,
,
i=1..P
i j i
i j
X D s


d) Defina las restricciones que considere necesarias para establecer las consideraciones de equilibrio de
la carga.
1 ,2 2 ,1
1 ,3 3 ,1
i i
i i
i i
i i
CP X CP X
CP X CP X
s
s



e) Cul sera el beneficio de aumentar un poco an a costa de seguridad, (ya sabe los beneficios son
los beneficios) la carga en peso de la parte delantera ?
Modelos y Mtodos de Investigacin de Operaciones

Pgina 145 de 190
En realidad aunque el precio sombra es elevado (237,5) el aumento permisible es 0, lo que
significa que no es posible aumentar la carga sin cambiar la estructura de la
solucin, y por tanto no se puede decir nada a priori sobre los beneficios.
f) Cul es el precio que debiera pagar el propietario de la carga de tipo 1 para que considerramos su
producto como posible mercanca en nuestro avin, sin prdida de beneficios?
325 .
g) Hay algunos elementos prescindibles en la carga muerta del avin que ocupan volumen aunque no
pesan nada, (paracadas y dems), su jefe le pregunta por el beneficio que supondra por
unidad de volumen, deshacerse de ellos?
0,5 .
h) Un cliente le indica que si transporta carga de tipo 2 debe tambin transportar al menos un 25% de la
carga de tipo 1. Modele la situacin.
2, 1, 1
2,
1,
0 1 0, 25
20 0
4, 5 0
j j
j j
j
j
j
j
X X D
X
X
o
o
o
> = >
s
>


i) Defina el modelo que incorpore todas las restricciones citadas y adems el objetivo sea maximizar el
ratio beneficio total/volumen ocupado.
,
,
,
, ,
,
,
,
,
,
,
1 ,2 2 ,1
1 ,3 3 ,1
max max
:
1
0
0
0
i i j
i j
i i j
i j i i j
i j
i i j
i j
i j j
i
i i j j
i
i j i
j
i i
i i
i i
i i
B X
Bw
V X
sujeto a
V w
w CPt
V w CV t
w Dt
CP w CP w
CP w CP w

=
s
s
s
=
=




j) Cmo permitira un desequilibrio de un 10% en el ratio de peso entre las distintas bodegas del avin?

, ,
1,1 j,k
i k i j
i i
k j
X X
CP CP
s


Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 146 de 190 JPGS2011
16 ALGUNOS EJERCICIOS DE OPTIMIZACIN COMBINATORIA
16.1 Problema del FlowShop de 3 mquinas.
16.1.1 Descripcin del Problema
Sea un taller de flujo compuesto por M mquinas donde se deben secuenciar N productos, que para
su elaboracin pasarn de manera consecutiva por cada una de las M mquinas, con unos tiempos de
ejecucin de cada producto i en cada mquina de p(i,j) respectivamente.
Se trata de definir la secuencia que minimice el tiempo de flujo mximo (Cmax) que se define como el
lapso de tiempo mnimo que transcurrir desde que el primer producto se empieza a producir en la
primera mquina hasta que el ltimo se acaba de producir en la ltima mquina.


16.1.2 Definicin de la estructura de la solucin.
Una solucin es la permutacin que indica el orden en que se deben ejecutar los trabajos.
Una solucin se puede representar por un vector v[i] que define de modo ordenado la secuencia de
trabajo

16.1.3 Definicin del modo de evaluar la solucin.
Dada una solucin v(i), se tratara de calcular cuando acaba de producirse el producto en posicin n,
es decir v(n)

Maq[1]:=0;Maq[2]:=0;Maq[3]:=0;
for i=1 to n do begin
Maq[1]:=Maq[1]+p[v[i],1];
Maq[2]:=Max(Maq[1],Maq[2])+p[v[i],2];
Maq[3]:=Max(Maq[2],Maq[3])+p[v[i],3];
end;
Cmax=Maq[3];

16.1.4 Un procedimiento de generacin aleatoria de soluciones.
Sea v un vector con los n elementos a permutar
i:=0;
While i<n-1 do begin
j:=random(1..n-i)
intercambiar(v[i+1];v[i+j])
i:=i+1
end; // del while

16.1.5 Un procedimiento enumerativo de resolucin.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 147 de 190

Un procedimiento enumerativo basado en ramificacin y poda requiere definir la funcin de
evaluacin de cada nodo, definir el modo en que se va a seleccionar el nodo a explotar, definir el modo
de explosin, definir el primero de los nodos y definir el modo de eliminar los nodos.

generarElNodoInicial;
generarUnaSolucinInicial;
Mientras haya nodos abiertos;
Elegir un nodo (por ejemplo segn menor f(n))
Explotar el nodo (aadir un producto de los no secuenciados a la secuencia).
Evaluar f(n) para las nuevos nodos.
Eliminar los nodos para los cuales el valor de f(n) es mayor que la mejor solucin ya obtenida.
Si el nmero de elementos a aadir es 0, evaluar el nodo y comparar contra la mejor solucin obtenida.
Guardar en su caso.

Definir f(n)
f(n)=g(n)+h(n)
g(n)=el momento en el que acaba el ltimo producto de la secuencia ya generada en la
ltima mquina
h(n)=la suma de las operaciones en la ltima mquina de los productos no
secuenciados.
Definir el modo de seleccin del nodo a explotar
Por ejemplo el de menor f(n)
Definir el modo de explotar nodos
Aadir un producto an no secuenciado a la secuencia.
El primer nodo es la secuencia vaca.

16.1.6 Un procedimiento heurstico

Se puede establecer un procedimiento heurstico por la va de generar una lista ordenada segn un
determinado criterio y secuenciar segn dicho criterio.

Sea v un vector con los n elementos a permutar
Calcular para cada producto prod[i]:=p[i,1]+p[i,2]+p[i,3];
Ordenar los productos segn prod crecientes
Asignar a v la anterior ordenacin.


Sea v un vector con los n elementos a permutar
Calcular para cada producto prod(i)=sum{j=1..3} (2j-1)*p(i,j)
Ordenar los productos segn prod decrecientes
Asignar a v la anterior ordenacin.



16.1.7 Un procedimiento de mejora local
Definir un procedimiento de mejora local exige: Seleccionar una definicin de vecindario, Seleccionar
un proceso de bsqueda local y seleccionar el modo de generacin de una solucin inicial.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 148 de 190 JPGS2011
El vecindario seleccionado es el de intercambiar dos elementos de la permutacin.
El proceso de mejora local seleccionado es Mejora Iterativa Simple.
La solucin inicial se genera aleatoriamente.

generarSolucionAleatoria;
coste:=evaluarSolucin(v);
i:=1;
while (i<=n-1) do begin
j:=i;
HayMejora:=false;
while ((j<=n) and not(HayMejora)) do begin
j:=j+1;
intercambiar(v[i],v[j]);
if evaluarSolucion(v)<=coste then HayMejora:=true else deshacerIntercambio(v[i],v[j]);
end;
if j=n then i:=i+1;
if HayMejora then i:=1;
end; // del while
16.1.8 Un algoritmo gentico
La estructura de un algoritmo gentico es:
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;
Por tanto para definir el procedimiento hace falta:
Definir un tamao de poblacin inicial: 20
Definir un modo de generacin de la poblacin inicial: aleatoriamente
Definir un modo de parar: al cabo de 1000 iteraciones.
Se selecciona un modo de seleccin de padres en funcin de una ruleta donde el valor de
fitness sea la inversa de la valoracin de la solucin.
Se define un procedimiento de cruce (por ejemplo OX con dos puntos de cruce).
Se actualiza la poblacin: Si una solucin obtenida del cruce es mejor que la peor de las
soluciones la sustituye. Si no es mejor se calcula una mutacin mediante un intercambio de
dos elementos y se incorpora a la poblacin eliminando una solucin cualquiera elegida al
azar.
16.2 Problema del viajante de comercio.
16.2.1 Descripcin del Problema.
Sea un conjunto de puntos de un plano a una cierta distancia unos de otros.
Se trata de unir todos los puntos mediante un circuito que slo visite cada nodo en una ocasin
minimizando el recorrido
Modelos y Mtodos de Investigacin de Operaciones

Pgina 149 de 190
16.2.2 Definicin de la estructura de la solucin.
La solucin se puede representar mediante una permutacin de los puntos a visitar.
16.2.3 Definicin del modo de evaluar la solucin.
coste:=0
For i:=1 to n-1 do begin
coste=coste+distancia[v[i],v[i+1]];
End
coste=coste+distancia[v[n],v[1]];
16.2.4 Un procedimiento de generacin aleatoria de soluciones.
Sea v un vector con los n elementos a permutar
i:=0;
While i<n-1 do begin
j:=random(1..n-i)
intercambiar(v[i+1];v[i+j])
i:=i+1
end; // del while
16.2.5 Un procedimiento enumerativo de resolucin.
Un procedimiento enumerativo basado en ramificacin y poda requiere definir la funcin de
evaluacin de cada nodo, definir el modo en que se va a seleccionar el nodo a explotar, definir el modo
de explosin, definir el primero de los nodos y definir el modo de eliminar los nodos.
generarElNodoInicial;
generarUnaSolucinInicial;
Mientras haya nodos abiertos;
Elegir un nodo
Explotar el nodo.
Evaluar f(n) para los nuevos nodos.
Eliminar los nodos para los cuales el valor de f(n) es mayor que la mejor solucin ya obtenida.
Si el nmero de elementos que quedan por aadir es 0, evaluar el nodo y comparar contra la mejor solucin
obtenida. Guardar en su caso.

Definir f(n)
f(n)=g(n)+h(n)
g(n)= es la suma de las distancias entre los puntos ya asignados
h(n)=el nmero de nodos por asignar multiplicado por el menor valor de la matriz
distancia ms el menor valor en la columna del primer elemento de la secuencia.
Definir el modo de seleccin del nodo a explotar
Por ejemplo el de mayor profundidad(mayor nmero de ciudades incorporadas) en caso
de empate utilizar el menor valor de f(n)
Definir el modo de explotar nodos
Aadir todos los puntos an no visitado a la secuencia.
El primer nodo contiene un punto cualquier al azar al azar.

16.2.6 Un procedimiento heurstico
Un procedimiento heurstico de construccin sera el del vecino ms prximo.
Sea v un vector con todos los nodos a visitar
i:=1
while i<=n-1 do begin
seleccion=i+1;
for j:=i+2 to n do begin
if distancia[v[i],v[j]]< distancia[v[i],v[seleccion]] then seleccion:=j;
end; // del for
intercambiar[v[i+1],v[seleccion]];
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 150 de 190 JPGS2011
end; //del while

Este procedimiento podra ser mejorado si se repitiera N veces y en cada ocasin se hiciera empezar
el ciclo por un nodo diferente y se guardara el mejor resultado. Adems se podra comenzar el tour por
el ltimo nodo, aunque este procedimiento slo producira mejoras en caso de matrices asimtricas.

16.2.7 Un procedimiento de mejora local
Definir un procedimiento de mejora local exige: Seleccionar una definicin de vecindario, Seleccionar
un proceso de bsqueda local y seleccionar el modo de generacin de una solucin inicial.
El vecindario seleccionado es el de provocar un 2-opt (o mutacin inversa).
El proceso de mejora local seleccionado es Mejora Iterativa Simple.
La solucin inicial se genera mediante la HeuristicaVecino ms Cercano.
generarSolucionVecinoMasCercano;
coste:=evaluarSolucin(v);
i:=1;
while (i<=n-1) do begin
j:=i;
HayMejora:=false;
while ((j<=n) and not(HayMejora)) do begin
j:=j+1;
mutacinInversa(i,j);
if evaluarSolucion(v)<=coste then HayMejora:=true else mutacinInversa(j,i);
end;
if j=n then i:=i+1;
if HayMejora then i:=1;
end; // del while

16.2.8 Un algoritmo gentico
La estructura de un algoritmo gentico es:
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;
Definir un tamao de poblacin inicial: 20
Definir un modo de generacin de la poblacin inicial: aleatoriamente
Definir un modo de parar: al cabo de 1000 iteraciones.
Se selecciona un modo de seleccin de padres en funcin de una ruleta donde:
fitness(v)=1/Evaluacin(v)
Se define un procedimiento de cruce (por ejemplo OX).
Modelos y Mtodos de Investigacin de Operaciones

Pgina 151 de 190
Se define un procedimiento de actualizacin: De cada 100 iteraciones se guardan las 18 mejores,
dos soluciones se calculan aleatoriamente y se incorporan a la poblacin.
Cada 20 iteraciones se elige al azar un elemento de la poblacin y se le hace una mutacin inversa
de modo aleatorio.

generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;

16.3 Problema de Secuenciacin JIT
16.3.1 Descripcin del Problema
Sea una lnea de montaje donde se ensamblan 3 modelos de un determinado producto. De cada uno
de los modelos hay que fabricar una cantidad U[i] determinada. Se pretende, para garantizar la
regularidad, que es bsica en los sistemas Just-In-Time, que la produccin salga de modo tan
equilibrado como sea posible.
16.3.2 Definicin de la estructura de la solucin.
Una solucin es una concatenacin de los diferentes tipos de productos, de tal manera que la
cantidad de cada tipo es al final igual a la demandada U[i].
16.3.3 Definicin del modo de evaluar la solucin.
El criterio ms habitual para medir la calidad de una solucin es intentando evaluar la distancia que
separa la produccin acumulada en un determinado instante de la secuencia, de la que idealmente
habra que haber fabricado.
( )
2
, i k i
i
Y r k


Donde Y[i,k] es la produccin acumulada hasta k del producto de tipo i.
r[i] es el ratio de produccin de i, r[i]=U[i]/T
T es el nmero total de unidades a producir, es decir la suma de U[i] para todo i.
16.3.4 Un procedimiento de generacin aleatoria de soluciones.
k:=0;
for i:=1 to P do begin
for h:=1 to U[i] do begin
k:=k+1;
v[k]:=I;
end;
end;
T:=k;
h:=0;
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 152 de 190 JPGS2011
While h<T-1 do begin
j:=random(1..T-h)
intercambiar(v[h+1];v[h+j])
h:=h+1
end; // del while

16.3.5 Un procedimiento enumerativo de resolucin.
Un procedimiento enumerativo basado en ramificacin y poda requiere definir la funcin de
evaluacin de cada nodo, definir el modo en que se va a seleccionar el nodo a explotar, definir el modo
de explosin, definir el primero de los nodos y definir el modo de eliminar los nodos.
generarElNodoInicial;
generarUnaSolucinInicial;
Mientras haya nodos abiertos;
Elegir un nodo
Explotar el nodo.
Evaluar f(n) para los nuevos nodos.
Eliminar los nodos.
Si el nmero de elementos que quedan por aadir es 0, evaluar el nodo y comparar contra la mejor solucin
obtenida. Guardar en su caso.

Definir f(n)
f(n)=g(n)+h(n)
g(n)= es la valoracin de la funcin hasta el punto de creacin.
h(n)=0.
Definir el modo de seleccin del nodo a explotar
Por ejemplo el de menor profundidad(menor nmero de unidades ya incorporados) en
caso de empate utilizar el menor valor de f(n)
Definir el modo de explotar nodos
Aadir un producto (todos los productos) de los que no se han fabricado toda la
secuencia.
Eliminar aquellos nodos donde la cantidad de productos ya secuenciados de cada tipo sea
idntico a otro con mejor valoracin.
El primer nodo est vaco.

16.3.6 Un procedimiento heurstico

La modificacin del valor de A permitir obtener diferentes secuencias con el mismo procedimiento.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 153 de 190

16.3.7 Un procedimiento de mejora local.
Definir un procedimiento de mejora local exige: Seleccionar una definicin de vecindario, Seleccionar
un proceso de bsqueda local y seleccionar el modo de generacin de una solucin inicial.
El vecindario seleccionado es el de provocar una insercin de un elemento elegido al azar en una
posicin elegida al azar.
El proceso de mejora local seleccionado es Descenso Rpido.
La solucin inicial se genera aleatoriamente.
generarSolucionVecinoMasCercano;
coste:=evaluarSolucin(v);
i:=1;
while (i<=n-1) do begin
j:=i;
HayMejora:=false;
while ((j<=n) and not(HayMejora)) do begin
j:=j+1;
mutacinInversa(i,j);
if evaluarSolucion(v)<=coste then HayMejora:=true else mutacinInversa(j,i);
end;
if j=n then i:=i+1;
if HayMejora then i:=1;
end; // del while

16.3.8 Un algoritmo gentico
La estructura de un algoritmo gentico es:
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;
Por tanto para definir el procedimiento hace falta:
Definir un tamao de poblacin inicial: 20
Definir un modo de generacin de la poblacin inicial: aleatoriamente
Definir un modo de parar: al cabo de 1000 iteraciones.
Se selecciona un modo de seleccin de padres en funcin de una ruleta donde el valor de
fitness sea la inversa de la valoracin de la solucin.
Se define un procedimiento de cruce: en este caso se propone un OX con un punto de cruce,
donde la seccin del Padre y la Madre se incorporan ntegramente y se repara (aquellos
productos que se producen de ms frente a los que se producen de menos) aleatoriamente
quitando algn producto de los que hay de ms para poner alguno de los que hay de menos
(ambos seleccionados aleatoriamente).
Se actualiza la poblacin: Si una solucin obtenida del cruce es mejor que la peor de las
soluciones la sustituye. Si no es mejor se calcula una mutacin mediante un intercambio de
dos elementos y se incorpora a la poblacin eliminando una solucin cualquiera elegida al
azar.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 154 de 190 JPGS2011

16.4 Corte de Piezas rectangulares.
En una empresa de fabricacin de piezas metlicas, tienen una sierra automtica capaz de hacer
cualquier tipo de corte rectangular.
La citada empresa compra planchas rectangulares de dimensiones DX y DY.
La explosin de la lista de materiales de la empresa a partir de los pedidos en firme genera un
conjunto de N piezas rectangulares de dimensiones (a,b).
Se trata de disear un programa de corte para cada plancha que minimice los restos de cada
plancha.
a) Construya el Modelo que define el problema de corte.
, : Recorre los cortes
, : Dimensiones X e Y de la Placa Origen
, : Dimensiones x e y de cada corte i
, : Posicion (x,y) de la esquina superior izquierda de la placa i
,
i i
i i
i
Indices
i j
Parametros
DX DY
a b
Variables
x y
r s
{ }
{ }
,
,
: Posicion (x,y) de la esquina inferior derecha de la placa i
0,1 que indica si un producto i esta mas a la izquierda que otro j
0,1 que indica si un producto i esta mas a arriba que otro j
i
i j
i j
o
|

=
=
{ }
( ) ( )
( )
i
i
i
0,1 que indica si la orientacion del producto es la natural o la perpendicular
maximo de todos los valores r
maximo de todos los valores s
Modelo
[MAX]
Sujeto a
1
i i i i i i
t
w
DX t DY DY w DX wt
r x b a
=
=
=
+
= + +
( )
( )
( )
{ }
,
,
, , , ,
, ,
i
1 i
i
i
i
i
1 i j
1 i j
1 i j
, , 0,1 ; ,
i i i i i i
i
i
i
i
i j i i j
i j i i j
i j j i i j j i
i j i j i i
s y a b
t r
w s
r DX
s DY
x a x
y b y
x

o
|
o o | |
o |

= + +
>
>
s
s
= + s =
= + s =
+ + + > =
= , , 0
i i i
y r s >

Sin que sirva de precedente se incorpora un ejemplo numrico)
Modelos y Mtodos de Investigacin de Operaciones

Pgina 155 de 190
DX=5 DY=8
Pieza M: (4,2) ; Pieza N: (2,2) ; Pieza P: (2,1) ; Pieza Q: (4,5)
Una posible solucin grfica al problema sera
La solucin anterior se puede definir del siguiente modo: (Q1,N0,P1,M0), que representa que
primero se ubica la pieza Q en posicin perpendicular a la definida, luego N en su posicin natural
en la esquina ms arriba y ms a la izquierda posible. Luego el Producto P en posicin
perpendicular, y el producto M en posicin natural.

b) Sobre el resultado anterior. Cul es el resultado de ejecutar una insercin del 4 elemento en la
segunda posicin?
(Q1,M0,N0,P1)
c) Sobre el resultado anterior. Cul es la solucin de ejecutar una 2-permutacin del primer
elemento con el tercero?
(N0,M0,Q1,P1)
d) Cul es la solucin resultado de ejecutar un crossover (operador de los algoritmos genticos)
entre la solucin (M0,N0,P1,Q1) y (M1,P1,Q0,N0) fijando las posiciones 2 y 3
(M1,N0,P1,Q0)
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 156 de 190 JPGS2011
16.5 Quinielas
Despus de mucho pensar ha llegado a la elemental conclusin de que trabajando y ahorrando nadie
se hace rico.
As pues, se ha lanzado por el terreno legal ms cmodo para hacer dinero sin dar ni golpe: las
apuestas. Concretamente las Quinielas, porque le permitirn hacer uso de su conocimiento exhaustivo
del mundo del ftbol (tantas horas invertidas en leer el Marca ms pronto o ms tarde iban a dar sus
frutos).
Pero su manera de ganar dinero ser cientfica, y as tantas horas invertidas en Mtodos
Cuantitativos tambin sern tiles.
Quiere hacer un modelo matemtico que rellene una columna en la quiniela con un nmero limitado
de apuestas (todava no es rico), maximizando la probabilidad de acertar con unas limitaciones que ir
incorporando.
Sea o
i,1
la variable que indica que apuesta por la victoria del equipo de casa en el partido i.
Sea o
i,X
la variable que indica que apuesta por el empate en el partido i.
Sea o
i,2
la variable que indica que apuesta por la victoria del equipo forneo en el partido i.
(1 punto) a) Modele una restriccin (o juego de ellas) que asegure que apuesta en todos los
partidos.
(1 punto) b) Modele una restriccin (o juego de ellas) que mostrar que no quiere apostar por
menos de 4 unos ni por ms de 7 unos.
(1 punto) c) Modele que si le pone un 1 a un determinado partido A, le debe poner un 2 a un
determinado partido B, aunque no necesariamente a la inversa.
(2 puntos) d) Modele una limitacin superior de 5 dobles y 2 triples.
(1 punto) e) Establezca una restriccin que limite el nmero total de apuestas a 2000.
(1 punto) f) Incorpore una funcin objetivo que maximice la probabilidad de acertar.
(2 puntos) g) Un anlisis estadstico previo parece indicar que el ingreso esperado no crece
linealmente con las apuestas jugadas sino en una curva en S con los siguientes puntos
(en escala logartmica). Establezca un objetivo lineal que pretenda maximizar el ratio
beneficio esperado frente a coste de las apuestas.
Log(nmero de
apuestas)
Log(coste de las
apuestas)
log(Beneficio
Esperado)
0 -0,52 0,04
Modelos y Mtodos de Investigacin de Operaciones

Pgina 157 de 190
1 0,48 0,30
2 1,48 1,00
3 2,48 3,00
4 3,48 4,48
5 4,48 5,30
6 5,48 5,78
6,68 6,16 5,85


(1 punto) h) Una determinada combinacin se puede representar mediante una secuencia de 14 letras
donde A representa un 1, B representa una X, C representa un 2, D representa 1X, E
representa 12, F representa X2 y G representa 1X2. Sea una posible solucin al problema
planteado ADEABCEFFBEBFB. Y sea otra posible solucin al mismo problema
EDABBAEGAABCFF. Qu combinacin obtendra aplicando el operador gentico de
Order Crossover (OX) o Cruce, con el corte en las posiciones 5 y 9?

Notas de apoyo.
Como sabe la Quiniela es un juego donde se deben acertar el mximo nmero de resultados de 14
partidos de ftbol (por el momento prescindiremos del 15). El resultado puede ser 1, X o 2.
Es decir gana el de casa, empatan o gana el de fuera.
Tras su estudio de la excelente prensa deportiva y el anlisis de vdeos, enfermeras, rbitros y
previsiones climatolgicas, usted establece una probabilidad de que en cada uno de los
partidos se produzca uno de los resultados ( P
i,1
es la probabilidad de que en el partido i
gane el equipo de casa, P
i,X
es la probabilidad de que en el partido i empaten y P
i,1
es la
probabilidad de que en el partido i gane el equipo visitante, evidentemente P
i,1
+ P
i,X
+ P
i,2
=1).
Tenga en cuenta para el punto f) que en cada partido la probabilidad de acertar es la suma de las
probabilidades de los signos jugados. Y adems que la probabilidad de acertar la quiniela
es la multiplicacin de probabilidades. Y adems, si X
i
es la probabilidad de acertar el
partido i
( ) es equivalente a log
i i
i
MAX X MAX X
[

Adems la funcin logaritmo se puede aproximar por este conjunto de puntos:
X log(X)
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 158 de 190 JPGS2011
0,01 -2
0,1 -1
0,3 -0,52
1 0
El nmero de apuestas jugadas es la multiplicacin para todos los partidos del nmero de columnas
jugadas en cada partido. As, si para un partido jugamos un doble entonces el nmero de
apuestas se multiplica por 2, y si jugamos un triple se multiplica por 3. Si el partido se juega
a simple el nmero de apuestas se multiplica por 1.
Recuerde que log(A*B)=log (A)*log(B) y log(A/B)=log (A) log (B)
Log(1)=0 ; log(2)= 0,30 ; log(3)=0,48
Resolucin
a) Modele una restriccin (o juego de ellas) que asegure que apuesta en todos los partidos.
,1 , ,2
1
i i X i
o o o + + >
b) Modele una restriccin (o juego de ellas) que mostrar que no quiere apostar por menos de 4 unos ni
por ms de 7 unos.
,1
,1
7
4
i
i
i
i
o
o
s
>


c) Modele que si le pone un 1 a un determinado partido A, le debe poner un 2 a un determinado partido
B, aunque no necesariamente a la inversa.
,1 ,2
,2 ,1
1 1
A B
B A
o o
o o
= =
>

d) Modele una limitacin superior de 5 dobles y 2 triples.
Definimos 3 variables binarias para cada partido (o, c, |) que indicarn si es simple doble o triple.
,1 , ,2
2 3
1
2
5
i i i X i
i i i i
i i i
i
i
i
i
y
y
o o o
o c |
o c |
|
c
= + +
= + +
= + +
s
s


Modelos y Mtodos de Investigacin de Operaciones

Pgina 159 de 190
e) Establezca una restriccin que limite el nmero total de apuestas a 2000.
Definimos 3 variables binarias para cada partido (o, c, |) que indicarn si es simple doble o triple.
,1 , ,2
2 3
1
2 *3 2000
log 2 log3 log 2000
i i i X i
i i i i
i i i
numdobles numtriples
i i
i i
y
y
numerodeapuestas
o o o
o c |
o c |
c |
= + +
= + +
= + +
= s
+ s


f) Incorpore una funcin objetivo que maximice la probabilidad de acertar.
Sea Xi la probabilidad de acertar un determinado partido
, , i i j i j
j
X P o =


Sea V
i
una variable equivalente a log(X
i
)

( )
i
i
1, 2, 3, 4,
1, 2, 3,
1, 2, 3, 4,
es equivalente a log
MAX V
0, 01 0,1 0, 3
2 0, 52
1
i i
i
i i i i i
i i i i
i i i i
MAX X MAX X
X
V



= + + +
=
+ + + =
[


g) Un anlisis estadstico previo parece indicar que el ingreso esperado no crece linealmente con las
apuestas jugadas sino en una curva en S en escala logartmica. Establezca un objetivo
lineal que pretenda maximizar el ratio beneficio esperado frente al coste de las apuestas.
log
log(Beneficio)-log(Coste)
BENEFICIO BENEFICIO
MAX MAX
COSTE COSTE
MAX
| | | |

| |
\ . \ .


Sea A el logaritmo del nmero de apuestas, sea C el logaritmo del coste de las apuestas y sea B el
logaritmo del Beneficio esperado
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 160 de 190 JPGS2011
( )
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
,1 , ,2
0, 04 0, 30 3 4, 48 5, 30 5, 78 5,85
0, 52 0, 48 1, 48 2, 48 3, 48 4, 48 5, 48 6,16
log 2 log3
2 3
1
i i
i i
i i i X i
i i i i
i i i
Max B C
B
C
A
y
y


c |
o o o
o c |
o c |

= + + + + + + +
= + + + + + + +
= +
= + +
= + +
= + +


h) Una determinada combinacin se puede representar mediante una secuencia de 14 letras donde A
representa un 1, B representa una X, C representa un 2, D representa 1X, E representa
12, F representa X2 y G representa 1X2. Sea una posible solucin al problema planteado
ADEABCEFFBEBFB. Y sea otra posible solucin al mismo problema
EDABBAEGAABCFF. Qu combinacin obtendra aplicando el operador gentico de
Order Crossover (OX) o Cruce, con el corte en las posiciones 5 y 9?
ADEABCEFFBEBFB
EDABBAEGAABCFF
EDABBCEFFABCFF



16.6 SUDOKU
Durante este corto verano del 2005 ha triunfado como pasatiempo el denominado SUDOKU. La
mayor parte de los peridicos nacionales e internacionales llevaban diariamente uno (o ms)
SUDOKUs, que enganchaban (o del que se decan enganchados) cientos de baistas en cualquiera de
las playas de esta nuestra comunidad.
Pocos de estos baistas saban que el SUDOKU es un clsico problema matemtico heredero del
cuadrado mgico y del cuadrado latino. Los cuadrados mgicos se remontan al 2800 AC en China,
aunque posteriormente aparecieron tambin el Antiguo Egipto y otros lugares. Consiste en definir los
valores de una matriz NxN de tal manera que ninguna de las celdas repita el valor y la suma de los
valores en cada fila y en cada columna (as como los de las dos diagonales principales) valgan lo
mismo. A ese valor se le denomina constante mgica.
Los cuadrados latinos sin embargo son ms recientes, hubo que esperar 4600 aos a que Euler los
describiera. Los cuadrados latinos son matrices de NxN celdas en las que N elementos se deben
Modelos y Mtodos de Investigacin de Operaciones

Pgina 161 de 190
asignar a cada celda, para que, en ninguna fila y en ninguna columna, se repita el mismo elemento dos
veces (son especialmente tiles en el diseo de experimentos).
El Sudoku es un cuadrado latino de 9x9 donde se deben rellenar las celdas con los dgitos del 1 al 9
y no slo se prohben las repeticiones en filas y columnas, sino que adems se prohbe la repeticin en
el interior de 9 zonas disjuntas de tamao 3x3. Adems se asignan algunos valores en algunas celdas, y
de este modo se pretende que haya una y slo una solucin al problema.
Por su configuracin el Sudoku es tambin un problema de coloreado de grafos, donde cada celda es
un nodo, que est unido con todos los nodos de su lnea, de su columna y de su cuadrado.

Se pide:
a) (3 puntos) Plantear un modelo matemtico cuya solucin sea una solucin de un cuadrado
mgico de 3x3 con constante mgica tan pequea como sea posible.
b) (2 puntos) Plantear un modelo matemtico para el problema de un cuadrado latino de 4x4.
(Atencin : Este es un problema sin objetivo)
c) (1 punto) El nmero de cuadrados latinos de orden 4 es muy elevado, nos interesa
especialmente aquel que tiene los valores pequeos tan cerca de la celda superior izquierda
como sea posible. Defina el objetivo del nuevo modelo.
d) (2 puntos) Plantear un modelo matemtico cuya solucin sea una solucin del SUDOKU. As
ahorraremos mucho tiempo a los baistas que podrn dedicarse al clsico autodefinido.
(Nuevamente este modelo no tendr objetivo, slo restricciones).
Dado que no todos los baistas disponen de CPLEX, plantear un procedimiento de
ramificacin y corte que permita obtener una solucin. El procedimiento debe ser lo ms eficaz
posible. Ramifica en cada nodo teniendo en cuenta los valores que puede asignar a cada celda,
y elimina el nodo si al explotarlo no hay ninguna posibilidad.
e) (1 punto) Proponga un mtodo para seleccionar el siguiente nodo a explotar.
f) (1 punto) Proponga un mtodo para explotar un nodo.
g) (1 punto) Qu informacin debiera tener en cuenta para que el descarte de opciones al abrir
cada nuevo nodo sea lo ms rpido posible? Proponga un modo de almacenar dicha
informacin
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 162 de 190 JPGS2011
h) (1 punto) Desarrolle el rbol para las cuatro primeras celdas que vaya a generar.
Nota: (Esta nota es til a partir del apartado b) Un modo de garantizar que todos los elementos son
distintos, y pertenecientes a un conjunto limitado de opciones, es establecer un ndice para cada una de
las opciones. De este modo se puede definir la opcin a introducir en cada celda asignando a una
variable binaria, que identifique la celda y la opcin que se le ha incorporado, con el valor 1 (y 0 en caso
de que no se asigne dicho valor). As se podra definir una variable binaria
i,j,k
que valiera 1 si en la
celda de coordenadas i y j se asigna el valor k.
Nota 2: Si una restriccin no sabe como representarla escrbala en letra, recuerde que el proceso y
el orden del mismo es tan (o ms) importante que el resultado.

16.7 Secuenciando en la Lnea de Montaje
Una lnea de montaje de coches tiene en medio de su sistema un almacen formado por 4 lneas en
paralelo cada una con capacidad para alrededor de 20 coches, que sirve para absorber las fluctuaciones
entre la primera parte de la planta (denominada trim) y la segunda parte de la misma (denominada
chasis).
Los coches entran en el almacn y son distribuidos de acuerdo a un criterio que no es relevante en
este momento. Los coches de una determinada lnea no pueden adelantarse entre s, es decir si se
pretende sacar el tercer coche de una lnea se debe secuenciar primero las unidades por delante de l.
Tras analizar la situacin descubre que la calidad de la secuencia va relacionada con un concepto
que denominan violacin de restricciones. Por lo visto hay una serie de restricciones de diferentes
niveles de importancia cada una. Una restriccin se puede representar del siguiente modo: No ms de
dos Fort Juerga con Lavafaros de cada 6 coches.
Cmo evala el cumplimiento de restricciones no es objeto del presente problema. Se admite que un
evaluador actuara del siguiente modo: cada coche <i> al ser incorporado a una secuencia S viola unos
puntos que calcular una funcin G(S*<i>). Y alguien ya tiene desarrollado el evaluador.
Tras explorar diferentes alternativas decide que lo mejor es buscar en cada iteracin del proceso (es
decir cada vez que hay que sacar un coche) la mejor secuencia posible de 10 unidades y sacar el primer
coche de dicha secuencia.
En una brillante idea se le ocurre que la representacin de la solucin ms adecuada, no es la
secuencia de unidades a extraer sino la secuencia de las lneas desde las que se van a extraer las
unidades. As una solucin (4,2,1,1,2,1,3,4) sacara primero el primer coche de la lnea 4 (que
evidentemente sabemos cual es), luego el primer coche de la lnea 2, luego el primero de la lnea 1
seguido del segundo de la lnea 1, posteriormente el segundo de la lnea 2 seguido del tercero de la
lnea 1, etctera.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 163 de 190
Para sacar 10 coches tiene por tanto 4^10 combinaciones y por tanto desprecian (aunque no
deberan) la posibilidad de hacer una enumeracin completa de las soluciones.
Se le pide que:
a) Disee un algoritmo que genere una solucin aleatoria.
b) Disee un algoritmo heurstico que genere una solucin que podamos considerar correcta.
c) Disee un algoritmo de tipo Mejora Local.
d) Disee un algoritmo de tipo gentico.
e) Modifique el algoritmo diseado en b) teniendo en cuenta que en las lneas el nmero de
unidades que puede haber puede ser muy bajo.
Cada apartado debe constar de dos partes. En la primera hay que describir el algoritmo, en la
segunda hay que ejecutar el algoritmo poniendo un ejemplo.
Para disear el algoritmo hay que hacerlo de la manera ms inteligible posible. Al ejecutar los
algoritmos invntese los datos que necesite. Si le hacen falta nmeros aleatorios, aqu tiene una
secuencia de nmeros entre 0 y 99.


2 4 1 1 4 1 3 4 3 2
1 4 3 3 1 4 2 2 1 1
Resolucin
Sea i: el ndice que recorre las 10 posiciones de la secuencia a generar
Sea j: el ndice que recorre las 4 lneas desde las que se pueden extraer unidades
Sea k: el ndice que recorre las unidades en cada una de las lneas.
Sea rnd() una funcin que define un nmero aletario entre 0 y 1
Sea entero(x) una funcin que trunca un nmero aletario y se queda slo con la parte entera.
Sea xi la lnea de la que extraer en la posicin i
Sea ajk el vector que establece la unidad en posicin k del producto i

a) Un algoritmo que genere una solucin aleatoria podra tener la siguiente estructura.
For i:=1 to 10 do begin
23 75 86 30 5 55 54 54 36 56 27 79 19 89 99 68 78 55 50 47 99
32 95 18 21 76 7 63 83 64 43 13 40 75 66 46 66 39 88 90 93 73
16 82 59 68 13 78 28 39 21 22 41 47 10 88 69 98 22 58 48 90 98
11 79 55 68 39 26 70 64 7 23 43 76 13 35 13 24 83 14 80 63 82
58 45 21 56 74 99 15 7 75 71 26 32 64 76 67 89 76 42 76 35 8
61 46 68 12 61 42 3 86 85 27 80 67 0 43 48 89 17 39 9 44 24
74 35 81 3 89 48 2 57 26 4 43 31 17 74 37 4 83 59 81 44 17
19 66 8 63 59 38 83 53 35 35 96 96 87 33 86 96 29 89 15 16 74
96 33 34 98 20 34 14 70 53 67 35 38 61 24 71 1 21 23 89 48 98
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 164 de 190 JPGS2011
xi=entero(rnd()*4)+1;
end
Como ejemplo sean los nmeros de dos cifras una secuencia aleatoria entre 0 y 99.
Dividiendo esos nmeros por 100 tenemos nmeros entre 0 y 1
La secuencia de 10 nmeros aleatorios es: 23 75 86 30 5 55 54 54 36 56
La secuencia de 10 lneas ser: 1 4 4 2 1 3 3 3 2 3
b) Un algoritmo que genere una solucin que podamos considerar correcta podra tener la siguiente estructura
for i:=1 to 10 do begin
xi =Elegir la lnea cuyo primer producto disponible d un mejor valor de G(S*i)
end
Como ejemplo y dado que aqu no hay nada aleatorio, y dado que no tenemos valores para los
productos en el almacn no es posible poner nada ms que una secuencia de nmeros del 1 al 4. Por
ejemplo la anterior. La secuencia de 10 lneas ser: 1 4 4 2 1 3 3 3 2 3
Otro algoritmo que genere una solucin que podamos considerar correcta sera:
for i:=1 to 10 do begin
xi =Elegir la lnea cuyo primer producto disponible sea el ms antiguo de todos.
end
Otro algoritmo que genere una solucin que podamos considerar correcta sera:
for i:=1 to 10 do begin
xi =(i mod 4) +1;
end
Este algoritmo dara como resultado 1,2,3,4,1,2,3,4,1,2 puesto La funcin mod es la funcin resto.
Otro algoritmo que genere una solucin que podamos considerar correcta sera:
for i:=1 to 10 do begin
xi =La lnea con menor nmero de coches;
end


c) Un algoritmo de Mejora local exige definir un vecindario y un procedimiento de descenso. Un
vecindario podra ser (poniendo un ejemplo diferente de los tradicionales) modificar el valor de
uno de los elementos del vector solucin. Por ejemplo en la solucin anterior 1 4 4 2 1 3 3 3 2 3
posibles vecinos seran
2 4 4 2 1 3 3 3 2 3
Modelos y Mtodos de Investigacin de Operaciones

Pgina 165 de 190
3 4 4 2 1 3 3 3 2 3
4 4 4 2 1 3 3 3 2 3
1 1 4 2 1 3 3 3 2 3
1 2 4 2 1 3 3 3 2 3
1 3 4 2 1 3 3 3 2 3
1 4 1 2 1 3 3 3 2 3
Denominemos a este mtodo ModificarGen(i,j) que significa que en la posicin i probamos el
efecto de la extraccin de un unidad de la fila j
Y el mecanismo de descenso puede ser el mecanismo de descenso rpido. Es decir en el
momento que se encuentre algo mejor se sustituye
Una posible estructura del algoritmo sera:
generarSolucionVecinoMasCercano;
coste:=evaluarSolucin(v);
i:=1;
while (i<=10) do begin
j:=i;
HayMejora:=false;
while ((j<=4) and not(HayMejora)) do begin
j:=j+1;
aux:=x(i)
ModificarGen(i,j);
if evaluarSolucion(v)<=coste then HayMejora:=true else mutacinInversa(i,aux);
end;
if j=4 then i:=i+1;
if HayMejora then i:=1;
end; // del while

d) Un algoritmo gentico podra tener la siguiente estructura
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
actualizarPoblacin;
provocarMutaciones;
end;
Por tanto para definir el procedimiento hace falta (asumiendo que tenemos una funcin G que evala)
Definir un tamao de poblacin inicial: Por ejemplo 10
Definir un modo de generacin de la poblacin inicial: aleatoriamente
Definir un modo de parar: al cabo de 1000 iteraciones.
Se selecciona un modo de seleccin de padres en funcin de una ruleta donde el valor de
fitness sea la inversa de la valoracin de la solucin.
Se define un procedimiento de cruce: en este caso se propone un OX con un punto de cruce,
donde la seccin del Padre y la Madre se incorporan ntegramente no haciendo falta
reparacin.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 166 de 190 JPGS2011
Se actualiza la poblacin: Si una solucin obtenida del cruce es mejor que la peor de las
soluciones la sustituye.
Para provocar mutaciones cada 100 iteraciones se sustituyen los 5 peores miembros de la
poblacin por 5 soluciones aleatoriamente construidas.

Un ejemplo para lo nico representable (la funcin de cruce). Sean dos soluciones aleatorias
construidas con los 10 primeros nmeros de las filas segunda y tercera:
2 4 1 1 4 1 3 4 3 2
1 4 3 3 1 4 2 2 1 1
Se elige un nmero aleatorio (por ejemplo con el primero de la cuarta fila: 11 que dividido por
100 (para que est entre 0 y 1) y multiplicado por 10 para elegir por donde cortar nos da 1,1
es decir 2. Cruzamos la primera y la segunda solucin cortando en la segunda posicin y da
2 4 3 3 1 4 2 2 1 1
e) Para modificar el el algoritmo diseado en b) teniendo en cuenta que en las lneas el nmero de
unidades que puede haber puede ser muy bajo. Se propone lo siguiente:
for i:=1 to 10 do begin
xi =Elegir la lnea cuyo primer producto disponible d un mejor valor de G(S*i) comprobando siempre que
haya un producto disponible en dicha lnea
end


Modelos y Mtodos de Investigacin de Operaciones

Pgina 167 de 190
17 CASOS
17.1 Asignacin de Fechas y Aulas para Exmenes.
Una Escuela de Ingeniera ha experimentado una multiplicacin en el nmero de ttulos, alumnos y
aulas en los ltimos aos. Este crecimiento ha supuesto una modificacin sustancial en algunos de los
procesos. Entre ellos el de asignacin de aulas y fechas para exmenes.
Los diferentes problemas que se plantean por esta nueva circunstancia se pretenden resolver
mediante una asignacin automtica al principio de curso.
Algunos de los datos del problema son:
Nmero
de Alumnos
Nmero
de
Asignaturas
Capacidad
Aulas para
exmenes
Nm
ero
Aulas
400-500 5 90 14
300-400 19 60 32
200-300 30
100-200 8
50-100 58
0-50 84

Puede establecer un mtodo automtico de asignacin?
17.2 La Ruta de Llanes
En Arriondas (Asturias) tiene una de sus plantas envasadoras la Central Lechera Carrete. Esta
central lechera, recoge leche de vaqueras situadas en distintas comarcas Asturianas y de las
comunidades colindantes de la cornisa cantbrica espaola.
El sistema de recogida de leche hace tiempo que fue diseado, y aunque ha habido variaciones
importantes en las caractersticas de la recogida, hace tiempo que no se redisea todo el proceso, sino
que se hacen pequeos ajustes. La direccin pretende comprobar si compensara hacer un estudio
global, y para ello les requieren que analicen el proceso de recogida en la comarca de Llanes. Algunos
datos relevantes son los siguientes:
1) La capacidad de los camiones que gasta nuestra empresa es de 20.000 litros.
2) La leche se guarda en enfriadoras durante un mximo de 2 das.
3) Cada vaquera tiene una capacidad productiva distinta.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 168 de 190 JPGS2011
4) Los costes de transporte se evalan a razn de 50 pesetas el kilmetro realizado, aunque en
realidad es un poco ms caro ir cargado que de vaco.
5) La jornada laboral de cada transportista se considera de 40 horas semanales (con un margen en
negro mximo de 15 horas).
6) Cada carga tiene un tiempo fijo de 15 minutos y una velocidad de carga de 200 litros por minuto.
7) Las velocidades de desplazamiento son de 60 kilmetros/hora por la N-634, 45 kilmetros/hora por
la AS-114 y AS-115, y 35 kilmetros por hora en el resto de carreteras.
8) Por algunas carreteras la pendiente es tan acusada que no se puede descender con el camin
cargado con ms de 5000 litros, ests son:
a) La AS-340 en sentido Riensena-Nueva
b) La LLN14 Riensena-Palacio Mer en ese sentido
c) La LLN-7 Palacio Mer-La Pereda en ese sentido.
Las vaqueras con las que se tiene concierto estn en los siguientes pueblos (se incorpora adems la
capacidad de su enfriadora medida en litros, y su produccin tambin medida en litros):

Nombre Pueblo Enfriadora Produccin
1 Cangas de Ons 15.000 6000
2 Ons 10.000 7000
3 Riensena 10.000 4000
4 La Pereda 10.000 7000
5 Arenas de
Cabrales
10.000 3000
6 Arangas 20.000 4000
7 Panes 15.000 6000
8 Noriega 10.000 6000
9 Colombres 10.000 3000
10 Cien 10000 7000
11 Carrea 10000 5000
12 Arrobio 10000 4000
13 Nava 10000 5000
14 Tazones 10000 4000
15 Tres Cares 10000 3000

Modelos y Mtodos de Investigacin de Operaciones

Pgina 169 de 190
17.3 Sistema Elctrico
En un determinado sistema elctrico se dispone de un nmero de centrales trmicas, nucleares e
hidroelctricas para afrontar una demanda que sigue en cada centro de transformacin una funcin
similar con respecto a cada hora del da. Esta relacin se puede representar del siguiente modo:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
85 80 76 60 68 66 72 70 70 84 70 65 95 92 93 83 85 80 85 86 90 100 99 80

Donde la primera fila indica la hora del da considerada y la segunda el porcentaje sobre el consumo
mximo diario previsto.
La red elctrica tiene la siguiente configuracin:

Donde todas las lneas tienen una capacidad de 500 MW excepto las que vienen reflejadas en la
siguiente tabla:
Lnea B1 200 MW
Lnea F5 400 MW
Lnea E4 400 MW
Lnea A4 600 MW

Existen 5 Centros de transformacin de alta tensin con demandas mximas segn la siguiente tabla:
1 2 3 4 5
Demanda Mxima 250MW 1000 MW 825 MW 1150 MW 700 MW

El sistema descrito tiene 6 sistemas de generacin: 3 son de tipo trmico y 2 de tipo hidrulico y uno
de tipo nuclear. Los generadores trmicos y nucleares tienen que trabajar entre un mximo y un mnimo.
A
B
C
D
E
F
1
2
3
4
5
A
B
C
D
E
F
1
2
3
4
5
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 170 de 190 JPGS2011
Se define un coste horario por trabajar al mnimo, ms un coste extra por cada MW sobre el mnimo.
Poner en marcha cada generador tiene tambin un coste fijo.
Los valores de dichos costes para las centrales trmicas vienen definidos en la tabla siguiente.

Nivel Mnimo Nivel Mximo Coste Mnimo Coste Extra
por MW
Coste de Puesta
en Marcha
A 40 % max 1350 MW 4000 5 3000
C 50% max 700 MW 5000 4.5 2000
F 40% max 1050 MW 9000 5 1000

Adems se dispone de dos centrales Hidroelctricas, B y E. stas pueden trabajar a un nivel de
produccin fijo con un coste horario, y un coste fijo de puesta en marcha.
Una caracterstica importante de estas centrales Hidroelctricas es que el agua se puede subir otra
vez al depsito desde un depsito inferior situado a los pies de la central.
Por razones medio ambientales el depsito superior debe mantener siempre entre 10 y 20 metros de
agua. Se supone que estamos en la estacin seca, y no entra ms agua en el depsito que la que ya
hay.

Nivel de
Generacin
Coste
por Hora
Reduccin del nivel
de agua en el
depsito por hora
Coste de Puesta
en Marcha
Central B 450 MW 350 0,30 metros 2000
Central E 400 MW 300 0,48 metros 2000

Subir un metro de agua al depsito superior consume 3300 MW.
Por motivos de servicio, en cualquier momento debiera ser posible alcanzar un incremento de
demanda sobre la prevista de un 15%. Este incremento se podra conseguir aumentando los niveles de
trabajo de las centrales trmicas o poniendo en marcha las centrales hidroelctricas, o utilizando la
energa que se invierte en subir el agua al depsito superior, aunque ello suponga disminuir los 10
metros de agua citados.
La central nuclear tiene tambin unos costes mximos y unos mnimos, y sus costes extra por MW
no son lineales y se representan por la siguiente curva:
Modelos y Mtodos de Investigacin de Operaciones

Pgina 171 de 190


Nivel Mnimo Nivel Mximo Coste Mnimo
D 50 % max 1000 MW 4000

Adems los centros de transformacin 1 y 5 pueden ser alimentados con ms potencia comprando
energa a una red elctrica externa.
Se debe calcular la forma ms barata de alimentar a la red elctrica.
Calcular a partir de qu precios y en qu momentos del da es rentable comprar y vender energa
elctrica a las redes vecinas.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 172 de 190 JPGS2011
17.4 Optimizacin en la Refinera
Una empresa que posee dos refineras compra tres tipos de petrleo (PETR1, PETR2, PETR3) de
diferentes calidades y por tanto de diferentes precios por barril. Dado que los planes de produccin se
establecen con un mes de antelacin es necesario trabajar con previsiones de precio por barril. El
departamento de compra establece los siguientes tres escenarios con las probabilidades expresadas en
la tabla 1 y los precios en euros por barril para los prximos meses (por obvia simplificacin del caso no
se establecen probabilidades distintas para diferentes periodos)
PETR1 PETR2 PETR3
Escenario 1 (35%) 27 30 26
Escenario 2 (35%) 28 30 28
Escenario 3 (30%) 29 29 27
El petrleo se transforma a travs de 4 procesos (Destilacin, Reformado, Crackeado y Mezcla) para
producir los productos que el consumidor normal compra: Aceite Lubricante, Gasleo, Gasolina 95,
Gasolina 98 y Keroseno.
Destilacin
En la destilacin se separa el petrleo en 6 fracciones (Nafta Ligera, Nafta Media, Nafta Pesada,
Aceite Ligero, Aceite Pesado y Residuo). Las naftas ligeras, medias y pesadas tienen un octanaje medio
de 95,85 y 75 respectivamente.
Las proporciones de cada fraccin son (incluyendo las prdidas):
Nafta
Ligera
Nafta
Media
Nafta
Pesada
Aceite
Ligero
Aceite
Pesado
Residuo
PETR1 0.1 0.2 0.2 0.12 0.2 0.13
PETR2 0.15 0.25 0.18 0.08 0.19 0.12
PETR3 0.1 0.15 0.21 0.16 0.22 0.14

Reforma
Las Naftas se pueden usar directamente para mezclarlas dando lugar a gasolinas de diferentes
octanajes o pasar por el proceso de reforma. Este proceso genera una gasolina denominada
reformada con un octanaje de 125. En el proceso de reforma se obtiene:
0.6 barriles de gasolina reformada de 1 barril de nafta ligera
0.52 barriles de gasolina reformada de 1 barril de nafta media
Modelos y Mtodos de Investigacin de Operaciones

Pgina 173 de 190
0.45 barriles de gasolina reformada de 1 barril de nafta pasada

Craqueado
Los aceites (ligero y pesado) pueden ser usados para mezclar (dando lugar a Gasleo y Keroseno) o
se pueden pasar a travs de un proceso conocido como craqueado cataltico. Este proceso produce
aceite craqueado y gasolina craqueada. sta tiene un octanaje de 110.
1 barril de aceite ligero da lugar a 0.68 barriles de aceite craqueado y 0.28 de gasolina craqueada.
1 barril de aceite pesado da lugar a 0.75 barriles de aceite craqueado y 0.18 de gasolina craqueada.

La gasolina craqueada se utiliza para hacer gasolinas (95 y 98). El aceite craqueado se utiliza para
hacer gasleos (gasleo y Keroseno).
Actualmente se est investigando en un producto qumico que modificara las anteriores
proporciones:
1 barril de aceite ligero dara lugar a 0.63 barriles de aceite craqueado y 0.32 de gasolina
craqueada.
1 barril de aceite pesado dara lugar a 0.77 barriles de aceite craqueado y 0.2 de gasolina
craqueada.
Adems, a partir de un barril de Residuo se puede obtener 0.6 barriles de Aceite Lubricante utilizando
la capacidad del mismo sistema de craqueado.

Mezclado
Gasolinas
Hay dos tipos de gasolinas (sper y normal), que se obtienen por mezcla de naftas y gasolinas
(craqueada y reformada). El octanaje de la gasolina sper debe ser superior a 98, y el de la gasolina
normal a 95. Se asume que el octanaje se obtiene por combinacin lineal de los volmenes mezclados.
Keroseno
Se estipula que la presin de vapor del Keroseno debe ser inferior a 1 Kg/cm
2
. Las presiones de
vapor, en las mismas unidades, de los productos que pueden dar lugar al Keroseno son los siguientes:
Aceite Ligero (1), Aceite Pesado (0.6), Aceite craqueado (1.5) y Residuo (0.05). Se puede asumir otra
vez que la presin de vapor resultado es combinacin lineal considerando volmenes.
Gasleo
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 174 de 190 JPGS2011
Para producir Gasleo se utiliza aceite ligero, aceite craqueado, aceite pesado y residuo con una
proporcin 10:4:3:1.
Restricciones de capacidad
a) Disponibilidad diaria de los tres tipos de petrleo: 40.000, 60.000 y 40.000 barriles
respectivamente.
b) Capacidad de destilacin: 40000 barriles diarios por refinera
c) Capacidad de reformado: 9000 barriles diarios por refinera
d) Capacidad de craqueado: 5000 barriles diarios por refinera
e) La fabricacin de Gasolina 98 debe ser al menos el 30% de la Gasolina 95.
Precios de Venta:
Los precios de venta de cada barril aportan los siguientes ingresos en Euros, descontados los gastos
generales (de tal modo que los beneficios de la refinera se pueden calcular descontando estos ingresos
de los costes de adquisicin de los barriles).
Demanda Beneficio
Venta en
refinera 1
Beneficio
Venta en
refinera 2
Aceite Lubricante 4000 27.5 28.5
Gasolina 95 26000 43 50
Gasolina 98 10000 47 45
Keroseno 30000 39 35
Gasleo 30000 34 34
Como se observa en la tabla los beneficios no son iguales para cualquier refinera debido a que no
son plantas idnticas. Adems en su construccin fueron diseadas para que solo se pudiera trabajar
con dos tipos de petrleo (por planta).
La demanda de cada producto tiene una cierta elasticidad con el precio que podemos considerar que
se expresa del siguiente modo: Una variacin de un 1% en el precio implica una variacin de sentido
contrario en las ventas de un 5%. Esta regla se mantiene para variaciones de precio inferiores al 10%.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 175 de 190
17.5 Red de Metro de Valencia
Trabaja usted en una consultora que ha sido contratada por la empresa FGV para realizar un
programa que permita calcular el tiempo que se tarda en llegar entre dos paradas cualesquiera de la red
de Metro Valencia.
Una vez desarrollada la herramienta les solicitan que hagan una exploracin acerca de una nueva
lnea que se est planteando.
Dicha lnea sera una nueva lnea de tranva que se engarzara con la actual en las paradas de
Empalme y La Carrasca, tal y como se muestra en el plano adjunto. Dicha lnea tendra un punto medio
en la parada de Jess, donde se cruzara con las Lneas 1 y 3, y con la Lnea 5 en la Parada de Manuel
Candela.
Los promotores de tan magno proyecto piensan que esta lnea, adems de aumentar la cantidad de
poblacin que puede tener contacto con la Red de Metro, aumentar la conectividad entre las distintas
estaciones de la Red de Metro Valencia.
Otra interesante cuestin es saber si realmente es necesario cerrar la lnea circular del Tranva, para
aumentar la conectividad o sobrara con fragmentos de la misma (por ejemplo de La Carrasca a Jess).
A
B
C
D
E
F
G
H
J
I
A
B
C
D
E
F
G
H
J
I
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 176 de 190 JPGS2011
17.6 Rutas de Distribucin
Una empresa de fabricacin de cartones (cajas fundamentalmente) radicada en Alzira debe servir
entre 4 y 7 camiones diarios a ms de una veintena de clientes. Estn interesados en una herramienta
que permita definir la carga de los camiones teniendo en cuenta que estos tienen una limitacin de
capacidad de 33 paletas cada uno.
PUEBLOS Lote de Paletas
Alborache 6
Alccer 2
Algemes 2
Almoines 12
Benifai 4
Benignim 6
Carcaixent 2
Carlet 4
Villanueva de Castelln 6
Chiva 6
Denia 6
LAlcdia de Carlet 6
LOlleria 12
Llombai 4
Ontinyent 12
Silla 4
Sueca 12
Tavernes de la Valldigna 4
Xtiva 12

Se asume que en cargar un camin se tarda alrededor de 45 minutos, la descarga en cada empresa
cliente cuesta alrededor de 30 minutos de media. Se asume que ningn conductor debe dedicar ms de
8 horas diarias a conducir ni ms de 12 horas en total. Cada kilmetro cuesta 30 cntimos de Euro.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 177 de 190
17.7 Fabricacin de Zapatillas
Una empresa fabricante de zapatillas deportivas, localizada en Picasent, estima la siguiente
demanda (en miles de pares) para los prximos 6 meses, con un catlogo inicial a la venta de 3
modelos.
Abril May
o
Juni
o
Juli
o
Agost
o
Septiemb
re
Modelo 1 100 200 150 150 200 150
Modelo 2 150 100 150 100 250 100
Modelo 3 150 150 250 150 150 150
Se admite un error en la previsin de demanda de cada modelo de 3 miles de pares.
Los elementos que se utilizan en la produccin de estos 3 modelos de zapatillas son los
siguientes: Cordones (C) ; Cremallera (Cr) ; Suela (tipos: S1, S2, S3) , Refuerzos (tipos: R1, R2),
Cuerpo (tipos CO1, CO2, CO3) y adornos (A1, A2, A3, A4)

Como se puede observar, entre los diferentes modelos de zapatillas a producir se da la
particularidad que comparten componentes entre un modelo y otro. Las suelas tienen un periodo de
aprovisionamiento de 4 semanas. Los refuerzos y el cuerpo un periodo de aprovisionamiento de 2
semanas, los adornos de 1 semana, y las cremalleras de un plazo de 8 semanas. Se dispone en
almacn de 8000 de estas cremalleras. Se dispone tambin en almacn de suficientes componentes
para cubrir la demanda de los prximos dos meses, de los diferentes componentes. Los pedidos se
lanzarn en miles de unidades, a excepcin de las cremalleras que se lanzaran en lotes de cinco mil
unidades.
Los costes de produccin de cada par se evalan en 7 si se producen en horas normales, y 9
si se produce en horas extras. El nmero de horas normales disponibles por da son 8. El nmero de
das laborables por mes es variable cada mes, dependiendo del calendario laboral de la localidad de
Picassent. Cada mes se puede trabajar un mximo de 40 horas extra. Un grupo de 3 personas es
M3
S3 CO3 C A4 A3 A2 R1
M2
S2 CO2 Cr A3 A1 R1
M1
S1 CO1 C A2 A1 R2
M3
S3 CO3 C A4 A3 A2 R1
M2
S2 CO2 Cr A3 A1 R1
M2
S2 CO2 Cr A3 A1 R1
M1
S1 CO1 C A2 A1 R2
M1
S1 CO1 C A2 A1 R2
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 178 de 190 JPGS2011
capaz de fabricar 15 pares de zapatillas por hora, si dispone de suficiente material. El coste de
almacenar un par de una semana para otra es de 0025 por par. Se dispone de 200 pares en stock
en estos momentos, de cada uno de los modelos.
As, se pretende establecer el modelo que permitiera definir el plan de trabajo para los prximos
meses, asegurando el mnimo coste para la empresa. Al ingeniero se le ha planteado un compromiso
con los trabajadores de utilizar cada dos meses al menos un 15% de la capacidad en horas extra
actual, por lo que debera plantearse como programar tambin esa circunstancia. Adems es habitual
que en el mes de Agosto, no se trabaje la mitad del mes, y que los trabajadores de la empresa cojan
los 15 das restantes durante los meses de Junio, Julio, Agosto o Septiembre dependiendo de la
disponibilidad de la empresa.
Durante las vacaciones de de verano se debe considerar la contratacin de trabajadores para
sustituir a los trabajadores que estn todo el ao. Los costes de produccin de cada par se evalan
en 8 en horas normales no pudiendo producir estos trabajadores en horas extras. El ritmo de
produccin de estos trabajadores es de 18 pares de zapatillas por hora. Se podr contratar uno o dos
grupos.
Se plantean diferentes alternativas al definir el objetivo principal. As, una de ellas podra ser el
minimizar el mximo stock entre periodos. Otra, minimizar las diferencias de produccin entre un mes
y el siguiente, para cualquier mes, a travs de equilibrado de la produccin utilizando horas extras,
minimizar el stock en almacenes...

Modelos y Mtodos de Investigacin de Operaciones

Pgina 179 de 190
17.8 Las Farmacias de Alcudia, Benimodo y Carlet
Est empezando una nueva carrera de consultor free-lance y por tanto acepta cualquier tipo de
trabajo. Le ha llegado un trabajo por va de un amigo, el nico modo de que entren trabajos. El trabajo
no parece estar muy definido.
Hola,
Me ha dado tu direccin Moiss de la Fuente. Soy Marina Amors, farmacutica de
Carlet y estoy integrada con las farmacias de mi pueblo y de otros 2 cercanos, para hacer
las guardias. En total, somos 11 farmacias de tres pueblos cercanos:
- 5 de Carlet
- 5 de LAlcudia
- 1 de Benimodo
Entre las 11 farmacias nos turnamos los turnos de guardia (noche) alternativamente de
forma que cada pueblo no est ms de 1 noche sin tener una farmacia abierta, excepto
cuando toca Benimodo que no queda ms remedio que sean 2 noches. Tenemos tres
turnos:
1. Das laborales
2. Sbados
3. Domingos y festivos
Incluso en la ltima reunin que tuvimos este mes pasado se plante incluso hacer otro
turno (el cuarto !) que incluyera el 24 dic (Nochebuena), el 31 de dic y el 5 de Enero.
Muchos estamos hartos de tanto turno porque hay semanas que nos coinciden 2 o 3
guardias, sobre todo en puentes y preferimos un slo turno cada 11 das (es lo ms habitual
entre los pueblos que nos rodean). Parte de nuestros compaeros dicen que no es
equitativo que siempre hay alguno que le tocan ms domingos que otro, etc. Mi pregunta es
si sabes alguna frmula matemtica para hacerlo ms equitativo.
Puesto manos a la obra usted le enva el siguiente mensaje:
Hola Marina, ms que tener dudas de los turnos, lo que me gustara saber son las fechas que se
consideran festivos en cada una de las localidades, porque supongo que no sern iguales. Un
turno especial de Navidad no creo que sea prctico, tardarais 11 aos en darle la vuelta.
Mi propuesta es plantear un sistema que permita establecer una secuencia donde se
establezcan tantas restricciones como se quieran (siempre que sea matemticamente posible).
Pero no tendris un ciclo de 11 das sino ms bien, un calendario anual (o semestral o bianual)
que intenta equilibrar las cargas. Se me ocurre investigar un modo de establecer el calendario
respetando restricciones de no ms de 1 guardia en 6 o 7 das, no ms de un festivo en 15
das Te adjunto una tabla en excel que puedes completar con los festivos que faltan. Como
hay once columnas todo consistira en sortear cada columna a cada persona.
PD: Por cierto, qu ocurre cuando un sbado coincide con festivo?, qu manda?
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 180 de 190 JPGS2011

La respuesta, que obvia los datos de las festividades, es la siguiente
Buenos das,
Ante todo, muchsimas gracias por el inters. Respondiendo a tu pregunta, cuando un
sbado coincide con un festivo manda siempre el festivo, por tanto no hacemos refuerzos de
sbado (cada pueblo tiene todos los sbados una farmacia abierta hasta las 5).
Gracias de nuevo.

El trabajo consiste en:
a) Definir de modo estructurado el problema
b) Disear un Modelo matemtico que lo resuelva.
c) Implementar el modelo en MPL, para resolverlo.
d) Disear una heurstica, o conjunto de ellas, que resuelvan satisfactoriamente el problema.

Modelos y Mtodos de Investigacin de Operaciones

Pgina 181 de 190
17.9 Planificacin Agregada en una Planta de Motores.
Una empresa de fabricacin y montaje de motores sirve motores y componentes de los mismos a
plantas de fabricacin de coches as como a empresas de distribucin de repuestos. Ambos tipos de
clientes estn distribuidos por todo el mundo. Al ser los clientes distintos los modos de preparacin del
producto y embarque del mismo pueden variar entre clientes. No slo venden producto final sino
tambin semielaborado. Y tambin compran semielaborado. Asimismo diferentes clientes y diferentes
proveedores tienen necesidades y calendarios variables.
En un mercado tan competitivo como el del automvil las actualizaciones de los productos son
frecuentes. Adems de que el nmero de variantes a producir tiende a crecer para adecuarse o superar
a la competencia. El nmero de productos a fabricar es siempre limitado y conocido, aunque este
conjunto vara. Pero vara de un modo planificado. Asimismo Esto implica pruebas de productos y
nuevas versiones y tambin implica la desaparicin planificada de productos.
El proceso de fabricacin de un motor tiene dos etapas: a) Fabricacin y b) Montaje. En la
Fabricacin un elemento en bruto es mecanizado, y en el montaje diferentes elementos mecanizados se
ensamblan en una lnea de montaje.

Un motor se compone de las denominadas 5Cs (Bloque, Bielas, Levas, Culatas, Cigueales) y otros
componentes. De cada tipo de componente hay un cierto nmero de variantes, algunas se fabrican en la
planta objeto de estudio y otros no.

La lnea de Montaje de una fbrica de Motores es un sistema altamente automatizado, bastante poco
flexible en cuanto a capacidad, y costoso de puesta en marcha y mantenimiento. Dentro de la escasa
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 182 de 190 JPGS2011
flexibilidad reconocida a la lnea existe la posibilidad de pararla o hacerla funcionar a diferentes
velocidades con costes diferentes para cada una de las opciones.
Aunque el proceso de fabricacin es diferente lo mismo ocurre, con diferente dimensin, en las lneas
de mecanizado de las conocidas como 5Cs.
La empresa planifica en semanas y cada semana tiene una serie de das hbiles (5 por lo general) y
de inhbiles (2 por lo general) pero la empresa podra decidir parar un da la produccin pues ahorrara
costes de energa, o utilizar uno de los das inhbiles. La empresa utiliza en ocasiones las horas extras
pero estas no se planifican puesto que se utilizan para responder a problemas puntuales.
En este sentido el funcionamiento de la planta es atpico tanto al nivel de la gestin de la produccin
como en lo referente a la consideracin del factor humano. Los modos de gestin de la capacidad son
dos: Incrementar o reducir la velocidad de la lnea (incorporando nuevos recursos a la misma), y
parar/utilizar la lnea en das laborales/das festivos.
En efecto, a causa del nivel de automatizacin de la lnea y de los costes que implica el hacer
funcionar la maquinaria, se autoriza el paro total de la planta cuando sea necesario, ya que se sabe que
el coste de mano de obra es muy bajo en comparacin con el de la mantener en funcionamiento la
maquinaria. En este caso, los operarios van a formacin o se dedican a tareas de mantenimiento y se
ahorran los gastos de hacer funcionar la lnea. As pues, consideraremos que los directivos pueden
decidir que hay que trabajar unos das festivos por cualquier razn. Adems si la lnea no tiene
capacidad de cumplir la demanda durante la semana normal, es decir entre el lunes y el viernes, el
modelo deber ser capaz de proponer la cantidad de das extras que se necesitan para evitar diferir
(dentro de los lmites impuestos por la empresa durante cada semana).
Los inventarios no tienen un coste de mantenimiento conocido, aunque este es elevado dadas las
caractersticas de los productos. Para mantener bajo control los inventarios la empresa prefiere
establecer un stock mnimo y mximo (medido en das de stock) para el final del horizonte de
planificacin. Y dicho horizonte de planificacin se situa siempre al final de un periodo de vacaciones
relativamente prolongado (verano, pascua, navidad) de tal modo que no se tendr ms stock del
deseado en ningn momento sin necesidad de asignarle un coste.

Modelos y Mtodos de Investigacin de Operaciones

Pgina 183 de 190
17.10 REFRESCOS EN FONT DEL RAFOL
Una empresa que fabrica refrescos carbonatados tiene una fbrica con capacidad de envasar 70
hectlitros a la hora.
La fbrica puede trabajar a 1,2,3 y 4 turnos de 80 horas semanales cada uno (deduciendo la parte
proporcional de festivos no fin de semana). Es decir la capacidad productiva de una determinada
semana se calcula segn la siguiente frmula
(5 )
40
5
f
K


Siendo 40 el nmero de horas laborables por semana en un turno completo, K la capacidad de
envasado medida en hectlitros por hora, y f el nmero de festivos en una semana (considerando slo
los festivos que reducen el nmero de das laborables).
Estn en las ltimas semanas del ao, y el departamento de finanzas se ha puesto a trabajar,
solicitando presupuestos. Usted debe anticipar el plan de produccin para poder aportar informacin al
departamento de Recursos Humanos y al de Logstica.
Ventas le anticipa la demanda en hectlitros en forma de 4 escenarios posibles, con la demanda
prevista en centenares hectlitros por semana (tabla 1).
El departamento de RRHH le ha pedido un presupuesto para su gasto del ao que viene. Un turno
tiene un coste semanal de 6000 euros. Cada cambio de configuracin del nmero de turnos, por ejemplo
pasar en una semana de 2 turnos a 3 turnos, tiene un coste de 1000 euros por turno cambiado. El
departamento de recursos humanos tiene cerrado ya el programa de trabajo de las primeras 5 semanas
del ao y debe cerrar las de la semana de 6 a 10.
03/ 01/ 2011 10/ 01/ 2011 17/ 01/ 2011 24/ 01/ 2011 31/ 01/ 2011
Tur nos 1 1 1 2 2
El departamento financiero le ha pedido un presupuesto para su gasto en almacenes subcontratados
este ao.
El departamento de logstica tiene un almacn propio con una capacidad de 8000 hectlitros. Si los
productos se guardan en el almacn propio el coste de almacenar cada hectlitro se evala en alrededor
de 0,25 por semana. Dispone tambin de almacenes a los que puede subcontratar capacidad si los
productos se guardan en almacn ajeno el coste de almacenar (que incluye el coste de transportar) se
eleva a 1 por semana. Al principio de ao calcula que tendr 5000 hectlitros de stock.
Se le pide que :
a) Di see un model o mat emt i co par a est abl ecer el pr ogr ama pt i mo t eni endo en cuent a l os 4
escenar i os.
b) Def i na l os cost es en r ecur sos humanos y en al macenes en l os que i ncur r i r .
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 184 de 190 JPGS2011
17.11 Central Pendiente Dominicana.
Central Pendiente Dominicana CPD, es una floreciente cadena de supermercados. Actualmente
cuenta con 14 tiendas de diferentes tamaos, ubicadas geogrficamente en los puntos que se reflejan
en la tabla 1. El consumo de cada una de las tiendas se estima en peso. Y la demanda debe ser
satisfecha.

Tiendas x y Demanda ()
Tienda1 10 40 1000
Tienda2 30 50 2000
Tienda3 20 50 1000
Tienda4 40 10 500
Tienda5 50 30 600
Tienda6 50 20 2000
Tienda7 40 40 700
Tienda8 50 50 800
Tienda9 50 30 1200
TiendaA 60 40 900
TiendaB 100 20 700
TiendaC 12 90 600
TiendaD 90 90 1000
Tabla 1. Ubicacin y Demanda de cada Tienda
CPD cuenta con 4 almacenes, ubicados en los puntos de la geografa que se indican en la tabla 2.
Dichos almacenes estn mayormente situados cerca de sus mayores puntos de consumo. Actualmente
est considerando la posibilidad de abrir un nuevo centro logstico, ms grande y alejado. Los datos
bsicos se representan en la siguiente tabla.
Almacenes X y Capacidad() C Fijo
C Variable
por
Almacen1 10 20 5000 1000 1
Almacen2 14 30 5000 1000 1
Almacen3 23 60 5000 1000 1
Almacen4 50 50 5000 1000 1
ALMACEN5 200 200 20000 2000 0,1
Tabla 2. Ubicacin, Capacidad y Coste de Cada almacn
Usted est analizando la cadena de suministro de productos perecederos, y CPD cuenta con tres
fbricas de envasado.Sus caractersticas estn en la tabla 3.
Fabricas Capacidad() C Fijo
C Variable
por
Modelos y Mtodos de Investigacin de Operaciones

Pgina 185 de 190
Fbrica1 10 10 10000 500 5
Fbrica2 30 50 10000 700 2
Fbrica3 40 40 10000 1000 1
Tabla 3. Ubicacin, Capacidad y Coste de Cada Fbrica
Los centros de aprovisionamiento de los productos que vende estn fundamentalmente en dos
puntos de la geografa que se indican en la tabla 4.
Abastecimiento X Y
Proveedor1 0 0
Proveedor2 70 20
Tabla 3. Ubicacin del centro de gravedad de los puntos de abastecimiento
Los costes de transporte se calculan en pesos por kilmetro recorrido y m3 transportado.
Los costes de almacenamiento y de procesamiento del producto se calculan teniendo en cuenta un
coste fijo (relacionado con poner en marcha la instalacin) y un coste variable medido en pesos por m3
movido.





para qu densidad de valor (/m3) del producto es rentable irse al almacn grande nico y alejado?
Construya un modelo matemtico


coste del km 1 /m3transportado/km
coste de
almacenaje 1
/m3 almacenado al
da
Valor del m3 10 /m3
coste de
inventario 0,05 / almacenado al da
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 186 de 190 JPGS2011
ETAPA 1:
Una empresa tiene 3 fbricas y 4 almacenes.
La capacidad de cada fbrica es {10000;4000;4000}
La demanda a servir a cada almacn es {2000;2000;2000;2000}
Los costes de transportar desde cada fbrica a cada almacen son:
coste
transporte Almacen1 Almacen2 Almacen3 Almacen4
Fabrica 1 1 2 3 4
Fabrica 2 1 3 2 3
Fabrica 3 2 3 4 2

Quin debe servir a quien para tener el mnimo coste?

Utilice el solver para resolver.
Es mejorable la solucin que le entrega?
Cmo afectan los costes de transporte a los costes totales?

Modelos y Mtodos de Investigacin de Operaciones

Pgina 187 de 190
ETAPA 2: Sobre el problema anterior.
Cada fbrica tiene que pagar un coste fijo por ser utilizada.
El coste de cada fbrica son {800;1000;1200}

Utilice el solver para resolver.
Por qu cree que deben existir esos costes fijos?
ETAPA 3: Sobre el problema anterior.
Cada fbrica tiene que pagar un coste variable por cada unidad que utiliza.
El coste unitario de producir en cada fbrica son {3;2;1}

Utilice el solver para resolver.
Por qu cree que deben existir esos costes variables? Cree que deben ser constantes o dependen
segn la cantidad?
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 188 de 190 JPGS2011
ETAPA 4
Aadimos dos posibles proveedores, con sus costes de aprovisionar a cada fbrica respectivamente.
Las fbricas slo pueden fabricar si tienen materia prima suficiente.

Grafe como evolucionara la red completa a medida que va subiendo el valor de euros por metro
cbico transportado.
Modelos y Mtodos de Investigacin de Operaciones

Pgina 189 de 190
18 BIBLIOGRAFA
Bautista, J., Companys, R., Corominas, A. Introduccin al BDP. 1992.
Binmore, K. Teora de Juegos. McGraw-Hill.1994
Binmore, K., 1994. Teora de Juegos. McGraw-Hill.
Bramel, J. D. Simchi-Levy. The Logic of Logistics. Springer. 1997
Chase, R.B. N.J. Aquilano, F.R. Jacobs. Administracin de produccin y operaciones. Irwin-McGraw-Hill.
2000
Chrtienne, P. Coffman, E.G., J.K. Lenstra, Z. Liu. Scheduling Theory and its Applications. Wiley and
Sons. 1997
Companys, R., 2002. Programacion dinamica. CPDA-ETSEIB.
Companys, R., 2003. Teoria de Grafs. cpda-etseib.
Conway, R.W., W.L. Maxwell, L.W. Miller. Theory of Scheduling. Addison-Wesley. 1967
Cuatrecasas, Ll.. Organizacin de la Produccin y Direccin de Operaciones.
Dembo, R.S.. Scenario Optimization. Annals of Operations Research 30, 63-80. 1990
Denardo, E.V., 1982. Dynamic Programming. Models and Applications. Prentice Hall.
Daz, A., F. Glover, H. Ghaziri, J.L. Gonzlez, M. Laguna, P. Moscato, F.T. Optimizacin Heurstica y
Redes Neuronales. 1996
Diaz, A., Glover, F., Ghaziri, H., Gonzales, J.L., Laguna, M., Moscato, F.T., 1996. Optimizacin
Heurstica y Redes Neuronales. McGriwHall.
Ferreira, A. M. Morvan. Models for parallel algorithm designs: an introduction. Parallel computing in
Optimization. Kluwer Academic Publishers, 1997.
Ferreira, P, A.. Pardalos. Solving Combinatorial Problems in Parallel. Springer. 1996
Gendreau, M., 2003. An introduction to tabu search. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook
of metaheuristics Kluwer International Series, pp. 37-54.
Glover, F., Laguna, M., Marti, R., 2003. Scatter Search and Path relinking: advances and applications. In:
Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,
pp. 1-35.
Gross, D., Harris, C.M., 1998. Fundamentals of Queueing Theory. John Wiley and Sons.
Gross, D., Shortle, J.F., Thomson, J.M., Harris, C.M., 2008. Fundamentals of Queueing Theory. Wiley.
Hansen, P., Mladenovic, N., 2003. Variable Neighborhood Search. In: Glover, F., Kochenberger, G.A.
(Eds.), Handbook of metaheuristics Kluwer International Series, pp. 145-184.
Usando las matemticas para pensar sobre Direccin de Operaciones.

Pgina 190 de 190 JPGS2011
Henderson, D., Jacobson, S.H., Jonhson, A., 2003. The theory and practice of simulated annealing. In:
Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,
pp. 287-319.
Johnson, L.A., D.C. Montgomery. Operations Research in Production Planning, Scheduling and
Inventory Control. John Wiley and Sons. 1974
Kauffman, A., 1972. Mtodos y Modelos de la Investigacin de Operaciones. CECSA.
Kauffman, S., 2003. Investigaciones. Metatemas.
Kauffmann A., Henry-Labordere, A.. Mtodos y Modelos de la Investigacin de Operaciones Tomo III.
CECSA. 1976
Kauffmann, A.. Mtodos y Modelos de la Investigacin de Operaciones Tomo II. CECSA. 1972
Loureno, H.R., Martin, O.C., Sttzle, T., 2003. Iterated Local Search. In: Glover, F., Kochenberger, G.A.
(Eds.), Handbook of metaheuristics Kluwer International Series, pp. 321-353.
Marti, R., 2003. Multistart Mehods. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook of
metaheuristics Kluwer International Series, pp. 355-368.
Osman, I.H., 1995. An Introduction to Metahuristics. In: Lawrence, M., Wilsdon, C. (Eds.), Operational
Research Tutorial Papers. Stockton Press, Hampshire (UK), pp. 92-122.
Perez, J., Mladenovic, N., Batista, B., Amo, I., 2006. Variable Neighbourhood Search. In: Alba, E.,
Mart+, R. (Eds.), Metaheuristic Procedures for Training Neutral Networks Springer US, pp. 71-86.
Pidd, M., 1996. Tools for thinking. Wiley.
Pinedo, M., Chao X.. Operations Scheduling. McGraw-Hill. 1999
Raiffa, J.F. Decision Analysis. Addison Wesley. 1970
Resende, M.G., Ribeiro, C.C., 2003. Greedy Randomized Adaptive Search Procedures. In: Glover, F.,
Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series, pp. 219-249.
Shapiro, J.F. Modelling the Supply Chain. Duxbury. 2001
White, D.J. Teora de la Decisin. Alianza Universidad. 1972
Williams, H.P. Model Building in Mathematical Programming. Wiley. 1999

Anda mungkin juga menyukai