Sei sulla pagina 1di 181

Modelos y Mtodos de Investigacin de

Operaciones. Procedimientos para Pensar.


(Modelado y Resolucin de Problemas de Organizacin Industrial
mediante Programacin Matemtica)
Nota: Este documento est sujeto a cambios. Se agradecer cualquier comentario
que pueda ayudar a mejorarlo. Enviar un correo a jpgarcia@omp.upv.es indicando el
nmero de pgina y el nmero de lnea con la sugerencia.

Mtodos Cuantitativos de Organizacin Industrial

Jos Pedro Garca Sabater, Julien Maheut


Grupo de Investigacin ROGLE
Departamento de Organizacin de Empresas
Curso 2011 / 2012

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 Cliente y el Problema ............................................................................................................. 15

1.4

El Problema, y el Concepto de Solucin .................................................................................. 15

1.5

Ciclo de Vida de la construccin de Modelos ......................................................................... 16

10

1.5.1

Definir el Problema ................................................................................................................ 16

11

1.5.2

Modelar y Construir la Solucin ............................................................................................ 16

12

1.5.3

Utilizar la Solucin ................................................................................................................. 17

13
14
15

1.6

Generacin de Soluciones Informticas para la resolucin de Problemas que se abordan

mediante mtodos matemticos ............................................................................................................. 17


1.7

Algunos principios para tener xito en el modelado .............................................................. 18

16

1.7.1

Los Modelos han de ser simples, su anlisis debe ser complejo ......................................... 18

17

1.7.2

Ir paso a paso ........................................................................................................................ 18

18

1.7.3

Usar al mximo metforas, analogas y similitudes .............................................................. 19

19

1.7.4

Los datos disponibles no deben conformar el modelo .......................................................... 19

20

1.7.5

Principio Subyacente: Modelar es Explorar .......................................................................... 20

21

TIPOS DE MODELOS. LOS MODELOS DE PROGRAMACIN MATEMTICA ...................... 21

22

2.1

Clasificacin de modelos segn el efecto de su resolucin ................................................. 21

23

2.1.1

Modelos Normativos .............................................................................................................. 21

24

2.1.2

Modelos Descriptivos ............................................................................................................ 21

25

2.2

Modelos Matemticos ................................................................................................................ 22

26

2.3

Modelos de Programacin Matemtica .................................................................................... 22

27

2.3.1

Por qu se llama Programacin Matemtica? .................................................................... 23

28

2.3.2

Una clasificacin de Modelos de Programacin Matemtica ............................................... 24

29

2.3.3

Los Componentes de un Modelo Matemtico....................................................................... 27

30

2.4

Modelos de Optimizacin Combinatoria .................................................................................. 28

Usando las matemticas para pensar sobre Direccin de Operaciones.

2.5

Otros Modos de Modelar. Otros Modos de Pensar ................................................................. 29

2.5.1

Teora de Grafos ................................................................................................................... 29

2.5.2

Programacin Dinmica ........................................................................................................ 30

2.5.3

Teora de Colas ..................................................................................................................... 30

2.5.4

Dinmica de Sistemas ........................................................................................................... 31

2.5.5

Simulacin ............................................................................................................................. 31

2.5.6

Teora de Juegos .................................................................................................................. 32

PROGRAMACIN MATEMTICA .............................................................................................. 33

3.1

Introduccin ................................................................................................................................ 33

10

3.2

La construccin de un Modelo de Programacin Matemtica .............................................. 33

11

3.3

Implementacin de un Modelo de Programacin Matemtica (Validacin) ......................... 34

12

3.3.1

Modelo de sintaxis errnea ................................................................................................... 34

13

3.3.2

Modelo incompatible ............................................................................................................. 35

14

3.3.3

Modelos no acotados ............................................................................................................ 36

15

3.3.4

Modelo Resoluble .................................................................................................................. 36

16

3.4

Caractersticas de un buen modelo de Programacin Matemtica ...................................... 37

17

3.4.1

Facilidad para entender el modelo ........................................................................................ 37

18

3.4.2

Facilidad para detectar errores en el modelo ........................................................................ 37

19

3.4.3

Facilidad para encontrar la solucin ..................................................................................... 38

20

MODELOS DE PROGRAMACIN LINEAL ................................................................................ 39

21

4.1

Qu es la Programacin Lineal?............................................................................................. 39

22

4.2

La importancia de la Linealidad ................................................................................................ 40

23

4.3

Situaciones que pueden modelarse mediante Programacin Lineal ................................... 40

24

4.4

Los parmetros ........................................................................................................................... 41

25

4.5

Definicin de Objetivos (por acabar) ........................................................................................ 42

26

4.5.1

Problemas Mono Objetivo ..................................................................................................... 42

27

4.5.2

Programacin Multi-Objetivo ................................................................................................. 42

28

4.5.3

Programacin Fuzzy Multiobjetivo ........................................................................................ 44

29

4.5.4

Programacin Multinivel ........................................................................................................ 44

30

4.6

Las restricciones ........................................................................................................................ 44

Pgina 4 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

4.6.1

Tipos bsicos de Restricciones en Direccin de Operaciones ............................................. 44

4.6.2

La relacin de las restricciones con la realidad, con las otras restricciones y con el propio

3
4

modo de resolver ..................................................................................................................................... 45


4.7

Anlisis de resultados ............................................................................................................... 48

4.7.1

Interpretaciones econmicas ................................................................................................ 48

4.7.2

Anlisis de Sensibilidad ......................................................................................................... 49

4.7.3

El Modelo Dual ...................................................................................................................... 50

4.7.4

Modelos Estables .................................................................................................................. 51

9
10

LINEALIZANDO LO NO-LINEAL ................................................................................................ 52

5.1

Objetivos no-lineales fcilmente linealizables ........................................................................ 53

11

5.1.1

Objetivo Minimizar un valor absoluto .................................................................................. 53

12

5.1.2

Objetivo Minimizar el Mximo o Maximizar el Mnimo ..................................................... 53

13

5.1.3

Objetivos de Ratio ................................................................................................................. 54

14

5.1.4

Objetivos Maximizar el Mximo (o Minimizar el Mnimo) ...................................................... 55

15

5.2

El uso de variables discretas para representar relaciones condicionales........................... 55

16

5.2.1

Funciones no continuas ........................................................................................................ 56

17

5.2.2

Relacin Lgica

=1 aj xj b

.............................................................................. 56

18

5.2.3

Relacin Lgica

a x
j

< b = 1 ................................................................................ 56

b = 1 ................................................................................ 57

19

5.2.4

Relacin Lgica

a x
j

20

5.2.5

Relacin Lgica

= 1 a j x j b : ............................................................................. 57
j

21

5.2.6

Relacin Lgica

x j > b = 1 .............................................................................. 58

x j b = 1 .............................................................................. 58

22

5.2.7

Relacin Lgica

a
j

23

5.3

Ms Relaciones Lgicas y su representacin ......................................................................... 58

24

5.4

Conjuntos especiales de variables ordenadas ....................................................................... 61

25

MODELOS DE PROGRAMACIN ENTERA .............................................................................. 64

26

6.1

Introduccin ................................................................................................................................ 64

27

6.2

Diferentes reas de aplicacin de la Programacin Entera ................................................... 64


Pgina 5 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

6.2.1

Problemas con inputs (u outputs) discretos .......................................................................... 64

6.2.2

Problemas con condiciones lgicas ...................................................................................... 64

6.2.3

Problemas de combinatoria ................................................................................................... 64

6.2.4

Problemas No-lineales .......................................................................................................... 65

6.3

Otras condiciones aplicadas a Modelos de Programacin Lineal ........................................ 65

6.3.1

Restricciones disyuntivas ...................................................................................................... 65

6.3.2

Regiones No-Convexas ........................................................................................................ 66

6.3.3

Limitar el nmero de variables en una solucin .................................................................... 66

6.3.4

Decisiones Secuencialmente Dependientes ......................................................................... 66

10

6.3.5

Extensiones discretas de capacidad ..................................................................................... 66

11

6.4

Tipos Especiales de Modelos de Programacin Entera ......................................................... 67

12

6.4.1

El problema de la mochila ..................................................................................................... 67

13

6.4.2

Problemas de cubrimiento ..................................................................................................... 67

14

6.4.3

Problemas de empaquetado ................................................................................................. 68

15

6.4.4

El Problema del viajante de comercio ................................................................................... 69

16

6.4.5

El problema de asignacin cuadrtica .................................................................................. 70

17

6.5

Buenas y malas formulaciones de un modelo de PE ............................................................. 71

18

6.6

Simplificacin de un modelo de Programacin Entera .......................................................... 71

19

6.6.1

Ms Restricciones y Ms Ajustadas...................................................................................... 71

20

6.6.2

Simplificar una restriccin entera con otra restriccin........................................................... 72

21

6.6.3

Restricciones discontinuas .................................................................................................... 73

22

6.7

Informacin econmica y sensibilidad en los modelos de PE .............................................. 73

23

PROGRAMACIN NO-LINEAL ................................................................................................... 74

24

7.1

ptimos locales y globales ....................................................................................................... 74

25

7.2

Programacin Separable ........................................................................................................... 75

26

7.3

Cmo convertir un modelo no-separable en un modelo separable ...................................... 77

27

PROGRAMACIN ESTOCSTICA ............................................................................................ 79

28

8.1

Introduccin ................................................................................................................................ 79

29

8.2

Formulacin de Problema Estocstico .................................................................................... 79

Pgina 6 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

PROCEDIMIENTOS DE RESOLUCIN DE MODELOS DE PROGRAMACIN MATEMTICA81

9.1

Introduccin ................................................................................................................................ 81

9.2

Resolucin de problemas de programacin matemtica mediante el uso de paquetes ya

disponibles ................................................................................................................................................ 81

9.2.1

Algoritmos y paquetes ........................................................................................................... 81

9.2.2

El uso de la Hoja de Clculo Excel ....................................................................................... 82

9.2.3

El uso de Lenguajes de Modelado ........................................................................................ 84

8
9
10

9.3

El uso de paquetes para la resolucin de modelos de Programacin Lineal ...................... 85

9.3.2
9.4

Sistemas de Apoyo en la Decisin y Sistemas Expertos ...................................................... 86

Procedimientos de Resolucin de Programacin Lineal ....................................................... 87

11

9.4.1

El algoritmo Simplex .............................................................................................................. 87

12

9.4.2

Los Mtodos del Punto Interior ............................................................................................. 88

13

9.5

Procedimientos de Resolucin en Programacin Lineal Entera ........................................... 88

14

9.5.1

Ramificacin y acotacin ....................................................................................................... 88

15

9.5.2

Enumeracin implcita ........................................................................................................... 91

16

9.5.3

Mtodos del plano cortante ................................................................................................... 92

17

9.6

Procedimientos de Resolucin en Programacin 0-1 ............................................................ 92

18

10

OPTIMIZACIN COMBINATORIA. INTRODUCCIN ................................................................ 93

19

10.1

Introduccin ............................................................................................................................ 93

20

10.2

Complejidad en la Optimizacin Combinatoria ................................................................... 95

21

10.2.1

Optimizacin Combinatoria ................................................................................................ 95

22

10.2.2

Variaciones (con y sin) Repeticin, Combinaciones, Permutaciones ............................... 95

23

10.2.3

Las clases de complejidad P y NP .................................................................................... 96

24

10.3

Algoritmos bsicos. ................................................................................................................ 97

25

10.4

Problemas de Optimizacin Combinatoria .......................................................................... 97

26

10.4.1

Segn su aplicacin. .......................................................................................................... 97

27

10.4.2

Segn su clasificacin formal ............................................................................................ 99

28

10.4.3

Segn las soluciones que se buscan ................................................................................ 99

29

10.5

Evaluacin de Procedimientos .............................................................................................. 99

Pgina 7 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

11

11.1

Introduccin .......................................................................................................................... 100

11.2

Procedimientos de Resolucin Aleatorios ......................................................................... 101

OPTIMIZACIN COMBINATORIA. LA BSQUEDA RPIDA DE SOLUCIONES ................. 100

11.2.1

Para qu sirven? ........................................................................................................... 101

11.2.2

Pueden funcionar? ........................................................................................................ 101

11.2.3

Un procedimiento de generacin aleatoria de soluciones ............................................... 103

11.3

Algoritmos Heursticos. ....................................................................................................... 103

11.3.1

Concepto de Heurstica ................................................................................................... 103

11.3.2

Procedimientos Constructivos ......................................................................................... 104

10

12

11

12.1

Concepto de Algoritmo Enumerativo ................................................................................. 106

12

12.2

Algoritmo de Enumeracin Completa ................................................................................ 106

13

12.3

Estructura de un algoritmo de exploracin completa basado en exploracin de nodos107

ALGORITMOS ENUMERATIVOS ............................................................................................. 106

14

12.3.1

Conceptos previos: Nodo ................................................................................................ 107

15

12.3.2

Estructura general de un procedimiento de exploracin completa basado en nodos..... 108

16

12.3.3

Funciones de evaluacin ................................................................................................. 108

17

12.3.4

Seleccin del Nodo a explotar ......................................................................................... 109

18

12.3.5

Generacin de nodos (explosin) .................................................................................... 109

19

12.3.6

Eliminacin (o cierre) de Nodos....................................................................................... 110

20

12.4

21

13

22

13.1

Otras tcnicas de Enumeracin basadas en la exploracin por nodos ......................... 110


PROCEDIMIENTOS DE MEJORA LOCAL ............................................................................... 111
Vecindario .............................................................................................................................. 111

23

13.1.1

Intercambio de 2 elementos ............................................................................................ 111

24

13.1.2

2-opt ................................................................................................................................. 111

25

13.1.3

Insertar ............................................................................................................................. 111

26

13.2

Algoritmos de Mejora basados en Vecindario ................................................................... 112

27

13.2.1

Nomenclatura................................................................................................................... 112

28

13.2.2

Mejora Iterativa Simple. Procedimiento ........................................................................... 112

29

13.2.3

Descenso Rpido. Procedimiento ................................................................................... 112

30

13.2.4

Mejora Iterativa Aleatorizada. Procedimiento .................................................................. 112

Pgina 8 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

14

14.1

PROCEDIMIENTOS META-HEURSTICOS .............................................................................. 113


Procedimientos de poblacin .............................................................................................. 113

14.1.1

Algoritmos Genticos ....................................................................................................... 114

14.1.2

Scatter Search y Algoritmos Memticos .......................................................................... 119

14.2

Meta-heursticas de Bsqueda de Entornos ...................................................................... 119

14.2.1

GRASP ............................................................................................................................ 119

14.2.2

ILS y VNS ........................................................................................................................ 120

14.2.3

Recocido Simulado .......................................................................................................... 121

14.2.4

Bsqueda Tab (Tabu search) ........................................................................................ 121

10

14.3

Meta-heursticas basadas en el reconocimiento de patrones ......................................... 122

11

14.3.1

Redes Neuronales ........................................................................................................... 122

12

14.3.2

Algoritmo de Colonia de Hormigas (ACO) ....................................................................... 122

13

15

14

15.1

Cunto gana la Empresa?.................................................................................................. 124

15

15.2

Problema de Corte ................................................................................................................ 124

16

15.3

Centralita Telefnica ............................................................................................................. 124

17

15.4

Varios Turnos ........................................................................................................................ 125

18

15.5

Plan de Produccin .............................................................................................................. 125

19

15.6

Localizacin........................................................................................................................... 126

20

15.7

Vinos Don Pepn ............................................................................................................... 126

21

15.8

Plan de Produccin de Zapatillas........................................................................................ 128

22

15.9

Problema de Distribucin .................................................................................................... 129

23

15.10

PKJu Electricidad .............................................................................................................. 130

24

15.11

Equilibrado de Lneas ....................................................................................................... 131

25

15.12

Jorge y Nuria...................................................................................................................... 132

26

15.13

Operacin Brisca ............................................................................................................... 133

ALGUNOS EJERCICIOS DE PROGRAMACION MATEMTICA ............................................ 124

Pgina 9 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

15.14

16

16.1

Carga de Aviones .............................................................................................................. 134


ALGUNOS EJERCICIOS DE OPTIMIZACIN COMBINATORIA ............................................ 136
Problema del FlowShop de 3 mquinas ............................................................................. 136

16.1.1

Descripcin del Problema ................................................................................................ 136

16.1.2

Definicin de la estructura de la solucin ........................................................................ 136

16.1.3

Definicin del modo de evaluar la solucin ..................................................................... 136

16.1.4

Un procedimiento de generacin aleatoria de soluciones ............................................... 136

16.1.5

Un procedimiento enumerativo de resolucin ................................................................. 137

16.1.6

Un procedimiento heurstico ............................................................................................ 137

10

16.1.7

Un procedimiento de mejora local ................................................................................... 137

11

16.1.8

Un algoritmo gentico ...................................................................................................... 138

12

16.2

Problema del viajante de comercio ..................................................................................... 138

13

16.2.1

Descripcin del Problema ................................................................................................ 138

14

16.2.2

Definicin de la estructura de la solucin ........................................................................ 139

15

16.2.3

Definicin del modo de evaluar la solucin ..................................................................... 139

16

16.2.4

Un procedimiento de generacin aleatoria de soluciones ............................................... 139

17

16.2.5

Un procedimiento enumerativo de resolucin ................................................................. 139

18

16.2.6

Un procedimiento heurstico ............................................................................................ 139

19

16.2.7

Un procedimiento de mejora local ................................................................................... 140

20

16.2.8

Un algoritmo gentico ...................................................................................................... 140

21

16.3

Problema de Secuenciacin JIT .......................................................................................... 141

22

16.3.1

Descripcin del Problema ................................................................................................ 141

23

16.3.2

Definicin de la estructura de la solucin ........................................................................ 141

24

16.3.3

Definicin del modo de evaluar la solucin ..................................................................... 141

25

16.3.4

Un procedimiento de generacin aleatoria de soluciones ............................................... 142

26

16.3.5

Un procedimiento enumerativo de resolucin ................................................................. 142

27

16.3.6

Un procedimiento heurstico ............................................................................................ 142

28

16.3.7

Un procedimiento de mejora local ................................................................................... 143

29

16.3.8

Un algoritmo gentico ...................................................................................................... 143

30

16.4

Corte de Piezas rectangulares............................................................................................. 144

31

16.5

Quinielas ................................................................................................................................ 147

32

16.6

SUDOKU ................................................................................................................................. 151

33

16.7

Secuenciando en la Lnea de Montaje ................................................................................ 152

Pgina 10 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

17

17.1

Asignacin de Fechas y Aulas para Exmenes................................................................. 157

17.2

La Ruta de Llanes ................................................................................................................. 157

17.3

Sistema Elctrico .................................................................................................................. 158

17.4

Optimizacin en la Refinera ................................................................................................ 162

17.5

Red de Metro de Valencia .................................................................................................... 165

17.6

Rutas de Distribucin ........................................................................................................... 166

17.7

Fabricacin de Zapatillas ..................................................................................................... 167

17.8

Las Farmacias de Alcudia, Benimodo y Carlet .................................................................. 169

10

17.9

Planificacin Agregada en una Planta de Motores ........................................................... 171

11

17.10

Karbonatadas JUPE (III) .................................................................................................... 174

12

17.11

Central Pendiente Dominicana ........................................................................................ 175

13

18

CASOS ....................................................................................................................................... 157

BIBLIOGRAFA .......................................................................................................................... 180

14

Pgina 11 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1 MODELOS

1.1

Qu es un Modelo?

Segn una de las definiciones ms simples de modelo es la propuesta por Colin Lee (1972)
Un modelo es una representacin de la realidad

4
5

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

10

De esta definicin se pueden extraer muchas reflexiones interesantes sobre los Modelos y su uso en

11

Investigacin de Operaciones. Quiz la ms relevante es que los modelos son representaciones (no son

12

la realidad, que, por cierto, se asume que existe).

13

En palabras de George Box (1987)

14

Bsicamente todos los modelos son errneos, aunque algunos son tiles

15

Desgraciadamente el ser humano tiende a confundir el modelo con la realidad. En un proceso de

16

metonimia el ser humano tiende a crear modelos y tergiversar la realidad hasta que esta se adapta a

17

ellos. Pero eso es un defecto de la mente humana, no del proceso de modelar.

18

Los modelos son explcitos se construyen manejan y modifican como tales. Y aunque no se debe

19

confundir el modelo con la realidad, el modelo debe tener una imagen fsica sobre la que los diferentes

20

actores puedan opinar.

21

Los modelos son externos. Mientras no tienen una representacin externa respecto del modelador

22

son simplemente una teora mental del mismo. En esa presentacin externa radica una de las grandes

23

ventajas de los modelos: ponen negro sobre blanco los pensamientos, los datos, las hiptesis y las

24

intuiciones. Este esfuerzo es ms que suficiente, en algunas ocasiones, para reconocer que no hay tal

25

modelo sino un conjunto de prejuicios. En la mayor parte de las ocasiones la mera representacin

26

explcita y externa de partes del modelo, permite a los actores del proceso tomar decisiones en beneficio

27

del sistema que alteran sustancialmente el propio sistema modelado.

28

Los modelos representan parte de la realidad. Afortunadamente la realidad es siempre ms compleja

29

que cualquier modelo por sofisticado que ste sea. El modelador discrimina qu aspectos son relevantes

30

y cules no, en funcin del objetivo que pretende alcanzar.

31

Los modelos los realizan los modeladores. Son su esfuerzo y son su resultado. En muchas ocasiones,

32

al construir modelos, el modelador ha de atender comentarios que le obligan a incorporar uno u otro

33

aspecto de la realidad. Entonces el modelador es otro. Si a un pintor le dijeran el color con el que ha de

34

pintar una puesta de sol, no sera su puesta de sol sino la del observador impertinente. En este caso la
Pgina 12 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 y que pueden entrar

en conflicto con las expectativas de lo que tiene que hacer el modelo. Pero por otro lado la visin de un

espectador externo permite plantear e incluso resolver conflictos que subyacan implcitamente en la

versin que cada actor tena de los hechos.

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

10

de modelado, cambiar de herramienta de modelado, puesto que el mejor entendimiento del problema

11

provoca cambios radicales en la percepcin de la realidad.

12

La inteligencia de la realidad a travs del modelo, permitir asesorar sobre la oportunidad de cambios

13

en la realidad modelada. Dichos cambios sern ms adecuados cuantos ms aspectos de la realidad se

14

hayan podido modelar.

15

La gestin de la realidad a travs de los modelos es una herramienta de continua, pero no percibida,

16

aplicacin de los mismos. La gestin financiera de una empresa es uno de los modos ms extendidos de

17

uso de un modelo (la contabilidad) sin una percepcin clara del modelo utilizado. Pero tambin el uso de

18

las tcnicas Material Requirement Planning (MRP) en la gestin de materiales responden a la

19

implementacin informtica de modelos en funcin de los cuales se toman decisiones. Incluso la

20

implementacin informtica es en ocasiones inadecuada porque no se conoca suficientemente bien la

21

realidad (o lo que es peor, el modelo que lo representaba).

22

Por ltimo, aunque probablemente uno de los aspectos ms relevantes: el modelo, al anticipar

23

resultados, permite establecer referencias en funcin de las cuales medir o controlar el rendimiento de un

24

sistema. Con las evidentes implicaciones que esto tiene en el control y mejora de los procesos.

25

1.2

26
27

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:

28

Aprender / Entender

29

Implementar en un ordenador

30

Tomar decisiones

31

1.2.1

32

En primer lugar hay que destacar que la experiencia demuestra que el principal beneficio en la

33

generacin de un modelo es el entendimiento que el modelador adquiere del comportamiento de la

34

realidad. Puede ocurrir, y de hecho ocurre con frecuencia, que una vez finalizado el modelo, los

Aprender / Entender

Pgina 13 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

fundamentalmente (de)mostrarlos. De tal modo que el responsable del error pueda reconocer sus

11

equivocaciones sin que nadie tenga que decrselo a la cara (lo dice el ordenador).

12

Por ltimo, dentro de este epgrafe, podemos destacar la utilidad de los modelos como base de

13

discusin. Si el modelo representa la realidad, los gestores de sta podrn probar las ventajas de sus

14

opiniones sobre el modelo, centrando de este modo la discusin hacia aspectos realizables y rentables.

15

1.2.2

Implementar en un ordenador

16

La automatizacin de procesos exige el modelado previo. Si se desea gestionar la informacin que

17

genera una empresa, o implementar un sistema de gestin de recursos humanos es necesario realizar

18

un modelo de dicha empresa que comprenda de la manera ms eficiente posible toda la informacin

19

vinculada. Cuanto ms general sea el modelo, mayor ser la cantidad de empresas a las que se las

20

podr aplicar el mismo software.

21

Del mismo modo la utilidad de los modelos de Programacin de Produccin viene justificada, en gran

22

medida, por la capacidad de stos de ser implementados y resueltos mediante sistemas informticos

23

que puedan automatizar el proceso de toma de decisin.

24

1.2.3

25
26
27
28

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.

29

Pero adems, desarrollar el modelo, ejecutarlo y analizar las soluciones permite objetivar el proceso

30

de anlisis, permite pintar una realidad que todos tienen que aceptar, o aportar datos que mejoren el

31

modelo.De este modo, al objetivar el proceso de anlisis, los participantes en el proceso de toma de

32

decisiones entran en una dinmica de objetivacin y aporte de datos, que simplifica y favorece el propio

33

proceso y su resultado.

34

Pgina 14 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1.3

El Cliente y el Problema

En general el cliente no conoce suficientemente bien su problema. Si lo conociera no nos solicitara

ayuda para resolverlo, porque en muchas ocasiones ser capaz de explicitar el problema es hacer

evidente una solucin.

En general se puede afirmar que el cliente tiene una nebulosa sobre un problema a la que damos

una cierta forma con la construccin del modelo. Es por ello que muchos problemas de organizacin

industrial no se resuelven sino que se disuelven.

Pero adems el nmero de actores implicados en un problema es en general alto y con perfiles muy

diferenciados entre s. En la mayor parte de las ocasiones el conocimiento sobre el problema real, sobre

10

las circunstancias del mismo es pobre. Escassimo es el conocimiento sobre las herramientas para

11

resolver dicho problema. Y ese desconocimiento sobre la herramienta es un factor a tener en cuenta

12

porque permite vender la solucin, pero impide la compra.

13

Sin nimo de ser exhaustivo se pueden identificar al menos 4 tipos de implicados en la generacin de

14

una solucin. Quiz el principal de los actores es el pagano: el que paga el anlisis, desarrollo y puesta

15

en marcha de la solucin. Las motivaciones del pagano son diferentes a las del usuario, la persona

16

cuya vida se ver mejorada por la solucin y resolucin del problema. Toda aproximacin tiene

17

siempre uno o varios sufridores. Los sufridores vern afectada su vida por la modificacin de su

18

entorno y es imposible para alguien que no sea ellos mismos (e incluso para ellos mismos) saber hasta

19

que punto su calidad de vida empeorar por la resolucin del problema. Por ltimo existe, generalmente,

20

una tipologa de cliente que recibe el nombre de prescriptor. En principio este personaje (bsico en el

21

funcionamiento de la economa moderna) no gana nada con una resolucin adecuada del problema,

22

pero pierde en el caso de que (como esperan los sufridores) la solucin no sea finalmente adoptada.

23

1.4

El Problema, y el Concepto de Solucin

24

A partir de la descripcin del problema, generamos informacin que podr ser capturada en forma de

25

datos, dichos datos son analizables de tal modo que generan unos datos conocidos como variables de

26

salida. Esos datos por lo general son intiles salvo que se transformen en informacin, y slo sta ltima

27

puede ayudar a resolver el problema.


Solucin
Informacin
Datos
ProcediProcedimiento
miento
Datos
Informacin

28

Solucin

Informacin

Problema

Problema

29

As pues existen tres significados para la palabra solucin en nuestro entorno. Una solucin es un

30

conjunto de variables que han adquirido un determinado valor. Una solucin es tambin el programa que
Pgina 15 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

5
6

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

7
8

resultados a obtener.

2. Modelar y Construir la Solucin. Esta fase incluye definir el tipo de tcnica a utilizar, generar

10

el modelo (implementarlo informticamente si es el caso) y por ltimo validarlo.

11

3. Utilizar la Solucin. Un modelo perfecto que no se utilice es un modelo perfectamente intil.

12

Ser capaz de implementar el modelo de tal manera que el cliente lo utilice, y mantener

13

un concreto sistema de actualizacin son los dos elementos bsicos de esta fase.

14

Cualquiera de las etapas citadas exige replantearse siempre la vuelta al principio del proceso. La

15

mejor comprensin de la realidad puede llevar (lleva) a cambiar el tipo (o tipos) de tcnica a utilizar para

16

alcanzar el objetivo propuesto.

17

1.5.1

Definir el Problema

18

1. Entender el problema: Hay que estructurar el problema para entenderlo. Cualquier

19

herramienta es buena. En ocasiones con esta etapa el problema a resolver queda

20

resuelto. Y en general tambin ocurre que el primer problema planteado no era el

21

problema real.

22

2. Acordar con el cliente los resultados a obtener. No significa necesariamente que el cliente

23

deba definir el resultado concreto del trabajo. Pero es interesante conocer si pretende

24

una respuesta del tipo s o no o una hoja Excel.

25

1.5.2

Modelar y Construir la Solucin

26

3. Definir el tipo de tcnica. La decisin del tipo de tcnica que mejor se ajusta al problema

27

puede ser revocada en cualquier instante, pero da por perdido todo el trabajo anterior.

28

Esto incluye el anlisis de datos disponibles y resultados requeridos.

29

4. Generar el modelo. Esta etapa incluye estimar los parmetros para modelar o calcular

30

resultados, adems de dar forma fsica al modelo. En este punto es de destacar la

31

aplicacin del principio Ir paso a paso. Esto implica abordar escalonadamente los

32

diferentes aspectos de la realidad que se pretenden modelar.

Pgina 16 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10
11
12
13

1.6

Generacin de Soluciones Informticas para la resolucin de Problemas


que se abordan mediante mtodos matemticos

A continuacin se ofrece una estructura til para ayudar a plantear herramientas que resuelven
problemas reales de clientes reales.

14
15
16

1) Anlisis del Problema. En general el cliente no es capaz de definir su problema. A veces,


pensar que lo puede definir pero seguramente a lo largo del proceso se redefinir el
problema en varias ocasiones.

17

2) Preproceso de Datos. Analizar los datos disponibles nos permite tener una visin detallada

18

del problema. En general, si los datos no han sido previamente utilizados sern

19

probablemente errneos. Este paso, igual que los siguientes, puede suponer analizar de

20

nuevo el problema.

21

