Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MODELOS .................................................................................................................................... 12
1.1
Qu es un Modelo? .................................................................................................................. 12
1.2
1.2.1
1.2.2
1.2.3
1.3
1.4
1.5
10
1.5.1
11
1.5.2
12
1.5.3
13
14
15
1.6
16
1.7.1
Los Modelos han de ser simples, su anlisis debe ser complejo ......................................... 18
17
1.7.2
18
1.7.3
19
1.7.4
20
1.7.5
21
22
2.1
23
2.1.1
24
2.1.2
25
2.2
26
2.3
27
2.3.1
28
2.3.2
29
2.3.3
30
2.4
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
Simulacin ............................................................................................................................. 31
2.5.6
3.1
Introduccin ................................................................................................................................ 33
10
3.2
11
3.3
12
3.3.1
13
3.3.2
14
3.3.3
15
3.3.4
16
3.4
17
3.4.1
18
3.4.2
19
3.4.3
20
21
4.1
Qu es la Programacin Lineal?............................................................................................. 39
22
4.2
23
4.3
24
4.4
25
4.5
26
4.5.1
27
4.5.2
28
4.5.3
29
4.5.4
30
4.6
Pgina 4 de 181
JPGS2011
4.6.1
4.6.2
La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
3
4
4.7.1
4.7.2
4.7.3
4.7.4
9
10
5.1
11
5.1.1
12
5.1.2
13
5.1.3
14
5.1.4
15
5.2
16
5.2.1
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
24
5.4
25
26
6.1
Introduccin ................................................................................................................................ 64
27
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.3
6.3.1
6.3.2
6.3.3
6.3.4
10
6.3.5
11
6.4
12
6.4.1
13
6.4.2
14
6.4.3
15
6.4.4
16
6.4.5
17
6.5
18
6.6
19
6.6.1
Ms Restricciones y Ms Ajustadas...................................................................................... 71
20
6.6.2
21
6.6.3
22
6.7
23
24
7.1
25
7.2
26
7.3
27
28
8.1
Introduccin ................................................................................................................................ 79
29
8.2
Pgina 6 de 181
JPGS2011
9.1
Introduccin ................................................................................................................................ 81
9.2
disponibles ................................................................................................................................................ 81
9.2.1
9.2.2
9.2.3
8
9
10
9.3
9.3.2
9.4
11
9.4.1
12
9.4.2
13
9.5
14
9.5.1
15
9.5.2
16
9.5.3
17
9.6
18
10
19
10.1
Introduccin ............................................................................................................................ 93
20
10.2
21
10.2.1
22
10.2.2
23
10.2.3
24
10.3
25
10.4
26
10.4.1
27
10.4.2
28
10.4.3
29
10.5
Pgina 7 de 181
11
11.1
11.2
11.2.1
11.2.2
11.2.3
11.3
11.3.1
11.3.2
10
12
11
12.1
12
12.2
13
12.3
14
12.3.1
15
12.3.2
16
12.3.3
17
12.3.4
18
12.3.5
19
12.3.6
20
12.4
21
13
22
13.1
23
13.1.1
24
13.1.2
25
13.1.3
26
13.2
27
13.2.1
Nomenclatura................................................................................................................... 112
28
13.2.2
29
13.2.3
30
13.2.4
Pgina 8 de 181
JPGS2011
14
14.1
14.1.1
14.1.2
14.2
14.2.1
14.2.2
14.2.3
14.2.4
10
14.3
11
14.3.1
12
14.3.2
13
15
14
15.1
15
15.2
16
15.3
17
15.4
18
15.5
19
15.6
Localizacin........................................................................................................................... 126
20
15.7
21
15.8
22
15.9
23
15.10
24
15.11
25
15.12
26
15.13
Pgina 9 de 181
15.14
16
16.1
16.1.1
16.1.2
16.1.3
16.1.4
16.1.5
16.1.6
10
16.1.7
11
16.1.8
12
16.2
13
16.2.1
14
16.2.2
15
16.2.3
16
16.2.4
17
16.2.5
18
16.2.6
19
16.2.7
20
16.2.8
21
16.3
22
16.3.1
23
16.3.2
24
16.3.3
25
16.3.4
26
16.3.5
27
16.3.6
28
16.3.7
29
16.3.8
30
16.4
31
16.5
32
16.6
33
16.7
Pgina 10 de 181
JPGS2011
17
17.1
17.2
17.3
17.4
17.5
17.6
17.7
17.8
10
17.9
11
17.10
12
17.11
13
18
14
Pgina 11 de 181
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.
como la ven las personas que desean usar el modelo para entender, cambiar,
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
13
14
Bsicamente todos los modelos son errneos, aunque algunos son tiles
15
16
metonimia el ser humano tiende a crear modelos y tergiversar la realidad hasta que esta se adapta a
17
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
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
28
29
que cualquier modelo por sofisticado que ste sea. El modelador discrimina qu aspectos son relevantes
30
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
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
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
12
La inteligencia de la realidad a travs del modelo, permitir asesorar sobre la oportunidad de cambios
13
14
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
19
20
21
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
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
34
realidad. Puede ocurrir, y de hecho ocurre con frecuencia, que una vez finalizado el modelo, los
Aprender / Entender
Pgina 13 de 181
objetivos perseguidos inicialmente se hayan alcanzado sin hacer ningn tipo de experimento. Modelar
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
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
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
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
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
1.3
El Cliente y el Problema
ayuda para resolverlo, porque en muchas ocasiones ser capaz de explicitar el problema es hacer
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
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
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
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
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
informtica) Y por ltimo est lo que el cliente considera que es la solucin a su problema, que
1.5
5
6
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
11
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
17
1.5.1
Definir el Problema
18
19
20
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
25
1.5.2
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
29
4. Generar el modelo. Esta etapa incluye estimar los parmetros para modelar o calcular
30
31
aplicacin del principio Ir paso a paso. Esto implica abordar escalonadamente los
32
Pgina 16 de 181
JPGS2011
5. Validar el modelo. Decidir si el modelo vale para algo, si se puede usar y si el cliente lo
1.5.3
Utilizar la Solucin
6. Implementar el modelo. Trabajar con el cliente para poder extraer los mximos beneficios
utilidad.
10
11
12
13
1.6
A continuacin se ofrece una estructura til para ayudar a plantear herramientas que resuelven
problemas reales de clientes reales.
14
15
16
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
25
26
c.
27
28
29
30
31
32
33
Pgina 17 de 181
Desde pantalla
c.
Heursticas Voraces
10
11
Diseo de Meta-heursticas
12
13
14
1.7
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
16
Ir paso a paso
17
18
19
Modelar es explorar.
20
1.7.1
21
22
Esto, aunque suele agradar al que mira el modelo, no es til para quien lo debe utilizar por dos
23
24
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
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
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
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
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
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
21
22
1.7.4
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
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
31
Datos que se recogen para definir el modelo. Estos datos nos permitirn
32
33
parametrizar el modelo.
-
Pgina 19 de 181
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
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
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
2
3
2.1
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
Sistemas,).
2.1.1
Modelos Normativos
10
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
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
21
de modelar matemticamente, ni el nico modo normativo de hacerlo. Por ello en los puntos siguientes
22
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
Pgina 21 de 181
2.2
Modelos Matemticos
Los modelos matemticos son modelos formales que utilizan el lenguaje de las matemticas para
a la expresin de nmeros y operadores aritmticos que los relacionan. As por ejemplo la teora de
conjuntos.
7
8
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
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
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
20
21
22
23
2.3
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
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
1
2
3
4
5
2.3.1
Tres nombres de tres cientficos ilustres van asociados al origen del extrao nombre de
3
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
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
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
2.3.2
7
8
Una clasificacin de los modelos de programacin matemtica podra tener en cuenta las siguientes
caractersticas:
10
11
12
13
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
19
20
reales, que mediante combinacin lineal de parmetros ciertos, permite establecer un objetivo y
21
restricciones lineales.
22
23
desigualdades lineales desarrollada en el siglo XIX como se puede leer en (Poler 2001). Aunque se
24
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
30
31
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
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
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
12
13
2.3.2.2
14
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
18
19
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
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
28
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
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
Pgina 25 de 181
Una variante de la misma especialmente interesante es la Programacin Lineal Estocstica, que puede
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).
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
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
19
modelar. En realidad debiera ser planteado al revs, la realidad es generalmente no lineal y al linealizar
20
21
Sin embargo muchas de las circunstancias aparentemente no-lineales pueden ser linealizadas sin
22
23
24
25
26
encontrado. El teorema de optimalidad de Karush Kuhn y Tucker (ms conocidas por condiciones
27
28
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
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-
2.3.3
10
11
12
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
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
26
27
28
aborda ms adelante.
29
2.3.3.2
Objetivos no existentes
30
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
obtiene una solucin factible el usuario acaba encontrando un modo de distinguir una solucin de otra
peor.
2.3.3.3
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 .
espacio xR .
2.4
10
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
22
23
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
29
En aquellos casos en que el problema parece resistirse a ser resuelto se suele abordar el problema de
30
diferentes maneras:
31
32
33
del worst-case.
Pgina 28 de 181
JPGS2011
1
2
2.5
Algoritmos de aproximacin que son capaces de dar soluciones muy cerca del ptimo.
lista, que no es exhaustiva ni las agrupaciones consideradas son necesariamente disjuntas, incluye las
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
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
15
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
20
21
inversa. La decisin sobre qu modo de modelar se debe utilizar, debe tomarla el modelador teniendo
22
23
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
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
Pgina 29 de 181
1
2
3
2.5.2
Programacin Dinmica
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
8
9
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
13
14
15
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
19
Las variables utilizadas pueden ser discretas o continuas. Adems los parmetros pueden ser
20
21
la esperanza matemtica del valor total slo puede llevarse a cabo en un sentido, remontndose desde
22
23
24
y Corte, aparece el concepto de Programacin Dinmica Acotada, por el cual se utilizan cotas en un
25
26
27
28
Dinmica (analizar el problema desde el final y retroceder por el camino hacia el principio) se puede
29
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
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
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
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
16
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
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
23
aproximacin bsica suministra una manera de observar sistemas humanos, haciendo especial hincapi
24
25
consideracin de esta circunstancia aporta interesantes resultados incluso sin el uso de herramientas
26
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
32
33
clculo de los ordenadores, as como sus crecientes capacidades grficas hace que esta ltima est
34
35
informacin.
Pgina 31 de 181
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
modo el uso de la simulacin no reduce el esfuerzo a realizar, sino que resuelve problemas que la teora
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
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
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
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
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
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
Pgina 32 de 181
JPGS2011
3 PROGRAMACIN MATEMTICA
3.1
3
4
Introduccin
Habra que poner un apartado de introduccin en cada captulo
3.2
continuas idas y vueltas. As lo normal es que una vez terminada una fase haya que volver a una etapa
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
11
Parmetros. Representar los conjuntos de datos mediante Smbolos con subndices, permitir
12
13
ndices, o incluso se establecen parmetros que luego se comprobar que son variables.
14
15
16
17
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
24
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
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
Pgina 33 de 181
etapa exige un apartado entero (el siguiente). La validacin suele exigir recomenzar el proceso
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
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
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
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
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
1
2
De este modo es posible visualizar si lo que hemos escrito en formato compacto se parece a lo que
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
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
Pgina 35 de 181
Otro mecanismo para encontrar las incompatibilidades es generar una solucin obvia (o real). Al
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.
en un problema no acotado faltan restricciones. Generalmente restricciones fsicas obvias que han sido
10
11
12
Los modelos no acotados tienen un dual incompatible, aunque la inversa no es siempre cierta. Por
13
14
3.3.4
Modelo Resoluble
15
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
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
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
32
33
realidad. Y este proceso es muy til para entender la propia realidad modelada.
Pgina 36 de 181
JPGS2011
1
2
3
3.4
Tres son los objetivos bsicos que se deben pretender al construir modelos de programacin
matemtica.
3.4.1
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
11
menos compactos requieren un tiempo ms largo de resolucin, este tiempo compensa el que
12
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
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
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
3.4.3
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
A continuacin se presentan tres mtodos que permiten reducir el coste de computacin: Uso de
3.4.3.1
Uso de Cotas
10
11
cotas globales (GUB) citadas en el captulo siguiente. Evidentemente esta reduccin ser efectiva
12
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
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
21
automtico.
22
3.4.3.3
Formulacin Modal
23
24
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
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
[ 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
14
15
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
21
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
25
Pgina 39 de 181
[ 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
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
15
4.3
16
17
18
19
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
21
22
23
24
25
esperados.
Pgina 40 de 181
JPGS2011
Problema del Transporte. Consiste en definir, en una red de suministro, los centros que
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
15
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
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
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
4.5
Si diferentes funciones objetivo dan lugar a la misma solucin es conveniente analizar la estructura del
Algunos de los objetivos que se pueden definir son: Maximizar beneficio, Minimizar costes, Maximizar
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
11
12
4.5.1
13
14
beneficios o minimizar costes. La principal ventaja de estos objetivos es que los diferentes factores se
15
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
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
22
4.5.2
23
Programacin Multi-Objetivo
La Programacin Multi-Objetivo es
24
pertenece a ella con la caracterstica de la existencia de ms de un objetivo (lo que por otro lado es ms
25
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
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
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
ser el coste monetario, aunque esto no es siempre posible. Los pesos deben ser relativos (o valores
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
11
12
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
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
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
El concepto de precio-sombra aparece al realizar la denominada interpretacin econmica de las soluciones y se presenta
ms adelante.
Pgina 43 de 181
4.5.3
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
10
11
12
13
14
15
16
17
18
19
20
21
multiperiodo, los productos que quedan al final de un periodo son las que hay al principio
22
23
24
Son tambin restricciones de continuidad las que conectan los diferentes arcos que entran
25
26
27
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
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
del modelo.
Restricciones Conflictivas
Restricciones Redundantes
10
Restricciones de Rango
11
12
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
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
24
25
esquema:
26
xj b
27
28
xj +u v = b
Pgina 45 de 181
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
[ Minimize ] ( ui + vi )
16
17
[ 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
23
xj b
24
y la evaluacin
25
redundante, o que su precio sombra es nulo, es decir no tiene influencia sobre la funcin objetivo.
Pgina 46 de 181
JPGS2011
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
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
12
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
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
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
Pgina 47 de 181
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.
tornos y 2 fresas). Tras deducir el coste de la materia prima cada producto aporta el beneficio
Pr 3
Pr 4
Pr 5
Torno
12
20
25
15
Fresa
10
16
Beneficio unitario
9
Pr 2
550
600
350
400
200
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
14
15
Sujeto a:
Tornos
Fresas
10x1 +8x2
+16x3
Montaje
16
12x1 +20x2
20x1 +20x2
+20x3
+15x5
288
192
+20x4
+20x5
384
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
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
Pgina 48 de 181
JPGS2011
b)
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
13
suma de los precios sombra en la funcin objetivo. Los precios sombra son un claro ejemplo de costes
14
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
Pgina 49 de 181
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
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
variaciones en los coeficientes dentro del rango, es til conocer ste para saber si hay que invertir un
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
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
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
23
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
27
y1=6,25
28
y2=0
y3=23,75
Ejemplo 2
Pgina 50 de 181
JPGS2011
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
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
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
xj u = b
15
16
17
Pgina 51 de 181
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
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
19
20
Ex =
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
El ejemplo 3 es un ejemplo tpico de relacin no-lineal que conducira a un objetivo no-lineal. Existen
producto de variables (por ejemplo, mantener la presin de un gas por debajo de ciertos niveles,
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
11
5.1
12
13
encuentran en la construccin de modelos pero que no son lineales en su definicin. Dichos objetivos
14
son:
15
16
Minimizar el mximo
17
Minimizar un ratio
18
5.1.1
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
Pgina 53 de 181
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
[ Minimize] z
Sujeto a :
xij z 0 i
Las nuevas restricciones garantizan que z ser mayor o igual que cualquiera de los valores
xij
9
10
a
j
similar.
Sin embargo los objetivos maximizar el mximo y minimizar el mnimo no se pueden representar de
11
12
5.1.3
13
14
Objetivos de Ratio
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
wj = 1
3
4
Y adems hay que convertir las restricciones originales que utilizan las variables x que han sido
transformadas
xj
wj e t
nula.
10
5.1.4
11
12
13
Sujeto a
14
[ 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 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
Pgina 55 de 181
Sin embargo, en este apartado, se pretende establecer la utilidad de las variables enteras para
5.2.1
Funciones no continuas
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
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
x j b M en cualquier circunstancia.
24
5.2.3
Relacin Lgica
a x
j
< b =1
25
Pgina 56 de 181
JPGS2011
xj < b = 1
x j + m b
xj b .
5
6
5.2.4
Relacin Lgica
a x
j
b =1
xj b = 1
10
x j (m ) b +
11
12
xj > b
13
5.2.5
Relacin Lgica
=1 aj xj b :
j
14
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
xj b
Pgina 57 de 181
5.2.6
Relacin Lgica
xj > b = 1
xj > b = 1
x j M b
xj b
7
8
5.2.7
Relacin Lgica
xj b = 1
10
xj b = 1
11
12
x j (M + ) b
13
14
considera que
xj < b
15
16
17
5.3
Para poder abordar este apartado es necesario establecer una cierta notacin del Algebra Booleana
bsica:
18
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
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
As por ejemplo:
P es lo mismo que P
PQ es lo mismo que PQ
10
11
12
13
14
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
23
enteras.
24
( x b ) ( x 1) ( y = y + 1)
( x b ) ( x 1) ( = 1) ( y = y + 1)
25
26
Usando:
Pgina 59 de 181
( x b ) ( = 1)
( x 1) ( = 1)
( = 1) ( = 1) (
( = 1) ( y z + 1)
( = 1) ( y z + 1)
1
2
+ 1
x + M b + 1
x M 0
y z m m +1
y z + M M + 1
= 1)
Ejemplo 5
(X A X B ) (XC X D X E )
10
11
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
C D E 0
18
19
Pgina 60 de 181
JPGS2011
A + B 2 0
C D E 0
Ejemplo 6
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
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
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
x [0,4]
2 x
y = x + 4 x [4,6]
3x 8 x [6,10]
x = 4 2 + 63 + 104
y = 8 2 + 103 + 22 4
1 + 2 + 3 + 4 = 1
4
Otro ejemplo de uso de estas variables es la denominada formulacin modal, citada en un apartado
anterior.
x A + xB 7
8
3 x A + xB 15
xB 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
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
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
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)
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
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
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
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
16
6.2
17
18
En el presente apartado se tratan diferentes reas donde la programacin entera resulta de inters.
6.2.1
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
Suele ocurrir que en algunas de las restricciones que se deseen imponer son de tipo lgico.
25
26
Este tipo de condiciones lgicas pueden ser modeladas mediante Programacin Entera, simplemente
27
28
6.2.3
Problemas de combinatoria
29
Muchos de los problemas prcticos de Investigacin Operativa tienen como caracterstica bsica la
30
31
Pgina 64 de 181
JPGS2011
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
6.2.4
Problemas No-lineales
mediante modelos de PE. Para ello se han mostrado diferentes tcnicas en el captulo anterior.
6.3
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
13
6.3.1
14
15
Restricciones disyuntivas
Supongamos que en un problema de Programacin Lineal pretendemos que no todas las
16
17
R1 R2 R3 ... R N
Introduciremos un conjunto de variables
18
19
Y el conjunto
i debe cumplir
20
1 + 2 + ... + N 1
21
Ejemplo 9
22
23
Si Ri es del tipo
ij
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
1
2
6.3.2
Regiones No-Convexas
6.3.3
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.
xi 0 i = 1
8
9
i tales que:
10
xi M i 0
11
12
13
6.3.4
14
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
2 1 + 2
2 2 + 3
19
20
0
0
....
- 2 n1 + n 0
6.3.5
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
24
Pgina 66 de 181
JPGS2011
a x
bj
Donde bj es variable y tiene un coste asociado de cj (independiente para cada bj) con
2
3
a x b
o 0
b11 ... bn n 0
co 0 + c1 1 + ... + c n n
10
6.4
11
12
importancia de estos problemas radica en el hecho de que los problemas complejos se suelen poder
13
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
18
decisin de inversin). El problema de la mochila es, comparativamente, fcil de resolver. El mejor modo
19
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
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
i =
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
11
12
13
14
Si se relaja la propiedad 2 (se obliga a que algunos elementos de S sean cubiertos en un mayor
15
16
que los dems coeficientes de la matriz puedan valer 0 y 1 (propiedad 3) tenemos lo que se denomina
17
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
23
Pgina 68 de 181
JPGS2011
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
empaquetado generalizado.
6.4.4
ste problema es un problema muy habitual y de simple formulacin aunque de resolucin muy
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
[ Minimize]
c
i
ij
ij
Sujeto a :
15
ij
= 1 j
ij
= 1 i
16
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
1
2
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
12
6.4.5
13
Esta es una generalizacin del problema de asignacin descrita en un captulo anterior. Aunque el
14
15
16
17
18
19
1 si i S se asigna a j T
ij =
0 en caso contrario
20
21
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
25
26
ijkl
ij kl
i , j ,l
k >i
Pgina 70 de 181
JPGS2011
cijkl si al
Este problema se puede abordar como un problema de PE clsico con n variables binarias.
6.5
Lineal sirven para la PE. Adems nuevas consideraciones se convierten en importantes en el momento
7
8
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
13
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
19
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
24
25
26
que reducen el mbito de variacin de diferentes variables, haciendo que el ptimo del problema de
27
28
Ejemplo 12
Pgina 71 de 181
[ 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
2 3 1 + 2 + 2 4 + 2 5 1
3 12 3 = 1
6 2 2 1 + 3 + 2 4 2 5 1
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.
14
15
4 1 + 6 2 9
Donde
16
17
18
1 + 2 2 2
es equivalente y mucho ms adecuada porque los enteros ms prximos estn en ella considerados
Pgina 72 de 181
JPGS2011
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
6.6.3
Restricciones discontinuas
En ocasiones hay que restringir una variable continua a segmentos o puntos, por ejemplo
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
14
15
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
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
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
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
7.1
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
17
18
19
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
[ 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
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
10
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
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
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
4
5
Ejemplo 15
Para convertir en lineal la siguiente funcin objetivo del Ejemplo 13:
x12 4 x1 2 x2
2
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
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]
15
y = 01 + 12 + 43 + 6.254
1 + 2 + 3 + 4 = 1
16
[ 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
Esta restriccin slo se puede modelar mediante Programacin Entera, como se vio en un apartado
3
4
5
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
10
x1 = 1 + 2 + 0.5 3
11
y = 1 + 3 2 + 2.25 3
) (
12
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
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
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:
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
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
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
13
14
15
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
[ 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
23
Pgina 79 de 181
Los problemas estocsticos son especialmente complicados debido a su tamao, que crece con el
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.
escenarios, pero tambin se pueden utilizar paquetes estndares, aunque la complejidad anteriormente
Pgina 80 de 181
JPGS2011
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
7
8
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
12
9.2
paquetes ya disponibles
13
14
9.2.1
Algoritmos y paquetes
15
16
matemtico cordobs de nombre Mohamed ibn Musa. Un algoritmo es un conjunto finito y ordenado de
17
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
21
comercializan.
22
23
24
25
26
27
28
1.
2.
3.
4.
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
Pgina 81 de 181
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
Algunos paquetes tienen procedimientos para detectar y eliminar redundancias en los modelos. De
6
7
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
12
Cotas de variables
13
En algunas ocasiones el valor de las variables est acotado del siguiente modo:
14
x U
15
16
17
como una cota. Existe una versin modificada del Simplex que permite trabajar con estas variables
18
acotadas.
19
20
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
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
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
JPGS2011
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
13
14
Pgina 83 de 181
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
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-
10
11
9.2.3
12
13
14
generadores de matrices por su origen, aunque en realidad son lenguajes de alto nivel para la
15
programacin matemtica.
16
17
como MPL. Algunas son de pago (AMPL y MPL de Maximal Software por ejemplo) y otras son gratuitas
18
Pgina 84 de 181
JPGS2011
9.3
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
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
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
22
23
24
25
26
27
28
29
30
31
32
33
9.3.1.1
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
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
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
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
16
17
9.3.2
18
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
interactuar con el gestor o persona que toma la decisin. Si tales sistemas incorporan algoritmos que
decisin real. Para disear dichos algoritmos es conveniente construir modelos y disear mtodos de
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
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
12
9.4
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
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
24
25
A x b
Se obtiene una solucin bsica al problema
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
Pgina 87 de 181
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
4
5
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
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
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:
20
21
22
23
24
9.5
25
9.5.1
26
27
como ramificacin y corte (Ramificacin y Acotacin, Ramificacin y Poda Branch and Bound en
28
29
30
31
(el problema original con la regin factible completa sin las restricciones de integridad). Si se cumplen
32
33
en o ms regiones. Se resuelve cada uno de los sub-problemas, si uno de ellos satisface las
34
JPGS2011
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.
5
6
7
8
9
10
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
( 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
17
18
Sub-problema2 = Problema1 + ( x1 1)
19
Sub-problema3 = Problema1 + ( x1 2)
20
21
22
23
( x1 , x 2 , x 3 ) = (1,1.5,2.667 )
Dado que
z 2 = 14.1667
factible.
24
La relajacin del sub-problema3 no tiene solucin, por lo que no se profundizar ms en esa rama.
25
Pgina 89 de 181
Sub-problema4 = Sub-problema2 + ( x 3 2)
Sub-problema5 = Sub-problema2 + ( x 3 3)
4
5
( x1 , x 2 , x3 ) = (0.714,1.5,2)
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)
15
b)
16
c)
17
d)
18
19
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
Pgina 90 de 181
JPGS2011
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
9.5.2
Enumeracin implcita
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
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
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
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
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
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
12
13
9.6
14
15
16
sucede a ste.
17
Pgina 92 de 181
JPGS2011
10.1 Introduccin
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
15
16
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
25
solucin.
26
27
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
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
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
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
10
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
16
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
23
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
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
34
35
Combinatoria y otra a los procedimientos de resolucin. Se acompaan los apuntes con resoluciones
36
Pgina 94 de 181
JPGS2011
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
6
7
b) Procedimientos Enumerativos
10
11
12
13
14
15
16
17
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
22
23
24
25
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
n!
( n r )!
Pgina 95 de 181
1
2
3
4
5
6
7
8
9
10
nr
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 !
n!
r !( n r )!
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
13
distintas ordenadas y no ordenadas). Cuando se indica que los elementos estn ordenados hace
14
nr
15
16
17
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)!
20
r
Cn+r 1 =
21
Teora de la Complejidad
22
23
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
Pgina 96 de 181
JPGS2011
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
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
14
15
Ordenar
16
17
Intercambiar
18
Sumar
19
Voltear
20
21
22
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
30
31
10.4.1.1 Secuenciacin
32
Los problemas de secuenciacin son, junto con los de rutas, la aplicacin ms clsica en
33
34
planteamiento. Aun as el nmero de problemas diferentes que se puede plantear son muchos.
Pgina 97 de 181
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
paralelo y/o mquinas en serie (taller de flujo) y de ah al taller general. Otra extensin habitual es
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
14
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
22
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
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
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
habituales.
9
10
11
12
13
14
15
16
17
18
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
24
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
28
Al comparar los algoritmos se puede realizar tanto en el tiempo de resolucin que emplean como en
29
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
34
Pgina 99 de 181
1
2
3
4
5
a) Algoritmos constructivos. Construyen la solucin desde una solucin incompleta, a partir de los
8
9
10
11
12
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
22
23
24
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
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
JPGS2011
problema real no es esencialmente grave. Por ltimo ser capaz de disear una buena heurstica, exige
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
9
10
11
12
13
14
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
18
19
aleatorios de ejecucin entre 2 y 20. Se ha ejecutado un algoritmo aleatorio 1000 veces y se ha obtenido
20
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.
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%.
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
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
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.
JPGS2011
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
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
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
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
35
prximo, produciendo mejoras hasta que alcanzan un punto donde ningn elemento en el vecindario es
36
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
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
6
7
8
9
10
11
12
Mtodos Constructivos
Voraces
Heursticas con BackTracking
Heursticas No-Constructivas
Exploracin de Entornos
Mtodos Combinados
13
Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante
14
15
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
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
23
24
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
29
resolucin (Por ejemplo eliminar sub-secuencias antes de empezar por ser demasiado
30
caras).
31
32
33
34
JPGS2011
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
12
13
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
17
una bsqueda en profundidad en un algoritmo enumerativo, donde cada decisin equivale a un nodo en
18
el rbol.
19
20
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
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
28
Las Heursticas constructivas se pueden utilizar siempre que el problema se puede resolver mediante
29
30
31
32
Se consideran heursticas voraces aquellas que avanzan sin posibilidad de deshacer las decisiones
tomadas.
33
12 ALGORITMOS ENUMERATIVOS
3
4
En el problema citado para ejemplificar la bsqueda aleatoria (el Flow-Shop con 12 tareas) el nmero
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
12
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
19
20
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
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
JPGS2011
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.
6
7
8
9
10
11
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.
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
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
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
24
25
26
27
28
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
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
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).
JPGS2011
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
4
5
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
10
11
12
13
14
15
16
17
a) Seleccin aleatoria
18
19
20
21
22
f)
23
24
25
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
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.
1
2
3
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
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
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
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.
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
26
JPGS2011
1
2
3
4
13.1 Vecindario
solucin actual con una operacin simple. Cualquier punto que requiera dos operaciones no es
vecindario.
10
11
12
13
14
15
16
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
24
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
29
30
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.
JPGS2011
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
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
19
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.
Fin de la bsqueda
1
2
Al final de la segunda etapa puede finalizar la bsqueda en la poblacin actual e ir a la etapa cuatro o
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.
Los Algoritmos Genticos fueron introducidos por Holland en 1975 para imitar algunos de los
10
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
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
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
JPGS2011
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
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.
Estos procesos pueden tener cada uno formas variadas, e incluso se permite el avance en paralelo
16
17
18
19
20
21
22
23
24
Seleccin de progenitores
Aplicacin de los
operadores genticos
Actualizar la poblacin
No
Se cumple la condicin de parada?
Si
25
26
Figura X
binario. Los operadores eran muy sencillos pero muchas de las soluciones obtenidas no eran factibles
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
11
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
18
19
20
21
22
23
24
25
26
27
Generacin Aleatoria
Heursticas conocidas
28
29
30
31
32
14.1.1.5 Definicin de Mtodos para la seleccin de dos (o ms) padres de la Poblacin Inicial.
33
34
procedimiento de cruce lo permite). El modo de seleccin de los padres se suele realizar mediante el
35
JPGS2011
1/6 = 17%
fitness(A) = 3
fitness(B) = 1
fitness(C) = 2
A B C
1
2
3
4
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
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
19
20
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
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
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
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
16
Dicha evolucin se consigue por la va de sustituir (de uno en uno o en paquetes) elementos de la
17
18
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
24
modo de monitorizar la convergencia es contabilizar para toda la poblacin si se repiten los mismos
25
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
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.
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
15
Scatter
16
implementaciones con distintos grados de complejidad. El mtodo consta de las siguientes etapas:
17
18
19
poblacin de referencia.
20
Comienza con una coleccin de puntos de referencia (obtenidos mediante la aplicacin de otros
21
22
23
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
27
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
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
13
Otro modo de concebir las estructuras GRASP es mediante el uso de heursticas constructivas
14
aleatorias (randomizadas).
15
16
Figura X
17
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
22
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
JPGS2011
puede citar la Bsqueda de Vecindario Variable (Variable Neighborhood Search- VNS), cuya idea
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
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
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
15
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
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
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
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
que se prohbe al sistema deshacer algunos de los ltimos movimientos realizados, para permitir la
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
24
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
32
33
JPGS2011
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
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
11
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
16
17
18
c) Establecer un objetivo que pretenda maximizar el ratio beneficio entre horas totales de
19
trabajo.
20
21
22
23
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.
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
JPGS2011
1
2
Defina cuntos contratos de cada tipo ha de hacer para cada hora de una jornada.
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
a)
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
10
11
12
13
14
15
16
Adems para poner en marcha cada mquina hay que utilizar mano de obra, de la que disponemos 4
17
18
19
Se plantean dos escenarios de precios por centenar de unidades con probabilidades respectivas del
20
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
24
25
26
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.
6. Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de
desigualdades posible.
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
9. Suponer que se puede alquilar una mquina ms de mecanizado con un coste fijo semanal de
10. Suponer que se puede alquilar una mquina ms de mecanizado con un coste fijo semanal de
10
11
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
16
17
18
19
20
f)
21
22
23
24
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
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
32
Cada kilo de uva comprado da lugar a 0,80 litros de cualquiera de los lquidos finales.
JPGS2011
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
El zumo de uva se produce con un mnimo de un 70% en volumen de uva, el resto es agua. Aunque
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
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
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
20
21
hectolitros.
22
d) Incorpora las restricciones financieras segn las cuales no es posible adquirir ms 600.000 de
23
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
27
f) La empresa ha decidido hacer zumo 100% natural, para ello se utilizar el agua que resulta de la
28
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
33
Una empresa fabricante de zapatillas deportivas estima la siguiente demanda (en centenares de
Mes 1
30
Mes 2
40
Mes 3
55
Mes 4
30
Mes 5
60
Mes 6
35
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
14
15
16
e) Suponga que el objetivo es minimizar las diferencias de produccin entre un mes y el siguiente:
17
18
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
conjunto?
i)
Suponiendo e) Cmo incorporara un precio fijo a fabricar de un tipo o de otro en cada periodo
25
26
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)
JPGS2011
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
La empresa se plantea la poltica de mnimo coste para el nuevo ao, lo que podra implicar cerrar
10
11
12
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
21
22
23
24
Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en
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
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
31
l)
32
33
La capacidad de la destilera 2 puede ser superada con un coste adicional por unidad vendida.
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
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
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
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
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
JPGS2011
Como es evidente, el objetivo de la empresa es ganar la mxima cantidad de dinero posible . Los
semanas.
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
10
11
c) Suponga que si en un periodo se produce compra de alguno de los productos hay que pagar un
12
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
16
e) Suponga que hay descuentos por cantidad para cada producto, de tal modo que los precios de
17
18
19
20
f)
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
27
28
29
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
a) Dado un tiempo de ciclo. Establecer una asignacin que utilice el mnimo nmero de estaciones.
6
7
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
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
22
Otro de los conjuntos de datos a considerar son las mesas. Cada una de ellas tiene una capacidad
23
24
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
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
33
En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una mesa
34
sin conocidos?
JPGS2011
Usted trabaja en una multinacional del sector audiovisual y ltimamente le estn pidiendo que haga
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
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
11
12
c) Si fijamos un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?
13
14
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
18
f)
19
20
21
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
28
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
(Delantero, Central y Trasero) con diferentes capacidades en peso y en volumen cada uno de ellos.
10
11
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)
14
(1 punto)
15
16
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
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
24
beneficios?
JPGS2011
(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
(1 punto)
5
6
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)
10
11
12
1
2
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
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
11
12
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
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
JPGS2011
1
2
i:=i+1
end; // del while
3
4
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
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
45
46
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.
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
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
41
42
43
JPGS2011
Se trata de unir todos los puntos mediante un circuito que slo visite cada nodo en una ocasin
minimizando el recorrido.
4
5
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
20
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
1
2
3
4
5
6
7
8
9
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
17
18
19
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
37
38
39
40
41
42
43
44
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;
45
JPGS2011
Se
selecciona
un
modo
de
seleccin
de
padres
en
funcin
de
una
ruleta
donde:
fitness(v)=1/Evaluacin(v).
7
8
9
10
11
12
13
14
15
16
17
generarPoblacionInicial;
while not(hayQueParar) do begin
seleccionarPadres;
construirNuevaSolucion;
provocarMutaciones;
actualizarPoblacin;
end;
18
19
20
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
25
26
Una solucin es una concatenacin de los diferentes tipos de productos, de tal manera que la
27
28
29
El criterio ms habitual para medir la calidad de una solucin es intentando evaluar la distancia que
30
31
(Y
32
ik
ri )
33
34
1
2
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
19
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
JPGS2011
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
26
27
28
29
30
31
32
generarPoblacionInicial;
while not(hayQueParar) do begin
eleccionarPadres;
construirNuevaSolucion;
Pgina 143 de 181
1
2
3
4
provocarMutaciones;
actualizarPoblacin;
end;
Por tanto para definir el procedimiento hace falta:
8
9
10
11
12
13
14
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
23
24
25
26
27
28
JPGS2011
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
[ 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
DX=5 DY=8
1
2
La solucin anterior se puede definir del siguiente modo: (Q1,N0,P1,M0), que representa que
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
JPGS2011
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
22
(2 puntos)
23
(1 punto)
24
(1 punto)
25
(2 puntos)
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
log(Beneficio Esperado)
0,04
0,30
1,00
3,00
4,48
5
6
6,68
4,48
5,48
6,16
5,30
5,78
5,85
1
2
(1 punto)
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
13
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
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
20
21
partido i
22
[ Maximize] X i
es equivalente a
[ Maximize] log ( X i )
i
23
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
27
28
JPGS2011
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
A,1 = 1 B,2 = 1
B,2 A,1
11
12
yi = i ,1 + i , X + i ,2
yi = i + 2 i + 3i
1 = i + i + i
13
14
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
17
X i = Pij ij
j
[ 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]
g) Un anlisis estadstico previo parece indicar que el ingreso esperado no crece linealmente con las
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
15
12, F representa X2 y G representa 1X2. Sea una posible solucin al problema planteado
16
ADEABCEFFBEBFB.
17
18
19
sea
otra
posible
solucin
al
mismo
problema
ADEABCEFFBEBFB
Pgina 150 de 181
JPGS2011
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
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
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
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:
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.
especialmente aquel que tiene los valores pequeos tan cerca de la celda superior izquierda
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
11
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
15
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
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
26
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
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).
JPGS2011
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
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
14
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
^10
23
24
b) Disee un algoritmo heurstico que genere una solucin que podamos considerar correcta.
25
26
27
28
29
30
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
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
j : ndice que recorre las 4 lneas desde las que se pueden extraer unidades
10
entero(x) : Funcin que trunca un nmero aleatorio y se queda slo con la parte entera
11
12
13
14
a)
Un algoritmo que genere una solucin aleatoria podra tener la siguiente estructura.
15
16
17
18
Como ejemplo sean los nmeros de dos cifras una secuencia aleatoria entre 0 y 99.
19
20
21
22
b)
Un algoritmo que genere una solucin que podamos considerar correcta podra tener la siguiente estructura
23
24
25
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
29
Otro algoritmo que genere una solucin que podamos considerar correcta sera:
30
31
32
33
Otro algoritmo que genere una solucin que podamos considerar correcta sera:
Pgina 154 de 181
JPGS2011
1
2
3
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
end
9
10
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
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
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
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
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
JPGS2011
17 CASOS
aulas en los ltimos aos. Este crecimiento ha supuesto una modificacin sustancial en algunos de los
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
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
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
20
21
22
23
24
25
26
27
1
2
3
4
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
13
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:
JPGS2011
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
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 de Puesta en
Marcha
3000
2000
1000
13
14
15
16
17
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
Coste de Puesta en
Marcha
2000
2000
5
6
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
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
JPGS2011
1
2
Adems los centros de transformacin 1 y 5 pueden ser alimentados con ms potencia comprando
energa a una red elctrica externa.
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
PETR1
27
28
29
PETR2
30
30
29
PETR3
26
28
27
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
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
21
22
23
24
25
Craqueado
JPGS2011
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
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
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
a) Disponibilidad diaria de los tres tipos de petrleo: 40.000, 60.000 y 40.000 barriles
respectivamente
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
Demanda
4000
26000
10000
30000
30000
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
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
JPGS2011
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
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
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
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
JPGS2011
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
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
11
particularidad que comparten componentes entre un modelo y otro. Las suelas tienen un periodo de
12
13
14
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
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
As, se pretende establecer el modelo que permitiera definir el plan de trabajo para los prximos
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.
sustituir a los trabajadores que estn todo el ao. Los costes de produccin de cada par se evalan
10
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
17
JPGS2011
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
Hola,
Carlet y estoy integrada con las farmacias de mi pueblo y de otros 2 cercanos, para hacer
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
26
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
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
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?
1
2
Buenos das,
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
10
11
12
13
14
JPGS2011
Una empresa de fabricacin y montaje de motores sirve motores y componentes de los mismos a
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
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
11
conjunto vara. Pero vara de un modo planificado. Asimismo Esto implica pruebas de productos y
12
13
14
15
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
1
2
La lnea de Montaje de una fbrica de Motores es un sistema altamente automatizado, bastante poco
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
13
como en lo referente a la consideracin del factor humano. Los modos de gestin de la capacidad son
14
15
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
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
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
JPGS2011
relativamente prolongado (verano, pascua, navidad) de tal modo que no se tendr ms stock del
3
4
1
2
3
La fbrica puede trabajar a 1,2,3 y 4 turnos de 80 horas semanales cada uno (deduciendo la parte
40 K
(5 f )
5
envasado medida en hectlitros por hora, y f el nmero de festivos en una semana (considerando slo
10
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
14
15
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
21
22
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
JPGS2011
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
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
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
13
Usted est analizando la cadena de suministro de productos perecederos, y CPD cuenta con tres
14
Capacidad()
C Fijo
C Variable por
Fbrica1
10
10
10000
500
Fbrica2
30
50
10000
700
Fbrica3
15
40
40
10000
1000
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
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
15
16
JPGS2011
ETAPA 1:
Almacen2
Almacen3
Almacen4
Fabrica 1
Fabrica 2
Fabrica 3
6
7
8
9
10
11
12
Cada fbrica tiene que pagar un coste fijo por ser utilizada.
4
5
Cada fbrica tiene que pagar un coste variable por cada unidad que utiliza.
10
11
12
Por qu cree que deben existir esos costes variables? Cree que deben ser constantes o dependen
13
segn la cantidad?
JPGS2011
ETAPA 4
Aadimos dos posibles proveedores, con sus costes de aprovisionar a cada fbrica respectivamente.
4
5
6
Grafe como evolucionara la red completa a medida que va subiendo el valor de euros por metro
cbico transportado.
18 BIBLIOGRAFA
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
11
Conway, R.W., W.L. Maxwell, L.W. Miller. Theory of Scheduling. Addison-Wesley. 1967
12
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
21
22
Gendreau, M., 2003. An introduction to tabu search. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook
23
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
JPGS2011
Henderson, D., Jacobson, S.H., Jonhson, A., 2003. The theory and practice of Simulated Annealing. In:
Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,
pp. 287-319.
4
5
Johnson, L.A., D.C. Montgomery. Operations Research in Production Planning, Scheduling and
Inventory Control. John Wiley and Sons. 1974
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
19
20
21
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
25
26
27