3) Generar resultados a mano. Si somos capaces de entender el problema seguro que somos

22

capaces de generar una hoja de clculo donde representar una posible solucin, calculada a

23

mano.

24

a. Definir la Estructura de la Solucin

25

b. Disear e implementar un Representador de una Solucin

26

c.

27
28
29
30

Diseo del Mtodo de Evaluacin de Resultados (definir cmo se va a presentar que


un resultado es mejor que otro)

d. Implementar el 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.

31

5) Generar un modelo de programacin matemtica (preferiblemente lineal).

32

6) Seleccin de la Herramienta o Tecnologa de resolucin adecuada.

33

7) Definir el Procedimiento de Resolucin

Pgina 17 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

8) Diseo de Procedimientos de Resolucin para clientes no-expertos.

a. Diseo de Estructura de Datos de Entrada

b. Definir los Procedimientos de Lectura y captura de Datos

Desde bases de datos estructuradas existentes y/o nuevas

Desde ficheros de texto

Desde pantalla

c.

Generar Algoritmos para generar soluciones

Generacin aleatoria de Soluciones

Heursticas Voraces

10

Diseo de Mtodos de Enumeracin

11

Diseo de Meta-heursticas

12
13
14

1.7

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:

15

Los Modelos han de ser simples, su anlisis debe ser complejo

16

Ir paso a paso

17

Usar metforas, analogas y similitudes

18

Los datos disponibles no deben conformar el modelo.

19

Modelar es explorar.

20

1.7.1

Los Modelos han de ser simples, su anlisis debe ser complejo

21

Al modelar se puede tener la tendencia de trasladar toda la complejidad de la realidad al modelo.

22

Esto, aunque suele agradar al que mira el modelo, no es til para quien lo debe utilizar por dos

23

motivos: un modelo de este tipo es difcil de construir y tambin es difcil de utilizar.

24

Antes de comenzar el proceso de modelado se debera responder a la pregunta: Para qu quiero y

25

necesito el modelo? de un modo concreto. De este modo se puede garantizar que para hacer un

26

simulador de coches, no se pierde tiempo modelando el funcionamiento del turbo cuando lo que se

27

pretende es hacer una herramienta para comprender el funcionamiento del volante.

28

1.7.2

Ir paso a paso

29

Es habitual observar que se pretende construir un modelo considerando todos los aspectos

30

simultneamente. La ciencia avanza paso a paso, los modelos, si pretenden estar dentro de ella,

31

tambin.

Pgina 18 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4

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.
Un corolario de este principio exige Dividir para Vencer. Empezar generando pequeos modelos de
una parte reducida y determinada del proceso para aumentar su scope gradualmente.

De este principio se deriva que 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.7.3

10
11

Usar al mximo metforas, analogas y similitudes

Un buen modelador, 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.

12

El punto anterior se pretenden ilustrar con este ejemplo: Si al hacer un modelo de secuenciacin para

13

lneas de montaje en sistemas Justo-a-Tiempo se cae en la cuenta de que el problema matemtico es

14

bsicamente el problema de repartir escaos de una manera proporcional, se habr conseguido resolver

15

un problema actual (secuenciacin JIT) con herramientas desarrolladas desde el siglo XVIII. Todas las

16

propiedades analizadas para el segundo problema, pueden ser adaptadas para el primero ms nuevo.

17

Adems, el abandonar de modo explcito la realidad puede simplificar el problema o representarlo de

18

un modo ms sencillo. Cualquier plano de metro de cualquier ciudad no representa cada lnea y cada

19

estacin tal cual es sino que une mediante lneas, los puntos, que representan estaciones, que en casi

20

ningn caso pueden superponerse sobre un plano detallado y proporcional de la ciudad. La

21

representacin exacta de la realidad incrementara la dificultad en la lectura de dichos planos.

22

1.7.4

Los datos disponibles no deben conformar el modelo

23

Un fallo comn a la hora de plantear un modelo es retrasar el comienzo del modelado hasta que se

24

disponga de los datos. El planteamiento debe ser el contrario, el modelo debe requerir datos, no los

25

datos conformar el modelo.

26

El analista debe desarrollar las lneas bsicas sobre el modelo y una vez hecho esto, debiera

27

definirse la estructura de datos necesarios. Si hubiera tiempo lo lgico sera que a la luz de estos

28

resultados preliminares se redefiniera el modelo y por tanto los datos necesarios, y as sucesivamente.

29

Se pueden distinguir tres conjuntos bsicos de datos necesarios para crear y validar un modelo:

30

Datos que aportan informacin preliminar y contextual. Permitirn generar el modelo.

31

Datos que se recogen para definir el modelo. Estos datos nos permitirn

32
33

parametrizar el modelo.
-

Datos que permiten evaluar la bondad del modelo.

Pgina 19 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4

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.
Una ltima recomendacin respecto a los datos es evitar aquellos que ya estn recogidos. Sirva el
siguiente clsico ejemplo como ilustracin.

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.

El modo obvio de recoger la informacin de la demanda es acudir a los sistemas informticos que se

usan para introducir rdenes y enviar facturas. Pero no es conveniente tomar ese camino tan evidente.

10

Los sistemas slo recogen lo que se vende, no lo que el cliente quiere. Por tanto las ventas muchas

11

veces simplemente reflejan lo que hay en stock, pues se obliga al cliente a comprar lo que existe.

12

1.7.5

13
14

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.

15

Sin embargo, la experiencia muestra que en el proceso de modelar hay muchas vueltas atrs,

16

cambios de direccin o cambios de perspectiva, incluso es bastante habitual que haya cambios de

17

herramientas.

18

Modelar es explorar la realidad. Y en especial la realidad desconocida. Por ello siempre aplica el

19

siguiente corolario de la ley de Murphy: Si se consigue que el modelo funcione a la primera, es que se

20

ha errado el problema.

21

Pgina 20 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

2 TIPOS DE MODELOS. LOS MODELOS DE PROGRAMACIN


MATEMTICA

2
3

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

6
7

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

10

Los modelos normativos exigen el planteamiento de un modelo matemtico (probablemente en forma

11

de funcin objetivo y restricciones). Los modelos cuya estructura se ajusta a algunos de los patrones

12

clsicos para los que es factible la optimizacin (programacin lineal por ejemplo) forman el subconjunto

13

de modelos de optimizacin.

14

En ocasiones la estructura del modelo impide el uso de algn mtodo de optimizacin conocido, es

15

por ello que se plantean los procedimientos heursticos de resolucin que, si bien no garantizan ptimos,

16

permiten encontrar soluciones en espacios cortos de tiempo.

17
18

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.

19

En este libro se despliega uno de los tipos de modelos normativos, la Programacin Matemtica, y

20

ms concretamente la Programacin Lineal Entera. La Programacin Matemtica no es el nico modo

21

de modelar matemticamente, ni el nico modo normativo de hacerlo. Por ello en los puntos siguientes

22

se har una presentacin de algunos de estos modos.

23

2.1.2

Modelos Descriptivos

24

Los modelos descriptivos abarcan todas aquellas tcnicas de modelado que no comportan la

25

definicin de estructuras matemticas que definen una solucin como la deseable para ser

26

implementada.

27

Entre los modelos descriptivos se pueden citar los modelos de simulacin, la teora de colas e incluso

28

las tcnicas de previsin entre otras. Algunos de los modelos descriptivos llevan aparejada una carga

29

matemtica importante, mientras que otros su estructura no es de tipo matemtico. Aunque ello no les

30

quita ni un pice de formalidad. Por poner un ejemplo los modelos IDEF-0 son altamente formales y

31

estndar. Aunque tienen aspecto de grafo, no necesariamente debieran ser incluidos entre los que se

32

denominan Modelos Matemticos.

Pgina 21 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

7
8

Los modelos matemticos se pueden clasificar de mltiples maneras. A continuacin se describen


algunas que se consideran relevantes.

Los modelos pueden ser estticos o dinmicos. Un modelo esttico no tiene en cuenta el tiempo,

10

mientras que los modelos dinmicos s. Los modelos dinmicos se suelen representar con ecuaciones

11

en diferencias o ecuaciones diferenciales.

12

Los modelos pueden ser lineales o no-lineales. Si todos los operadores de un modelo son lineales el

13

modelo es lineal, si al menos uno es no-lineal el modelo es no-lineal. Aunque hay excepciones, los

14

modelos lineales son mucho ms fciles de manejar que los modelos no-lineales. En general los

15

modelos no-lineales pueden ser linealizados, pero entonces, es posible, que se estn perdiendo

16

aspectos relevantes del problema.

17

Un modelo puede ser determinista o estocstico. Un modelo determinista es aquel en que cada

18

conjunto de variables en un estado est definido por los parmetros del modelo y por los estados

19

anteriores. Un modelo determinista se comporta siempre igual para un conjunto de parmetros de

20

entrada. En un modelo estocstico las variables de estado se representan por distribuciones de

21

probabilidad, y por tanto el modelo es capaz de recoger aleatoriedad o incertidumbre.

22
23

2.3

Modelos de Programacin Matemtica

24

La caracterstica comn que comparten todos los modos de modelar matemticamente es que

25

representan la realidad mediante variables y parmetros (y algunos otros artificios como funciones o

26

conjuntos). De este modo la realidad queda cuantificada. Entre ellos estn la Programacin Dinmica o

27

la Teora de Grafos.

28

Los modelos de Programacin Matemtica se distinguen por que representan la realidad mediante

29

funciones. Estas son combinacin de variables y parmetros en forma de restricciones y/o funciones

30

objetivo. En general, las restricciones se deben respetar y las funciones objetivo establecen la diferencia

31

entre una solucin y otra mejor..

32
33

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

34

Pgina 22 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4
5

2.3.1

Por qu se llama Programacin Matemtica?

Tres nombres de tres cientficos ilustres van asociados al origen del extrao nombre de
3

Programacin Matemtica: Koopmans, Dantzig y Kantorovich .


Los tres parecen haber diseado mtodos de Planificacin y Programacin de Operaciones
(produccin y transporte) utilizando modelos matemticos.

Fue el profesor Companys de la Universidad Politcnica de Catalunya quien me puso detrs de la

pista de esta interesante historia. A l le debe uno de los autores de este libro muchas cosas
interesantes que he aprendido, y esta es slo una de ellas.
3

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 un libro que l mismo 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."

Pgina 23 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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.

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

7
8

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 (lineales o no-lineales)

10

- Caractersticas de las Variables (Reales, Discretas -Enteras-, Binarias)

11

- Certidumbre de los Parmetros (Ciertos e Inciertos)

12

- Nmero de Objetivos (Ninguno, Uno o ms de Uno)

13

- Nmero de Restricciones (Ninguna, Ms de Cero)

14

El objeto de esta descripcin no es establecer una perfecta clasificacin de todos los modelos de

15

programacin matemtica. En realidad se pretende fijar un marco que sirva de referencia en el contexto

16

de estos apuntes.

17

2.3.2.1

Programacin Lineal

18

Entre los tipos de modelos de uso ms generalizado en Programacin Matemtica se encuentra la

19

denominada Programacin Lineal. sta, en su forma ms bsica, consiste en un conjunto de variables

20

reales, que mediante combinacin lineal de parmetros ciertos, permite establecer un objetivo y

21

restricciones lineales.

22

Los fundamentos matemticos de los modelos lineales se encuentran en la teora de las

23

desigualdades lineales desarrollada en el siglo XIX como se puede leer en (Poler 2001). Aunque se

24

encuentran precedentes en distintos campos (teora de juegos, definicin de dietas, problemas de

25

transporte...), la formulacin y resolucin general de los problemas de Programacin Lineal fue realizada

26

en el proyecto SCOOP, lanzado en 1947 por el ejrcito del aire de los Estados Unidos de Norteamrica,

27

dando lugar al algoritmo denominado Simplex expuesto inicialmente por Dantzig en 1947. En menos de

28

10 aos la Programacin Lineal experimento un fuerte desarrollo con trabajos que abordaron, entre

29

otros temas, la degeneracin, la dualidad y las formas compactas.

30

Actualmente es posible encontrar en el mercado, incluyendo aplicaciones gratuitas en internet,

31

aplicaciones comerciales para la resolucin eficiente de problemas de Programacin Lineal (GUROBI,

32

CPLEX, XPRESS, LINDO, QSB...), siendo un avance significativo de los ltimos aos el desarrollo de

33

paquetes que facilitan la introduccin del modelo y la integracin de ste con los Sistemas de

34

Informacin de la empresa.

Pgina 24 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

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

10

Lineal frente a la Programacin No-Lineal es que para esta no se conocen modelos generales de

11

resolucin eficientes. Curiosamente el trabajo que se desarrolla en resolucin de Programacin No-

12

Lineal est colaborando en mejorar la eficiencia de la Programacin Lineal.

13

2.3.2.2

Programacin Lineal Entera

14

Si a alguna de las variables de un problema lineal se le impone la condicin de integridad el problema

15

pasa a ser de Programacin Lineal Entera Mixta. Si todas son variables enteras, el problema pasa a ser

16

de Programacin Lineal Entera.. La condicin de integridad puede venir impuesta, entre otros motivos,

17

por el imposible fraccionamiento de determinados recursos. Uno de los procedimientos ms efectivos

18

para la resolucin de este tipo de problemas se fundamenta en el concepto de ramificacin y cota.

19

Desgraciadamente aunque la lgica de este procedimiento es eficaz, conduciendo necesariamente al

20

ptimo, el coste computacional en algunos problemas es, an hoy en da, excesivo. Otro procedimiento

21

para la resolucin de estos problemas se basa en los mtodos de planos cortantes, aunque este mtodo

22

levant grandes expectativas por ahora no han fructificado de modo eficiente.

23

Una variante especial de los problemas de Programacin Lineal Entera lo constituyen aquellos donde

24

algunas variables son bivalentes. El uso de este tipo de variables tiene su origen en la representacin de

25

aquellas decisiones que slo admiten dos valores, pero tambin aquellos problemas que exigen

26

restricciones de tipo lgico. La pretensin de resolver estos problemas de modo eficiente ha dado lugar

27

a mtodos como el de enumeracin implcita o tcnicas ms generales de enumeracin como las

28

descritas en (Kauffmann y Henry-Labordere, 1976).

29

Hay que destacar la existencia de algunos tipos especiales de problemas con variables bivalentes,

30

que se abordan mediante mtodos especficos de resolucin, ptimos en algunos casos y ms eficientes

31

por haber sido desarrollados ex profeso. Algunos de estos problemas son los de cubrimiento,

32

asignacin, particin, mochila y rutas (Williams, 1999).

33

2.3.2.3

Programacin Estocstica

34

Si a los problemas de Programacin Matemtica (en general) se les incorpora la incertidumbre en los

35

parmetros, esta incertidumbre se puede abordar mediante la denominada Programacin Estocstica.

Pgina 25 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

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

10

problema tiene un elevado coste computacional pero se puede abordado mediante descomposiciones y

11

computacin en paralelo con ndice de paralelizacin elevado.

12

Otro modo de abordar la estocasticidad en los parmetros es obtener el ptimo para cada escenario

13

y comparar el valor que esta decisin tendra para el resto de escenarios, eligiendo como decisin

14

definitiva la ms buena, o la menos mala o cualquier otro mecanismo que se considere oportuno.

15

2.3.2.4

Programacin No-Lineal

16

Si a los modelos de Programacin Lineal se les elimina el requerimiento de que la funcin objetivo o

17

las restricciones sean lineales, se obtienen modelos de Programacin No-Lineal. La eliminacin del

18

requerimiento de linealidad se suele fundamentar en la estructura no-lineal del objeto, o parte de l, a

19

modelar. En realidad debiera ser planteado al revs, la realidad es generalmente no lineal y al linealizar

20

estamos constriendo el modelo.

21

Sin embargo muchas de las circunstancias aparentemente no-lineales pueden ser linealizadas sin

22

prdida de su significado. El motivo de la aparente obsesin por la linealidad se basa,

23

fundamentalmente, en la falta de eficacia en la obtencin de ptimos mediante el uso de los

24

procedimientos actualmente existentes para la resolucin de problemas no-lineales en general.

25

De hecho la no linealidad impide garantizar siempre la deteccin de un ptimo an tras haberlo

26

encontrado. El teorema de optimalidad de Karush Kuhn y Tucker (ms conocidas por condiciones

27

KKT) que establecen las condiciones necesarias de optimalidad en problemas no lineales. Es de

28

destacar que dichas condiciones no son suficientes sino necesarias.

29
30

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.

Para los que tenemos una cierta edad, las condiciones son de Kuhn y Tucker. Kuhn y Tucker

pretendan extender las bondades de la Programacin Lineal a principios de los 50. Y publicaron sus
condiciones. Segn el propio Kuhn explica, cuando las probaron no saban que Karush las haba
desarrollado como tesina fin de master en 1939 pero que nunca las haba publicado, y que se dieron
cuenta de ello 25 aos despus.
Pgina 26 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 algunos de los algoritmos que actualmente permiten que la programacin Lineal

sea hoy en da tan rpida en su resolucin fueron desarrollados para buscar soluciones en entornos No-

Lineales. Posteriormente 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.

10

Mediante la combinacin lineal de los mismos se generan:

11

Funcin Objetivo que debe minimizarse o maximizarse.

12

Restricciones que establece lmites al espacio de soluciones.

13

Tanto la funcin objetivo como las restricciones se expresan matemticamente mediante el uso de

14

variables o incgnitas. Se pretende definir unos valores a dichas variables de tal modo que se obtiene la

15

mejor valoracin de la funcin objetivo mientras se cumplen todas las restricciones.

16
17
18

En su formulacin bsica los modelos matemticos tienen una funcin objetivo y una o ms
restricciones. Sin embargo existen excepciones como:

19

Mltiples Objetivos

20

Objetivos No existentes

21

No existencia de restricciones

22

2.3.3.1

Mltiples objetivos

23

Un modelo de Programacin Matemtica exige una nica funcin objetivo que tiene que ser

24

maximizada o minimizada. Esto sin embargo no implica que no se puedan abordar los problemas con

25

mltiples funciones objetivo. De hecho, como se ha comentado, existen diferentes mtodos de

26

modelado y posterior resolucin que se pueden aplicar en estos tipos de problemas.

27

Numerosos autores relacionan la Programacin Multi-Objetivo con la Teora de la Decisin que se

28

aborda ms adelante.

29

2.3.3.2

Objetivos no existentes

30

En ocasiones al plantear el problema es difcil establecer un objetivo para el problema, ms all de

31

encontrar una solucin que satisfaga las restricciones. En ese caso es conveniente fijar un objetivo

32

sencillo ligado a una nica variable. Aunque la experiencia muestra una y otra vez, que una vez se

Pgina 27 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

obtiene una solucin factible el usuario acaba encontrando un modo de distinguir una solucin de otra

peor.

2.3.3.3

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


n

espacio xR .

2.4

Modelos de Optimizacin Combinatoria

10

La Optimizacin Combinatoria es una rama de la Investigacin Operativa que consiste en encontrar la

11

solucin ptima a un problema en que cada solucin est asociada a un determinado valor (el valor de la

12

solucin).

13

El trmino Combinatoria hace a la rama de la matemtica que estudia colecciones finitas de objetos que

14

satisfacen unos criterios especificados, y se ocupa, en particular, del "recuento" de los objetos de dichas

15

colecciones (combinatoria enumerativa) y del problema de determinar si cierto objeto "ptimo" existe

16

(combinatoria extremal).

17

El trmino Optimizacin hace referencia a este segundo aspecto de la bsqueda del mejor valor. En

18

muchos de esos problemas la bsqueda exhaustiva no es factible y por la estructura de los problemas

19

tanto no es posible.

20

La optimizacin combinatoria acta en el campo de los problemas de optimizacin en los que el conjunto

21

de soluciones factibles es discreto (o reducible a discreto). En algunos casos se tiende la tendencia a

22

asumir que la OC es la programacin lineal entera con variables binarias.

23

La bsqueda (o la definicin de la existencia) de un ptimo para tipos especficos de problemas ha dado

24

lugar a una cantidad considerable de algoritmos que son capaces de resolver casos especficos en

25

tiempo polinomial.

26

Los problemas de optimizacin combinatoria tratan de encontrar la mejor solucin de entre un conjunto

27

de tems discreto y por tanto finito. En principio cualquier algoritmo constructivo o de bsqueda podra

28

encontrar la solucin ptima, pero no necesariamente tiene porqu garantizarla.

29

En aquellos casos en que el problema parece resistirse a ser resuelto se suele abordar el problema de

30

diferentes maneras:

31

Algoritmos que funcionan bien generalmente para tamaos pequeos de problemas.

32

En ocasiones hay problemas que su versin aplicada no presenta las caractersticas

33

del worst-case.
Pgina 28 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

2.5

Algoritmos de aproximacin que son capaces de dar soluciones muy cerca del ptimo.

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

10

2.5.1

Teora de Grafos

11

Segn Kauffman (Kauffman, 1972), la Teora de Redes es una rama de la teora de conjuntos basada

12

en los trabajos de Kning. En aquel momento, era para el autor, la rama de la teora de conjuntos con

13

ms futuro. De hecho aporta una ayuda eficaz para modelar y resolver determinados problemas de

14

carcter combinatorio que aparecen en los ms diversos dominios(Companys, 2003).

15

La teora de redes, o de grafos, incluye un modo de representar y un soporte matemtico para

16

resolver. El modo de representar es intuitivo en su forma ms simple, por su relacin con la realidad

17

fsica, de determinados tipos de problemas. El soporte matemtico es especial para cada tipo de

18

problema, que suelen ser complejos problemas de combinatoria, permite resolverlo de modo ms simple

19

que al utilizar la Programacin Matemtica convencional. Es relativamente sencillo traducir un modelo

20

de red a un modelo de Programacin Matemtica, es un poco ms complicado hacer la traduccin a la

21

inversa. La decisin sobre qu modo de modelar se debe utilizar, debe tomarla el modelador teniendo

22

en cuenta la necesidad de transmitir el modelo (donde la teora de grafos es claramente superior), la

23

disponibilidad de herramientas y la realidad concreta a modelar.

24

En lneas generales se puede decir que los componentes bsicos de la denominada Teora de

25

Grafos son los vrtices (o nodos o puntos) y los arcos que los unen. A un conjunto determinado de

26

vrtices y arcos se le denomina red. A partir de estos conceptos se desarrollan otros como camino,

27

corte, rbol, etc.

28

Algunos de los principales modelos que de este modo se plantean son: los problemas de rbol

29

mnimo, de camino mnimo, de flujo mximo o de permutacin ptima. El poder reducir un problema real

30

a un problema clsico de grafos implica la posibilidad de conocer mtodos eficaces de resolucin, para

31

muchos de ellos (siempre dependiendo del tamao y la complejidad). Algunos de los problemas de

32

Gestin Industrial que se pueden abordar con estos mtodos son la programacin de Proyectos, la

33

Gestin de Inventarios, Diseo de Rutas, Secuenciacin y Temporizacin, etc.

Pgina 29 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3

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

8
9

El fundamento de este procedimiento se encuentra en el principio de optimalidad que Bellman


enunci del siguiente modo:

10

Una poltica es ptima si en un periodo dado, cualesquiera que sean las decisiones

11

precedentes, las decisiones que queden por tomar constituyen una poltica ptima teniendo

12

en cuenta los resultados precedentes

13
14

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

15

El mtodo de resolucin denominado Programacin Dinmica consiste en buscar las subpolticas

16

ptimas que comprendan cada vez ms fases unitivas (Denardo, 1982), hasta encontrar la, o las,

17

polticas ptimas. En ciertos problemas los clculos se vuelven mucho ms simples cuando se hace la

18

optimizacin en un cierto sentido privilegiado o a partir de cierta fase (Companys, 2002).

19

Las variables utilizadas pueden ser discretas o continuas. Adems los parmetros pueden ser

20

deterministas o estocsticos. Cuando el futuro es aleatorio (parmetros estocsticos), la optimizacin de

21

la esperanza matemtica del valor total slo puede llevarse a cabo en un sentido, remontndose desde

22

el futuro hacia el pasado(Kauffman, 1972).

23

Si al concepto de Programacin Dinmica se le une la consideracin de los mtodos de Ramificacin

24

y Corte, aparece el concepto de Programacin Dinmica Acotada, por el cual se utilizan cotas en un

25

esquema de Programacin Dinmica, limitando el nmero de vrtices que se pueden almacenar

26

(Bautista, Companys, and Corominas, 1992)

27

Por las propias caractersticas de la aproximacin a la resolucin de problemas de Programacin

28

Dinmica (analizar el problema desde el final y retroceder por el camino hacia el principio) se puede

29

compartir la afirmacin de que la Programacin Matemtica, adems de un modo de modelar es un

30

modo de vida.

31

2.5.3

Teora de Colas

32

Se admite como inevitable la existencia de colas en los sistemas en que las entradas y/o el servicio

33

se producen a intervalos irregulares. La teora de colas es un mtodo de modelado que describe el

34

comportamiento de las mismas. La primera aplicacin prctica de la que se tiene constancia, y con la

35

que se inicia la investigacin en este campo es el trabajo de Erlang a principios del siglo XX.
Pgina 30 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

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

8
9
10

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

11

estructurales de la denominada Nueva Economa (servidores web, procesadores compartidos...).

12

2.5.4

Dinmica de Sistemas

13

Se atribuye a Forrester el inicio del desarrollo de la denominada Dinmica de Sistemas. Esta tiene su

14

relacin directa con el Enfoque de Sistemas visto en el apartado dedicado a los Fundamentos

15

Organizativos de la Organizacin de Empresas.

16

Forrester desarroll un conjunto de herramientas y una aproximacin a la simulacin que se ha

17

llegado a conocer como dinmica de sistemas, mediante la cual se puede llegar a comprender como la

18

estructura de un sistema humano y sus polticas de control operan. Mostr tambin el valor que tienen

19

los modelos explcitos que combinan procesos de negocio y estructura organizacional.

20
21

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.

22

Las herramientas de la Dinmica de Sistemas pueden utilizarse de diferentes maneras. La

23

aproximacin bsica suministra una manera de observar sistemas humanos, haciendo especial hincapi

24

en la importancia de algunos aspectos estructurales como el control por retroalimentacin. La

25

consideracin de esta circunstancia aporta interesantes resultados incluso sin el uso de herramientas

26

informticas. Otro modo de utilizar la dinmica de sistemas es realizando simulaciones mediante

27

ordenador, que permitan entender mejor el funcionamiento de otro sistema. Por ltimo, la Dinmica de

28

Sistemas se puede utilizar para mejorar el diseo de un sistema, evaluando mediante simulacin su

29

comportamiento.

30

2.5.5

Simulacin

31

Asociada en ocasiones a la teora de colas y heredera de la dinmica de sistemas se encuentra otra

32

herramienta de los mtodos cuantitativos como es la simulacin. El incremento de la capacidad de

33

clculo de los ordenadores, as como sus crecientes capacidades grficas hace que esta ltima est

34

experimentando una aplicacin creciente en el modelado de flujos de materiales, e incluso de

35

informacin.
Pgina 31 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

utilizada en el terreno prctico) sino que la simulacin basada en agentes y/o la simulacin mediante

11

Dinmica de Sistemas tiene su importante utilidad al modelar otros conceptos.

12

2.5.6

Teora de Juegos

13

Algunos problemas de toma de decisin se plantean bajo la forma de un juego, donde se trata de

14

tomar una o varias decisiones, frente a uno o varios decisores cuyas reacciones a las decisiones

15

tomadas se conocen poco o nada. La teora de juegos trata de establecer como debiera comportarse

16

racionalmente un individuo ante la ignorancia del comportamiento del adversario cuando se conocen las

17

reglas de la competencia aceptadas por los participantes (Kauffmann, 1972).

18

Para Kauffman (Kauffman, 1972), la teora de juegos se desarrolla a partir de los trabajos de Borel

19

(1921) aunque el crdito se suele asociar a Von Neumann (1924). Desde luego el concepto ya haba

20

preocupado en diferentes formas a Kepler, Huyghens, Pascal, Fermat y Bernouilli entre otros.

21

Von Neumann y Morguestern en su primera obra sobre Teora de Juegos, investigaron dos

22

planteamientos distintos: el estratgico o no-cooperativo y el cooperativo. La complejidad del primer

23

problema planteado hizo que se limitaran a los juegos estrictamente competitivos o de suma nula, donde

24

los dos jugadores (slo dos) tienen intereses diametralmente opuestos. La segunda parte (el juego

25

cooperativo) an fue ms complejo y por tanto se limitaron a clasificar los modelos de formacin de

26

coaliciones (Binmore, 1994).

27

Nash (ao) afront dos de las barreras que Von Neumann y Morgenstern se haban autoimpuesto.

28

Sobre los juegos no-cooperativos estableci la idea del equilibrio que aparece cuando la eleccin

29

estratgica de cada jugador es la respuesta ptima a las elecciones estratgicas de los otros jugadores,

30

con lo que no es necesario restringirse a los juegos de suma cero. Respecto a los problemas

31

cooperativos, Nash rompi con la idea de que los problemas de negociacin son indeterminados y

32

ofreci argumentos para determinarlos (Binmore, 1994).

33

Actualmente la teora de juegos, lleva aparejado un aparato matemtico cada vez ms complicado.

34

En cualquier caso su modo de trabajo puede ser, y es, de gran utilidad en el anlisis la toma de

35

decisiones con la presencia de otros decisores.

Pgina 32 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

3 PROGRAMACIN MATEMTICA

3.1

3
4

Introduccin
Habra que poner un apartado de introduccin en cada captulo

3.2

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

10

son estrictamente necesarios, y otros se incorporarn en fases siguientes.

11

Parmetros. Representar los conjuntos de datos mediante Smbolos con subndices, permitir

12

comenzar la conceptualizacin del problema. Generalmente en esta fase aparecen nuevos

13

ndices, o incluso se establecen parmetros que luego se comprobar que son variables.

14

Objetivo. Establecer la funcin objetivo en forma de lenguaje natural (Maximizar el beneficio

15

esperado o minimizar el ratio de aprovechamiento) permite empezar a definir variables que se

16

pueden denominar de control. No es importante en una primera fase establecer el objetivo de

17

modo lineal, simplemente con representarlo ya es suficiente.

18

Variables de Control. De la etapa anterior se han definido las variables que configurarn la funcin

19

objetivo. Dichas variables deben ser explcitamente representadas. En general, aunque algunos

20

autores opinan lo contrario, se puede decir que las variables en la funcin objetivo no son las

21

decisiones que se toman, sino los efectos de dichas decisiones, es por ello que se ha preferido

22

denominarlas de control.

23

Restricciones. El modo ms habitual de generar restricciones es expresarlas verbalmente y

24

cuantificarlas posteriormente. Lo habitual es que surjan nuevos datos, parmetros ndices y

25

variables. En principio tras fijar las restricciones evidentes se observar que las variables de

26

decisin y las de control no estn conectadas. Las conexiones darn lugar a nuevas

27

restricciones.

28

Variables de Decisin. En general al plantear la funcin objetivo no se est plasmando las

29

decisiones que en realidad se quieren tomar. Dichas variables deben ser tambin reflejadas.

30

Modelo Completo. La construccin del modelo completo (funciones objetivo ms restricciones) dar

31

generalmente nuevos ndices, parmetros, variables y restricciones.

Pgina 33 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

4
5

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

generalmente una mejor compresin del problema, ser de facto un nuevo problema. .

3.3

9
10

Implementacin de un Modelo de Programacin Matemtica (Validacin)

Un modelo matemtico sobre el papel es o debiera ser consistente. Ahora bien su introduccin en un
formato que permita resolverlo adecuadamente nos informar de nuevos errores que lleva.

11

Antes de prestar demasiada atencin a la solucin obtenida tras resolver un modelo que se haya

12

construido, se debe comprobar que se ha modelado lo que se pretenda. Asumiendo que no hay errores

13

de tipo sintctico (generalmente los paquetes informticos los detectan) existen tres salidas que en

14

general se recorrern sucesivamente: que el modelo sea incompatible, que el modelo no est acotado y

15

que el modelo sea resoluble. An llegado este punto caben dos situaciones, que el modelo sea resoluble

16

pero sus soluciones no sean coherentes con el problema, y por ltimo que el modelo sea resoluble y sus

17

soluciones sean coherentes. Si se alcanza este punto, el modelo est listo para ser utilizado.

18

3.3.1

Modelo de sintaxis errnea

19

El error ms tpico es que la funcin objetivo no sea una frmula sino un conjunto de frmulas. Una

20

manera de detectarlo es comprobar que ningn ndice en las variables de la funcin objetivo se queda

21

sin su sumatorio correspondiente.

22

Otro error tpico se da en las restricciones. Todos los ndices de todas las variables utilizadas deben

23

estar en la expresin de la restriccin. Ya sea en forma de sumatorios, ya sea en forma del rango en el

24

que aplica la restriccin (el para todo ).

25
26

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

27

Pgina 34 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

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

5
6

Modelo incompatible

Un modelo no tiene solucin si existen restricciones contradictorias. Por ejemplo, las siguientes
restricciones haran el modelo irresoluble:

x1 + x2 1

7
8
9
10
11

x1 + x2 2
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.

12

Un modo lgico de buscar las restricciones que generan la incompatibilidad es ir anulndolas

13

(anularlas aqu consiste en quitarlas del modelo para que no se tengan en cuenta o simplemente

14

ponerlas como comentario). Hasta encontrar aquella (o aquellas) que al anularlas permiten que la

15

solucin exista. Hay que tener en cuenta que en general las restricciones son incompatibles a pares, por

16

lo tanto no necesariamente la restriccin anulada es la que est mal. Podra ser otra restriccin que use

17

las mismas variables. En pocas ocasiones, las incompatibilidades se producen por triangulacin de

18

restricciones (en pocas ocasiones pero ocurre).

Pgina 35 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

5
6

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. El ejemplo ms tpico es minimizar costes de

10

inventarios en un problema de planificacin de produccin y olvidarse de imponer que la variable nivele

11

de inventario es una variable positiva.

12

Los modelos no acotados tienen un dual incompatible, aunque la inversa no es siempre cierta. Por

13

eso muchas herramientas resuelven inicialmente el dual.

14

3.3.4

Modelo Resoluble

15

Cuando un modelo no es incompatible y es acotado se conoce como un modelo resoluble. Cuando

16

se obtenga la solucin ptima de un modelo resoluble lo primero que hay que hacer es comprobar que

17

sta es lgica. Si no lo fuera el modelo sera errneo. El sentido comn es el mejor aliado en este caso.

18

Para comprobar que los resultados son lgicos existen mltiples maneras, y cada modelador tiene su

19

metodologa para el anlisis de los resultados. Una que da buenos resultados es modificar de manera

20

sistemtica los costes en la funcin objetivo (o las limitaciones en las restricciones) para comprobar que

21

se puede modificar la solucin modificando los coeficientes.

22

Hay que destacar el valor de la optimizacin en la validacin del modelo. Cuando se trata de

23

maximizar (o minimizar) alguna cantidad, alguna restriccin debe ser utilizada completamente. Es

24

interesante, cuando se trata de un modelo nuevo, probar con diferentes objetivos, porque dan relevancia

25

a diferentes restricciones y, por tanto, se pueden ir comprobando todas.

26

Si el resultado es lgico deberamos compararlo con un resultado real, podra ser que el modelo

27

fuera demasiado restrictivo (aunque no llegue a ser incompatible) o demasiado laxo (aunque no llegue a

28

ser no acotado).

29
30

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.

31

De la exposicin anterior se desprende de modo natural que el proceso modelado-validacin debe ir

32

repitindose hasta converger en un modelo que represente de modo suficientemente acertado la

33

realidad. Y este proceso es muy til para entender la propia realidad modelada.

Pgina 36 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3

3.4

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

10

habitualmente a soluciones difciles de evaluar y ms an de interpretar. Incluso, aunque los modelos

11

menos compactos requieren un tiempo ms largo de resolucin, este tiempo compensa el que

12

posteriormente habra que invertir en la interpretacin de la solucin.

13
14

Es til tambin utilizar acrnimos para designar las variables y las restricciones, de tal modo que los
resultados se puedan, posteriormente, interpretar ms fcilmente.

15

Existe tambin unas normas de estilo que, no siendo obligatorias permiten entender mejor el modelo,

16

si todo el mundo las utiliza igual. En general se admite que las letras de la h a la l (minscula) se refieren

17

a ndices, que las letras x,y,z,v son variables mientras que a,b,c,d,m,n,p,q suelen utilizarse como

18

parmetros, o las letras griegas ,,,,, suelen hacer referencia a variables binarias. Aunque no

19

existe ninguna norma escrita, el uso de este estilo simplifica el trabajo que supone entender un modelo.

20

Otra forma de no confundirse es usar letras maysculas para los datos y letras en minscula para las

21

variables (aunque a veces, se hace al revs).

22

En cualquier caso es imprescindible que no existan homnimos ni sinnimos, esto es, elementos con

23

el mismo nombre y significado distinto, o elementos con distinto nombre y el mismo significado. Y por

24

otra parte, es muy importante usar una escritura estructurada simple para facilitar el entendimiento del

25

modelo.

26

3.4.2

27
28

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 ortogrficos) y de formulacin.

29

Para evitar los problemas de tecleo es til utilizar programas de generacin de matrices o lenguajes

30

de modelado. Muchos de estos programas tienen procedimientos que detectan errores adems de otras

31

funciones relacionadas.

Pgina 37 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

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

Uso de Cotas

10

Es posible alcanzar reducciones sustanciales en el tiempo de computacin teniendo en cuenta las

11

cotas globales (GUB) citadas en el captulo siguiente. Evidentemente esta reduccin ser efectiva

12

dependiendo de si el paquete lleva o no incorporadas rutinas que traten estas cotas.

13

3.4.3.2

Unidades de medida

14

Cuando se modela una situacin prctica es importante prestar atencin a las unidades en las cuales

15

se miden las cantidades. Si existe una gran disparidad en los coeficientes de un modelo de

16

Programacin Lineal se incrementa sustancialmente el tiempo de computacin.

17

Es decir, si las restricciones de capacidad se miden en toneladas, los beneficios no se deberan dar

18

en pesetas por kilo. Idealmente las unidades se deberan plantear de tal manera que los coeficientes no

19

nulos estn entre 0.1 y 10. Algunos paquetes comerciales tienen procedimientos para escalar

20

automticamente los coeficientes antes de resolver y despus desescalar tambin de modo

21

automtico.

22

3.4.3.3

Formulacin Modal

23

En problemas de Programacin Lineal grandes, se puede reducir sustancialmente el nmero de

24

variables utilizando la denominada formulacin modal. Si un conjunto de restricciones se ve afectada por

25

un reducido nmero de variables, se puede considerar como espacio de soluciones el espacio que

26

marcan estas variables y sus restricciones. Y, de este espacio, slo seran de inters algunos puntos

27

(los vrtices).

28

Pgina 38 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

[ Minimize] ci xi
i

Sujeto a :

i, j

xi b j

xi 0 i
8
9

La regin de factibilidad es un poliedro y al menos una solucin ptima es un vrtice del citado
poliedro.

10

Aunque la versin estndar del problema de Programacin lineal es de minimizacin , los problemas

11

pueden ser tambin de maximizacin. Que las variables tengan un solo subndice es porque finalmente

12

todo se puede reducir al uso de un nico subndice, pero la mayor parte de los problemas utilizan

13

variables con ms de un ndice.

14

Una empresa fabrica nicamente dos productos: P y Q.P se vende a 45 y Q a 50 . La demanda

15

semanal de cada producto es de 200 unidades de P y Q=100 unidades de Q

16

Los dos productos requieren de una misma pieza central, la materia prima de la cual vale 20 por

17

unidad. Para fabricar la pieza central hacen falta 15 minutos del recurso B y 5 minutos del recurso

18

C. Para fabricar el componente 1 del producto P hace falta materia prima por valor de 20/unidad,

19

15 minutos del recurso A y 10 minutos del recurso C. Al ensamblar la pieza central con el

20

componente 1 utilizamos otro componente 3 que se compra al precio de 5/unidad, lo ensambla el

21

recurso D en 15 minutos cada unidad.

22

El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de

23

20/unidad, pasa por el recurso A donde est 10 minutos y luego por el proceso B donde est 15

24

minutos. Finalmente es ensamblado por el recurso D en 5 minutos. El mes tiene 20 das de 8

25

horas. Los gastos totales son 3600 /semana.

Pgina 39 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

[ Maximize] PVi xi CC j y j
i

Sujeto a :

i,k

xi KAPk

Di

y j = N i , j xi

xi 0 i
2
3

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

x1 x 2 , e x1 x13. Para muchos problemas prcticos esta es una consideracin que impide el uso de la

Programacin Lineal (aunque existen 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

10

mucho ms fciles de resolver. Los modelos de Programacin Lineal son ms fciles de resolver puesto

11

que en el espacio de soluciones factibles siempre ser posible encontrar una solucin en un vrtice,

12

reduciendo de este modo el espacio de posibles soluciones ptimas a un nmero finito de las mismas.

13

Desde luego en cada ocasin hay que comprobar que es posible resolver mediante Programacin

14

Lineal, es decir, comprobar que el modelo se ajusta suficientemente a la realidad.

15

4.3

16
17
18
19

Situaciones que pueden modelarse mediante Programacin Lineal

La programacin lineal, pese a sus restricciones evidentes por las caractersticas de las variables y
las funciones, tiene una amplia variedad de aplicaciones.
Algunos de los problemas clsicos de Programacin Lineal son:

Blending (Mezcla). Este tipo de problemas considera las decisiones relativas a la mejor

20

generacin de uno o varios productos resultado de una mezcla. Quiz el problema ms

21

antiguo se refiere a la generacin de dietas, pero tambin en la industria de elaborados

22

alimenticios o en la industria petrolera tiene aplicaciones.

23

Product Mix (Catlogo de Productos). En su versin ms bsica pretende establecer la

24

proporcin de productos a fabricar dados unos recursos limitados y unos beneficios

25

esperados.

Pgina 40 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

Los parmetros

Quiz uno de los aspectos ms curiosos para el modelador novel son los parmetros de los modelos.

10

No se sabe exactamente se suele asumir que los parmetros del modelo existen, son ciertos y son

11

conocidos.

12

El modelador inexperto suele tener la conciencia de que los datos estn dados. El modelador quiere

13

creer que valores como el coste o la duracin de un cambio de partida, el ritmo de produccin o su coste

14

asociado, la capacidad de la mquina (medida en horas, en unidades?), el precio de los productos, o el

15

nivel de stock en un momento dado para un determinado producto, es conocido.

16

Esto no es as en prcticamente ninguna empresa para casi ningn datos. Comenzando por la

17

demanda que siempre es incierta por sus propias caractersticas, siguiendo por los costes que

18

dependen del modo de clculo y que en nuestro caso son siempre de oportunidad y por tanto

19

inaprensibles antes de tener la solucin al problema, pero tambin para parmetros que podran ser ms

20

objetivos como los niveles de stock o los ritmos de produccin en general ni estn ni se les espera en

21

ningn sistema de informacin que se precie.

22

Hara bien cualquier modelador en dudar, hasta el ltimo momento de la calidad de los datos de

23

partida. Lo que no hara bien es en dudar de la bondad de estimarlos y trabajar como si existieran. En

24

algunos casos la mera existencia de un sistema que los utilice permitir reducir la incertidumbre de los

25

mismos. En otros casos el sistema es poco sensible al dato concreto, y un ajuste (tuning) de la primera

26

aproximacin permitir obtener resultados ms que suficientes.

27

Por ltimo, si sigue persistiendo la duda respecto a la validez de los datos es en ese momento

28

cuando el modelado matemtico ms sentido adquiere. Pues permite, mediante la resolucin iterativa de

29

problemas, hacer un anlisis de sensibilidad que mejore (y mejora) la percepcin que se tiene del

30

problema.

31
32

Pero tambin hay mtodos de considerar explcitamente la incertidumbre en los parmetros como la
programacin estocstica o el uso de Programacin Fuzzy.

Pgina 41 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

4.5

Definicin de Objetivos (por acabar)

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

10

direcciones conflictivas. En cualquiera de estos casos la Programacin Matemtica es interesante y

11

debe ser utilizada.

12

4.5.1

Problemas Mono Objetivo

13

El caso de los Objetivos Simples es el caso ms sencillo, generalmente se pretenden maximizar

14

beneficios o minimizar costes. La principal ventaja de estos objetivos es que los diferentes factores se

15

ven reducidos a una unidad comn: la monetaria.

16

Si se pretende minimizar costes es importante fijar restricciones adecuadas, puesto que en ocasiones

17

minimizar costes supone no hacer nada. Tambin hay que distinguir de manera adecuada los costes

18

fijos y los costes variables.

19

Si se pretende maximizar beneficios hay que tener en cuenta que estos se pueden obtener a lo largo

20

del tiempo. Incorporar el concepto de tiempo en la evaluacin del beneficio se puede hacer de mltiples

21

maneras entre las que destaca el Valor Actual Neto.

22

4.5.2

23

Programacin Multi-Objetivo

La Programacin Multi-Objetivo es

Programacin Matemtica, puesto que conceptualmente

24

pertenece a ella con la caracterstica de la existencia de ms de un objetivo (lo que por otro lado es ms

25

habitual en la realidad que el caso de un solo objetivo).

26
27

La optimizacin Multi-Objetivo tiene sus races en los trabajos sobre economa de Edgeworth y
Pareto realizados a finales del siglo XIX.

28

El concepto escalar de optimalidad no es aplicable en la Programacin Multi-Objetivo, dando lugar al

29

concepto de solucin no dominada u ptimo de Pareto (recibe tambin otros nombres). Este concepto

30

permite la existencia de mltiples soluciones ptimas. Existen algunos procedimientos eficaces como el

31

simplex multiobjetivo, pero slo son tiles para problemas de reducidas dimensiones.

32

El mtodo de las ponderaciones.

33

Un modo de abordar este tipo de problemas es optimizar la suma ponderada de los valores de cada

34

objetivo. Para algunos autores esto no es posible salvo que se encuentre un factor comn como podra
Pgina 42 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

3
4

Al sumar diferentes objetivos, aunque sean ponderados, se est introduciendo un cierto grado de
arbitrariedad por lo que ser necesario comprobar que el resultado se ajusta a nuestros requerimientos.
5

Uno de los pesos que se pueden utilizar inicialmente son los precios-sombra que en cada resolucin

dan las restricciones, para un modelo en que todos los objetivos menos uno se han convertido en

restricciones.

Para que la resolucin sea eficiente las ponderaciones deben ser todas positivas o todas negativas.

El modo de ajustar los pesos (parameter tuning) puede alcanzar niveles de sofisticacin muy elevados,

10

aunque tambin se pueden ajustar manualmente.

11

Mtodo de las restricciones

12

Otro modo interesante de abordar estos problemas es el denominado mtodo de restricciones. En

13

ella los objetivos se ordenan por importancia y se van tratando de optimizar uno detrs de otro, fijando

14

en cada caso como restriccin que el valor de las funciones objetivos ms importantes ha de ser igual

15

al ptimo encontrado. Una variante relajada de la anterior es la tcnica denominada Goal Programming

16

donde para cada objetivo se establece un valor suficiente (o valor meta), se fija tambin una

17

penalizacin para el caso de que no se alcance dicho valor meta, y cada uno de los objetivos pasa al

18

conjunto de restricciones pasando a formar parte de las restricciones. De este modo, al igual que en los

19

casos anteriores el problema pasa a tener un solo objetivo, que es minimizar las penalizaciones ligadas

20

a no alcanzar las metas fijadas.

21

Por ltimo es posible abordar el problema Multi-Objetivo encontrando las superficies que forman los

22

puntos no dominados, siendo el decisor el que selecciona su opcin. Una solucin no-dominada es

23

aquella que al compararse con cualquier otra solucin factible tiene al menos uno de los objetivos mejor.

24

Una primera aproximacin consistir en resolver el problema tantas veces como objetivos tenga el

25

resultado, utilizando en cada ocasin un objetivo distinto. La comparacin de los diferentes resultados

26

puede dar una idea de qu solucin es mejor. En este caso se puede utilizar la solucin para un objetivo

27

como la solucin inicial.

28

Por ltimo en ocasiones no existe ningn objetivo real, lo nico que se pretende es encontrar una

29

solucin vlida. En otras ocasiones el objetivo a perseguir no es optimizable (por ejemplo el objetivo

30

sobrevivir). El uso de los modelos matemticos nos puede permitir encontrar soluciones factibles (que

31

cumplen las restricciones si stas existen).

El concepto de precio-sombra aparece al realizar la denominada interpretacin econmica de las soluciones y se presenta

ms adelante.

Pgina 43 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

4.5.3

Programacin Fuzzy Multiobjetivo

4.5.4

Programacin Multinivel

2
3
4
5

4.6

4.6.1

Las restricciones
Tipos bsicos de Restricciones en Direccin de Operaciones

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.

10
11
12
13

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:

14
15

Restricciones de capacidad. Se limita el consumo de capacidad productiva de un conjunto


de recursos/productos/operaciones.

Disponibilidad de Materia Prima. Se limita el consumo de un determinado conjunto de

16

productos (y en consecuencia la produccin de un conjunto de productos) segn la

17

cantidad de materia prima disponible en cada momento.

18

19
20

Limitaciones en la demanda del mercado. Se limita la produccin de un producto en


funcin de la venta estimada de ste.

Restricciones de Continuidad o Balance de Materiales o Energa. En programacin

21

multiperiodo, los productos que quedan al final de un periodo son las que hay al principio

22

del siguiente. Tambin si un producto se descompone en otras unidades la suma de las

23

cantidades descompuestas es igual a la cantidad original (o con un factor de rendimiento).

24

Son tambin restricciones de continuidad las que conectan los diferentes arcos que entran

25

o salen de un nodo (por ejemplo en problemas de distribucin de energa).

26

Estipulaciones de Calidad. Al planificar la produccin de productos, se pueden establecer

27

restricciones en funcin de las caractersticas de calidad de la mezcla y de las materias

28

primas.

29
30

Relaciones de tipo lgico. En ocasiones las restricciones tienen forma de expresin lgica,
si consumes ms de 40kw, hay que activar un segundo generador.

Pgina 44 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

Restricciones Duras y Blandas

Restricciones Conflictivas

Restricciones Redundantes

Cotas Simples y Generalizadas

10

Restricciones de Rango

11

Restricciones Duras y Blandas

12

Una restriccin del tipo:

13

xj b

14

elimina cualquier solucin para la que la suma sobre j de la variable x exceda el valor de b.

15

Esto puede ser considerado como poco realista en algunas ocasiones. Por ejemplo, si b son las

16

horas disponibles quiz, si interesara, habra que contratar algunas horas extras. En este caso la

17

restriccin se denomina blanda. Son duras aquellas restricciones que no se pueden violar de algn

18

modo.

19

Un mecanismo para modelar las restricciones blandas podra ser:

a x

20

u b

21

donde u es una variable que aparecera en la funcin objetivo con un coste cu. De este modo en caso

22

de ser necesario la restriccin sera violada aunque penalizando la funcin objetivo. A la variable u se le

23

puede incorporar un lmite de tal manera que no exceda un cierto valor.

24
25

Si la restriccin blanda es una desigualdad del tipo

mayor o igual se puede aplicar el mismo

esquema:

26

xj b

27
28

Si la restriccin es una igualdad la restriccin debe sustituirse por:

xj +u v = b

Pgina 45 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

7
8
9

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:

10

ij

x j = bi

11

Y se deseara admitir que no todas se cumplen, se podra modelar del siguiente modo:

12
13
14

ij

x j + ui vi = bi

El objetivo sera asegurar que cada restriccin se cumple lo mximo posible. Este objetivo se puede
modelar, entre otros modos de estas dos maneras

15

a) Minimizar la suma de todas las desviaciones

[ Minimize ] ( ui + vi )

16

17

b) Minimizar la mxima desviacin

[ Minimize]

Sujeto a :
z ui 0

19
20

z vi 0

18

Sea cual sea el mtodo elegido podra a su vez ser ponderado si alguna de las restricciones parece
ms importante.

21

Restricciones redundantes

22

En el caso en que se tenga una restriccin del tipo:

23

xj b

24

y la evaluacin

x j sea en cualquier caso inferior a b, se puede decir que la restriccin es

25

redundante, o que su precio sombra es nulo, es decir no tiene influencia sobre la funcin objetivo.

Pgina 46 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

Cotas Simples y Generalizadas

Las cotas simples se pueden manejar de manera mucho ms eficiente definindolas como tales. El

10

motivo, que ya se ha indicado anteriormente es la existencia de una versin revisada del Simplex que

11

maneja de manera especial estas cotas y reduciendo el tiempo total de computacin.

12

Las cotas simples tienen las siguientes formulaciones:

13
14
15

x U

xL

Las otras cotas que algunos paquetes de resolucin consideran son las denominadas Cotas
Generalizadas (GUB):

16

17

Restricciones de Rango

18

En ocasiones las restricciones adquieren este formato:

b2 ( a j x j ) b1

19

20

Estas restricciones (en realidad son dos) pueden expresarse como tales, pero existe un modo ms

21

compacto y que est disponible en muchos paquetes comerciales. Consiste en definir nicamente la

22

restriccin:

23

con un rango de (b1-b2)

x j b1

24

25

Otro modo de expresarlas consiste en transformar las restricciones en otras del siguiente tipo:

(a

x j ) + u = b1

0 u b1 b2
26

siendo estas restricciones ms fciles de manejar por la mayor parte de paquetes y, por tanto, el tiempo

27

de computacin para obtener la solucin se ver reducido.

Pgina 47 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

4.7

4.7.1

3
4

Anlisis de resultados
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.


Pr 1

Pr 3

Pr 4

Pr 5

Torno

12

20

25

15

Fresa

10

16

Beneficio unitario
9

Pr 2

550

600

350

400

200

La semana tiene 6 das de 16 horas.

10

Al acabar el proceso de fabricacin es necesario proceder al montaje final de cada producto que

11

exige 20 horas de operario. La empresa dispone de 8 operarios trabajando en cada uno de los dos

12

turnos.

13

El modelo del programa es:

14

[Maximize] 550 x1 +600 x2 + 350x3 + 400x4 + 200x5

15

Sujeto a:
Tornos
Fresas

10x1 +8x2

+16x3

Montaje
16

12x1 +20x2
20x1 +20x2

+20x3

+15x5

288
192

+20x4

+20x5

384

La solucin del problema es

17
18

+25x4

x1=12;x2=7,2;x3=x4=x5=0
Con valor de la funcin objetivo de 10920 euros

19

Ejemplo 1

20

De la observacin de los resultados se conoce que tanto la restriccin de tornos como la de Montaje

21

estn al lmite, mientras que fresas tiene an capacidad.

22

Pero adems existe informacin de inters que puede salir del modelo.

23

a)

Cunto debieran incrementar su precio los productos 3,4,5 para que fueran rentable

24

fabricarlos (coste reducido)?

Pgina 48 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

b)

Cunto vale una hora extra de cada recurso (precio-sombra)?

Estos resultados pueden obtenerse del anlisis de los resultados que ofrece el simplex si este

mtodo ha sido utilizado como el de resolucin. Tambin pueden obtenerse de la resolucin del dual, y

en cualquier caso cualquier herramienta de resolucin actual ofrece 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

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

10

10000 horas de montaje sera absurdo). Estos lmites (rangos) se establecen en la siguiente seccin.

11

Los precios sombra de varias restricciones no pueden utilizarse simultneamente pues las

12

variaciones en los trminos independientes de varias restricciones simultneamente, no suponen la

13

suma de los precios sombra en la funcin objetivo. Los precios sombra son un claro ejemplo de costes

14

de oportunidad, concretamente del coste de la oportunidad perdida.

15

Costes reducidos

16

Los costes reducidos asociado una variable son el valor que habra que subir el precio (o la

17

contribucin marginal) para cada valor de sus ndices correspondientes para que la variable que lo

18

representa no fuera nula. Tambin este incremento en precio tiene un lmite por encima del cual no se

19

van a establecer ms variaciones. Otra manera de observar los costes reducidos es como el dinero que

20

se dejara de ganar si se obliga al sistema a producir al menos un producto del tipo en cuestin.

21
22

4.7.2

Anlisis de Sensibilidad

23

Como se ha comentado anteriormente los parmetros de los modelos no tienen porqu ser eactos y

24

ciertos. Es por ello que al btener una solucin interesa saber cmo se hubiera comportado la solucin en

25

caso de que los datos hubieran sido ligeramente diferentes. Ese anlisis (fruto fundamental de cualquier

26

resolucin) se puede realizar resolviendo una y otra vez el mismo modelo, pero tambin se puede

27

obtener analizando ligeramente algunos datos ms que suelen obtenerse al resolver otros modelos

28

Al resolver un modelo lo importante generalmente no es conocer los valores solucin de cada una de

29

las variables, o el valor de la funcin objetivo sino la poltica a la que conduce el modelo. As en el

30

modelo de ejemplo (ejemplo 1) lo que importa es que se fabrican productos de tipo 1 y tipo 2 de tal

31

manera que utilizan a plena capacidad los recursos torno y mano de obra. Si un modelo es estable

32

ligeras variaciones de los coeficientes no variarn esta poltica, sino nicamente las cantidades

33

concretas.

34

Rangos en las restricciones

Pgina 49 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

9
10

Cuando los rangos son amplios se puede asumir que un modelo es estable.
Rangos en el objetivo

11

A menudo es til conocer los efectos de cambios en los coeficientes de la funcin objetivo en la

12

solucin ptima (para ello se han definido los costes reducidos). Anlogamente a las restricciones se

13

pueden definir rangos de variacin donde no existirn variaciones en la estructura de la solucin.

14

La misma aplicacin en anlisis de sensibilidad que los rangos en las restricciones pueden tener los

15

rangos en los objetivos. Adems de que aqu no solo variar la poltica de la solucin sino tampoco la

16

cantidad exacta.

17

4.7.3

El Modelo Dual

18

El modelo dual se genera al convertir los objetivos en restricciones y las restricciones en objetivos.

19

Bsicamente se trata de crear tantas variables como restricciones se encuentran, y combinarlas

20

linealmente con el trmino independiente de cada restriccin para generar la funcin objetivo. Al mismo

21

tiempo los coeficientes de la funcin objetivo pasan a ser los trminos independientes de las

22

restricciones, cuya matriz tecnolgica es la transpuesta de la original.

23

De este modo el problema del ejemplo XXXX queda de la forma siguiente:

24

[Minimize] 288y1+192y2+384y3

25

Sujeto a:
12y1 +10y2

550

20y1 +8y2

+20y3

600

16y2

+20y3

350

25y1

+20y3

400

15y1
26

+20y3

+1y3

200

Al resolver el modelo dual se obtiene la siguiente solucin para las variables:

27

y1=6,25

28

y2=0

y3=23,75

Ejemplo 2

Pgina 50 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

4
5

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

10
11

De algn modo este tipo de situacin puede ser modelado relajando algunas restricciones, es decir,
suponer que se va a poder violar la restriccin:

12

xj b

13
14

Para ello resulta de inters que se pueda establecer como:

xj u = b

15

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

16
17

Pgina 51 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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. Este uso de un recurso es la suma de los consumos parciales del conjunto de

actividades que se ejecutan en l.

6
7
8
9
10
11

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.

12
13
14
15

As por ejemplo los beneficios asociados a la venta de un producto pueden depender de la cantidad
vendida.

16

Un modo bastante acertado de representar esta relacin entre el precio de venta y la cantidad pedida

17

es la denominada elasticidad de precios (la inelasticidad supone que un incremento en el precio supone

18

incremento en los beneficios). El grado de elasticidad de un producto es:

19
20

Ex =

porcentaje de cambio en la cantidad x demandada


porcentaje de cambio en el precio

De este modo, y asumiendo Ex constante en un rango:

21

p( x) =

Ex

22

donde k es el precio sobre el cual la demanda es unitaria. Por tanto los beneficios esperados para una

23

venta de x son:

24

p( x) x = k x

25

(1 1

Ex

Ejemplo 3

Pgina 52 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

El ejemplo 3 es un ejemplo tpico 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

10

objeto de este captulo.

11

5.1

Objetivos no-lineales fcilmente linealizables

12

En los siguientes apartados se relacionan algunos de los objetivos que ms comnmente se

13

encuentran en la construccin de modelos pero que no son lineales en su definicin. Dichos objetivos

14

son:

15

Minimizar un valor absoluto

16

Minimizar el mximo

17

Minimizar un ratio

18

5.1.1

Objetivo Minimizar un valor absoluto

19

Esta situacin se da cuando se pretende minimizar una cierta discrepancia entre dos valores.

20

[ Minimize ]

21
22

x y

La funcin absoluto no es una funcin lineal. Para convertirla en lineal es necesario establecer una
tercera variable que:

23

[ Minimize]

24

Sujeto a:

z x y
z yx

25
26
27
28

5.1.2

Objetivo Minimizar el Mximo o Maximizar el Mnimo

En ocasiones el objetivo que se persigue se representa de la siguiente manera:

Pgina 53 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

[ Minimize ] Max a j xij


i

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:

[ Minimize] z
Sujeto a :

xij z 0 i

Las nuevas restricciones garantizan que z ser mayor o igual que cualquiera de los valores

xij

Evidentemente el objetivo [ Minimize ] Max


i

9
10

a
j

xij se puede representar tambin de un modo

similar.
Sin embargo los objetivos maximizar el mximo y minimizar el mnimo no se pueden representar de

11

modo lineal, sino segn Programacin Entera (y se presentan en un apartado posterior).

12

5.1.3

13
14

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.

a
[ Maximize]
b

xj

xj

15

16
17

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:

18

19

wj = xj t
Donde

t=

1
bj x j
j

20

Con esta transformacin el objetivo pasa a ser lineal, con la siguiente expresin:

[ Maximize] a j w j

21

Pgina 54 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Para garantizar la transformacin hay que incorporar la siguiente restriccin.

wj = 1

3
4

Y adems hay que convertir las restricciones originales que utilizan las variables x que han sido
transformadas

xj

en nuevas restricciones que usan la variable wj

wj e t

Hay que destacar que esta transformacin es vlida si

x j es siempre del mismo signo y no

nula.

10

5.1.4

11

Objetivos Maximizar el Mximo (o Minimizar el Mnimo)


Si el objetivo fuera del tipo

[ Maximize] Max aij x j


i

12

13

Sujeto a

14

restricciones lineales convencionales

Este tipo de situacin se puede modelar del siguiente modo

[ Maximize]

Sujeto a :

15

( a1 j x j z = 0) ( a2 j x j z = 0) ...
j

16
17
18
19

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.

20

Estas indican la decisin a tomar. Suelen ser variables de tipo binario {0,1} (por ejemplo: = 1 abrir

21

centro y = 0 no abrir). Aunque nada impide que adopten ms valores ( = 0 no abrir, = 1 abrir en

22

Valencia, = 2 abrir en Alicante).

Pgina 55 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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 C1 adems de un

coste variable C2 que depende de la cantidad, y que el coste fijo no se paga si la cantidad fabricada es

0.

C + C2 x
CT = 1
0

8
9

Sera interesante conocer, mediante una variable si x es mayor que 0 o es nulo (=1 o =0
respectivamente). De este modo

10
11

x > 0

x = 0

C T = C1 + C 2 x
Esto se podra lograr estableciendo la restriccin

12

x M 0

13

donde M es una cota superior conocida de x.

14

5.2.2

Relacin Lgica

=1 aj xj b
j

15
16

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

17

xj b

18
19

Supngase que se desea que = 1 represente que la restriccin se cumple, esto se puede expresar
como:

=1 aj xj b

20

21

Se puede mostrar que el modo de representar sta condicin mediante una desigualdad lineal es:

22

x j + M M + b

23

Donde M es tal que

x j b M en cualquier circunstancia.

24

5.2.3

Relacin Lgica

a x
j

< b =1

25

Podra interesar representar la siguiente condicin:

Pgina 56 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

xj < b = 1

Esta condicin se representa del siguiente modo:

x j + m b

Donde m es una cota inferior de

xj b .

5
6

5.2.4

Relacin Lgica

a x
j

b =1

Podra interesar representar la siguiente condicin

xj b = 1

Esta condicin se representa del siguiente modo:

10

x j (m ) b +

Donde m es una cota inferior de

11

x j b y es la tolerancia a partir de la cual consideramos que

12

xj > b

13

5.2.5

Relacin Lgica

=1 aj xj b :
j

14

Sea ahora la restriccin:

15

xj b

16
17

Supngase que se desea que =1 represente que la restriccin se cumple, esto se puede expresar
como:

=1 aj xj b

18

19

Se puede mostrar que el modo de representar sta condicin mediante una desigualdad lineal es:

20

x j + m m + b

21

Donde m es una cota inferior de

xj b

Pgina 57 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

5.2.6

Relacin Lgica

xj > b = 1

Podra interesar representar la siguiente condicin

xj > b = 1

Esta condicin se representa del siguiente modo:

x j M b

Donde M es de nuevo una cota superior de

xj b

7
8

5.2.7

Relacin Lgica

xj b = 1

Asimismo, podra interesar representar la siguiente condicin

10

xj b = 1

11

Esta condicin se representa del siguiente modo:

12

x j (M + ) b

13

Donde M es de nuevo una cota superior de

x j b y es la tolerancia a partir de la cual se

14

considera que

xj < b

15
16
17

5.3

Ms Relaciones Lgicas y su representacin

Para poder abordar este apartado es necesario establecer una cierta notacin del Algebra Booleana
bsica:

18

significa O (O INCLUSIVO: A, B, o ambos)

19

significa Y

20

significa NO

21

significa IMPLICA

22

significa SI Y SOLO SI

23

Estos elementos se denominan operadores y unen proposiciones como P,Q,R... x>0, =1, etc.

Pgina 58 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

El par de operadores { , } sirve para representar cualquier combinacin posible (lo que es

especialmente interesante). Asumiremos que los smbolos por orden de importancia son , , y

, lo cual evita el uso de excesivos parntesis.

As por ejemplo:

(PQ)R se puede escribir como PQR

P(QR) se puede escribir como PQR

P es lo mismo que P

PQ es lo mismo que PQ

PQR es lo mismo que (PQ)(PR)

10

PQR es lo mismo que (PQ)(PR)

11

PQR es lo mismo que (PR)(QR)

12

PQR es lo mismo que (PR)(QR)

13

(PQ) es lo mismo que P Q

14

(PQ) es lo mismo que P Q

15
16
17

Mediante estas reglas bsicas es posible construir casi cualquier expresin y reducirla a otra que
utilice distintos operadores.
As por ejemplo si Xi es la proposicin i=1, se puede decir que:
X1 X 2 es equivalente a 1 + 2 1
X1 X 2 es equivalente a 1 = 1, 2 = 1

18

X1 es equivalente a 1-1 = 1 1 = 0
X1 X 2 es equivalente a 1 2 0
X1 X 2 es equivalente a 1 2 = 0

19

Suponga que se quiere garantizar que si x=1 entonces y=0, siendo ambas variables binarias

20

x+y1

21

Ejemplo 4

22

Suponga que se quiere garantizar que si xb y x1 entonces y=z+1. Siendo x, y, z variables

23

enteras.

24

La expresin buscada es:

( x b ) ( x 1) ( y = y + 1)
( x b ) ( x 1) ( = 1) ( y = y + 1)

25
26

Usando:

Pgina 59 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

( x b ) ( = 1)
( x 1) ( = 1)
( = 1) ( = 1) (
( = 1) ( y z + 1)
( = 1) ( y z + 1)

1
2

Se puede afirmar que la expresin es equivalente a:

+ 1
x + M b + 1
x M 0
y z m m +1
y z + M M + 1

= 1)

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 o E.

Esta condicin se puede representar como

(X A X B ) (XC X D X E )

10

Sea i=1 se fabrica el producto i

11

Sea una variable auxiliar tal que

12
13

A +B 1 =1
Esta expresin se puede indicar como

A + B + 2 0

14
15

Adems

=1 C +D +E 1

16
17

Lo que se puede expresar como

C D E 0

18
19

As pues el ejemplo se puede representar como el par de restricciones

Pgina 60 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

A + B 2 0

C D E 0

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

1 2 = 0 es equivalente a 1 + 2 1
1 2 = 1 es equivalente a 1 + 2 = 2

De modo ms general si el trmino 1 2 ha de aparecer siempre podr ser sustituido por una

variable

expresar mediante

3 = 1 2

que tiene la siguiente condicin

3 = 1 (1 = 1 2 = 1) lo cual se puede

1 + 3 0
2 +3 0
9

1 + 2 3 1

10

Es incluso posible linealizar trminos en los que se multiplica el valor de una variable 0-1 con una

11

variable real

( x ) . Sea y = ( x ) , tenemos

= 0 y = 0

=1 y = x

12
13

lo que es equivalente a

y M 0
-x + y

x y + M M

14
15

5.4

Conjuntos especiales de variables ordenadas

16

Existen dos tipos de restricciones cuya presencia en problemas reales es habitual y que, adems,

17

estn implementadas en mltiples paquetes porque facilitan la resolucin. Estas son conjuntos de

18

variables en que slo una de entre todas puede adoptar un valor no nulo. Estas variables se denominan

19

SOS1.

20
21

Ejemplo 7
El modelado de una funcin como

Pgina 61 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

x [0,4]
2 x

y = x + 4 x [4,6]
3x 8 x [6,10]

sera del tipo:

x = 4 2 + 63 + 104
y = 8 2 + 103 + 22 4

1 + 2 + 3 + 4 = 1
4

siendo ( 1 , 2 , 3 , 4 )un conjunto SOS1

Otro ejemplo de uso de estas variables es la denominada formulacin modal, citada en un apartado

anterior.

Sea el siguiente conjunto de restricciones:

x A + xB 7
8

3 x A + xB 15
xB 5

La representacin grfica del espacio de soluciones de este modelo es:


(0,5)

2
(2,5)
(4,3)

xB

0
(0,0)

10
11
12

Esta situacin se puede modelar representando exclusivamente los vrtices. Usando por tanto ms
variables aunque menos restricciones (concretamente una), tenemos:

0 + 1 + 2 + 3 + 4 = 1

13
14

Y all donde se encuentra xA y xB los cambiaremos por:

xA = 22 + 43 + 54

15
16
17

(5,0) 4

xA

xB = 51 + 52 + 33
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.

18

Pgina 62 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

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.

3
4
5

Ejemplo 8
Supngase que la regin de factibilidad de una variable es la siguiente OABCDEFG regin noconvexa

D
A

B
C
E

6
7

Esta regin se puede representar de la siguiente manera, utilizando las variables

1 , 2 y 3

1 = 1 ( x 2 3) ( x1 + x 2 4)
2 = 1 ( x1 + x 2 0) (3 x1 x 2 8)
3 = 1 ( x 2 1) ( x1 5)

lo que equivale a imponer las siguientes restricciones:

x2 + 1 4
x1 + x 2 + 5 1 9
x1 + x 2 + 4 2 4

10

3x1 x 2 + 7 2 15
x 2 + 3 3 4
x1 5

1 + 2 + 3 1
11

Existe una formulacin alternativa para una regin no-convexa y conectada. Esta sera la siguiente

x1 B 2 C 4 D 3 E 5 F 5 G = 0
12

x 2 3 A 3 b 2 C 4 D E F = 0

A + B + C + D + E + F 1
13

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

14
15

El uso de estos dos tipos de variables SOS1 y SOS2 es considerado explcitamente por algunos

16

motores de resolucin y facilita enormemente el proceso de ramificacin y corte, y por tanto reduce el

17

coste computacional.

18
19
Pgina 63 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

6 MODELOS DE PROGRAMACIN ENTERA

6.1

3
4

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

10

la resolucin de estos modelos. Los tiempos de computacin para resolver un problema de

11

Programacin Entera son mucho ms largos que para un problema de Programacin Lineal de similares

12

caractersticas.

13

Existe un peligro evidente de invertir gran cantidad de recursos en modelar, slo para descubrir al

14

final que el problema no era resoluble en un tiempo razonable, por ello en los ltimos apartados del

15

presente captulo se abordar el problema de reducir el tamao de los modelos.

16

6.2

17
18

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

19

Este es el caso ms obvio: si fabricamos aviones o coches no es posible fabricar 2.33 unidades. Por

20

tanto la solucin debe ser entera. En realidad en estos casos es especialmente relevante la PE slo si

21

los valores resultado son de un dgito. En otros casos basta resolver como si fuera Programacin Lineal

22

y posteriormente redondear.

23

6.2.2

24

Problemas con condiciones lgicas

Suele ocurrir que en algunas de las restricciones que se deseen imponer son de tipo lgico.

25

si se abre fbrica en Valencia, no se debe abrir en Madrid

26

Este tipo de condiciones lgicas pueden ser modeladas mediante Programacin Entera, simplemente

27

introduciendo nuevas variables como se ver en un apartado posterior.

28

6.2.3

Problemas de combinatoria

29

Muchos de los problemas prcticos de Investigacin Operativa tienen como caracterstica bsica la

30

existencia de un extremadamente largo nmero de soluciones posibles. Dichas soluciones aparecen a

31

partir de diferentes mtodos de ordenar actividades y/o asignar recursos.

Pgina 64 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10

La mayor parte de los modelos de Programacin Entera Mixta (PEM) aparecen desde

11

Programacin Lineal en la que hay que aplicar unas restricciones extraordinarias. En este apartado se

12

observan las ms comunes de estas restricciones.

13

6.3.1

14
15

Restricciones disyuntivas
Supongamos que en un problema de Programacin Lineal pretendemos que no todas las

restricciones acten simultneamente

16
17

R1 R2 R3 ... R N
Introduciremos un conjunto de variables

18
19

i (i=1,...,N) donde i = 1 si se ha de cumplir Ri.


i = 1 Ri

Y el conjunto

i debe cumplir

20

1 + 2 + ... + N 1

21

Ejemplo 9

22

Sea una restriccin R1 R2 R3

23

Si Ri es del tipo

ij

x j bi , entonces el caso se representa como:

1j

x j + M 1 M + b1

24

2j

x j + M 2 M + b2

3j

x j + M 3 M + b3

1 + 2 + 3 1
Pgina 65 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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

xi 0 i = 1

8
9

i tales que:

lo que equivale a introducir la restriccin

10

xi M i 0

En este caso se introducir la siguiente condicin

11

12

que reducir a k el nmero de variables no-nulas

13

6.3.4

14

Decisiones Secuencialmente Dependientes


A menudo ocurre que se pretende que una decisin se prolongue en el tiempo. Por ejemplo si

15

representa si una instalacin est abierta o cerrada, y se pretende que una vez cerrada ya no se vuelva

16

a abrir

17

i = 0 ( i +1 = 0) ( i + 2 = 0) ... ( n = 0)

18

se puede representar como

2 1 + 2
2 2 + 3

19

20

0
0
....
- 2 n1 + n 0

6.3.5

Extensiones discretas de capacidad

21

A menudo no es realista suponer que determinadas restricciones no pueden ser violadas. As por

22

ejemplo una mquina podra aumentar su nmero de horas disponibles sin ms que duplicar (o triplicar)

23

el nmero de turnos que trabaja. Con evidentemente un coste asociado.

24

Supongamos que la restriccin citada se puede expresar como

Pgina 66 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

a x

bj

Donde bj es variable y tiene un coste asociado de cj (independiente para cada bj) con

2
3

0 < c o < c1 < ... < c n

Esta situacin se puede modelar del siguiente modo en la restriccin

a x b

o 0

b11 ... bn n 0

y en la funcin objetivo se aade

co 0 + c1 1 + ... + c n n

el conjunto de variables ( 0 , 1 ,..., n ) es de tipo SOS1 y fijndole una cota de 1 no es siquiera

necesario establecer condiciones de integralidad.

10

6.4

Tipos Especiales de Modelos de Programacin Entera

11

En estos apartados se presentan algunos problemas clsicos de Programacin Entera. La

12

importancia de estos problemas radica en el hecho de que los problemas complejos se suelen poder

13

reducir a combinaciones de stos.

14

6.4.1

15

El problema de la mochila
Un problema de PE con una nica restriccin se denomina Problema de Mochila y toma la forma

[ Maximize ] ci i
i

16

Sujeto a :

i b

17

El problema de la mochila se da pocas veces de modo independiente (seleccin de proyectos o

18

decisin de inversin). El problema de la mochila es, comparativamente, fcil de resolver. El mejor modo

19

de resolverlo es programacin dinmica, y no ramificacin y corte que explora de manera demasiado

20

amplia.

21

6.4.2

22
23
24

Problemas de cubrimiento
Estos problemas derivan de un tipo de problema abstracto que puede ser enunciado del siguiente

modo:
Ejemplo 10

Pgina 67 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

4
5

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:

1 si el i - simo elemento de T es seleccionado


0 en caso contrario

i =

ci = el coste de usar el i - simo elemento de T


8

El modelo resulta

[ Minimize]

c
i

Sujeto a :

1 + 2
1
2 +
2 +

10

1
1

5 1
4 + 5 1
3 +
5 1
3 + 4
1

Este problema de cubrimiento tiene 3 propiedades bsicas.

11

Propiedad 1: El problema es de minimizacin y las restricciones son 1

12

Propiedad 2: Todos los coeficientes RHS son 1

13

Propiedad 3: Todos los dems coeficientes de la matriz son 0 o 1

14

Si se relaja la propiedad 2 (se obliga a que algunos elementos de S sean cubiertos en un mayor

15

nmero de ocasiones) se tiene un tipo de problema de cubrimiento ponderado. Y si adems se permite

16

que los dems coeficientes de la matriz puedan valer 0 y 1 (propiedad 3) tenemos lo que se denomina

17

un problema de cubrimiento generalizado.

18

6.4.3

19

Problemas de empaquetado
Otro tipo clsico de problemas son los de empaquetado, que se pueden enunciar as:

20

Ejemplo 11

21

Dado un conjunto S de objetos que podemos enumerar S=(1,2,...,m) y dada una clase T de

22

subconjuntos de S, teniendo cada subconjunto un valor asociado, se trata de relacionar miembros de T

23

que maximicen el valor pero que no se superpongan.

Pgina 68 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

Con el conjunto S y la clase T del ejemplo anterior el problema queda (incorporando un valor vi a
cada miembro de T).

[ Maximize]

v
i

Sujeto a :

1 + 2
1
2 +
2 +

1
1

5 1
4 + 5 1
3 +
5 1
3 + 4
1

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

ste problema es un problema muy habitual y de simple formulacin aunque de resolucin muy

complicada en circunstancias reales.

El Problema del viajante de comercio

10

El problema consiste en establecer un circuito que recorra todos los destinos pasando una solo vez

11

por cada uno de ellos. Existen muchas situaciones reales asociadas a este problema de rutas, con

12

diferentes variantes, e incluso se da en otras situaciones como por ejemplo en la reduccin de costes de

13

cambio de partida.

14

Su formulacin evidente es la siguiente

[ Minimize]

c
i

ij

ij

Sujeto a :
15

ij

= 1 j

ij

= 1 i

16

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


2

4
6

17
18
19
20

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

u i u j + n ij n 1

Pgina 69 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

Esto incorpora n(n-1) restricciones al problema. La variable ui representa el orden en el que el


punto i ser visitado, siendo u1=1.

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

12 + 23 + 31 2

7
8

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

10

problema mediante PEM, cuando las dimensiones no son pequeas por ello lo habitual es plantear

11

mecanismos de resolucin especiales.

12

6.4.5

El problema de asignacin cuadrtica

13

Esta es una generalizacin del problema de asignacin descrita en un captulo anterior. Aunque el

14

problema de asignacin es un problema de Programacin Lineal fcil de resolver, el problema de

15

asignacin cuadrtica es un problema de PE y generalmente muy difcil de resolver.

16

El problema consiste en:

17

Dado un conjunto S con n elementos y un conjunto T con el mismo nmero de elementos, el

18
19

problema consiste en asignar exactamente un elemento de S a T y viceversa


Para ello se define

1 si i S se asigna a j T
ij =
0 en caso contrario

20
21

Las restricciones son las siguientes:


n

ij

=1

i = 1,2,...,n

ij

=1

j = 1,2,...,n

j =1

22

i =1

23

La diferencia con el problema de asignacin normal radica en la funcin objetivo. En ella las

24

variables se multiplican, para valorar la asignacin combinada. Es decir, se asigna un coste

25

mismo tiempo que iS se asigna a jT se asigna a kS a lT.


n

26

ijkl

ij kl

i , j ,l
k >i

Pgina 70 de 181

JPGS2011

cijkl si al

Modelos y Mtodos de Investigacin de Operaciones

Este problema se puede abordar como un problema de PE clsico con n variables binarias.

Tambin existen procedimientos especficos de resolucin.

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.

7
8

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

10

construido. De hecho en ocasiones es interesante introducir nuevas variables siempre que faciliten el

11

proceso de resolucin.

12

El nmero de restricciones afecta, generalmente, en un sentido contrario que a los modelos de

13

Programacin Lineal, es decir, un mayor nmero de restricciones facilita el proceso de resolucin. El

14

motivo es que aumenta la posibilidad de que el ptimo del modelo de Programacin Lineal asociado sea

15

a su vez entero.

16

El uso de los conjuntos ordenados de variables, si el paquete puede trabajar con ellos, facilita la

17

resolucin.

18

6.6

Simplificacin de un modelo de Programacin Entera

19

En este apartado se proponen cuatro procedimientos que permiten mejorar el tiempo de

20

resolucin de modelos de PE. La mayor parte de estos procedimientos parten del anlisis concreto de

21

cada problema.

22

6.6.1

Ms Restricciones y Ms Ajustadas

23

En Programacin Lineal es habitual pretender reducir el nmero de restricciones como un modo

24

de facilitar la resolucin. En PE el efecto deseado es el mismo, aunque el mtodo es el contrario.

25

Mediante el anlisis directo de diferentes restricciones es posible encontrar restricciones combinadas

26

que reducen el mbito de variacin de diferentes variables, haciendo que el ptimo del problema de

27

Programacin Lineal est muy cerca del ptimo del PE.

28

Ejemplo 12

Pgina 71 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

[ Minimize]

51 + 7 2 + 10 3 + 3 4 + 5

Sujeto a :

1 3 2 + 5 3 + 4 5 2
21 + 6 2 3 3 2 4 + 2 5 0
2 + 2 3 2 4 2 5 1

i {0,1} i
2

De la tercera restriccin se puede sacar la siguiente relacin:

2 3 1 + 2 + 2 4 + 2 5 1

3 12 3 = 1

De la segunda restriccin, y realizando operaciones parecidas:

6 2 2 1 + 3 + 2 4 2 5 1

Y nuevamente de la restriccin tercera:

4 5 0

2 16 2 = 1

4 0 4 = 0
5 = 0

De donde

Bsicamente se puede admitir que el mtodo consiste en analizar la configuracin del problema,

10

para encontrar relaciones, ms o menos evidentes, que reducen el nmero de variables al asignarles

11

valores.

12

6.6.2

13

1 = 0 y la funcin objetivo es 0.

Simplificar una restriccin entera con otra restriccin


Dada la restriccin entera

14
15

4 1 + 6 2 9
Donde

1 y 2 son variables enteras. A efectos de la resolucin la restriccin, la restriccin

16
17

18

1 + 2 2 2
es equivalente y mucho ms adecuada porque los enteros ms prximos estn en ella considerados

El procedimiento consiste en encontrar para cada restriccin

Pgina 72 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

a1 1 + a2 2 + ... + an n ao

Una restriccin

b1 1 + b2 2 + ... + bn n bo

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.

6.6.3

Restricciones discontinuas
En ocasiones hay que restringir una variable continua a segmentos o puntos, por ejemplo

x=0 axb x=c

10
11

Esta circunstancia puede ser representada por un conjunto de restricciones disyuntivas, pero
tambin existe un procedimiento alternativo para representarla

x = a y1 + b y 2 + c 2

12

1 + y1 + y 2 + 2 = 1

13

donde 1 y 2 son variables binarias

14

donde y1 & y2 son variables continuas (y no negativas)

15

Un caso comn pero especial es:

16

x = 0 x a (a > 0)

17

En este caso

x = a y1 + M y 2

18

19

+ y1 + y 2 = 1
6.7

Informacin econmica y sensibilidad en los modelos de PE

20

Por las propias restricciones de los modelos de PE no es posible extraer de la resolucin (o del

21

dual) informacin estricta sobre los precios sombra o los costes reducidos, de las restricciones o de los

22

coeficientes.

23

Las restricciones no completamente utilizadas no implican, necesariamente que no tengan precio

24

sombra, puesto que es posible que una ligera ampliacin introduzca (o saque) de la regin de

25

factibilidad un punto que cumpla las condiciones de integralidad y mejore la funcin objetivo.

26
27

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.

28
Pgina 73 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

global. Mucha investigacin se dedica a este problema, y estos apuntes no pretenden ni de lejos

11

reflejarla.

12
13
14

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

15
16

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

17

puntos (x,y) donde y f(x) forma un regin convexa.

18

Definicin de un modelo de PM convexo: Se dice que un modelo de Programacin

19

Matemtica es convexo si implica la minimizacin de una funcin convexa sobre una

20

regin convexa.

21
22

Ejemplo 13
Un modelo de Programacin Matemtica Convexo:

[ Minimize]

x12 4 x1 2 x2

Sujeto a :
x1 + x2 4

23

2x1 + x2 5
-x1 + 4 x2 2
x1 , x2 0
24
25

Ejemplo 14
Un modelo de Programacin Matemtica No-Convexo

Pgina 74 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

[ Minimize]

-4x13 + 3x1 6 x2

Sujeto a :
x1 + x2 4

2x1 + x2 5
x1 + 4 x2 2
x1 , x2 0
2
3

En el ejemplo 14 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.

6
7

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

10

ejemplo el uso de la programacin separable que se explica en la siguiente seccin.

11

7.2

12
13
14

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

15
16

x13 +
se puede denominar separable mientras que

17
18

1
+ log( x 3 )
x2

x1 x 2 +

x3
x1 + x 2

no es funcin separable.

19

La importancia de que una funcin sea separable para la programacin matemtica radica en el

20

hecho de que una vez separada la mayor parte de las funciones se pueden aproximar a funciones

21

definidas por tramos que sean lineales. A partir de aqu ser posible encontrar un ptimo global para una

22

funcin convexa, o al menos un ptimo local si es no-convexa.

23
24

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.

Pgina 75 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

4
5

Ejemplo 15
Para convertir en lineal la siguiente funcin objetivo del Ejemplo 13:

x12 4 x1 2 x2
2

solo es necesario convertir la funcin x1 .

A partir de la segunda restriccin del ejemplo es evidente que no es posible que x1 sea mayor que

9
10

2.5.
En este caso La funcin

12

puede ser sustituida por:

y = 3 x 2
2.25

x 5
0 .5

13

14

x [0,2.5]

y = x12

11

x [0,1]
x [0,2]
x [2,2.5]

Esta representacin es equivalente a:


x1 = 01 + 1 2 + 23 + 2.5 4

15

y = 01 + 12 + 43 + 6.254

1 + 2 + 3 + 4 = 1
16

Por tanto el modelo del ejemplo 1 es el siguiente:

[ Minimize]

y 4 x1 2 x2

Sujeto a :
x1 + x2 4
2x1 + x2 5

17

-x1 + 4 x2 2
-x1 +

+ 2 + 23 + 2.54 = 0

-y +
+ 2 + 43 + 6.254 = 0
1 + 2 + 3 + 4 = 1
y, x1 , x2 , 1 , 2 , 3 , 4 0
18
19
20

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

Pgina 76 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

como mximo 2 i adyacentes pueden ser no nulos

Esta restriccin slo se puede modelar mediante Programacin Entera, como se vio en un apartado

3
4
5

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

10

x1 = 1 + 2 + 0.5 3

11

i > 0 j = 1 j < i j > 0 j > i

y = 1 + 3 2 + 2.25 3

) (

12

Aunque en tiempo de computacin es ms eficiente, este sistema es ms difcil de modelar y

13

requiere necesariamente del uso de programacin entera. Y en cualquier caso el problema de ptimos

14

locales permanece.

15

7.3

16
17
18
19

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:

20
21

x1 x 2
2

sta puede ser sustituida por u1 u 2 donde

1
( x1 + x 2 )
2
1
u 2 = ( x1 x 2 )
2
u1 =

22

23

que es una funcin separable, donde los trminos pueden ser linealizados de modo aproximado como

24

se explica en el apartado anterior. Hay que destacar que u2 es un variable libre, es decir, puede adoptar

25

valores negativos.

26
27
28

Otro mtodo de separacin es el uso de logaritmos. La anterior funcin x1x2 puede ser representada
por:

' y ' donde

log( y ) = log( x1 ) + log( x2 )


Pgina 77 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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.

6
7

Pgina 78 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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, ciertos y exactos. 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.

8
9

Este tipo de problemas se dan con mucha frecuencia, puesto que en muchas ocasiones las
decisiones se toman de modo recurrente.

10

Por ejemplo el departamento de compras de una empresa toma la decisin de adquirir cierta cantidad

11

de materia prima atendiendo a una demanda conocida para el presente pero estimada para el futuro. Y

12

cuando ese futuro sea presente se tomar una nueva decisin.

13
14

El anterior es un ejemplo de recursividad. sta es, bsicamente, la capacidad de emprender acciones


correctivas despus de que la situacin incierta ocurra.

15

Hay que destacar tambin la propiedad de no-anticipacin que se exige a la programacin

16

estocstica. Se puede definir esta como la imposibilidad de vincular la decisin en el primer periodo no

17

depende de lo que de hecho ocurra en el segundo periodo. La decisin de hoy para hoy no puede ser

18

modificada maana.

19

8.2

20

Formulacin de Problema Estocstico

Una posible formulacin del Problema Lineal Estocstico es la siguiente:

[ Minimize]

cT x + pe d eT ye
e

Sujeto a :
A x b

21

Te x + We ye he

x0
ye 0 e
22

Donde:

cT x
deT ye
pe
A
Te
We

: Coste de la decisin inmediata


: Coste de la mejor decisin en el escenario e
: Probabilidad del escenario e
: Matriz tecnolgica sin incertidumbre
: Matriz tecnolgica con incertidumbre para las variables que corresponden a la decisin a tomar
: Matriz tecnolgica con incertidumbre para las variables que corresponden al futuro

23
Pgina 79 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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 pe es complicado.

4
5

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 estndares, aunque la complejidad anteriormente

aludida es una limitacin evidente en su uso.

Pgina 80 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

9 PROCEDIMIENTOS

RESOLUCIN

DE

MODELOS

DE

PROGRAMACIN MATEMTICA

2
3

DE

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.

7
8

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.

10

Por ello se abordan en la fase final del captulo mtodos para disear procedimientos de resolucin para

11

los problemas que ya han sido modelados

12

9.2

paquetes ya disponibles

13
14

Resolucin de problemas de programacin matemtica mediante el uso de

9.2.1

Algoritmos y paquetes

15

Algoritmo es una palabra de origen rabe, concretamente, Al-jwarizmi era el apodo de un

16

matemtico cordobs de nombre Mohamed ibn Musa. Un algoritmo es un conjunto finito y ordenado de

17

operaciones cuya aplicacin permite resolver un problema.

18

Un algoritmo puede ser programado como un conjunto de rutinas de ordenador para resolver

19

problemas que tienen que estar expresados en un tipo particular de formato. Cuando los algoritmos

20

resuelven problemas suficientemente generales se suelen agrupar en paquetes que posteriormente se

21

comercializan.

22
23
24
25
26
27
28

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:

1.
2.
3.
4.

Versiones revisadas del Simplex


Extensiones del Simplex para modelos separables
Algoritmos de Ramificacin y Corte para modelos de Programacin Entera
Algoritmos del Punto Interior

29

En cualquier caso otros hacen un uso cruzado de los diferentes mtodos. As la estrategia que

30

parece ms adecuada para problemas de muy grandes dimensiones es utilizar algoritmos genricos que

31

rpidamente nos conduzcan al entorno del ptimo y finalizar la exploracin del espacio de soluciones

32

con un Simplex que buscar el ptimo global del problema.

Pgina 81 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

6
7

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

10

herramienta es especialmente til cuando se quiere probar el efecto de pequeos cambios en los

11

valores del modelo.

12

Cotas de variables

13

En algunas ocasiones el valor de las variables est acotado del siguiente modo:

14

x U

x L donde U y L son constantes.

15

Aunque en la formulacin convencional de los problemas de Programacin Lineal, esta restriccin

16

sera asociada a una fila de la matriz de restricciones, es ms eficiente considerar U o L simplemente

17

como una cota. Existe una versin modificada del Simplex que permite trabajar con estas variables

18

acotadas.

19

Restricciones de Cotas Generalizadas

20

Son bastante habituales las restricciones del tipo:

21

x1 + x 2 + .... + x n M

22

Este tipo de restricciones corresponden con una fila de unos en la matriz de restricciones y se suelen

23

denominar Cotas Superiores Generalizadas (GUB por Generalized Upper Bound en ingls) del

24

subconjunto. Si existen muchas restricciones de este tipo para conjuntos disjuntos es til representarlos

25

como GUBs, puesto que reducen considerablemente el coste computacional.

26

Anlisis de sensibilidad

27

Cuando se halla la solucin ptima, a menudo nos interesa investigar como afectaran cambios en

28

los coeficientes de la funcin objetivo y las restricciones. Esta informacin, que se puede obtener de

29

todos los paquetes comerciales es de una gran importancia, en el uso de los modelos.

30

9.2.2

El uso de la Hoja de Clculo Excel

31

La hoja de clculo Excel dispone entre sus herramientas una dedicada a la resolucin de problemas

32

de Programacin Matemtica. Dicha herramienta (que en ocasiones hay que instalar a travs de

33

Herramientas/Opciones) se denomina Solver.


Pgina 82 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4
5
6

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.

7
8
9

Figura X
Para poder usar el solver hay que acceder a travs de Herramientas/Solver.

10

En la fila 1 se ha puesto los nombres de las variables y en la fila 2 aparecern los valores de stas.

11

La fila 3 se dedica a los coeficientes de la funcin objetivo. Las filas 4 a 6 se dedican a las restricciones.

12

En la columna H se colocan los lmites de las restricciones.

13

14

Pgina 83 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

Figura X

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.

5
6

Figura X

Al acabar la resolucin del problema el Solver pregunta qu tipo de informes se desea. Y por tanto es

posible acceder a ellos. Dichos informes incluyen respuestas, sensibilidad (precios-sombra y costes-

reducidos) y anlisis de lmites (rangos)

10
11

9.2.3

El uso de Lenguajes de Modelado

12

Se pueden encontrar en el mercado diferentes paquetes que ayuden al usuario a estructurar e

13

introducir un problema en un paquete en forma de modelo. Este tipo de programas se denominan

14

generadores de matrices por su origen, aunque en realidad son lenguajes de alto nivel para la

15

programacin matemtica.

16

El lenguaje de escritura ms utilizado es MathProg que es implementado en diferentes herramientas

17

como MPL. Algunas son de pago (AMPL y MPL de Maximal Software por ejemplo) y otras son gratuitas

18

como . Gusek o LPSolveIDE.

Pgina 84 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10
11
12
13
14

segundos.
Muy lejos de estos dos softwares se encuentran las aplicaciones de software libre como GLPK
LPSolve.
En cualquier caso adems del software de optimizacin, generalmente hace falta tener un software
de interface, para poder introducir datos en formato natural, y extraerlos de manera natural tambin.

15

Por otro lado, el uso de software para la resolucin de programacin lineal cuando los programas son

16

de un cierto tamao (unos miles de variables), puede requerir para ser eficiente un cierto nivel de

17

tuneado. Parmetros como los gaps admisibles, las reglas de pivote, la reduccin previa, exigen unos

18

minutos hasta dar con una combinacin adecuada.

19

Se admite habitualmente que el mayor problema para aplicar de modo exitoso los modelos de

20

programacin matemtica no son los modelos ni los tiempos de resolucin, sino la interface con el

21

usuario: la entrada y la salida de datos.

22

El uso de paquetes de modelado aporta las siguientes ventajas:

23

a) Ofrecer un modo de entrada de datos ms natural

24

b) Corregir y verificar es mucho ms fcil

25

c) Modificar se hace ms fcilmente

26

d) Automatizar la repeticin de la ejecucin es factible

27
28
29
30
31
32
33

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.

Pgina 85 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

Ejemplo 16

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

3
4

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, ficheros xml, Excel, Access y otros medios. O que Si

hay sumatorios largos se pueden calcular por separado como macros.

8
9
10

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,

11

as como herramientas que permiten analizar los modelos desde un punto de vista estructural.

12

9.3.1.2

El proyecto NEOS

13

Tambin es relevante citar del denominado proyecto NEOS. Este se traduce en una web donde los

14

mejores optimizadores estn disponibles para ser utilizados remotamente. Adems el servidor tiene

15

interesantes resmenes sobre la programacin matemtica. http://www-neos.mcs.anl.gov/neos/ es la

16

direccin web donde toda esta mina de informacin est disponible.

17

9.3.2

Sistemas de Apoyo en la Decisin y Sistemas Expertos

18

En ocasiones, al disear un software para aplicaciones especficas, se incorporan algoritmos de

19

programacin matemtica que sirven de soporte a la toma de decisin. Generalmente este software

20

desarrollar otras mltiples funciones adems de resolver el modelo, como acceder a bases de datos e

Pgina 86 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10

del interface diseado al efecto, seleccionando entre diferentes alternativas. Esta informacin que aade

11

el usuario se complementa con informacin histrica recogida de resoluciones anteriores.

12

9.4

Procedimientos de Resolucin de Programacin Lineal

13

Se proponen en este apartado los principios en los que se basan el mtodo de resolucin conocido

14

como Simples. Este mtodo se utiliza desde su desarrollo a mediados de los 50. En la dcada de los 80

15

se desarrollaron nuevos mtodos como los de Punto Interior o el Mtodo de los Elipsoides, que no se

16

tratarn en estos apuntes.

17

9.4.1

18
19
20
21

El algoritmo Simplex

No es objeto de este apartado establecer concretamente cmo 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)

z = ci xi

[ Maximize]
22

Sujeto a :

ij

x j bi

23

Las restricciones se pueden expresar mediante notacin matricial de modo:

24
25

A x b
Se obtiene una solucin bsica al problema

A x b haciendo n-m variables iguales a 0 (para

26

convertir el problema en linealmente independiente y determinado). A las variables definidas como nulas

27

se les denomina variables no-bsicas, y a las dems, variables bsicas. Si existe solucin para el

28

problema planteado con las n-m variables no bsicas definidas, entonces a esa solucin se le denomina

29

solucin bsica factible.

Pgina 87 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

4
5

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

10
11

Los mtodos del punto interior se basan en que el progreso de las soluciones se realiza en el
interior de la regin factible, y no a travs de los vrtices de la misma como hace el mtodo Simplex.

12
13

Los Mtodos del Punto Interior

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.

14

Una vez conocida la regin de factibilidad y un punto inicial e interior al mismo, se debe definir un

15

modo de progreso en una direccin que permita reducir el valor de la funcin objetivo, y que el nuevo

16

punto siga siendo factible e interior.

17
18

Este proceso se debe repetir hasta que no pueda haber una mayor reduccin en el valor de la
funcin objetivo.

19

As pues las preguntas que hay que saber cmo responder son tres:

1) Cmo encontrar un punto factible e interior?


2) Cmo definir el camino de evolucin?
3) Cmo se sabe que se ha alcanzado el ptimo?

20
21
22
23
24

9.5

25

9.5.1

Procedimientos de Resolucin en Programacin Lineal Entera


Ramificacin y acotacin

26

En la prctica la mayor parte de los problemas de PE se resuelven utilizando la tcnica conocida

27

como ramificacin y corte (Ramificacin y Acotacin, Ramificacin y Poda Branch and Bound en

28

ingls). Este procedimiento se basa en la divisin de problemas en sub-problemas (ramificacin)

29

mientras el ptimo no sea una solucin factible entera.

30

La Ramificacin y Poda es un mtodo general de bsqueda. Empieza considerando el problema raz

31

(el problema original con la regin factible completa sin las restricciones de integridad). Si se cumplen

32

dichas restricciones el procedimiento ha terminado. Si no se cumplen, la regin de factibilidad se divide

33

en o ms regiones. Se resuelve cada uno de los sub-problemas, si uno de ellos satisface las

34

restricciones de integridad el problema ha sido resuelto pero no se puede garantizar su optimalidad. Si


Pgina 88 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 sub-problemas generados.

Concretamente en Programacin Entera, el mtodo consiste en:

5
6
7
8
9
10

- Relajar el problema de PE convirtindolo en Programacin Lineal,


- Resolver mediante el simplex este problema de Programacin Lineal,
o Si las variables de la solucin ptima satisfacen la condicin de integralidad, hemos
obtenido el ptimo.

o Si dicha condicin no se satisface, el valor de la funcin objetivo aporta una cota


superior del ptimo. Entonces, hay que volver a ramificar y volverlo a intentar.

11

Ejemplo 17

[ Maximize]

z = 7x1 + 3 x2 + 4 x3

Sujeto a :
3x1 + 2 x2 x3 5
12

2 x2 3 x3 9
7x1 + 2 x2
x1 , x3

8
+

x2 0
13

La solucin del problema relajado es

( x1 , x2 , x3 ) = (1.1428,0,3)

14

z = 14.2857

x1 +

15

Este valor es una cota mxima del problema, aunque no es un valor solucin porque

16

La ramificacin consiste en generar un par de nuevos sub-problemas, mediante la adicin

17

respectiva de nuevas restricciones.

18

Sub-problema2 = Problema1 + ( x1 1)

19

Sub-problema3 = Problema1 + ( x1 2)

20

La relajacin del sub-problema2 da lugar a la siguiente solucin y funcin objetivo

21
22
23

( x1 , x 2 , x 3 ) = (1,1.5,2.667 )
Dado que

z 2 = 14.1667

x2 + , volvemos a obtener una cota mxima ms ajustada aunque la solucin no es

factible.

24

La relajacin del sub-problema3 no tiene solucin, por lo que no se profundizar ms en esa rama.

25

Se crearn pues dos nuevos sub-problemas

Pgina 89 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

Sub-problema4 = Sub-problema2 + ( x 3 2)

Sub-problema5 = Sub-problema2 + ( x 3 3)

La relajacin del sub-problema 4 da la siguiente solucin.

4
5

( x1 , x 2 , x3 ) = (0.714,1.5,2)

La relajacin del sub-problema 5 da la siguiente solucin.

6
7
8
9

z 4 = 9.42857

( x1 , x 2 , x3 ) = (1,0,3)

z 5 = 14

La solucin del sub-problema 5 da valores enteros de x1, x3, y adems se puede garantizar su
optimalidad porque la cota superior del sub-problema 4 es 9.42, inferior al 14 ya obtenido.
Grficamente se puede representar del siguiente modo:
Problema 1
( x1 , x2 , x3 ) = (1.1428,0,3)
z = 14.2857

( x1 1)

( x1 2)

Subproblema 2
( x1 , x2 , x3 ) = (1,1.5,2.667)
z 2 = 14.1667
( x3 2)

Subproblema 4
( x1 , x2 , x3 ) = (0.714,1.5,2)
z 4 = 9.42857

10

Subproblema 3
No factible

( x3 3)

Subproblema 5
( x1 , x2 , x3 ) = (1,0,3)
z5 = 14

11
12
13

En la resolucin mediante mtodos de ramificacin y acotacin, se puede optar bsicamente por dos
estrategias en la seleccin del siguiente nodo a ramificar:

14

a)

Elegir la rama ms profunda

15

b)

Elegir la rama con mejor cota

16

c)

Elegir el primero de los nodos an no explotados (FIFO)

17

d)

Elegir el ltimo nodo abierto y no explotado (LIFO)

18
19

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.

20

Otra tcnica interesante en la aplicacin de la ramificacin y corte es la del clculo inicial de una

21

solucin que permita fijar la cota superior (en algunos textos anglfonos se denomina incumbent). sta,

22

obtenida mediante algn procedimiento heurstico, dara una solucin candidato que permitira, en

23

ocasiones, podar ramas sin necesidad de explorarlas profundamente.

Pgina 90 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 variable 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

10

utilizan para resolver PE convencional. Cada rama del rbol especificar para una determinada variables

11

si vale xi=0 xi=1. Todas las variables a las que se las asigna un valor se denominan variables fijas y las

12

dems variables libres.

13
14

Para cualquier nodo (un conjunto de variables fijas con sus valores asignados) se denomina
integracin del nodo a cualquier especificacin de las variables libres.

15

Un modo de integrar de modo eficiente un nodo es asignando a las variables libres los valores que

16

permiten maximizar (o minimizar) la funcin objetivo. Si esta integracin es factible entonces esta es la

17

mejor solucin a que se puede llegar a travs del nodo en el que nos encontramos. Si no fuera factible el

18

valor de la funcin objetivo obtenido definira una cota superior (o inferior) del nodo.

19
20

Desgraciadamente no hay ningn modo efectivo de saber si para un nodo no existe ninguna
integracin factible.

21

Ejemplo 18

[ Maximize]

31 + 2 + 3 4 2 5 + 6

Sujeto a :
22

1 + 2 2 3 + 4
1 + 2 + 3 +
1 +
3 +

2
3
5
+ 5 + 6 2

Pgina 91 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1 = 1

1 = 0

1110001
NO 7

2 =1

2 = 0

111001
NO 7

3 = 1

011001
SI 4

101001
NO 5

3 = 0

111001
NO 7

110001
SI 6

4 = 0

4 =1
111101
NO 6

111001
NO 7

5 =1

5 = 0

111011
NO 5

111001
NO 7

6 = 1

6 = 0

111000
SI 7

111001
NO 7

2
3

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.

7
8

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.

9
10

El nuevo problema se vuelve a resolver como Programacin Lineal y el proceso anterior se repite
hasta que la solucin es entera.

11

Aunque el nmero de cortes necesarios para garantizar la optimalidad se ha demostrado que es

12

finito, en realidad no es un procedimiento muy exitoso para problemas grandes.

13

9.6

Procedimientos de Resolucin en Programacin 0-1

14

Cuando el nmero de variables binarias es muy alto, probablemente compense disear

15

procedimientos especficos como los explicados en el captulo de Optimizacin Combinatoria que

16

sucede a ste.

17

Pgina 92 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10

combinatoria resuelven instancias de problemas que se creen difciles en general, explorando el espacio

11

de soluciones (usualmente grande) para estas instancias. Los algoritmos de optimizacin combinatoria

12

logran esto reduciendo el tamao efectivo del espacio, y explorando el espacio de bsqueda

13

eficientemente.

14

La mayor parte de los procesos de resolucin de problemas en optimizacin combinatoria no

15

garantizan el ptimo ni siquiera en el contexto de modelo, que no necesariamente es el problema real,

16

pero su aproximacin al ptimo es probablemente suficiente.

17
18
19
20
21
22

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.

23

c) Estrategias de "divide y vencers": En esta estrategia se opta primero por dividir el problema

24

en fragmentos a los que se le aplica cualquier otra estrategia, recomponiendo finalmente la

25

solucin.

26

d) Estrategias de aprendizaje: Las estrategias de aprendizaje pasan por tomar decisiones, en

27

funcin de datos conocidos por el resultado de resoluciones anteriores o en la misma resolucin.

28

La clasificacin que se utiliza aqu extiende el concepto de heurstica tanto para los mtodos

29

constructivos como para los de mejora, y considera las ltimas dos estrategias las dentro del proceso

30

general de resolucin, ms que entre los procedimientos de resolucin en Optimizacin Combinatoria.

31

Los mtodos habitualmente utilizados para resolver problemas son del tipo heurstico o meta-

32

heurstico. Estos son capaces de generar soluciones al problema. Son aproximaciones que pretenden

33

acercarse lo ms posible al ptimo, pero que pueden fallar en el intento. En los inicios de la

34

Investigacin Operativa, y dada las limitaciones de clculo automtico que entonces se tena, era

Pgina 93 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

habitual desarrollar procedimientos heursticos (es decir que hallaban soluciones) muy rpidamente. Los

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

10

Con la existencia de ordenadores cada vez ms potentes, y aprovechando su capacidad de clculo

11

han surgido en las ltimas dcadas, las denominadas tcnicas meta-heursticas. Son procedimientos

12

genricos que pueden ser fcilmente adaptados para resolver problemas de optimizacin combinatoria.

13

La mayora de las meta-heursticas tienen como objetivo los problemas de optimizacin combinatoria,

14

pero por supuesto, se pueden aplicar a cualquier problema que se pueda reformular en trminos

15

heursticos, por ejemplo en resolucin de ecuaciones booleanas.

16

Muchos de los procedimientos denominados meta-heursticos se fundamentan generalmente en la

17

capacidad del mundo natural de encontrar buenas soluciones y se intenta reproducir esta capacidad,

18

surgiendo de este modo algoritmos como el Recocido Simulado, los Algoritmos Genticos, las Redes

19

Neuronales, los Sistemas de Hormigas y GRASP (Diaz, Glover, Ghaziri, Gonzales, Laguna, and

20

Moscato, 1996).

21

En realidad los fenmenos naturales en los que dicen basarse todas las meta-heursticas tienen en

22

comn su capacidad de explorar convenientemente el adyacente posible (Kauffman, 2003) para

23

abandonar ptimos locales.

24

Se puede realizar una clasificacin simplificada de los procedimientos meta-heursticos indicando que

25

hay tres grandes grupos. El primer grupo lo forman los que dada una solucin intentan mejorarla

26

(bsqueda local). El segundo grupo lo conforman los que parten de un conjunto de soluciones

27

(poblacin) para intentar obtener una mejor por combinacin y evolucin de las anteriores. El tercer

28

grupo lo conforman aquellos que pretenden especficamente aprender de soluciones previas.

29

La bsqueda local es la base de la mayor parte de los mtodos heursticos. Empezando por una

30

determinada solucin (en ocasiones generada aleatoriamente) la bsqueda local se mueve hacia un

31

vecino que es mejor que la actual solucin de acuerdo con la funcin objetivo. En general la bsqueda

32

local corre el riesgo evidente de quedar atrapada en un ptimo local y la mayor parte de los algoritmos

33

basados en ptimos locales pretenden evitar este problema.

34

Estos apuntes se estructuran en dos partes, una dedicada a la introduccin a la Optimizacin

35

Combinatoria y otra a los procedimientos de resolucin. Se acompaan los apuntes con resoluciones

36

aproximadas a 3 problemas segn seran requeridos en examen.

Pgina 94 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

6
7

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

10

c) Procedimientos Heursticos (se incluyen en estos los Meta-heursticos

11
12

10.2 Complejidad en la Optimizacin Combinatoria

13

10.2.1 Optimizacin Combinatoria

14
15

Un problema de optimizacin combinatoria es un problema de optimizacin en el cual el espacio de


soluciones posibles es discreto.

16

La optimizacin combinatoria es una rama de la optimizacin de las matemticas aplicadas

17

fuertemente relacionada con la investigacin operativa, la teora algortmica y la teora de la complejidad

18

computacional. Los algoritmos de optimizacin combinatoria resuelven problemas que se creen difciles

19

en general, por la va de explorar el, habitualmente grande, espacio de soluciones del citado problema.

20

Los buenos algoritmos de optimizacin combinatoria lo logran por la va de reducir el tamao efectivo del

21

espacio a buscar y explorando de modo eficiente dicho espacio.

22

10.2.2 Variaciones (con y sin) Repeticin, Combinaciones, Permutaciones

23
24

Es relevante recordar algunos conceptos de combinatoria, pues estos permiten establecer la


dimensin de alguno de los problemas aqu tratados.

25

Los problemas de combinatoria se pueden definir como la Seleccin de un sub-conjunto de entre un

26

conjunto de elementos con permitiendo (o no) la repeticin y siendo (o no) relevante el orden de los

27

mismo.

28
29
30
31
32
33

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
r
de n, donde ninguno se puede repetir. An =

n!
( n r )!

Pgina 95 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4
5
6
7
8
9
10

Variaciones con Repeticin: Nmero de modos de seleccionar y ordenar r elementos de un


conjunto de n.

nr

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.

n!
m1!m 2!mS !

Combinaciones sin Repeticin: Nmero de modos de seleccionar r elementos de un conjunto de n,


r
donde ninguno se puede repetir. C n =

n!
r !( n r )!

Combinaciones con Repeticin: Nmero de modos de seleccionar r elementos de un conjunto de


n, permitiendo la repeticin en la seleccin.

r
Cn+r 1 =

( n + r 1)!
r !(n 1)!

11

Por su inters se destacan algunas otras relaciones que permiten calcular de cuantos modos se

12

pueden introducir elementos (iguales o distintos-ordenados y no ordenados) en casillas (iguales o

13

distintas ordenadas y no ordenadas). Cuando se indica que los elementos estn ordenados hace

14

referencia a que interesa el orden, no a que estn previamente ordenados.

nr

15

r Objetos distintos y no ordenados en n casillas distintas y no ordenadas

16

r Objetos idnticos en n casillas distintas y ordenadas

17

r Objetos distintos y ordenados en n casillas distintas y ordenadas

18

Todas estas relaciones (junto con otras muchas y lo que es ms importante- el modo de llegar a

19

( n + r 1)!
r !(n 1)!
r
Cn+r 1 =

( n + r 1)!
(n 1)!

ellas), se pueden encontrar en (Kauffmann, 1971).

20

r
Cn+r 1 =

10.2.3 Las clases de complejidad P y NP

21

Teora de la Complejidad

22

La teora de la complejidad computacional es la rama de la teora de computacin que estudia los

23

recursos, o coste, de computacin requerido para resolver un problema dado.

24

Este coste se suele medir en trminos de parmetros abstractos como el tiempo y el espacio. Tiempo

25

son los pasos que requiere el problema para ser resuelto y el espacio suele referirse a la cantidad de

26

memoria que utiliza.

Pgina 96 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Uno de los otros recursos que se puede 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.

4
5

La teora de la complejidad no es la teora de la computabilidad 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.

10

La clase de complejidad NP es el conjunto de problemas de decisin que pueden resolverse por una

11

mquina no-determinista en tiempo polinomial. Esta clase contiene una gran cantidad de problemas que

12

se pretenden resolver. La principal propiedad de los problemas de esta clase es que sus soluciones

13

pueden ser chequeadas de modo eficiente en tiempo polinomial.

14

10.3 Algoritmos bsicos.

15

Ordenar

16

Buscar el Mayor (o menor)

17

Intercambiar

18

Sumar

19

Voltear

20
21

10.4 Problemas de Optimizacin Combinatoria

22

En este apartado se describen algunos problemas clsicos de optimizacin combinatoria. La

23

intencin inicial al redactar el apartado era establecer una clasificacin, pero esto parece casi imposible,

24

habida cuenta de que se pueden encontrar muchos tipos de clasificaciones en funcin de diferentes

25

criterios para cada tipo de problema. As, se ha optado por enumerar (sin nimo de ser exhaustivos ni

26

exclusivos) diferentes tipos de problemas en funcin de diferentes aspectos como por ejemplo: su

27

aplicacin, la clase terica a la que pertenecen o las soluciones que se pretenden conseguir. Se han

28

dejado aparte clasificaciones que consideraran aspectos como su dureza en trminos de complejidad, o

29

la existencia de algoritmos eficientes para su resolucin.

30

10.4.1 Segn su aplicacin.

31

10.4.1.1 Secuenciacin

32

Los problemas de secuenciacin son, junto con los de rutas, la aplicacin ms clsica en

33

optimizacin combinatoria, tanto por la extensin de su aplicacin, como por su facilidad de

34

planteamiento. Aun as el nmero de problemas diferentes que se puede plantear son muchos.

Pgina 97 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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. La secuenciacin puede 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.

10
11

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

12

La secuenciacin con mezcla de modelos en una lnea de montaje, pretende establecer el orden en

13

el que un conjunto de productos (pertenecientes a varias familias de productos en diferentes cantidades)

14

deben circular por una lnea de montaje.

15

10.4.1.2 Rutas

16

Los problemas de rutas tratan de establecer el circuito a recorrer para dar un determinado servicio,

17

ya sea de entrega de recepcin o de ambos. El problema clsico denominado del viajante de comercio

18

(TSP) supone visitar una y slo una vez un conjunto de puntos. A este problema se le pueden aadir

19

variantes como incluir varios viajantes, limitar la capacidad del variante o la disponibilidad de tiempo,

20

incorporar ventanas temporales de entrega o recepcin, obligar o prohibir determinados tramos, hacerlo

21

en una o varias ocasiones por cada tramo

22

10.4.1.3 Corte y Empaquetado

23

Los problemas de corte son los ligados a reducir el consumo de materia prima que se vende o

24

consume troceada. Pueden ser unidimensionales (vigas), bidimensionales (placas de vidrio, cartn o

25

tela) o incluso tridimensionales como en el corte de mrmol. Tambin se pueden considerar variantes

26

como que las piezas a obtener tengan una forma regular, o irregular (por ejemplo retales de tela). O

27

restricciones que obligan a mantener determinadas direcciones de corte, o realizar cortes completos.

28

Los problemas de Trim son una variante de estos problemas en los que de un rollo (de papel o de

29

acero) se trocean otros rollos de anchos y longitudes diferentes). El problema radica en este caso en

30

establecer los modos en los que los diferentes rollos se van haciendo para minimizar no slo la materia

31

prima desperdiciada sino tambin las preparaciones de mquina a realizar.

32

Los problemas de empaquetado son similares siendo los contrarios, pretenden ubicar en la mnima

33

superficie (o el mnimo volumen) posible un conjunto de partes que son inicialmente diferentes.

34

10.4.1.4 Horarios

35

Los problemas de horarios son un problema clsico de optimizacin de combinatoria que tiene en la

36

gestin docente (aunque evidentemente no es exclusiva de ella) una gran cantidad de aplicaciones: el

37

diseo de horarios de clase, repartos de guardias, calendarios de exmenes, son algunos fcilmente

Pgina 98 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

9
10
11
12
13
14
15
16
17
18

El problema de la mochila (uni o multi-dimensional)


De mximo (o mnimo) flujo
Problemas de Asignacin Cuadrtica
Graph Partitioning Problem
Bipartite Drawing Problem
Cubrimiento, Particin y Empaquetado.
De camino ms corto (o ms largo)
El problema de coloreado de grafos
Linear Ordering Problem

10.4.3 Segn las soluciones que se buscan

19

En algunos problemas, slo se tiene inters en encontrar una solucin factible (e incluso en algunos

20

casos nicamente se pretende saber si existe una solucin). En otros casos el objetivo es que la

21

solucin factible encontrada sea suficientemente buena o incluso que sea ptima (es decir que no haya

22

ninguna solucin mejor). Por ltimo es posible que se tenga inters en localizar todas las soluciones

23

ptimas o incluso todas las soluciones factibles.

24

10.5 Evaluacin de Procedimientos

25
26

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 alcanzar dichos resultados.

27

Estos criterios se denominan: Eficiencia, Robustez y Bondad.

28

Al comparar los algoritmos se puede realizar tanto en el tiempo de resolucin que emplean como en

29

el resultado que obtienen.

30

En el caso de comparar los resultados estos se pueden comparar contra el ptimo, contra una cota

31

del ptimo, o contra el resultado de otros algoritmos. Lo que se mide puede ser el comportamiento

32

promedio, el comportamiento en el peor de los casos o el nmero de xitos (nmero de veces que se

33

obtiene el ptimo o el mejor resultado).

34

Pgina 99 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4
5

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
garantiza 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

8
9
10
11
12

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". Esta estrategia se opta primero por dividir el problema en
fragmentos a los que se le aplica cualquier otra estrategia, recomponiendo finalmente la solucin.

13

d) Estrategias de aprendizaje. Las estrategias de aprendizaje pasan por tomar decisiones mensuales

14

robre el modo de resolver, en funcin de datos conocidos por el resultado de resoluciones anteriores o

15

en la misma resolucin.

16

Sin embargo la clasificacin que se va a utilizar en estos apuntes extiende el concepto de heurstica

17

tanto para los constructivos como para los de mejora, y las ltimas dos estrategias las considera dentro

18

del proceso general de resolucin, ms que entre los procedimientos de resolucin en Optimizacin

19

Combinatoria.

20

As se clasifican en estos apuntes los mtodos segn los siguientes cuatro tipos:

21

a) Generacin de soluciones por mtodos Heursticos Constructivos

22

b) Generacin de soluciones por mtodos Enumerativos

23

c) Generacin de soluciones por mtodos Heursticos de Mejora Local

24

d) Generacin de soluciones por mtodos Heursticos de Poblacin

25

Adems se incorpora la generacin de soluciones por mtodos aleatorios, pues aunque son

26

ineficientes en el proceso de bsqueda, pueden ser eficaces, tanto para calibrar mtodos cmo, y ms

27

relevante para comprobar que se ha entendido bien el problema.

28

Los mtodos habitualmente utilizados para resolver problemas son del tipo heurstico o meta-

29

heurstico. Esto es, son capaces de generar soluciones al problema. Son aproximaciones e inacciones

30

que pretenden acercarse lo ms posible al ptimo, pero que pueden fallar en el intento.

31

Pese a su no-optimalidad, muchos de estos mtodos son bsicos por varios motivos. En primer lugar

32

son capaces de generar soluciones lo que generalmente es mejor que no tener solucin alguna. En

33

segundo lugar se puede decir que alcanzar el ptimo de un modelo que tampoco es exactamente el

Pgina 100 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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:

9
10
11
12

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

13

ms elaborados (mejora local o algoritmos genticos).

14

11.2.2 Pueden funcionar?

15

En principio esto dependera de cada problema, pero se puede generalizar diciendo que los

16

resultados aleatorios tienen una baja probabilidad de ser buenos, pero en ese caso, la repeticin

17

suficiente podra llegar a dar, de un modo ni eficiente ni robusto, resultados aceptables.

18

Como ejemplo se ha evaluado un problema de Flow-Shop de 3 mquinas, 12 tareas, con tiempos

19

aleatorios de ejecucin entre 2 y 20. Se ha ejecutado un algoritmo aleatorio 1000 veces y se ha obtenido

20

la siguiente grfica de resultados.

21
22
23
24

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.

Pgina 101 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3

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

10
11

definido segn un intercambio de 2 (comn para todos los problemas de permutacin).


El histograma resultado ha sido el siguiente:

12
13
14

Es decir, el ptimo se alcanz en casi el 50% de las ejecuciones y el peor resultado obtenido estaba
a 13% del ptimo.

15

Con el anterior ejemplo se ha pretendido mostrar que las heursticas aleatorias no funcionan de modo

16

eficiente, aunque son fundamentales, pues permiten iniciar los procesos tanto de modelado como

17

incluso de resolucin.

Pgina 102 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

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;

18

11.3 Algoritmos Heursticos.

19

11.3.1 Concepto de Heurstica

20

Un algoritmo heurstico es un procedimiento que permite encontrar una solucin y que suelen

21

disearse de modo especfico para cada problema. En mtodos matemticos, la palabra heurstica

22

suele hacer referencia a un procedimiento que busca una solucin aunque no garantiza encontrar la

23

mejor solucin. En Inteligencia Artificial se suele denominar funcin heurstica a aquella que dirige la

24

bsqueda (o construccin) de una solucin, utilizando algn mecanismo ms o menos sencillo.

25

Un buen algoritmo heurstico debe ser eficiente, bueno y robusto. Esto es: debe requerir un esfuerzo

26

computacional realista, su resultado debe estar suficientemente cerca del ptimo, y la probabilidad de

27

obtener una mala solucin debe ser baja.

28

Un tipo especial de heursticas son las constructivas, es decir aquellas que en cada paso aaden un

29

elemento ms a una solucin que no ha sido completamente construida. Las heursticas constructivas

30

se pueden utilizar siempre que el problema se puede resolver mediante decisiones sucesivas. (Rutas,

31

Secuenciacin, Lneas de Montaje). En muchas ocasiones el objeto de la decisin es evidente, pero

32

no necesariamente es as.

33

El otro tipo principal de heursticas son las de bsqueda de entornos o de mejora local. Estas parten

34

de una solucin cualquiera (no necesariamente aleatoria) y avanzan buscando en el vecindario ms

35

prximo, produciendo mejoras hasta que alcanzan un punto donde ningn elemento en el vecindario es

36

mejor que la solucin de la que ya se dispone.

37

Las heursticas tambin pueden ser de tipo voraz (en ingls greedy). Estas heursticas eligen siempre

38

las soluciones mejores de modo local para generar el resultado. Algunas heursticas greedy son ptimas

Pgina 103 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

6
7
8
9
10
11
12

Mtodos Constructivos
Voraces
Heursticas con BackTracking
Heursticas No-Constructivas
Exploracin de Entornos
Mtodos Combinados

11.3.2 Procedimientos Constructivos

13

Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante

14

decisiones sucesivas (Rutas, Secuenciacin, Lneas de Montaje). En muchas ocasiones el objeto de

15

la decisin es evidente, pero no necesariamente es as.

16
17

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:

18

a) Reglas de Prioridad. Se asignan valores a los objetos que se van a seleccionar en el

19

proceso de construccin y se utilizan para elegir la siguiente opcin. Los valores pueden

20

calcularse de una vez para el resto del clculo o variar dinmicamente tras cada

21

decisin dando lugar a las Reglas Estticas o a las Dinmicas. En muchos casos es

22

importante que la regla de prioridad tenga en cuenta criterios de desempate.

23

b) Direccin de Construccin. En ocasiones es posible identificar una direccin de

24

construccin. En general se suele trabajar hacia adelante, pero tambin es posible

25

disear heursticas que funcionen hacia atrs o incluso en las dos direcciones

26

simultneamente.

27

c) Tcnicas de Reduccin Previa. El anlisis previo del problema puede llevar a tomar

28

decisiones que afecten a la estructura de la solucin antes de comenzar el proceso de

29

resolucin (Por ejemplo eliminar sub-secuencias antes de empezar por ser demasiado

30

caras).

31
32
33
34

d) Heurstica de Paso Mltiple. Se repite el clculo cambiando las reglas de decisin o


incluso tomando decisiones de modo estocstico.
e) Heursticas MultiStart. Repetir la heurstica pero comenzando cada vez por un
elemento diferente.

Pgina 104 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

5
6

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 significa 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

10
11

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

12

volver atrs en las decisiones (y tomar nuevas decisiones) si la situacin no es la deseable.

13

11.3.2.2 Heursticas con BackTracking

14

Las heursticas con BackTracking buscan una solucin probando una de entre varias alternativas,

15

cada decisin se almacena de tal modo que si se puede demostrar que una decisin fue incorrecta se

16

restablezca la solucin en ese punto. Conceptualmente un algoritmo de bracktracking es equivalente a

17

una bsqueda en profundidad en un algoritmo enumerativo, donde cada decisin equivale a un nodo en

18

el rbol.

19

11.3.2.3 Procedimientos de enumeracin incompletos.

20

Como se ha dicho, la Optimizacin Combinatoria es una rama de la Optimizacin de las matemticas

21

aplicadas en el cual el espacio de soluciones posibles es discreto. Es decir, el ptimo se podra alcanzar

22

mediante la enumeracin de todas las soluciones, aunque esta posibilidad est restringida a tamaos

23

muy pequeos de problema.

24

Las tcnicas de enumeracin pueden ser utilizadas para disear procedimientos constructivos que

25

sean ms rpidos aunque menos eficaces reduciendo el nmero de nodos a explorar o limitando el

26

tiempo de ejecucin.

27

11.3.2.4 Heursticas Constructivas. Estructura General y Alternativas de Diseo

28

Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante

29

decisiones sucesivas (Rutas, Secuenciacin, Lneas de Montaje). En muchas ocasiones el objeto de

30

la decisin es evidente, pero no necesariamente es as.

31
32

Se consideran heursticas voraces aquellas que avanzan sin posibilidad de deshacer las decisiones
tomadas.

33

Pgina 105 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

12 ALGORITMOS ENUMERATIVOS

12.1 Concepto de Algoritmo Enumerativo

3
4

Un algoritmo Enumerativo o de Enumeracin 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 aleatoria (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

10

son prcticos en la mayor parte de situaciones normales. Sin embargo son una buena estructura para

11

comenzar la bsqueda de soluciones.

12

Los procedimientos de Enumeracin Completa se pueden clasificar en ciegos o guiados segn la

13

forma de dirigir la exploracin. Segn si buscan una solucin exacta o se conforman con una buena

14

solucin los procedimientos son exactos o heursticos. Tambin se pueden clasificar segn si buscan

15

una solucin ptima, todas las soluciones ptimas o todas las factibles.

16

Por ltimo los algoritmos pueden utilizar la Fuerza Bruta analizando una por una todas las

17

soluciones, o pueden tener algn tipo de inteligencia que permita podar aquellas ramas del rbol de

18

exploracin que no van a ser tiles.

19

12.2 Algoritmo de Enumeracin Completa

20

Los algoritmos de enumeracin completa son diferentes en funcin de la estructura de la solucin.

21

As por ejemplo no es lo mismo hacer enumeracin completa para soluciones que se representan como

22

un vector de n dimensiones donde los valores pueden ser 0 o 1, que para una solucin que se

23

representa como una permutacin de valores, o una solucin cuya estructura sea una combinacin de n

24

elementos tomados de r en r.

25
26

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.

27
28
29
30
31
32
33
34
35
36
37
38
39
40

Ejemplo 19
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

Pgina 106 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4
5

Next c

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
Salida:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.

Todas las r-combinaciones de {1,2,. . .,n} en orden lexicogrfico creciente.


Procedure combination (r,n)
For i:= 1 to r do
si:=i
Print s1,,sr //se imprime la primera r-combinacin
For i:= 2 to C(n,r) do
Begin
m:=r
max_val:=n
While sm = max_val do
//se determina el elemento ms a la derecha, que no tenga su mximo valor
Begin
m:=m-1
Max_val := max_val 1
End
// se incrementa el elemento ms a la derecha
sm:=sm +1
//el resto de los elementos son los sucesores de sm
For j.=m+1 to r do
sj:=sj-1 +1
Print s1,,sr //se imprime la i-sima combinacin
End
End combination

6
7
8
9
10
11

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 evalan, se podan, se seleccionan y se explotan.

12

Cada nodo hace referencia a una solucin parcial (o relajada) del problema. Dicha solucin parcial

13

puede ser valorada, por lo que ya se sabe de la solucin, o por lo que las futuras incorporaciones a la

14

solucin incorporarn.

15
16
17
18

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 sub-conjunto de opciones que permiten definir un poco ms la informacin.

Pgina 107 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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: cul es el nodo padre, evaluacin, que informacin incorpora a la solucin

del nodo padre, si est explotado o no).

5
6

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,

10

mantener abiertos. Adems cada vez que se genere una solucin completa hay que comprobar si

11

mejora la mejor solucin disponible hasta este momento.

12

Ejemplo 20

13
14
15
16
17
18
19
20
21
22

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:

23

a) La funcin de evaluacin de cada nodo.

24

b) El modo de seleccionar el nodo a explotar.

25

c) El modo de explotar el nodo seleccionado.

26

d) Los criterios por los cuales se cierran nodos

27
28

12.3.3 Funciones de evaluacin

29

La funcin de evaluacin considera dos paquetes de informacin que suministra la solucin parcial

30

que, como tal, tiene el nodo. Por una lado la parte de la solucin que ya est completamente detallada.

31

Por el otro la informacin asociada a la parte de la solucin que no se ha definido.

32
33

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.

34

Si el componente de la funcin de evaluacin del nodo ligado a la fase ya definida de la solucin se

35

conoce de modo exacto se definir como g*(n). Si el componente de la funcin de evaluacin del nodo

36

ligado a la parte no definida de la solucin se conoce de modo exacto se definir como h*(n).

Pgina 108 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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:

4
5

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.

10
11
12

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:

13

b) La facilidad de bsqueda del nodo

14

c) La rapidez en la que se encuentran soluciones completas

15

d) La rapidez en la que se encuentran buenas soluciones completas

16

Los criterios ms habituales son:

17

a) Seleccin aleatoria

18

b) Primero el ms antiguo (FIFO)

19

c) Primero el ms moderno (LIFO)

20

d) Primero el ms profundo (bsqueda en profundidad)

21

e) Primero el menos profundo (Bsqueda en Anchura)

22

f)

23

g) Primero el de mejor cota (f(n))

24

h) Primero el de mejor esperanza

25

Primero el de menor coste (g(n))

12.3.5 Generacin de nodos (explosin)

26

Cada problema tiene un mecanismo de generacin de nodos (una vez seleccionado el mismo)

27

diferente. No es posible proponer un mecanismo general. Aunque s hay algunos criterios que se deben

28

observar. En primer lugar debe generar todas las opciones posibles a partir del nodo explotado, y no

29

debe conducir a la generacin de una cantidad excesiva de nodos en cada explosin.

30
31

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.

Pgina 109 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3

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.

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.

10

Algunos nodos estarn dominados por otros nodos ya creados, en ese caso se debe cerrar el nodo.

11

Otros nodos podran tener alguna caracterstica que les impidiera conducir a un ptimo en cuyo caso

12

pueden tambin ser cerrados.

13
14
15
16
17
18
19
20
21
22

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.

23

Las tcnicas Laser generan, a partir de cada nodo abierto, soluciones, mediante heursticas rpidas,

24

aunque la exploracin se hace tambin por niveles. Este mtodo permite tener buenas soluciones sin

25

necesidad de acabar el procedimiento que garantizara el ptimo.

26

Pgina 110 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3
4

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.

10

La mejor solucin en un vecindario es un ptimo con respecto a su vecindario.

11

A continuacin se describen los tres tipos de vecindario ms habituales.

12
13
14
15

13.1.1 Intercambio de 2 elementos


Son vecinos de una determinada solucin todas aquellas soluciones alcanzables mediante el
intercambio de dos elementos de la solucin.
Ejemplo: Sea ABCDEFGH la solucin original considerada. Un intercambio de los elementos 3 y 6

16

proporcionara la siguiente solucin ABFDECGH.

17

13.1.2 2-opt

18

Son vecinos de una determinada solucin todas aquellas soluciones mediante el siguiente

19

movimiento: Tras seleccionar dos elementos de una solucin invertir el tramo que hay entre los mismos.

20

Este tipo de vecindario ha demostrado su superioridad, en general, frente al del intercambio simple.

21

Adems todos los vecinos segn el proceso de intercambio son vecinos en segundo nivel del vecindario

22

2-opt. Lo mismo ocurre con los vecinos encontrados mediante el proceso Insertar.

23

Ejemplo: Sea ABCDEFGH la solucin original considerada. Un 2-opt de los elementos 3 y 6

24

proporcionara la siguiente solucin ABFEDCGH.

25

13.1.3 Insertar

26

Son vecinos de una solucin mediante el proceso de insercin aquellos en los que se coge un

27

elemento y se inserta entre otros dos elementos. Los vecinos as conseguidos son vecinos en segundo

28

nivel del vecindario 2-opt.

29
30

Ejemplo: Sea ABCDEFGH la solucin original considerada. Insertar 3 en 6 proporcionara la siguiente


solucin ABDEFCGH.

Pgina 111 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

13.2 Algoritmos de Mejora basados en Vecindario

13.2.1 Nomenclatura

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

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.

Pgina 112 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

14 PROCEDIMIENTOS META-HEURSTICOS

Los procedimientos meta-heursticos 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.

5
6
7
8
9

Las meta-heursticas 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 meta-heursticas requieren
algn tipo de representacin que por tanto es dependiente de cada problema.
Entre las meta-heursticas ms conocidas se puede destacar:

10

Algoritmos Genticos

11

Scatter Search

12

Algoritmos Memticos

13

Algoritmos de Hormigas

14

Redes Neuronales

15

GRASP

16

Recocido Simulado

17

Bsqueda Tab

18

Iterated Local Search, Variable Neighborhood Search

19

14.1 Procedimientos de poblacin

20

Segn (Osman, 1995) las meta-heursticas de poblacin, a la que pertenecen los algoritmos

21

genticos, presentan todo o parte del siguiente esquema de la Ilustracin 1: Estructura genrica de las

22

Meta-heursticas (Osman, 1995). En este esquema se puede observar que todos los procedimientos

23

empiezan obteniendo una generacin inicial (que algunas veces pueden estar constituidas por un solo

24

individuo). Esta generacin pasa a una segunda etapa (bsqueda por generacin de movimientos) o a

25

una tercera (bsqueda por generacin de soluciones). En la segunda etapa puede ser usado cualquier

26

procedimiento de bsqueda local que generan vecindarios a partir de una solucin nica. Los mtodos

27

de bsqueda por individuos pueden operar sobre cada individuo de la generacin actual.

Pgina 113 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

Generacin de la Poblacin Inicial


Bsqueda en el espacio de soluciones
Poblacin para la generacin actual
Bsqueda mediante generacin de movimientos
Bsqueda local
Generacin temporal de la poblacin

Bsqueda mediante generacin de soluciones


Bsqueda evolutiva

Poblacin para la siguiente generacin

Fin de la bsqueda

1
2

Ilustracin 1: Estructura genrica de las Meta-heursticas (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

10

mecanismos que se observan en la evolucin de las especies. Basndose en las principales

11

caractersticas de la reproduccin sexual, Holland cre un algoritmo que genera nuevas soluciones a

12

partir de la unin de soluciones progenitoras utilizando operadores similares a los de la reproduccin, sin

13

necesidad de conocer el tipo de problema a resolver.

14

Una ventaja importante que presentan las heursticas frente a las tcnicas que buscan soluciones

15

exactas es que, por lo general, permiten una mayor flexibilidad para el manejo de las caractersticas del

16

problema. No suele ser complejo utilizar algoritmos heursticos que en lugar de funciones lineales

17

utilicen no-linealidades. Habitualmente las heursticas proponen un conjunto de soluciones, ampliando

18

de esta forma las posibilidades de eleccin del decisor, especialmente cuando existen factores no

19

cuantificables que no han podido ser reflejados en el modelo pero deben ser tenidos en cuenta.

20

En resumen, podra decirse que el uso de estas tcnicas supone la posibilidad de resolver, de forma

21

prctica, problemas de gran complejidad que resultaban intratables mediante tcnicas exactas y permite

22

definir con detalle el metabolismo del sistema.


Pgina 114 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

Los algoritmos genticos son una clase de algoritmos inspirados en los mecanismos de la gentica,
que se aplican a problemas de optimizacin (especialmente 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]

Un algoritmo gentico es una meta-heurstica que permite, a partir de una poblacin inicial de

soluciones, obtener soluciones potencialmente mejores mediante el cruce de varias de las soluciones

originales.

10
11
12
13
14
15

Requieren el diseo de tres operadores (generalmente de tipo probabilstico) que actan sobre
objetos denominados strings.

Reproduccin. Seleccin de strings para poder proceder a la reproduccin


Cruce. Combinacin de dos o ms strings para que intercambien valores, reproducindose.
Mutacin. Alteracin espontnea de los elementos de un string

Estos procesos pueden tener cada uno formas variadas, e incluso se permite el avance en paralelo

16

de algoritmos genticos con el mismo propsito.

17

14.1.1.1 Estructura General de un Algoritmo Gentico.

18
19
20
21
22
23
24

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

Seleccin de progenitores
Aplicacin de los
operadores genticos
Actualizar la poblacin

No
Se cumple la condicin de parada?
Si

25
26

Mostrar la mejor solucin de la


poblacin final. Fin

Figura X

Pgina 115 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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 no eran factibles

con lo cual posteriormente haba que reparar.

5
6

Otro modo de representar soluciones tiles 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), se puede

exigir N Vectores con codificacin combinada. En el caso del Flow Shop Hbrido un buen modo de

representar es un vector que representa la secuencia de operaciones y otro vector las mquinas donde

10

cada producto va destinado.

11

Tambin se pueden utilizar vectores n-dimensionales cuyo problema fundamental es el de definir

12

mtodos de cruce eficientes (Ej: Vector Bidimensional para la Programacin de Produccin en Mquinas

13

en Paralelo).

14

Por ltimo existen vectores con codificacin implcita como por ejemplo para la codificacin del

15

balance de lneas en los que una correcta codificacin es una exigencia para obtener resultados

16

razonables.

17

14.1.1.3 Definicin de la Medida de Evaluacin de cada Solucin (Fitness)

18
19
20
21
22
23
24
25
26
27

El procedimiento de evaluacin de una solucin es especialmente importante en un algoritmo


gentico, pues se va a utilizar muchas veces.

Fitness(x)= Valor funcin objetivo


Fitness(x)= Valor funcin objetivo normalizada
Fitness(x)= Valor funcin objetivo normalizada Penalizacin por infactibilidad
Otros

14.1.1.4 Definicin de Mtodos para la Generacin de la Poblacin inicial


Procedimientos:

Generacin Aleatoria
Heursticas conocidas

28

El tamao de la Poblacin es especialmente relevante. Un tamao demasiado grande genera

29

dispersin de resultados Un tamao demasiado pequeo genera una excesivamente rpida

30

convergencia de soluciones. Una pregunta interesante al disear un algoritmo gentico es si debe

31

mantenerse constante a lo largo del proceso.

32

14.1.1.5 Definicin de Mtodos para la seleccin de dos (o ms) padres de la Poblacin Inicial.

33

El nmero de padres seleccionados es generalmente dos (aunque puede ser mayor si el

34

procedimiento de cruce lo permite). El modo de seleccin de los padres se suele realizar mediante el

35

uso de la denominada ruleta. Se asignan probabilidades a los padres en funcin de su fitness.

Pgina 116 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1/6 = 17%

fitness(A) = 3
fitness(B) = 1
fitness(C) = 2

A B C

3/6 = 50% 2/6 = 33%

1
2
3
4

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

1-3-5-2-4-6-8-7

_-_-5-2-4-_-_-_

2-4-6-8-1-3-5-7
_-_-5-2-4-3-_-7

6-8-5-2-4-3-1-7

10
11
12
13
14

Se completa con
cromosomas del
segundo padre dentro
de la zona
intercambiada

Figura X
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.

15

El problema de la primera aproximacin es que la convergencia a una buena solucin puede ser

16

lenta. El problema de la segunda aproximacin es que tiene una tendencia inicial que ser difcilmente

17

superada.

18

14.1.1.8 Seleccin de Padres

19
20

El nmero de padres seleccionados es generalmente dos (aunque puede ser mayor si el


procedimiento de cruce lo permite).

21

El modo de seleccin de los padres se suele realizar mediante el uso de la denominada ruleta. En

22

ella se asigna una probabilidad a cada padre proporcional a su fitness de tal modo que la suma de

23

probabilidades sea la unidad.


Pgina 117 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3

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 ms entre s.

En el caso del operador two-point crossover, 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.

10

En muchas ocasiones el resultado as obtenido no es una solucin factible. En estos casos hay que

11

proceder a realizar una operacin de reparacin en la que se genera factibilidad al resultado obtenido.

12

14.1.1.10 Actualizar Poblacin

13

El argumento fundamental de los algoritmos genticos no es que obtienen buenos resultados a partir

14

de la exploracin ligada a una poblacin inicial, sino que la poblacin evoluciona a medida que se

15

obtienen soluciones mejores.

16

Dicha evolucin se consigue por la va de sustituir (de uno en uno o en paquetes) elementos de la

17

poblacin anterior por soluciones obtenidas durante la ejecucin del algoritmo.

18

14.1.1.11 Monitorizacin de Convergencia y Mutacin

19

Cada cierto tiempo es interesante realizar operaciones de mutacin, para garantizar que la poblacin

20

no converja demasiado rpidamente. Generalmente son operaciones en las que el vector obtenido es

21

afectado por alguna operacin de bsqueda de vecindario como la insercin o el intercambio de dos

22

elementos.

23

La monitorizacin de la convergencia permite lanzar procedimientos de mutacin si es necesario. Un

24

modo de monitorizar la convergencia es contabilizar para toda la poblacin si se repiten los mismos

25

valores en las posiciones.


1 .3
B e s t F it n e s s
M e a n F it n e s s

1 .2
1 .1
1

F it n e s s

0 .9

0 .8
0 .7
0 .6
0 .5
0 .4
0 .3

26
Pgina 118 de 181

10

20

30

40
G e n e ra t io n s

50

60

70

80

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Figura X

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 meta-heurstico de poblacin para resolver

problemas de optimizacin. Aunque fue originalmente introducido en los aos setenta, recientemente es

10

cuando ha sido probado en numerosos problemas difciles con gran xito (Glover, Laguna, and Marti,

11

2003).

12

Pertenece a la familia de los llamados Algoritmos Evolutivos, y aunque presenta similitudes con los

13

Algoritmos Genticos, difiere de stos en principios fundamentales, tales como el uso de estrategias

14

sistemticas en lugar de aleatorias o la posibilidad de combinar ms de dos elementos.

15

Scatter

Search proporciona un marco flexible que permite el desarrollo de diferentes

16

implementaciones con distintos grados de complejidad. El mtodo consta de las siguientes etapas:

17

Generacin de la Diversidad, Mtodo de Mejora sobre la poblacin anterior, seleccin de la poblacin de

18

referencia, seleccin de un sub-conjunto para la combinacin, combinacin y actualizacin de la

19

poblacin de referencia.

20

Comienza con una coleccin de puntos de referencia (obtenidos mediante la aplicacin de otros

21

procedimientos). Se parece a los algoritmos genticos excepto que en la bsqueda scatter la

22

combinacin de elementos de la poblacin es una combinacin lineal que es posteriormente adaptada

23

para convertirse en una solucin.

24

Los algoritmos memticos tambin pertenecen a los algoritmos basados en poblaciones. Explicado

25

de una manera muy bsica utiliza el operador de cruce de los algoritmos genticos, pero al obtener un

26

hijo le aplica mtodos de mejora local.

27

14.2 Meta-heursticas de Bsqueda de Entornos

28

14.2.1 GRASP

29

Probablemente el modo ms sencillo para evitar los ptimos locales es empezar por puntos

30

diferentes cada vez el camino de descenso(Marti, 2003). Esta es la lgica bsica del procedimiento

31

denominado Greedy Randomized Adaptive Search Procedure-GRASP- (Resende and Ribeiro, 2003). La

32

generacin de los puntos de inicio es la parte voraz, aleatoria y adaptativa del proceso mientras que la

33

bsqueda local es el componente search. Este algoritmo de muy fcil implementacin, puede ser

34

tambin paralelizado o integrado con otras meta-heursticas.

Pgina 119 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

GRASP es el acrnimo de Greedy Randomized Adaptive Search Procedures. Es una meta-heurstica

que empieza la resolucin del problema en diferentes puntos del espacio de soluciones y una vez re-

empieza utiliza un procedimiento heurstico para completar o mejorar la solucin, alcanzando un ptimo

local.

5
6

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 meta-heurstica 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 procedimiento denominado Greedy

Randomized Adaptive Search Procedure-GRASP- (Resende et al., 2003). La generacin de los puntos

10

de inicio es la parte voraz, aleatoria y adaptativa del proceso mientras que la bsqueda local es el

11

componente search. Este algoritmo de muy fcil implementacin, puede ser tambin paralelizado o

12

integrado con otras meta-heursticas.

13

Otro modo de concebir las estructuras GRASP es mediante el uso de heursticas constructivas

14

aleatorias (randomizadas).

15
16

Figura X

17

Dicha estructura utilizara un algoritmo heurstico constructivo voraz, sustituyendo el criterio de

18

seleccin del siguiente elemento a incorporar a la seleccin por un criterio estocstico. De este modo, en

19

el problema TSP, en lugar de elegir, por ejemplo, el vecino ms cercano, se elige aleatoriamente de

20

entre los 3 vecinos ms cercanos, o de entre aquellos vecinos que slo estn un 10% ms lejos que el

21

ms cercano de los vecinos.

22

14.2.2 ILS y VNS

23

La idea de reiniciar la bsqueda de nuevo es interesante, pero para espacios de solucin extensos

24

puede llevar a un procedimiento no eficiente. Por ello la Iterated Local Search (Loureno et al., 2003)

25

pretende comenzar la bsqueda de nuevo no por cualquier lado si no por puntos del espacio que son

Pgina 120 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

modificaciones no demasiado fuertes- de soluciones ya encontradas previamente. Especficamente se

puede citar la Bsqueda de Vecindario Variable (Variable Neighborhood 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

10

Kirkpatrick (cita) a principio de la dcada de los 80 del siglo XX para la optimizacin de problemas

11

combinatorios con mnimos locales. Utilizan tcnicas de optimizacin no determinista: no buscan la

12

mejor solucin en el entorno de la solucin actual sino que generan aleatoriamente una solucin cercana

13

y la aceptan como la mejor si tiene menor coste, o en caso contrario con una cierta probabilidad p; esta

14

probabilidad de aceptacin ir disminuyendo con el nmero de iteraciones y est relacionada con el

15

empeoramiento del coste (Henderson et al., 2003).

16

El recocido simulado est basado en un cmo funciona el proceso fsico de recocido. En el proceso

17

de bsqueda de soluciones permite movimientos que no mejoran con una probabilidad que decrece a lo

18

largo del tiempo. El ratio de dicho decrecimiento queda determinado por el programa de enfriamiento

19

que casi siempre es un parmetro usado como ratio de decrecimiento exponencial.

20

Ejemplo

21
22
23
24
25
26
27
28
29
30
31
32
33
34

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 Bsqueda Tab (Tabu search)

35

Otro mtodo meta-heurstico que pretende dotar de "inteligencia" a los algoritmos de bsqueda local

36

es denominado de Bsqueda Tab (Gendreau, 2003). La bsqueda tab, a diferencia de otros

37

algoritmos basados en tcnicas aleatorias de bsqueda en vecindario, se caracteriza porque utiliza una

38

estrategia basada en el uso de estructuras de memoria para escapar de los ptimos locales, en los que

39

se puede caer al "moverse" de una solucin a otra por el espacio de soluciones. Al igual que en la

40

bsqueda local, la bsqueda tab selecciona de modo agresivo el mejor de los movimientos posibles en

Pgina 121 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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 meta-heurstica que resuelve problemas de optimizacin, basndose 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 meta-heurstica 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:

10
11
12
13
14
15
16
17
18
19
20
21

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

22

especificaciones ms complejas.

23

14.3 Meta-heursticas basadas en el reconocimiento de patrones

24

14.3.1 Redes Neuronales

25

Las redes neuronales artificiales, son sistemas de procesamiento de la informacin cuya estructura y

26

funcionamiento emulan a las redes neuronales biolgicas. Los elementos simples de procesamiento de

27

una red neuronal artificial tambin se denominan neuronas y el peso de sus conexiones, pesos

28

sinpticos. Las redes neuronales tienen una gran utilidad en sistemas de prediccin. Mediante un

29

histrico de datos (y de salidas) se establecen las relaciones entre los datos y las salidas

30

(entrenamiento), de tal modo que a un nuevo juego de datos le correspondera una nueva salida.

31

14.3.2 Algoritmo de Colonia de Hormigas (ACO)

32
33

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.

Pgina 122 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

Figura X

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.

Pgina 123 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

utilizamos otro componente 3 que se compra al precio de 5/unidad, lo ensambla el recurso D en 15

11

minutos cada unidad.

12

El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de

13

20/unidad, pasa por el recurso A donde est 10 minutos y luego por el proceso B donde est 15

14

minutos. Finalmente es ensamblado por el recurso D en 5 minutos. El mes tiene 20 das de 8 horas. Los

15

gastos totales son 3600/semana.

16

a) Cul es el mejor plan de produccin para la empresa? Qu beneficio le aporta?

17

b) Cul es el valor de una hora ms de cada recurso productivo?

18

c) Establecer un objetivo que pretenda maximizar el ratio beneficio entre horas totales de

19

trabajo.

20

d) Cmo incorporar limitaciones en la disponibilidad de materia prima?

21

e) Cmo incorporar un nmero indefinido de productos al modelo?

22
23

15.2 Problema de Corte

24

Una empresa tiene barras metlicas de 12,5 metros. Un da cualquiera recibe pedidos que acumulan

25

los siguientes cortes: 5 barras de 3 metros, 4 barras de 4 metros, 3 barras de 5 metros, 5 barras de 6,5

26

metros.

27
28

Defina un modelo que genere un plan de corte con el mnimo resto posible.

15.3 Centralita Telefnica

29

Una empresa tiene una centralita telefnica que debe atender durante 17 horas al da. La demanda

30

de operadores para las diferentes horas es variable. Puede contratar trabajadores a una ETT por 4,5,6,7

31

y 8 horas al da. Cada tipo de contrato tiene un coste diferente.

Pgina 124 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

Defina cuntos contratos de cada tipo ha de hacer para cada hora de una jornada.

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?

10
11
12

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.

13

Cada centenar de producto A requiere 2 horas de Mecanizado y 2 horas de Acabado.

14

Cada centenar de producto B requiere 3 horas de Mecanizado y 2 horas de Acabado.

15

Cada centenar de producto C requiere 2 horas de Mecanizado y 1 horas de Acabado.

16

Adems para poner en marcha cada mquina hay que utilizar mano de obra, de la que disponemos 4

17

unidades por turno. Los costes de personal semanales se evalan en 3000.

18

La semana laboral tiene 120 horas.

19

Se plantean dos escenarios de precios por centenar de unidades con probabilidades respectivas del

20

30% y del 70%.


e=1
e=2

21
22

Prob.
30%
70%

Valor A
50
40

Valor B
50
60

Valor C
40
30

Las demandas estn limitadas en 5000 unidades de producto A y 4000 unidades de producto B y
5000 unidades de producto C.

23

1. Plantear el problema para el beneficio promedio esperado.

24

2. Plantear el problema para Maximizar el mnimo beneficio con Programacin Lineal.

25

3. Maximizar el beneficio por hora trabajada con Programacin Lineal.

26

4. Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el

27
28
29

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.

Pgina 125 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10
11

300 y variable de 2 por unidad fabricada.

15.6 Localizacin

12

Dado un conjunto de ciudades, con un beneficio asociado de servirlas y un coste de implantar un centro de

13

servicio en cada una de ellas, y unidas mediante carreteras de diferente longitud grafo conexo). Asumiendo

14

que desde una ciudad se puede servir a otras ciudades si la distancia no es superior a un cierto valor.

15

a) Cmo cubrir todas las ciudades a mnimo coste?

16

b) Cmo obtener el mximo beneficio con coste limitado?

17

c) Cmo obtener mxima rentabilidad?

18

d) Cmo imponer que se debe implantar en A o en B?

19

e) Cmo imponer que se debe implantar en A y en B?

20

f)

21

g) Cmo imponer que si implantas en A no debes hacerlo en B?

22

h) Cmo imponer que si implantas en A y en B debes hacerlo en C?

Cmo imponer que si implantas en A debes hacerlo en B?

23
24

15.7 Vinos Don Pepn

25

Don Pepn es la marca comercial de una empresa dedicada a la elaboracin de vinos, zumos y

26

licores. Cuando llega la poca de la vendimia, se debe decidir qu cantidad de 2 tipos bsicos de

27

uvas debe comprar.

28

La uva la utiliza para fermentarla, tras un proceso de mezcla directamente dando lugar a tres tipos

29

de vinos (Tinto, Rosado y Blanco). Tambin la puede utilizar para venderla como zumo de uva. Y

30

por ltimo la puede fermentar de un modo acelerado y tras destilarla obtener alcohol etlico y un

31

poso que se utiliza tambin para el zumo de uva.

32

Cada kilo de uva comprado da lugar a 0,80 litros de cualquiera de los lquidos finales.

Pgina 126 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

10

El precio en el mercado mayorista del vino tinto Don Pepn es de 1 el litro, el vino Rosado se

11

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.

12

Mientras que el alcohol etlico obtenido de la uva se vende a 1,2 por litro.

13

Los precios de compra actuales de cada tipo de uva son 60 los 100 kilos de tipo 1, y 50 los 100

14

kilos de uva de tipo 2.

15

Sean X1 y X2 las toneladas de uva de cada tipo que se compran. Sean V1, V2 y V3 los hectolitros

16

de cada tipo de vino que se venden. Sea Z los hectolitros de zumo e Y los hectolitros de alcohol

17

etlico.

18

a) Fija una funcin objetivo para un modelo que pretenda maximizar beneficios.

19

b) Fija las restricciones del modelo anterior.

20

c) Incorpora la restriccin de que la capacidad de fermentacin mxima de vino es de 5000

21

hectolitros.

22

d) Incorpora las restricciones financieras segn las cuales no es posible adquirir ms 600.000 de

23

uva en esta temporada.

24

e) Suponga que algunas limitaciones del mercado imponen que al menos un 20% del Vino total

25

producido debe ser Vino Tinto, al menos un 30% debe ser Vino Rosado, y al menos un 20% debe

26

ser Vino Blanco.

27

f) La empresa ha decidido hacer zumo 100% natural, para ello se utilizar el agua que resulta de la

28

fermentacin y nada de agua externa.

29

g) Con la capacidad propia anterior, se podran alquilar unas cubas de fermentacin con un coste

30

fijo de 100 y un coste variable por hectolitro de 10. Cmo incorporar esta condicin?

31

h) Cmo incorporara la condicin de que o bien se compra uva de tipo 1 o se compra uva de tipo

32

2, pero no las dos simultneamente?

33

Pgina 127 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.


Cantidad

Mes 1
30

Mes 2
40

Mes 3
55

Mes 4
30

Mes 5
60

Mes 6
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 es de 8 horas. El nmero

de das laborables por mes es de 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

zapatillas de un mes para otro es de 0.1 por par. Se dispone de 200 pares en stock en estos

momentos.

10

a) Establecer el modelo que permite definir el plan de trabajo para los prximos meses a mnimo

11
12

coste.
b) Suponga que tiene un compromiso con los trabajadores de utilizar cada dos meses al menos un

13

25% de la capacidad en horas extra actual.

14

c) Cmo limitar la capacidad del almacn?

15

d) Suponga que el objetivo sea minimizar el mximo stock entre periodos.

16

e) Suponga que el objetivo es minimizar las diferencias de produccin entre un mes y el siguiente:

17
18

para cualquier mes.


f)

19
20

demanda?
g) Cmo hara periodos de duracin variable? Por ejemplo la consideracin de meses de diferente

21
22

cantidad de das.
h) Cmo incorporara diferentes tipos de zapatillas en el modelo, para poder hacer un plan

23
24

Cmo modelara que se pretende minimizar la mxima desviacin entre la produccin y la

conjunto?
i)

Suponiendo e) Cmo incorporara un precio fijo a fabricar de un tipo o de otro en cada periodo

25

de tiempo? Bsicamente es como un coste de cambio de partida, si se fabrica el tipo A, se paga

26

una penalizacin dependiente de A.

27

j)

28

k) Sobre el modelo original podra incorporar una lista de materiales del producto a fabricar, para

29

establecer sus planes de compra? Suponga un plazo de entrega de un mes para cada

30

componente.

31

l)

Cmo limitara los tipos de producto a fabricar en cada periodo de tiempo?

Plantear el dual del problema original.

Pgina 128 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10

algunos de los centros de distribucin.

11

a) Cmo modelara el problema?

12

b) Cmo incorporara la consideracin de diferentes productos en el mismo sistema logstico?

13

c) Cmo definira un modelo que pretendiera minimizar la diferencia de uso de capacidad entre las

14

dos destileras, siempre que no se sobrepasaran los costes totales ptimos ms que en un 20%?

15

d) Cmo incorporara la posibilidad de servir directamente a las zonas de clientes desde las

16

destileras?

17

e) De los 3 centros de distribucin del modelo original slo pueden quedar 2. Modele la situacin.

18

f)

19
20

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

21
22

40%. Cmo evaluara en cul de ellos compensa invertir?


h) Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en

23
24

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

25

en 5 aos, y unos costes de funcionamiento Fijos y Variables. Cmo plantear el problema para

26

saber si ser rentable y a quien afectar el cambio?

27

j)

28
29

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,

30

o triplicar su capacidad a diferentes costes. Modele el problema.

31

l)

32

m) Los costes variables de trasiego en cada centro de distribucin, crecen proporcionalmente a la

33

La capacidad de la destilera 2 puede ser superada con un coste adicional por unidad vendida.

raz cuadrada del volumen movido. Modele la situacin.

Pgina 129 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

15.10 PKJu Electricidad

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

10
11
12

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

13

La empresa compra y vende un solo producto de un proveedor taiwans. El tipo de entrega es en

14

bodegas del cliente, esto es, usted paga un precio de compra (PC) por el producto (que es variable para

15

los distintos periodos de tiempo) y el proveedor se hace cargo de todo el transporte, aduanas y dems

16

gastos asociados.

17
18
19
20

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.

21

La demanda (D) de nuestro producto vara con los periodos, aunque su variabilidad es conocida con

22

un margen de error pequeo. El precio de venta es conocido y variable por periodo (PV). La empresa

23

suele cobrar 3 semanas despus de haber producido la venta.

24

El saldo negativo del flujo de caja (diferencia entre cobros y pagos) tiene un coste financiero (CF), del

25

mismo modo que el saldo positivo lleva asociado un coste de oportunidad (CO). Adems no es posible

26

sobrepasar el saldo negativo en ms de una cierta cantidad lmite (LN). La empresa, como cualquier

27

empresa seria, tiene una previsin de pagos (PP), que es variable segn los periodos. Esta previsin

28

incluye los gastos como nminas, beneficios, energa, alquileres pero excluye los gastos de adquisicin

29

de materiales (porque de esto se encarga su programa informtico).

Evidentemente esto es una simplificacin para empezar.

Pgina 130 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Como es evidente, el objetivo de la empresa es ganar la mxima cantidad de dinero posible . Los

periodos de previsin que usted considera son semanas. Y el horizonte de planificacin es de 26

semanas.

a) 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 wt: flujo

de caja negativo en el periodo t

b) Cmo se modifica el modelo si hubiera ms de un producto que se recibe del mismo

10

proveedor? Construya el modelo.

11

c) Suponga que si en un periodo se produce compra de alguno de los productos hay que pagar un

12

coste fijo (SU) por transporte. Modele la situacin.

13

d) Suponga que puede diferir demanda de un periodo a otro con un coste suplementario (Ki,t) por

14

unidad diferida por periodo. El ingreso que se producir ser acorde al precio de venta en la

15

semana en que el cliente quera adquirir el producto.

16

e) Suponga que hay descuentos por cantidad para cada producto, de tal modo que los precios de

17

compra por unidad son los siguientes:

Ai si la cantidad a comprar es menor que 100

Bi si la cantidad a comprar esta en [100,500[


PCi =
Ci si la cantidad a comprar esta en [500,1000[
Di si la cantidad a comprar es mayor que 1000

18

19

Modele la situacin, respetando la linealidad del modelo.

20

f)

Un gran distribuidor le ofrece un contrato de compra garantizada para el prximo ao de (CGt)

21

unidades de uno de los productos en cada uno de los periodos. Sus condiciones son: f1) que el

22

precio por el que el distribuidor compra ha de ser un 25% inferior a nuestro precio de venta

23

habitual y

24

f2) los plazos de pago son de 9 semanas desde que el distribuidor adquiere el producto.

25

Sus estimaciones indican que de aceptar el trato este distribuidor se har con el 10% de su

26

demanda habitual estimada, que le comprar a l en lugar de a usted. Si no aceptase la oferta

27

sabe que perder un 5% de las ventas. Modele la situacin.

28
29

15.11 Equilibrado de Lneas


Se tiene un conjunto de tareas, cada una con una duracin y un conjunto de precedencias.

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 cunto 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.
Pgina 131 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

a) Dado un tiempo de ciclo. Establecer una asignacin que utilice el mnimo nmero de estaciones.

b) Cmo 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?

6
7

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

10

asignar los invitados a las mesas. Inicialmente Jorge y Nuria queran una boda ntima, como todos,

11

aunque ahora ya suman alrededor de 250 invitados.

12

Dicho reparto de invitados es una de las actividades ms tediosas de las que se encontrarn: El to tal no

13

se puede sentar con su concuado porque se llevan a muerte, dos invitados excusan en el ltimo

14

momento su asistencia...

15

Tienen un amigo, usted, gran experto en diseo de modelos e implementaciones informticas, que les va

16

a echar una mano, construyendo una aplicacin que permitir hacer y rehacer, modificar, imprimir las

17

listas, etctera.

18

Para ello considera que uno de los conjuntos de datos (en el modelo debe constituir uno de los ndices) a

19

considerar son las agrupaciones mnimas (individuos, matrimonios, parejas, tros y otras agrupaciones

20

de invitados). Estas agrupaciones mnimas son grupitos de invitados que no se pueden separar, por

21

razones ms o menos obvias.

22

Otro de los conjuntos de datos a considerar son las mesas. Cada una de ellas tiene una capacidad

23

diferente (entre 8 y 12 comensales cada una).

24

a) Plantee un modelo donde se pretenda minimizar el nmero de mesas a utilizar.

25

b) Plantee una restriccin que evite que dos cuados que se llevan mal se sienten en la misma

26

mesa.

27

c) Suponga que el nmero de mesas mximo viene fijado por la capacidad del saln. Suponga que

28

entre cada agrupacin mnima de invitados existe una relacin de afinidad (que los novios

29

valorarn numricamente). Plantee un modelo que persiga maximizar la suma de afinidades en

30

las mesas. Es decir, la afinidad entre dos agrupaciones mnimas se suma si pertenecen a la

31

misma mesa. Ser interesante en este apartado incorporar una variable binaria que indique si

32

cada par de agrupaciones mnimas est en una misma mesa.

33

En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una mesa

34

sin conocidos?

Pgina 132 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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
i: Recorre las pocas del
autor
j: Recorre las canciones
de cada poca

Datos
C: Capacidad del
soporte
di,j: Duracin de la
cancin j de la
poca i

Variables
Xi,j : Variable binaria que vale
1 si la cancin j de la
poca i se incorpora en el
soporte, 0 en caso
contrario

10

a) Defina la funcin objetivo.

11

b) Defina la restriccin de que las canciones seleccionadas deben caber en el soporte.

12

c) Si fijamos un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?

13

d) Cmo minimizara la diferencia entre el mximo y el mnimo nmero de canciones de cada

14

poca que ha puesto?

15

e) Desde c) Suponga que le piden que disee, con las mismas canciones, adems, una cinta de

16

audio para la venta en gasolineras (con dos caras de igual capacidad Ca). Disee el modelo

17

entero incorporando lo que considere conveniente.

18

f)

19
20

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

21

la poca 5 entran las dos o no entra ninguna.

22

h) Desde c) Suponga que pretende dotar de una cierta calidad al sistema. Para ello punta las

23

diferentes canciones y pretende que la calidad del CD sea lo mxima posible. Modele la nueva

24

funcin objetivo.

25

i)

Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas

26

canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)

27

que permiten maximizar el ratio calidad/precio.

28

Pgina 133 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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:

5
Carga
C1
C2
C3
C4

Peso (Tm)
18
20
10
16

Volumen (m /Tm)
500
600
550
400

Beneficio (/Tm)
300
450
350
275

6
7

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


Delantero
Central
Trasero

10
11

Capacidad en Peso (Tm)


12
16
10

Capacidad en Volumen (m )
6000
9000
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.

12
13

(1 punto)

a) Defina la funcin objetivo.

14

(1 punto)

b) Defina las restricciones que considere necesarias para establecer la limitacin de

15
16

capacidad en peso y volumtrica.


(1 punto)

17
18

demanda.
(1 punto)

19
20

d) Defina las restricciones que considere necesarias para establecer las consideraciones
de equilibrio de la carga.

(1 punto)

21
22

c) Defina las restricciones que considere necesarias para establecer la limitacin de

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

23

considerramos su producto como posible mercanca en nuestro avin, sin prdida de

24

beneficios?

Pgina 134 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

5
6

un 25% de la carga de tipo 1. Modele la situacin.


(1 punto)

7
8
9

h) Un cliente le indica que si transporta carga de tipo 2 debe tambin transportar al menos

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?

10
11
12

Pgina 135 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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

10

primera mquina hasta que el ltimo se acaba de producir en la ltima mquina.

11
12

16.1.2 Definicin de la estructura de la solucin

13

Una solucin es la permutacin que indica el orden en que se deben ejecutar los trabajos.

14

Una solucin se puede representar por un vector v[i] que define de modo ordenado la secuencia de

15

trabajo.

16
17
18

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,

19

es decir v(n).

20

Ejemplo X

21
22
23
24
25
26
27

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];

28
29
30
31
32
33
34
35

16.1.4 Un procedimiento de generacin aleatoria de soluciones


Ejemplo X
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])
Pgina 136 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

i:=i+1
end; // del while

3
4

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

8
9
10
11
12
13
14
15
16
17

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 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 a aadir es 0, evaluar el nodo y comparar contra la mejor solucin
obtenida. Guardar en su caso.

18
19
20
21
22
23
24
25
26
27
28
29

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.

30
31

16.1.6 Un procedimiento heurstico

32
33
34

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

35
36
37
38
39
40
41
42
43
44

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=13} (2j-1)*p(i,j)
Ordenar los productos segn prod decrecientes
Asignar a v la anterior ordenacin.

45
46

16.1.7 Un procedimiento de mejora local


Pgina 137 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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 intercambiar dos elementos de la permutacin.

El proceso de mejora local seleccionado es Mejora Iterativa Simple.

La solucin inicial se genera aleatoriamente.

Ejemplo X

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

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

23

La estructura de un algoritmo gentico es:

24
25
26
27
28
29
30

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

31
32
33
34
35
36
37
38
39
40

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.

41

16.2 Problema del viajante de comercio

42

16.2.1 Descripcin del Problema

43

Sea un conjunto de puntos de un plano a una cierta distancia unos de otros.

Pgina 138 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Se trata de unir todos los puntos mediante un circuito que slo visite cada nodo en una ocasin

minimizando el recorrido.

16.2.2 Definicin de la estructura de la solucin

4
5

La solucin se puede representar mediante una permutacin de los puntos a visitar.


16.2.3 Definicin del modo de evaluar la solucin

6
7
8
9
10
11

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

12
13
14
15
16
17
18
19

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

20

Un procedimiento enumerativo basado en ramificacin y poda requiere definir la funcin de

21

evaluacin de cada nodo, definir el modo en que se va a seleccionar el nodo a explotar, definir el modo

22

de explosin, definir el primero de los nodos y definir el modo de eliminar los nodos.

23
24
25
26
27
28
29
30
31
32

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.

33
34
35
36
37
38
39
40
41
42
43
44

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.

45
46
47

16.2.6 Un procedimiento heurstico


Un procedimiento heurstico de construccin sera el del vecino ms prximo.
Pgina 139 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4
5
6
7
8
9

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]];
end; //del while

10

Este procedimiento podra ser mejorado si se repitiera N veces y en cada ocasin se hiciera empezar

11

el ciclo por un nodo diferente y se guardara el mejor resultado. Adems se podra comenzar el tour por

12

el ltimo nodo, aunque este procedimiento slo producira mejoras en caso de matrices asimtricas.

13
14
15
16

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.

17

El vecindario seleccionado es el de provocar un 2-opt (o mutacin inversa).

18

El proceso de mejora local seleccionado es Mejora Iterativa Simple.

19

La solucin inicial se genera mediante la Heurstica Vecino ms Cercano.

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

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

35
36

16.2.8 Un algoritmo gentico

37

La estructura de un algoritmo gentico es:

38
39
40
41
42
43
44

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

45

Definir un tamao de poblacin inicial: 20.

Pgina 140 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

Se define un procedimiento de actualizacin: De cada 100 iteraciones se guardan las 18 mejores,

7
8
9

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.

10
11
12
13
14
15
16
17

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

18
19

16.3 Problema de Secuenciacin JIT

20

16.3.1 Descripcin del Problema

21

Sea una lnea de montaje donde se ensamblan 3 modelos de un determinado producto. De cada uno

22

de los modelos hay que fabricar una cantidad U[i] determinada. Se pretende, para garantizar la

23

regularidad, que es bsica en los sistemas Just-In-Time, que la produccin salga de modo tan

24

equilibrado como sea posible.

25

16.3.2 Definicin de la estructura de la solucin

26

Una solucin es una concatenacin de los diferentes tipos de productos, de tal manera que la

27

cantidad de cada tipo es al final igual a la demandada U[i].

28

16.3.3 Definicin del modo de evaluar la solucin

29

El criterio ms habitual para medir la calidad de una solucin es intentando evaluar la distancia que

30

separa la produccin acumulada en un determinado instante de la secuencia, de la que idealmente

31

habra que haber fabricado.

(Y

32

ik

ri )

33

Donde Yi,k es la produccin acumulada hasta k del producto de tipo i.

34

ri es el ratio de produccin de i, ri=Ui / T

Pgina 141 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

T es el nmero total de unidades a producir, es decir la suma de Ui para todo i.


16.3.4 Un procedimiento de generacin aleatoria de soluciones

3
4
5
6
7
8
9
10
11
12
13
14
15
16

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;
While h<T-1 do begin
j:=random(1...T-h)
intercambiar(v[h+1];v[h+j])
h:=h+1
end; // del while

17
18

16.3.5 Un procedimiento enumerativo de resolucin

19

Un procedimiento enumerativo basado en ramificacin y poda requiere definir la funcin de

20

evaluacin de cada nodo, definir el modo en que se va a seleccionar el nodo a explotar, definir el modo

21

de explosin, definir el primero de los nodos y definir el modo de eliminar los nodos.

22
23
24
25
26
27
28
29
30

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.

31
32
33
34
35
36
37
38
39
40
41
42
43
44

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.

45
46

16.3.6 Un procedimiento heurstico

Pgina 142 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

La modificacin del valor de permitir obtener diferentes secuencias con el mismo procedimiento.

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

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

26
27

16.3.8 Un algoritmo gentico

28

La estructura de un algoritmo gentico es:

29
30
31
32

generarPoblacionInicial;
while not(hayQueParar) do begin
eleccionarPadres;
construirNuevaSolucion;
Pgina 143 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4

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.

8
9

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.

10
11
12
13
14

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

15
16
17
18

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.

19
20
21
22

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.

23

La citada empresa compra planchas rectangulares de dimensiones DX y DY.

24

La explosin de la lista de materiales de la empresa a partir de los pedidos en firme genera un

25
26
27
28

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.

Pgina 144 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

Indices
i, j : Recorre los cortes
Parametros
DX , DY : Dimensiones X e Y de la Placa Origen
ai , bi : Dimensiones x e y de cada corte i
Variables
xi , yi : Posicion (x,y) de la esquina superior izquierda de la placa i
ri , si : Posicion (x,y) de la esquina inferior derecha de la placa i

ij {0,1} : =1 si un producto i esta mas a la izquierda que otro j (0 en caso contrario)


ij {0,1} : =1 si un producto i esta mas a arriba que otro j (0 en caso contrario)
i {0,1} : =1 si la orientacion del producto es la natural (0 si es la perpendicular)
t : maximo de todos los valores ri
w : maximo de todos los valores si

[ Maximize] ( DX t ) DY + ( DY w ) DX w t
Sujeto a:
ri = xi + bi i + ai (1 i )
si = yi + ai i + bi (1 i )
t ri

ri DX

si DY

w si

ij = 1 ( xi + ai x j )

i j

ij = 1 ( yi + bi y j )

i j

ij + ji + ij + ji 1 i j
xi , yi , ri , si 0

Sin que sirva de precedente se incorpora un ejemplo numrico)

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

Pgina 145 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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.

6
7
8
9
10
11
12
13
14
15

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)

16

Pgina 146 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3

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

8
9

Pero su manera de ganar dinero ser cientfica, y as tantas horas invertidas en Mtodos
Cuantitativos tambin sern tiles.

10

Quiere hacer un modelo matemtico que rellene una columna en la quiniela con un nmero limitado

11

de apuestas (todava no es rico), maximizando la probabilidad de acertar con unas limitaciones que ir

12

incorporando.

13

Sea i,1 la variable que indica que apuesta por la victoria del equipo de casa en el partido i.

14

Sea i,X la variable que indica que apuesta por el empate en el partido i.

15

Sea i,2 la variable que indica que apuesta por la victoria del equipo forneo en el partido i.

16

(1 punto)

17
18

partidos.
(1 punto)

19
20

a) Modele una restriccin (o juego de ellas) que asegure que apuesta en todos los

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)

21

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.

22

(2 puntos)

d) Modele una limitacin superior de 5 dobles y 2 triples.

23

(1 punto)

e) Establezca una restriccin que limite el nmero total de apuestas a 2000.

24

(1 punto)

f) Incorpore una funcin objetivo que maximice la probabilidad de acertar.

25

(2 puntos)

g) Un anlisis estadstico previo parece indicar que el ingreso esperado no crece

26

linealmente con las apuestas jugadas sino en una curva en S con los siguientes puntos

27

(en escala logartmica). Establezca un objetivo lineal que pretenda maximizar el ratio

28

beneficio esperado frente a coste de las apuestas.


Log(nmero de apuestas)
0
1
2
3
4

Log(coste de las apuestas)


-0,52
0,48
1,48
2,48
3,48

log(Beneficio Esperado)
0,04
0,30
1,00
3,00
4,48

Pgina 147 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

5
6
6,68

4,48
5,48
6,16

5,30
5,78
5,85

1
2

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

8
9

Notas de apoyo

10

Como sabe la Quiniela es un juego donde se deben acertar el mximo nmero de resultados de 14

11

partidos de ftbol (por el momento prescindiremos del 15). El resultado puede ser 1, X o 2.

12

Es decir gana el de casa, empatan o gana el de fuera.

13

Tras su estudio de la excelente prensa deportiva y el anlisis de vdeos, enfermeras, rbitros y

14

previsiones climatolgicas, usted establece una probabilidad de que en cada uno de los

15

partidos se produzca uno de los resultados (Pi,1 es la probabilidad de que en el partido i gane

16

el equipo de casa, Pi,X es la probabilidad de que en el partido i empaten y Pi,1 es la

17

probabilidad de que en el partido i gane el equipo visitante, evidentemente Pi,1+ Pi,X+ Pi,2=1).

18

Tenga en cuenta para el punto f) que en cada partido la probabilidad de acertar es la suma de las

19

probabilidades de los signos jugados. Y adems que la probabilidad de acertar la quiniela

20

es la multiplicacin de probabilidades. Y adems, si Xi es la probabilidad de acertar el

21

partido i

22

[ Maximize] X i

es equivalente a

[ Maximize] log ( X i )
i

23

Adems la funcin logaritmo se puede aproximar por este conjunto de puntos:


X
0,01
0,1
0,3
1

log(X)
-2
-1
-0,52
0

24

El nmero de apuestas jugadas es la multiplicacin para todos los partidos del nmero de columnas

25

jugadas en cada partido. As, si para un partido jugamos un doble entonces el nmero de

26

apuestas se multiplica por 2, y si jugamos un triple se multiplica por 3. Si el partido se juega

27

a simple el nmero de apuestas se multiplica por 1.

28

Recuerde que log(A*B)=log (A)*log(B) y log(A/B)=log (A) log (B)

Pgina 148 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

i ,1 + i , X + i ,2 1

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.

i ,1

i ,1

8
9

10

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.

A,1 = 1 B,2 = 1
B,2 A,1

11

d) Modele una limitacin superior de 5 dobles y 2 triples.

12

Definimos 3 variables binarias para cada partido (,

, ) que indicarn si es simple doble o triple.

yi = i ,1 + i , X + i ,2
yi = i + 2 i + 3i
1 = i + i + i

13

14

e) Establezca una restriccin que limite el nmero total de apuestas a 2000.

15

Definimos 3 variables binarias para cada partido (, , ) que indicarn si es simple doble o triple.

yi = i ,1 + i , X + i ,2
yi = i + 2 i + 3i
16

1 = i + i + i
numero de apuestas = 2numdobles *3numtriples 2000

log 2 i + log 3 i log ( 2000 )


i
i

17

f) Incorpore una funcin objetivo que maximice la probabilidad de acertar.

Pgina 149 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

Sea X i la probabilidad de acertar un determinado partido i:

X i = Pij ij
j

Sea Vi una variable equivalente a

[ Maximize] X i

log ( X i )
[ Maximize]

log ( X )
i

Sujeto a :
X i = 0, 011,i + 0,12,i + 0,33,i + 4,i

[ Maximize]

Vi = 21,i 2,i 0,523,i

1,i + 2,i + 3,i + 4,i = 1

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.

[ Maximize]

Beneficio
Beneficio

[ Maximize] log
[ Maximize ] log ( Beneficio ) -log ( Coste )
Coste
Coste

9
10
11

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

[ Maximize] ( B C )
Sujeto a :
B = 0, 041 + 0,30 2 + 3 + 3 4 + 4, 485 + 5,30 6 + 5, 78 7 + 5,858
C = 0, 521 + 0, 48 2 + 1, 483 + 2, 48 4 + 3, 485 + 4, 486 + 5, 48 7 + 6,168
12

A = log 2 i + log 3 i
i
i
yi = i ,1 + i , X + i ,2 i
yi = i + 2 i + 3i
1 = i + i + i

13

h) Una determinada combinacin se puede representar mediante una secuencia de 14 letras donde A

14

representa un 1, B representa una X, C representa un 2, D representa 1X, E representa

15

12, F representa X2 y G representa 1X2. Sea una posible solucin al problema planteado

16

ADEABCEFFBEBFB.

17

EDABBAEGAABCFF. Qu combinacin obtendra aplicando el operador gentico de

18

Order Crossover (OX) o Cruce, con el corte en las posiciones 5 y 9?

19

sea

otra

posible

solucin

al

mismo

problema

ADEABCEFFBEBFB
Pgina 150 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

EDABBAEGAABCFF

EDABBCEFFABCFF

3
4

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

10

cuadrado mgico y del cuadrado latino. Los cuadrados mgicos se remontan al 2800 AC en China,

11

aunque posteriormente aparecieron tambin el Antiguo Egipto y otros lugares. Consiste en definir los

12

valores de una matriz NxN de tal manera que ninguna de las celdas repita el valor y la suma de los

13

valores en cada fila y en cada columna (as como los de las dos diagonales principales) valgan lo

14

mismo. A ese valor se le denomina constante mgica.

15

Los cuadrados latinos sin embargo son ms recientes, hubo que esperar 4600 aos a que Euler los

16

describiera. Los cuadrados latinos son matrices de NxN celdas en las que N elementos se deben

17

asignar a cada celda, para que, en ninguna fila y en ninguna columna, se repita el mismo elemento dos

18

veces (son especialmente tiles en el diseo de experimentos).

19

El Sudoku es un cuadrado latino de 9x9 donde se deben rellenar las celdas con los dgitos del 1 al 9

20

y no slo se prohben las repeticiones en filas y columnas, sino que adems se prohbe la repeticin en

21

el interior de 9 zonas disjuntas de tamao 3x3. Adems se asignan algunos valores en algunas celdas, y

22

de este modo se pretende que haya una y slo una solucin al problema.

23
24

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.

25
26

Se pide:

Pgina 151 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

10

(Nuevamente este modelo no tendr objetivo, slo restricciones).

11

Dado que no todos los baistas disponen de CPLEX, plantear un procedimiento de

12

ramificacin y corte que permita obtener una solucin. El procedimiento debe ser lo ms eficaz

13

posible. Ramifica en cada nodo teniendo en cuenta los valores que puede asignar a cada celda,

14

y elimina el nodo si al explotarlo no hay ninguna posibilidad.

15

e) (1 punto) Proponga un mtodo para seleccionar el siguiente nodo a explotar.

16

f)

17

g) (1 punto) Qu informacin debiera tener en cuenta para que el descarte de opciones al abrir

18

cada nuevo nodo sea lo ms rpido posible? Proponga un modo de almacenar dicha

19

informacin.

20

(1 punto) Proponga un mtodo para explotar un nodo.

h) (1 punto) Desarrolle el rbol para las cuatro primeras celdas que vaya a generar.

21

Nota: (Esta nota es til a partir del apartado b) Un modo de garantizar que todos los elementos son

22

distintos, y pertenecientes a un conjunto limitado de opciones, es establecer un ndice para cada una de

23

las opciones. De este modo se puede definir la opcin a introducir en cada celda asignando a una

24

variable binaria, que identifique la celda y la opcin que se le ha incorporado, con el valor 1 (y 0 en caso

25

de que no se asigne dicho valor). As se podra definir una variable binaria

26

celda de coordenadas i y j se asigna el valor k.

27
28

ijk

que valiera 1 si en la

Nota 2: Si una restriccin no sabe cmo representarla escrbala en letra, recuerde que el proceso y
el orden del mismo es tan (o ms) importante que el resultado.

29
30

16.7 Secuenciando en la Lnea de Montaje

31

Una lnea de montaje de coches tiene en medio de su sistema un almacn formado por 4 lneas en

32

paralelo cada una con capacidad para alrededor de 20 coches, que sirve para absorber las fluctuaciones

33

entre la primera parte de la planta (denominada Trim) y la segunda parte de la misma (denominada

34

chasis).

Pgina 152 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 se denomina 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

10

puntos que calcular una funcin G(S*<i>). Y alguien ya tiene desarrollado el evaluador.

11

Tras explorar diferentes alternativas decide que lo mejor es buscar en cada iteracin del proceso (es

12

decir cada vez que hay que sacar un coche) la mejor secuencia posible de 10 unidades y sacar el primer

13

coche de dicha secuencia.

14

En una brillante idea se le ocurre que la representacin de la solucin ms adecuada, no es la

15

secuencia de unidades a extraer sino la secuencia de las lneas desde las que se van a extraer las

16

unidades. As una solucin (4,2,1,1,2,1,3,4) sacara primero el primer coche de la lnea 4 (que

17

evidentemente sabemos cul es), luego el primer coche de la lnea 2, luego el primero de la lnea 1

18

seguido del segundo de la lnea 1, posteriormente el segundo de la lnea 2 seguido del tercero de la

19

lnea 1, etctera.

20
21
22

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:

23

a) Disee un algoritmo que genere una solucin aleatoria.

24

b) Disee un algoritmo heurstico que genere una solucin que podamos considerar correcta.

25

c) Disee un algoritmo de tipo Mejora Local.

26

d) Disee un algoritmo de tipo gentico.

27

e) Modifique el algoritmo diseado en b) teniendo en cuenta que en las lneas el nmero de

28
29
30

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.

31

Para disear el algoritmo hay que hacerlo de la manera ms inteligible posible. Al ejecutar los

32

algoritmos invntese los datos que necesite. Si le hacen falta nmeros aleatorios, aqu tiene una

33

secuencia de nmeros entre 0 y 99.

Pgina 153 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

23
32
16
11
58
61
74
19
96

75
95
82
79
45
46
35
66
33

86
18
59
55
21
68
81
8
34

30
21
68
68
56
12
3
63
98

5
76
13
39
74
61
89
59
20

55
7
78
26
99
42
48
38
34

54
63
28
70
15
3
2
83
14

54
83
39
64
7
86
57
53
70

36
64
21
7
75
85
26
35
53

56
43
22
23
71
27
4
35
67

27
13
41
43
26
80
43
96
35

79
40
47
76
32
67
31
96
38

19
75
10
13
64
0
17
87
61

89
66
88
35
76
43
74
33
24

99
46
69
13
67
48
37
86
71

68
66
98
24
89
89
4
96
1

78
39
22
83
76
17
83
29
21

55
88
58
14
42
39
59
89
23

50
90
48
80
76
9
81
15
89

47
93
90
63
35
44
44
16
48

99
73
98
82
8
24
17
74
98

2
3

2411413432

1433142211

Resolucin

i : ndice que recorre las 10 posiciones de la secuencia a generar

j : ndice que recorre las 4 lneas desde las que se pueden extraer unidades

k : ndice que recorre las unidades en cada una de las lneas

rnd() : Funcin que define un nmero aleatorio entre 0 y 1

10

entero(x) : Funcin que trunca un nmero aleatorio y se queda slo con la parte entera

11

xi : Lnea de la que extraer en la posicin i

12

ajk : Vector que establece la unidad en posicin k del producto i

13
14

a)

Un algoritmo que genere una solucin aleatoria podra tener la siguiente estructura.

15
16
17

For i:=1 to 10 do begin


xi=entero(rnd()*4)+1;
end

18

Como ejemplo sean los nmeros de dos cifras una secuencia aleatoria entre 0 y 99.

19

Dividiendo esos nmeros por 100 tenemos nmeros entre 0 y 1.

20

La secuencia de 10 nmeros aleatorios es: 23 75 86 30 5 55 54 54 36 56

21

La secuencia de 10 lneas ser: 1 4 4 2 1 3 3 3 2 3

22

b)

Un algoritmo que genere una solucin que podamos considerar correcta podra tener la siguiente estructura

23
24
25

for i:=1 to 10 do begin


xi =Elegir la lnea cuyo primer producto disponible d un mejor valor de G(S*i)
end

26

Como ejemplo y dado que aqu no hay nada aleatorio, y dado que no tenemos valores para los

27

productos en el almacn no es posible poner nada ms que una secuencia de nmeros del 1 al 4. Por

28

ejemplo la anterior. La secuencia de 10 lneas ser: 1 4 4 2 1 3 3 3 2 3

29

Otro algoritmo que genere una solucin que podamos considerar correcta sera:

30
31
32

for i:=1 to 10 do begin


xi =Elegir la lnea cuyo primer producto disponible sea el ms antiguo de todos.
end

33

Otro algoritmo que genere una solucin que podamos considerar correcta sera:
Pgina 154 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2
3

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:

6
7

for i:=1 to 10 do begin


xi =La lnea con menor nmero de coches;

end

9
10

c) Un algoritmo de Mejora local exige definir un vecindario y un procedimiento de descenso. Un

11

vecindario podra ser (poniendo un ejemplo diferente de los tradicionales) modificar el valor de

12

uno de los elementos del vector solucin. Por ejemplo en la solucin anterior 1 4 4 2 1 3 3 3 2 3

13

posibles vecinos seran

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

2442133323
3442133323
4442133323
1142133323
1242133323
1342133323
1412133323
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

41
42
43
44
45
46
47
48
49
50
51

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
Pgina 155 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

8
9
10
11

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.

12
13
14

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:

15

2411413432

16

1433142211

17

Se elige un nmero aleatorio (por ejemplo con el primero de la cuarta fila: 11 que dividido por

18

100 (para que est entre 0 y 1) y multiplicado por 10 para elegir por donde cortar nos da 1,1

19

es decir 2. Cruzamos la primera y la segunda solucin cortando en la segunda posicin y da

20
21
22
23
24
25
26
27

2433142211
e) Para modificar 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

28

Pgina 156 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

6
7
8

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
400-500
300-400
200-300
100-200
50-100
0-50

Nmero de
Asignaturas
5
19
30
8
58
84

Capacidad Aulas
para exmenes
90
60

Nmero Aulas
14
32

9
10
11

Puede establecer un mtodo automtico de asignacin?

17.2 La Ruta de Llanes

12

En Arriondas (Asturias) usted tiene una de sus plantas envasadoras la Central Lechera Carrete.

13

Esta central lechera, recoge leche de vaqueras situadas en distintas comarcas Asturianas y de las

14

comunidades colindantes de la cornisa cantbrica espaola.

15

El sistema de recogida de leche hace tiempo que fue diseado, y aunque ha habido variaciones

16

importantes en las caractersticas de la recogida, hace tiempo que no se redisea todo el proceso, sino

17

que se hacen pequeos ajustes. La direccin pretende comprobar si compensara hacer un estudio

18

global, y para ello les requieren que analicen el proceso de recogida en la comarca de Llanes. Algunos

19

datos relevantes son los siguientes:

20

1) La capacidad de los camiones que gasta nuestra empresa es de 20.000 litros.

21

2) La leche se guarda en enfriadoras durante un mximo de 2 das.

22

3) Cada vaquera tiene una capacidad productiva distinta.

23

4) Los costes de transporte se evalan a razn de 50 pesetas el kilmetro realizado, aunque en

24
25
26
27

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.
Pgina 157 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3
4

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

8
9

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

10
Nombre Pueblo
Cangas de Ons
Ons
Riensena
La Pereda
Arenas de Cabrales
Arangas
Panes
Noriega
Colombres
Cien
Carrea
Arrobio
Nava
Tazones
Tres Cares

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Enfriadora
15.000
10.000
10.000
10.000
10.000
20.000
15.000
10.000
10.000
10000
10000
10000
10000
10000
10000

Produccin
6000
7000
4000
7000
3000
4000
6000
6000
3000
7000
5000
4000
5000
4000
3000

11
12

17.3 Sistema Elctrico

13

En un determinado sistema elctrico se dispone de un nmero de centrales trmicas, nucleares e

14

hidroelctricas para afrontar una demanda que sigue en cada centro de transformacin una funcin

15

similar con respecto a cada hora del da. Esta relacin se puede representar del siguiente modo:

16
Hora del da
0 1
% sobre el
consumo mx. 85 80
diario previsto

10

11

12

13

14

15

16

17

18

19

20

21

22

23

76

60

68

66

72

70

70

84

70

65

95

92

93

83

85

80

85

86

90 100 99

80

17
18
19
20

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:

Pgina 158 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

E
3

C
B
1

Donde todas las lneas tienen una capacidad de 500 MW excepto las que vienen reflejadas en la

siguiente tabla:
Lnea B1
Lnea F5
Lnea E4
Lnea A4

200 MW
400 MW
400 MW
600 MW

4
5

Existen 5 Centros de transformacin de alta tensin con demandas mximas segn la siguiente tabla:
Nmero del centro de transformacin
Demanda Mxima (MW)

1
250

2
1000

3
825

4
1150

5
700

6
7

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.

Se define un coste horario por trabajar al mnimo, ms un coste extra por cada MW sobre el mnimo.

10
11

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.

12
Nivel Mnimo
A
C
F

Nivel Mximo

40 % max
50% max
40% max

1350 MW
700 MW
1050 MW

Coste Mnimo
4000
5000
9000

Coste Extra por MW


5
4.5
5

Coste de Puesta en
Marcha
3000
2000
1000

13
14
15
16
17

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.

Pgina 159 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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.

Central B
Central E

Nivel de
Generacin
450 MW
400 MW

Coste por
Hora
350
300

Reduccin del nivel de agua


en el depsito por hora
0,30 metros
0,48 metros

Coste de Puesta en
Marcha
2000
2000

5
6

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

10

energa que se invierte en subir el agua al depsito superior, aunque ello suponga disminuir los 10

11

metros de agua citados.

12
13

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:

14
15
D

Nivel Mnimo
50 % max

Nivel Mximo
1000 MW

Coste Mnimo
4000

16

Pgina 160 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

1
2

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.

Pgina 161 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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)


Escenario 1 (35%)
Escenario 2 (35%)
Escenario 3 (30%)

PETR1
27
28
29

PETR2
30
30
29

PETR3
26
28
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,

10

Gasolina 98 y Keroseno.

11

Destilacin

12

En la destilacin se separa el petrleo en 6 fracciones (Nafta Ligera, Nafta Media, Nafta Pesada,

13

Aceite Ligero, Aceite Pesado y Residuo). Las naftas ligeras, medias y pesadas tienen un octanaje medio

14

de 95,85 y 75 respectivamente.

15

Las proporciones de cada fraccin son (incluyendo las prdidas):


Nafta Ligera
PETR1
PETR2
PETR3

0.10
0.15
0.10

Nafta Media
0.20
0.25
0.15

Nafta
Pesada
0.20
0.18
0.21

Aceite Ligero
0.12
0.08
0.16

Aceite
Pesado
0.20
0.19
0.22

Residuo
0.13
0.12
0.14

16
17

Reforma

18

Las Naftas se pueden usar directamente para mezclarlas dando lugar a gasolinas de diferentes

19

octanajes o pasar por el proceso de reforma. Este proceso genera una gasolina denominada

20

reformada con un octanaje de 125. En el proceso de reforma se obtiene:

21

0.6 barriles de gasolina reformada de 1 barril de nafta ligera

22

0.52 barriles de gasolina reformada de 1 barril de nafta media

23

0.45 barriles de gasolina reformada de 1 barril de nafta pasada

24
25

Craqueado

Pgina 162 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

5
6

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.

8
9
10
11
12
13

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:

14
15

craqueada.

16
17
18

1 barril de aceite ligero dara lugar a 0.63 barriles de aceite craqueado y 0.32 de gasolina

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.

19
20

Mezclado

21

Gasolinas

22

Hay dos tipos de gasolinas (sper y normal), que se obtienen por mezcla de naftas y gasolinas

23

(craqueada y reformada). El octanaje de la gasolina sper debe ser superior a 98, y el de la gasolina

24

normal a 95. Se asume que el octanaje se obtiene por combinacin lineal de los volmenes mezclados.

25

Keroseno

26

Se estipula que la presin de vapor del Keroseno debe ser inferior a 1 Kg/cm . Las presiones de

27

vapor, en las mismas unidades, de los productos que pueden dar lugar al Keroseno son los siguientes:

28

Aceite Ligero (1), Aceite Pesado (0.6), Aceite craqueado (1.5) y Residuo (0.05). Se puede asumir otra

29

vez que la presin de vapor resultado es combinacin lineal considerando volmenes.

30

Gasleo

31

Para producir Gasleo se utiliza aceite ligero, aceite craqueado, aceite pesado y residuo con una

32
33

proporcin 10:4:3:1.
Restricciones de capacidad

Pgina 163 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

de los costes de adquisicin de los barriles).


Aceite Lubricante
Gasolina 95
Gasolina 98
Keroseno
Gasleo

Demanda
4000
26000
10000
30000
30000

Beneficio Venta en refinera 1


27.5
43
47
39
34

Beneficio Venta en refinera 2


28.5
50
45
35
34

11

Como se observa en la tabla los beneficios no son iguales para cualquier refinera debido a que no

12

son plantas idnticas. Adems en su construccin fueron diseadas para que solo se pudiera trabajar

13

con dos tipos de petrleo (por planta).

14

La demanda de cada producto tiene una cierta elasticidad con el precio que podemos considerar que

15

se expresa del siguiente modo: Una variacin de un 1% en el precio implica una variacin de sentido

16

contrario en las ventas de un 5%. Esta regla se mantiene para variaciones de precio inferiores al 10%.

17

Pgina 164 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

5
6

Una vez desarrollada la herramienta les solicitan que hagan una exploracin acerca de una nueva
lnea que se est planteando.

A
J

B
C
I
D

E
F

7
8

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

10

en la parada de Jess, donde se cruzara con las Lneas 1 y 3, y con la Lnea 5 en la Parada de Manuel

11

Candela.

12

Los promotores de tan magno proyecto piensan que esta lnea, adems de aumentar la cantidad de

13

poblacin que puede tener contacto con la Red de Metro, aumentar la conectividad entre las distintas

14

estaciones de la Red de Metro Valencia.

15
16

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

17

Pgina 165 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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
Alborache

Lote de Paletas
6

Alccer

Algemes

Almoines

12

Benifai

Benignim

Carcaixent

Carlet

Villanueva de Castelln

Chiva

Denia

LAlcdia de Carlet

LOlleria

12

Llombai

Ontinyent

12

Silla

Sueca

12

Tavernes de la Valldigna

Xtiva

12

6
7

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.

10

Pgina 166 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.
Modelo 1
Modelo 2
Modelo 3

Abril
100
150
150

Mayo
200
100
150

Junio
150
150
250

Julio
150
100
150

Agosto
200
250
150

Septiembre
150
100
150

Se admite un error en la previsin de demanda de cada modelo de 3 miles de pares.


M1

S1

A1

A2

M2

R2

CO1

S2

A1

A3

R1

Cr

CO2

M3

S3

A3

A2

A4

R1

CO3

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

10

Como se puede observar, entre los diferentes modelos de zapatillas a producir se da la

11

particularidad que comparten componentes entre un modelo y otro. Las suelas tienen un periodo de

12

aprovisionamiento de 4 semanas. Los refuerzos y el cuerpo un periodo de aprovisionamiento de 2

13

semanas, los adornos de 1 semana, y las cremalleras de un plazo de 8 semanas. Se dispone en

14

almacn de 8000 de estas cremalleras. Se dispone tambin en almacn de suficientes componentes

15

para cubrir la demanda de los prximos dos meses, de los diferentes componentes. Los pedidos se

16

lanzarn en miles de unidades, a excepcin de las cremalleras que se lanzaran en lotes de cinco mil

17

unidades.

18

Los costes de produccin de cada par se evalan en 7 si se producen en horas normales, y 9 si

19

se produce en horas extras. El nmero de horas normales disponibles por da son 8. El nmero de

20

das laborables por mes es variable cada mes, dependiendo del calendario laboral de la localidad de

21

Picassent. Cada mes se puede trabajar un mximo de 40 horas extra. Un grupo de 3 personas es

22

capaz de fabricar 15 pares de zapatillas por hora, si dispone de suficiente material. El coste de

23

almacenar un par de una semana para otra es de 0025 por par. Se dispone de 200 pares en stock

24

en estos momentos, de cada uno de los modelos.

Pgina 167 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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

10

en 8 en horas normales no pudiendo producir estos trabajadores en horas extras. El ritmo de

11

produccin de estos trabajadores es de 18 pares de zapatillas por hora. Se podr contratar uno o dos

12

grupos.

13

Se plantean diferentes alternativas al definir el objetivo principal. As, una de ellas podra ser el

14

minimizar el mximo stock entre periodos. Otra, minimizar las diferencias de produccin entre un mes

15

y el siguiente, para cualquier mes, a travs de equilibrado de la produccin utilizando horas extras,

16

minimizar el stock en almacenes...

17

Pgina 168 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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:

9
10
11

5 de Carlet
5 de LAlcudia
1 de Benimodo

12

Entre las 11 farmacias nos turnamos los turnos de guardia (noche) alternativamente de

13

forma que cada pueblo no est ms de 1 noche sin tener una farmacia abierta, excepto

14

cuando toca Benimodo que no queda ms remedio que sean 2 noches. Tenemos tres

15

turnos:

16
17
18
19
20

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.

21

Muchos estamos hartos de tanto turno porque hay semanas que nos coinciden 2 o 3

22

guardias, sobre todo en puentes y preferimos un slo turno cada 11 das (es lo ms habitual

23

entre los pueblos que nos rodean). Parte de nuestros compaeros dicen que no es

24

equitativo que siempre hay alguno que le tocan ms domingos que otro, etc. Mi pregunta es

25

si sabes alguna frmula matemtica para hacerlo ms equitativo.

26

Puesto manos a la obra usted le enva el siguiente mensaje:

27

Hola Marina, ms que tener dudas de los turnos, lo que me gustara saber son las fechas que se

28

consideran festivos en cada una de las localidades, porque supongo que no sern iguales. Un

29

turno especial de Navidad no creo que sea prctico, tardarais 11 aos en darle la vuelta.

30

Mi propuesta es plantear un sistema que permita establecer una secuencia donde se

31

establezcan tantas restricciones como se quieran (siempre que sea matemticamente posible).

32

Pero no tendris un ciclo de 11 das sino ms bien, un calendario anual (o semestral o bianual)

33

que intenta equilibrar las cargas. Se me ocurre investigar un modo de establecer el calendario

34

respetando restricciones de no ms de 1 guardia en 6 o 7 das, no ms de un festivo en 15

35

das Te adjunto una tabla en Excel que puedes completar con los festivos que faltan. Como

36

hay once columnas todo consistira en sortear cada columna a cada persona.

37

PD: Por cierto, Qu ocurre cuando un sbado coincide con festivo?, Qu manda?

Pgina 169 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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.

8
9

El trabajo consiste en:

10

a) Definir de modo estructurado el problema

11

b) Disear un Modelo matemtico que lo resuelva

12

c) Implementar el modelo en MPL, para resolverlo

13

d) Disear una heurstica, o conjunto de ellas, que resuelvan satisfactoriamente el problema

14

Pgina 170 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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

10

a la competencia. El nmero de productos a fabricar es siempre limitado y conocido, aunque este

11

conjunto vara. Pero vara de un modo planificado. Asimismo Esto implica pruebas de productos y

12

nuevas versiones y tambin implica la desaparicin planificada de productos.

13

El proceso de fabricacin de un motor tiene dos etapas: a) Fabricacin y b) Montaje. En la

14

Fabricacin un elemento en bruto es mecanizado, y en el montaje diferentes elementos mecanizados se

15

ensamblan en una lnea de montaje.

16
17

Un motor se compone de las denominadas 5Cs (Bloque, Bielas, Levas, Culatas, Cigueales) y otros

18

componentes. De cada tipo de componente hay un cierto nmero de variantes, algunas se fabrican en la

19

planta objeto de estudio y otros no.

Pgina 171 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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

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.

6
7

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

10

costes de energa, o utilizar uno de los das inhbiles. La empresa utiliza en ocasiones las horas extras

11

pero estas no se planifican puesto que se utilizan para responder a problemas puntuales.

12

En este sentido el funcionamiento de la planta es atpico tanto al nivel de la gestin de la produccin

13

como en lo referente a la consideracin del factor humano. Los modos de gestin de la capacidad son

14

dos: Incrementar o reducir la velocidad de la lnea (incorporando nuevos recursos a la misma), y

15

parar/utilizar la lnea en das laborales/das festivos.

16

En efecto, a causa del nivel de automatizacin de la lnea y de los costes que implica el hacer

17

funcionar la maquinaria, se autoriza el paro total de la planta cuando sea necesario, ya que se sabe que

18

el coste de mano de obra es muy bajo en comparacin con el de la mantener en funcionamiento la

19

maquinaria. En este caso, los operarios van a formacin o se dedican a tareas de mantenimiento y se

20

ahorran los gastos de hacer funcionar la lnea. As pues, consideraremos que los directivos pueden

21

decidir que hay que trabajar unos das festivos por cualquier razn. Adems si la lnea no tiene

22

capacidad de cumplir la demanda durante la semana normal, es decir entre el lunes y el viernes, el

23

modelo deber ser capaz de proponer la cantidad de das extras que se necesitan para evitar diferir

24

(dentro de los lmites impuestos por la empresa durante cada semana).

25

Los inventarios no tienen un coste de mantenimiento conocido, aunque este es elevado dadas las

26

caractersticas de los productos. Para mantener bajo control los inventarios la empresa prefiere

27

establecer un stock mnimo y mximo (medido en das de stock) para el final del horizonte de

28

planificacin. Y dicho horizonte de planificacin se sita siempre al final de un periodo de vacaciones


Pgina 172 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

3
4

Pgina 173 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2
3

17.10 Karbonatadas JUPE (III)


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

40 K

(5 f )
5

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

10

los festivos que reducen el nmero de das laborables).

11

Estn en las ltimas semanas del ao, y el departamento de finanzas se ha puesto a trabajar,

12

solicitando presupuestos. Usted debe anticipar el plan de produccin para poder aportar informacin al

13

departamento de Recursos Humanos y al de Logstica.

14
15

Ventas le anticipa la demanda en hectlitros en forma de 4 escenarios posibles, con la demanda


prevista en centenares hectlitros por semana (tabla 1).

16

El departamento de RRHH le ha pedido un presupuesto para su gasto del ao que viene. Un turno

17

tiene un coste semanal de 6000 euros. Cada cambio de configuracin del nmero de turnos, por ejemplo

18

pasar en una semana de 2 turnos a 3 turnos, tiene un coste de 1000 euros por turno cambiado. El

19

departamento de recursos humanos tiene cerrado ya el programa de trabajo de las primeras 5 semanas

20

del ao y debe cerrar las de la semana de 6 a 10.


Turnos

21
22

03/01/2011 10/01/2011 17/01/2011 24/01/2011 31/01/2011


1
1
1
2
2

El departamento financiero le ha pedido un presupuesto para su gasto en almacenes subcontratados


este ao.

23

El departamento de logstica tiene un almacn propio con una capacidad de 8000 hectlitros. Si los

24

productos se guardan en el almacn propio el coste de almacenar cada hectlitro se evala en alrededor

25

de 0,25 por semana. Dispone tambin de almacenes a los que puede subcontratar capacidad. si los

26

productos se guardan en almacn ajeno el coste de almacenar (que incluye el coste de transportar) se

27

eleva a 1 por semana. Al principio de ao calcula que tendr 5000 hectlitros de stock.

28
29
30
31

Se le pide que :
a) Disee un modelo matemtico para establecer el programa ptimo teniendo en cuenta los 4
escenarios.
b) Defina los costes en recursos humanos y en almacenes en los que incurrir.

32

Pgina 174 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

6
Tiendas

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

10

est considerando la posibilidad de abrir un nuevo centro logstico, ms grande y alejado. Los datos

11

bsicos se representan en la siguiente tabla.


Almacenes

Capacidad()

C Fijo

C Variable por

Almacen1

10

20

5000

1000

Almacen2

14

30

5000

1000

Almacen3

23

60

5000

1000

Almacen4

50

50

5000

1000

Almacen5

200

200

20000

2000

0,1

12

Tabla 2. Ubicacin, Capacidad y Coste de Cada almacn

13

Usted est analizando la cadena de suministro de productos perecederos, y CPD cuenta con tres

14

fbricas de envasado. Sus caractersticas estn en la tabla 3.


Fabricas

Capacidad()

C Fijo

C Variable por

Fbrica1

10

10

10000

500

Fbrica2

30

50

10000

700

Fbrica3
15

40

40

10000

1000

Tabla 3. Ubicacin, Capacidad y Coste de Cada Fbrica


Pgina 175 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

1
2

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

Proveedor1

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.

coste del km

/m transportado/km

coste de almacenaje

/m almacenado/da

10

Valor del m

10

/m

0,05

/ almacenado/da

coste de inventario

11

12
13

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

14

Construya un modelo matemtico

15
16

Pgina 176 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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 almacn son:


Almacen1

Almacen2

Almacen3

Almacen4

Fabrica 1

Fabrica 2

Fabrica 3

6
7

Quin debe servir a quien para tener el mnimo coste?

8
9

Utilice el solver para resolver.

10

Es mejorable la solucin que le entrega?

11

Cmo afectan los costes de transporte a los costes totales?

12

Pgina 177 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

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}

4
5

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}

10
11

Utilice el solver para resolver.

12

Por qu cree que deben existir esos costes variables? Cree que deben ser constantes o dependen

13

segn la cantidad?

Pgina 178 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

4
5
6

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

Pgina 179 de 181

Usando las matemticas para pensar sobre Direccin de Operaciones.

18 BIBLIOGRAFA

Bautista, J., Companys, R., Corominas, A. Introduccin al BDP. 1992.

Binmore, K. Teora de Juegos. McGraw-Hill.1994

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.

6
7
8
9

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.

10

Companys, R., 2003. Teoria de Grafos. cpda-etseib.

11

Conway, R.W., W.L. Maxwell, L.W. Miller. Theory of Scheduling. Addison-Wesley. 1967

12

Cuatrecasas, Ll.. Organizacin de la Produccin y Direccin de Operaciones.

13

Dembo, R.S.. Scenario Optimization. Annals of Operations Research 30, 63-80. 1990

14

Denardo, E.V., 1982. Dynamic Programming. Models and Applications. Prentice Hall.

15

Daz, A., F. Glover, H. Ghaziri, J.L. Gonzlez, M. Laguna, P. Moscato, F.T. Optimizacin Heurstica y

16
17
18
19
20

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.

21

Ferreira, P, A.. Pardalos. Solving Combinatorial Problems in Parallel. Springer. 1996

22

Gendreau, M., 2003. An introduction to tabu search. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook

23

of metaheuristics Kluwer International Series, pp. 37-54.

24

Glover, F., Laguna, M., Marti, R., 2003. Scatter Search and Path relinking: advances and applications. In:

25

Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,

26

pp. 1-35.

27

Gross, D., Harris, C.M., 1998. Fundamentals of Queueing Theory. John Wiley and Sons.

28

Gross, D., Shortle, J.F., Thomson, J.M., Harris, C.M., 2008. Fundamentals of Queueing Theory. Wiley.

29

Hansen, P., Mladenovic, N., 2003. Variable Neighborhood Search. In: Glover, F., Kochenberger, G.A.

30

(Eds.), Handbook of metaheuristics Kluwer International Series, pp. 145-184.

Pgina 180 de 181

JPGS2011

Modelos y Mtodos de Investigacin de Operaciones

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.

4
5

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

10

Kauffmann, A.. Mtodos y Modelos de la Investigacin de Operaciones Tomo II. CECSA. 1972

11

Loureno, H.R., Martin, O.C., Sttzle, T., 2003. Iterated Local Search. In: Glover, F., Kochenberger, G.A.

12
13
14
15
16
17
18

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

19

Pidd, M., 1996. Tools for thinking. Wiley.

20

Pinedo, M., Chao X.. Operations Scheduling. McGraw-Hill. 1999

21

Raiffa, J.F. Decision Analysis. Addison Wesley. 1970

22

Resende, M.G., Ribeiro, C.C., 2003. Greedy Randomized Adaptive Search Procedures. In: Glover, F.,

23

Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series, pp. 219-249.

24

Shapiro, J.F. Modelling the Supply Chain. Duxbury. 2001

25

White, D.J. Teora de la Decisin. Alianza Universidad. 1972

26

Williams, H.P. Model Building in Mathematical Programming. Wiley. 1999

27

Pgina 181 de 181

Potrebbero piacerti anche