Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN ................................................................................................................................... 11
MODELOS....................................................................................................................................... 12
1.1
1.2
Qu es un Modelo? .................................................................................................................. 12
1.3
1.3.1
Aprender / Entender............................................................................................................... 14
1.3.2
Implementar en un ordenador................................................................................................ 15
1.3.3
1.4
1.5
1.6
1.6.1
1.6.2
1.6.3
1.7
1.7.1
Los modelos han de ser simples, su anlisis debe ser complejo .......................................... 19
1.7.2
1.7.3
1.7.4
1.7.5
Introduccin ................................................................................................................................ 22
2.2
2.2.1
2.2.2
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
Simulacin.............................................................................................................................. 27
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.5
2.6
2.6.2
2.6.3
2.6.4
2.7
2.7.1
2.7.2
2.7.3
3.1
Introduccin ................................................................................................................................ 44
3.2
3.2.1
3.2.2
3.2.3
3.3
3.4
3.4.1
3.4.2
Programacin multiobjetivo.................................................................................................... 51
3.5
3.5.1
Pgina 4 de 171
JPGS-JM-2015
3.5.2
La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
4.1
Introduccin ................................................................................................................................ 63
4.2
4.2.1
4.2.2
4.2.3
4.2.4
4.3
4.3.1
Restricciones disyuntivas....................................................................................................... 64
4.3.2
4.3.3
4.3.4
4.3.5
4.4
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.5
4.6.1
4.6.2
4.6.3
5.1
Introduccin ................................................................................................................................ 74
5.2
5.2.1
Pgina 5 de 171
5.2.2
5.2.3
5.2.4
5.3
5.3.2
Relacin lgica
=1 a j x j b ................................................................................ 79
j
5.3.3
Relacin lgica
xj < b =
1 ................................................................................ 79
xj b =
1 ................................................................................ 79
5.3.4
Relacin lgica
5.3.5
Relacin Lgica
=1 a j x j b ............................................................................... 80
j
5.3.6
Relacin lgica
xj > b =
1 ................................................................................ 80
xj b =
1 ................................................................................ 80
5.3.7
Relacin lgica
5.4
5.5
5.5.1
5.5.2
6.1
Introduccin ................................................................................................................................ 90
6.2
6.3
6.4
Introduccin ................................................................................................................................ 94
Pgina 6 de 171
JPGS-JM-2015
7.2
7.2.1
7.2.2
7.4
8.2
8.2.2
8.2.3
8.3
8.3.2
8.4
8.4.1
8.4.2
8.5
8.5.1
8.5.2
8.5.3
8.6
8.6.1
Introduccin.......................................................................................................................... 116
8.6.2
8.6.3
Pgina 7 de 171
9.1
9.1.1
9.1.2
9.2
9.2.1
9.2.2
9.2.3
9.3
9.3.1
9.3.2
9.4
9.5
9.5.1
9.5.2
9.6
9.6.1
9.6.2
9.6.3
9.7
9.7.1
9.7.2
9.8
9.8.1
9.8.2
9.9
9.9.1
9.9.2
9.9.3
9.10
9.10.1
9.10.2
9.11
Pgina 8 de 171
JPGS-JM-2015
9.11.1
9.11.2
9.11.3
9.12
9.13
9.13.1
9.13.2
9.13.3
9.14
9.14.1
9.14.2
9.14.3
10
10.1
10.2
10.4
10.5
10.6
Caso 6: Las farmacias de Alcudia, Benimodo y CarletEquation Section (Next) ............. 160
10.7
10.8
10.9
11
Pgina 9 de 171
12
Pgina 10 de 171
JPGS-JM-2015
INTRODUCCIN
Este es un libro sobre un modo de pensar la realidad que utiliza una herramienta: La programacin
matemtica con relaciones lineales entre sus variables.
Como tcnica de modelado parece muy restrictiva, pero tiene la ventaja de que las tcnicas de
resolucin son muy eficientes. Se puede aducir que la realidad nunca es lineal. Cierto. Pero la realidad
tampoco es en blanco y negro, y sin embargo hay estilos fotogrficos que consideran esa limitacin
como una oportunidad de representar la realidad.
En la mayor parte de los libros de Investigacin Operativa, se sigue la tradicin de explicar modos de
resolver problemas de Programacin Matemtica. Para los autores de este texto, ese es un aspecto
superado. La matemtica y su hija menor, la informtica, nos han proporcionado un buen modo de
resolver: utilizar paquetes de resolucin informatizados. Dichos paquetes, libres y de pago, son cada vez
ms sofisticados y eficientes. Gracias a ellos, el problema ha dejado de ser cmo resolver el modelo, el
problema es modelar la realidad e interpretarla a travs del modelo. Y de eso es de lo que va este libro.
En l propone un mtodo razonablemente sistemtico para llegar a crear el modelo, que es mucho
ms difcil de hacer que replicar el mtodo de resolucin ( si es que hay todava slo uno).
El libro ha sido construido a travs de los aos con el aporte de muchos alumnos y
fundamentalmente sus dudas. Tantos aos que incluso a la RAE le ha dado tiempo a aceptar la palabra
modelizar, aunque los autores prefieren la ms antigua y menos pretenciosa modelar.
El libro est pensado para aprender a modelar eficientemente, y para ello en ocasiones intenta
explicar alguna circunstancia que ayude a entender el porqu de algunas limitaciones, o porqu unas
tcnicas son mejores que otras.
Los modelos no son la realidad, son el atajo que nos permite aprehenderla. Y la programacin
matemtica es una tcnica ms, una tcnica muy potente, pero una ms.
El libro consta de 11 captulos. Los dos ltimos se dedican a problemas. Los 8 primeros plantean
aspectos tericos. La mayor parte de los problemas y los casos estn basados en situaciones reales
que los autores han vivido.
Pgina 11 de 171
1 MODELOS
1.1
racional es necesario conocer las posibilidades que se nos abren y el efecto de las mismas. Esos
clculos los hacemos a travs de modelos que pueden ser ms o menos simples.
El arte de crear modelos requiere mucha experiencia pero tambin tcnica. Y un poco de filosofa
al reconocer que los modelos siempre son representaciones de la realidad, que asumimos que existe, y
es percibida de modo diferente por diferentes actores en funcin de sus necesidades.
El presente captulo aborda algunos conceptos bsicos como la definicin de modelo o su utilidad
y Las diferentes interpretaciones de la palabra Cliente, Problema o Solucin.
Establece tambin el ciclo de vida en la construccin e modelos y algunos principios bsicos que
facilitarn alcanzar con xito los objetivos del modelado.
1.2
Qu es un Modelo?
Una de las definiciones ms simples de modelo es la propuesta por Colin Lee (1973, pg. 7):
Un modelo es una representacin de la realidad
Advierten Box y Draper (1987, pg. 74) de una caracterstica de los modelos.
Bsicamente todos los modelos son errneos, aunque algunos son tiles
Desgraciadamente el ser humano tiende a confundir el modelo con la realidad. En un proceso de
metonimia el ser humano tiende a crear modelos y tergiversar la realidad hasta que esta se adapta a
ellos. Pero eso es un defecto de la mente humana, no del proceso de modelar.
Pidd (2010) propone la siguiente definicin que por su inters se desarrolla posteriormente:
Un modelo es una representacin explcita y externa de parte de la realidad
como la ven las personas que desean usar el modelo para entender, cambiar,
gestionar y controlar dicha parte de la realidad
De esta definicin se pueden extraer muchas reflexiones interesantes sobre los modelos y su uso en
Investigacin de Operaciones (Operation Research (OR) en ingls). Quiz la ms relevante es que los
modelos son representaciones (no son la realidad, que, por cierto, se asume que existe) pero que los
hacemos con un objetivo respecto a la realidad modelada.
Los modelos son explcitos se construyen manejan y modifican como tales. Y aunque no se debe
confundir el modelo con la realidad, el modelo debe tener una imagen fsica sobre la que los diferentes
actores puedan opinar.
Pgina 12 de 171
JPGS-JM-2015
Los modelos son externos. Mientras no tienen una representacin externa respecto del modelador
son simplemente una teora mental del mismo. En esa presentacin externa radica una de las grandes
ventajas de los modelos: ponen negro sobre blanco los pensamientos, los datos, las hiptesis y las
intuiciones.
Este esfuerzo es ms que suficiente, en algunas ocasiones, para reconocer que no hay tal modelo, e
incluso que la realidad aparentemente no era la observada sino un conjunto de pre-juicios. En la mayor
parte de las ocasiones la mera representacin explcita y externa de partes del modelo, permite a los
actores del proceso tomar decisiones en beneficio del sistema que alteran sustancialmente el propio
sistema modelado.
Los modelos los realizan los modeladores. Son su esfuerzo y son su resultado. En muchas ocasiones,
al construir modelos, el modelador ha de atender comentarios que le obligan a incorporar uno u otro
aspecto de la realidad. Entonces el modelador es otro. Si a un pintor le dijeran el color con el que ha de
pintar una puesta de sol, no sera su puesta de sol sino la del observador impertinente.
Los modelos representan parte de la realidad. Afortunadamente la realidad es siempre ms compleja
que cualquier modelo por sofisticado que ste sea. El modelador discrimina qu aspectos son relevantes
y cules no, en funcin del objetivo que pretende alcanzar.
La realidad representada se limita a ser la que quiere ver, manejar controlar o cambiar el que dirige el
modelo. En muchas ocasiones una empresa solicita un modelo a un consultor externo para poderlo
utilizar internamente. Es uno de los caminos ms adecuados para que el modelo no se pueda utilizar,
pues siempre habr matices que podran haber sido representados de otra manera y que pueden entrar
en conflicto con las expectativas de lo que tiene que hacer el modelo. Por otro lado la visin de un
espectador externo permite plantear e incluso resolver conflictos que subyacan implcitamente en la
versin que cada actor tena de los hechos.
Los modelos, al representar externa y explcitamente parte de la realidad, permiten fundamentalmente
entender. Una etapa bastante habitual en el ciclo de vida de un modelo exige, tras uno (o varios) intentos
de modelado, cambiar de herramienta de modelado. Este paso (aunque nunca bien entendido) es
natural, puesto que el mejor entendimiento del problema provoca cambios radicales en la percepcin de
la realidad y la supuesta problemtica asociada.
La inteligencia de la realidad a travs del modelo, permitir asesorar sobre la oportunidad de cambios
en la realidad modelada. Dichos cambios sern ms adecuados cuantos ms aspectos de la realidad se
hayan podido modelar.
La gestin de la realidad a travs de los modelos es un hbito comn y necesario, aunque no
percibido. La gestin financiera de una empresa es uno de los modos ms extendidos de uso de un
modelo (la contabilidad) sin una percepcin clara del modelo utilizado (y en demasiadas ni siquiera de la
realidad representada). Pero tambin el uso de las tcnicas de Planificacin de Requerimientos de
Materiales Material Requirements Planning (MRP) en la gestin de materiales responde a la
implementacin informtica de modelos en funcin de los cuales se toman decisiones. Incluso la
Pgina 13 de 171
1.3
En atencin a lo anterior se pueden definir tres mbitos de utilidad de los modelos en la Investigacin
de operaciones:
1.3.1
Aprender / Entender
Implementar en un ordenador
Tomar decisiones
Aprender / Entender
Pgina 14 de 171
JPGS-JM-2015
1.3.2
Implementar en un ordenador
Tomar decisiones
Los modelos construidos permiten mediante su resolucin ayudar a la toma de decisiones generando
soluciones ptimas, o suficientemente cercanas al ptimo, dado un objetivo establecido.
Asimismo pueden ser utilizados para evaluar el impacto de tomar decisiones, antes de tomarlas, y de
este modo elegir la que ms se ajuste a la solucin.
Pero adems, desarrollar el modelo, ejecutarlo y analizar las soluciones permite objetivar el proceso
de anlisis, permite pintar una realidad que todos tienen que aceptar, o aportar datos que mejoren el
modelo. De este modo, al objetivar el proceso de anlisis, los participantes en el proceso de toma de
decisiones entran en una dinmica de objetivacin y aporte de datos, que simplifica y favorece el propio
proceso y su resultado.
1.4
El Cliente y el Problema
En general el cliente no conoce suficientemente bien su problema ni su origen (tanto el que solicita
un modelado como el que no lo solicita). Si lo conociera no solicitara ayuda para resolverlo, y por tanto
el problema no existira, porque en muchas ocasiones ser capaz de explicitar el problema es hacer
evidente una solucin.
En general se puede afirmar que el cliente tiene una nebulosa sobre un problema a la que damos
una cierta forma con la construccin del modelo. Es por ello que muchos problemas de organizacin
industrial no se resuelven sino que se disuelven.
Pero adems el nmero de actores implicados en un problema es en general alto y con perfiles muy
diferenciados entre s. En la mayor parte de las ocasiones el conocimiento sobre el problema real y sus
circunstancias, es escaso. Escassimo es el conocimiento sobre las herramientas para resolver dicho
problema. Y ese desconocimiento sobre la herramienta es un factor a tener en cuenta porque permite
vender la solucin, pero impide la compra.
Pgina 15 de 171
Sin nimo de ser exhaustivo se pueden identificar al menos 4 tipos de implicados en la generacin de
una solucin:
1.5
A partir de la descripcin del problema, generamos informacin que podr ser capturada en forma de
datos. Dichos datos son analizables de tal modo que generan unos datos conocidos como variables de
salida. Por lo general, esos datos son intiles salvo que se transformen en informacin, y slo sta
ltima puede ayudar a resolver el problema.
La palabra solucin tiene demasiados significados y es conveniente tratar algunos de ellos aqu.
De modo general una solucin es el efecto de resolver o dar por terminado algo. As que la solucin
de un problema hace que este desaparezca. Es en este sentido en el que antes se ha indicado que la
mayor parte de los problemas de organizacin industrial se disuelven por el mero hecho de modelar.
En matemticas (y este es un libro de investigacin operativa) la solucin tiene otra caracterstica.
Una solucin es un conjunto de valores posibles que adoptan las incgnitas (bonita palabra que ha sido
sustituida por variables). As solucionar un problema expresado de modo matemtico es definir valores a
las variables de manera que su combinacin sea factible.
En determinados ambientes la palabra solucin se encuentra demasiado asociada a la palabra
ptima. Existen ambientes an ms degradados (que los autores recomiendan no frecuentar
excesivamente) dnde se utiliza con total impunidad la expresin una solucin ms ptima. Los
autores de este libro consideran que la palabra optimizar no se debe utilizar en vano, y aunque no es
necesaria la pena de crcel para quien quiere una solucin ms ptima si debera ser escarmentado
en plaza pblica. Una solucin ptima es la que es mejor que todas las dems y adems se puede
demostrar. Por otro lado aunque muchos investigadores consideran que si no es ptimo no es solucin,
cuando la solucin se acerca a la implementacin prctica la optimalidad no es el nico criterio a
considerar al definir un mtodo para alcanzar la solucin.
Pgina 16 de 171
JPGS-JM-2015
1.6
Afortunadamente no existe un mtodo idneo, nico y estructurado 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:
Etapa 1. Definir el Problema. Esta fase incluye entender el problema y acordar con el cliente
los resultados a obtener.
Etapa 2. Modelar y Construir la Solucin. Esta fase incluye definir el tipo de tcnica a utilizar,
generar el modelo (implementarlo informticamente si es el caso) y por ltimo validarlo.
Etapa 3. Utilizar la Solucin. Un modelo perfecto que no se utilice es un modelo
perfectamente intil. Ser capaz de implementar el modelo de tal manera que el cliente lo
utilice, y mantener un sistema de actualizacin son los dos elementos bsicos de esta
fase.
Pgina 17 de 171
Cualquiera de las etapas citadas exige replantearse siempre la vuelta al principio del proceso. La
mejor comprensin de la realidad puede llevar a cambiar la tcnica a utilizar para alcanzar el objetivo
propuesto.
1.6.1
1) Entender el problema. Hay que estructurar el problema para entenderlo. Cualquier herramienta
es buena. En ocasiones con esta etapa el problema a resolver queda resuelto. Y en general
tambin ocurre que el primer problema planteado no era el problema real.
2) Acordar con el cliente los resultados a obtener. No significa necesariamente que el cliente deba
definir el resultado concreto del trabajo. Pero es interesante conocer si pretende una respuesta
del tipo booleana s o no o una hoja Excel sobre la que probar alternativas de decisin.
1.6.2
El propio proceso de modelo debe seguir tres etapas fundamentales y cronolgicamente ordenadas.
3) Definir el tipo de tcnica. La decisin del tipo de tcnica que mejor se ajusta al problema puede
ser revocada en cualquier instante, pero da por perdido todo el trabajo anterior. Esto incluye el
anlisis de datos disponibles y resultados requeridos.
4) Generar el modelo. Esta etapa incluye estimar los parmetros para modelar o calcular
resultados, adems de dar forma fsica al modelo. En este punto es de destacar la aplicacin del
principio Ir paso a paso. Esto implica abordar escalonadamente los diferentes aspectos de la
realidad que se pretenden modelar.
5) Validar el modelo. Decidir si el modelo vale para algo, si se puede usar y si el cliente lo
encontrar aceptable. Fundamentalmente esta fase exige comprobar que se comporta como se
pretenda que se comportara.
1.6.3
Una vez que un modelo est validado, los pasos siguientes consisten en:
6) Implementar el modelo. Trabajar con el cliente para poder extraer los mximos beneficios del
trabajo realizado.
7) Actualizar el modelo. Es evidente que la realidad es cambiante, por ello el modelo debe
adaptarse a las nuevas circunstancias de manera continua si se pretende que siga teniendo
utilidad.
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:
Pgina 18 de 171
JPGS-JM-2015
1.7.1
Modelar es explorar
Ir paso a paso
Es habitual observar que se pretende construir un modelo considerando todos los aspectos
simultneamente desde el principio. Los pintores primero hacen bocetos. La ciencia avanza paso a
paso. Los modelos, si pretenden estar dentro de ella, tambin deben ser elaborados paso a paso.
Un corolario de este principio exige Dividir para Vencer. Empezar generando pequeos modelos de
una parte reducida y determinada del proceso para aumentar su mbito (scope) gradualmente.
De este principio se deriva que la estrategia recomendable es evitar tener todos los aspectos en
cuenta desde el principio. El proceso de modelado puede comenzar aislando una pequea parte y
realizando un modelo detallado, que permita su reproduccin en otras secciones. Tambin se puede
realizar al principio un modelo muy general, e ir mejorando etapa a etapa la exactitud del mismo.
1.7.3
Un buen modelador, ms que quedar restringido por la realidad tal y como la percibe a primera
vista, la aborda e incluso la modela desde puntos de vista alternativos que le pueden dar una imagen
con otro nivel de detalle, o incluso le facilita herramientas que ya han sido utilizadas en casos similares.
El abandonar de modo explcito la realidad puede simplificar el problema o puede permitir
representarlo de un modo ms sencillo. Cualquier plano de metro de cualquier ciudad no representa
cada lnea y cada estacin tal cual es sino que une mediante lneas, los puntos, que representan
estaciones, que en casi ningn caso pueden superponerse sobre un plano detallado y proporcional de la
ciudad. La representacin exacta de la realidad incrementara la dificultad en la lectura de dichos planos.
Sirva para ilustrarlo un ejemplo sencillo que propone/descubre el Profesor Companys de la
Universidad Politcnica de Catalua: El problema de secuenciacin de unidades en una lnea
multimodelo (planteado en Monden, 1983) persigue la regularidad en la aparicin de opciones
(Heijunka). En su versin PRV (regularidad en la aparicin de productos) se puede abordar
heursticamente mediante tcnicas de reparto de escaos como la denominada Ley DHont. Una vez
Pgina 19 de 171
Un fallo comn a la hora de plantear un modelo es retrasar el comienzo del modelado hasta que se
disponga de los datos. El planteamiento debe ser el contrario. El modelo debe requerir datos, no los
datos conformar el modelo.
El analista debe desarrollar las lneas bsicas sobre el modelo y una vez hecho esto, debiera
definirse la estructura de datos necesarios. Si hubiera tiempo lo lgico sera que a la luz de estos
resultados preliminares se redefiniera el modelo y por tanto los datos necesarios, y as sucesivamente.
Se pueden distinguir tres conjuntos bsicos de datos necesarios para crear y validar un modelo:
Dado que un modelo es el resultado de representar objetivamente parte de la realidad para tomar
decisiones, implementar o entender, se podra pensar que el proceso de modelar es un proceso lineal.
Sin embargo, la experiencia muestra que en el proceso de modelar hay muchas vueltas atrs,
cambios de direccin o cambios de perspectiva, incluso es bastante habitual que haya cambios de
herramientas.
Pgina 20 de 171
JPGS-JM-2015
Modelar es explorar la realidad, y en especial la realidad desconocida. Por ello siempre aplica el
siguiente corolario de la ley de Murphy: Si se consigue que el modelo funcione a la primera, es que se
ha errado el problema.
Pgina 21 de 171
2 TIPOS
DE
MODELOS
MATEMTICOS.
LOS
MODELOS
DE
PROGRAMACIN
MATEMTICAEQUATION CHAPTER (NEXT) SECTION 1
2.1
Introduccin
2.2
En Shapiro (2010) se distingue entre teoras y modelos y clasifica estos ltimos, segn el uso que se
d a su resultado en Normativos o Descriptivos.
Son normativos los modelos matemticos cuyos resultados concretos se utilizan explcitamente para
tomar decisiones. Por ejemplo un modelo que calcule un programa de produccin. Los ms importantes
de estos se pueden clasificar en modelos de optimizacin y modelos de resolucin mediante heursticas.
Los modelos descriptivos se utilizan para intentar obtener mejor visin del sistema, la interpretacin
de cuyos resultados conducir generalmente a tomar decisiones. Entre estos modelos se
pueden
Pgina 22 de 171
JPGS-JM-2015
Los modelos descriptivos abarcan todas aquellas tcnicas de modelado que no comportan la
definicin de estructuras matemticas que definen una solucin como la deseable para ser
implementada.
Entre los modelos descriptivos se pueden citar los modelos de simulacin, la teora de colas e incluso
las tcnicas de previsin entre otras. Algunos de los modelos descriptivos llevan aparejada una carga
matemtica importante, mientras que otros su estructura no es de tipo matemtico. Aunque ello no les
quita ni un pice de formalidad. Por poner un ejemplo los modelos IDEF-0 son altamente formales y
estndar. Aunque tienen aspecto de grafo, no necesariamente debieran ser incluidos entre los que se
denominan Modelos Matemticos.
2.2.2
Los modelos matemticos son modelos formales que utilizan el lenguaje de las matemticas para
describir un sistema, expresando parmetros, variables y relaciones. El lenguaje matemtico no se limita
a la expresin de nmeros y operadores aritmticos que los relacionan. As por ejemplo la teora de
grafos, ampliamente utilizada en aplicaciones prcticas, es un subconjunto de la ms general teora de
conjuntos.
Los modelos matemticos se pueden clasificar de mltiples maneras. A continuacin se describen
algunas que se consideran relevantes:
1) Los modelos pueden ser estticos o dinmicos. Un modelo esttico no tiene en cuenta el
tiempo, mientras que los modelos dinmicos s. Los modelos dinmicos se suelen representar
con ecuaciones en diferencias o ecuaciones diferenciales.
2) Los modelos pueden ser lineales o no-lineales. Si todos los operadores de un modelo son
lineales el modelo es lineal. Si al menos uno es no-lineal el modelo es no-lineal. Aunque hay
excepciones, los modelos lineales son mucho ms fciles de manejar que los modelos nolineales. En general los modelos no-lineales pueden ser linealizados, pero entonces, es
posible, que se estn perdiendo aspectos relevantes del problema.
3) Un modelo puede ser determinista o estocstico. Un modelo determinista es aquel en que
cada conjunto de variables en un estado est definido por los parmetros del modelo y por los
estados anteriores. Un modelo determinista se comporta siempre igual para un conjunto de
parmetros de entrada. En un modelo estocstico las variables de estado se representan por
distribuciones de probabilidad, y por tanto el modelo es capaz de recoger aleatoriedad o
incertidumbre.
2.3
Pgina 23 de 171
tambin importantes, modos de modelar como la Previsin (Companys, 1990), la Teora de Decisin
(White, 1972; Raiffa, 1970) o Teora de Juegos (Binmore, 1994), o aplicaciones concretas como
modelos de Inventario (Axster, 2000) o de Reemplazo (Figuera y Figuera, 1979).
2.3.1
En ocasiones hay problemas cuya versin aplicada no presenta las caractersticas del
peor de los casos (worst-case).
2.3.2
Algoritmos de aproximacin que son capaces de dar soluciones muy cerca del ptimo.
Segn Kauffman (1972), la Teora de Redes es una rama de la teora de conjuntos basada en los
trabajos de Kning. En aquel momento, era para el autor, la rama de la teora de conjuntos con ms
Pgina 24 de 171
JPGS-JM-2015
futuro. De hecho aporta una ayuda eficaz para modelar y resolver determinados problemas de carcter
combinatorio que aparecen en los ms diversos dominios (Companys, 2005).
La teora de redes, o de grafos, incluye un modo de representar y un soporte matemtico para
resolver. El modo de representar es intuitivo en su forma ms simple, por su relacin con la realidad
fsica, de determinados tipos de problemas. El soporte matemtico es especial para cada tipo de
problema, que suelen ser complejos problemas de combinatoria, permite resolverlo de modo ms simple
que al utilizar la programacin matemtica convencional. Es relativamente sencillo traducir un modelo de
red a un modelo de programacin matemtica, es un poco ms complicado hacer la traduccin a la
inversa. La decisin sobre qu modo de modelar se debe utilizar, debe tomarla el modelador teniendo
en cuenta la necesidad de transmitir el modelo (donde la teora de grafos es claramente superior), la
disponibilidad de herramientas y la realidad concreta a modelar.
En lneas generales se puede decir que los componentes bsicos de la denominada teora de grafos
son los vrtices (o nodos o puntos) y los arcos que los unen. A un conjunto determinado de vrtices y
arcos se le denomina red. A partir de estos conceptos se desarrollan otros como camino, corte, rbol,
etc.
Algunos de los principales modelos que de este modo se plantean son: los problemas de rbol
mnimo, de camino mnimo, de flujo mximo o de permutacin ptima. El poder reducir un problema real
a un problema clsico de grafos implica la posibilidad de conocer mtodos eficaces de resolucin, para
muchos de ellos (siempre dependiendo del tamao y la complejidad). Algunos de los problemas de
Gestin Industrial que se pueden abordar con estos mtodos son la programacin de Proyectos, la
Gestin de Inventarios, el Diseo de Rutas, la Secuenciacin y la Temporizacin, etc.
2.3.3
Programacin dinmica
Pgina 25 de 171
Teora de colas
Se admite como inevitable la existencia de colas en los sistemas en que las entradas y/o el servicio
se producen a intervalos irregulares. La teora de colas es un mtodo de modelado que describe el
comportamiento de las mismas. La primera aplicacin prctica de la que se tiene constancia, y con la
que se inicia la investigacin en este campo es el trabajo de Erlang (1909, 1917) a principios del siglo
XX.
Uno de los resultados ms conocidos de la teora de colas es la denominada frmula de Little (2011)
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 y Harris,
2008).
Los desarrollos en teora de colas han ido extendiendo sus soluciones tanto para diferentes tipos de
entradas como para redes de colas.
Es de destacar el especial inters que la teora de colas tiene en el diseo de elementos
estructurales de la denominada Nueva Economa (servidores web, procesadores compartidos...).
Pgina 26 de 171
JPGS-JM-2015
2.3.5
Dinmica de sistemas
Se atribuye a Forrester (1997) el inicio del desarrollo de la denominada dinmica de Sistemas. Esta
tiene su relacin directa con el Enfoque de Sistemas visto en el apartado dedicado a los Fundamentos
Organizativos de la Organizacin de Empresas.
Forrester desarroll un conjunto de herramientas y una aproximacin a la simulacin que se ha
llegado a conocer como dinmica de sistemas, mediante la cual se puede llegar a comprender como la
estructura de un sistema humano y sus polticas de control operan. Mostr tambin el valor que tienen
los modelos explcitos que combinan procesos de negocio y estructura organizacional.
En (Pidd, 2010) se sugiere que el precursor de esta idea es Tustin (1957) que public un libro titulado
The Mechanism of Economic Systems: An Approach to the Problem of Economic Stabilization from the
Point of View of Control-System Engineering.
Las herramientas de la dinmica de Sistemas pueden utilizarse de diferentes maneras. La
aproximacin bsica suministra una manera de observar sistemas humanos, haciendo especial hincapi
en la importancia de algunos aspectos estructurales como el control por retroalimentacin. La
consideracin de esta circunstancia aporta interesantes resultados incluso sin el uso de herramientas
informticas. Otro modo de utilizar la dinmica de sistemas es realizando simulaciones mediante
ordenador, que permitan entender mejor el funcionamiento de otro sistema. Por ltimo, la dinmica de
Sistemas se puede utilizar para mejorar el diseo de un sistema, evaluando mediante simulacin su
comportamiento.
2.3.6
Simulacin
Pgina 27 de 171
2.3.7
Teora de juegos
Algunos problemas de toma de decisin se plantean bajo la forma de un juego, donde se trata de
tomar una o varias decisiones, frente a uno o varios decisores cuyas reacciones a las decisiones
tomadas se conocen poco o nada. La teora de juegos trata de establecer como debiera comportarse
racionalmente un individuo ante la ignorancia del comportamiento del adversario cuando se conocen las
reglas de la competencia aceptadas por los participantes (Kauffmann, 1972).
Para Kauffman (1972), la teora de juegos se desarrolla a partir de los trabajos de Borel (1921)
aunque el crdito se suele asociar a Von Neumann (1924). Desde luego el concepto ya haba
preocupado en diferentes formas a Kepler, Huyghens, Pascal, Fermat y Bernouilli entre otros.
Von Neumann y Morguestern (1944) en su primera obra sobre Teora de Juegos, investigaron dos
planteamientos distintos: el estratgico (o no-cooperativo) y el cooperativo. La complejidad del primer
problema planteado hizo que se limitaran a los juegos estrictamente competitivos o de suma nula, donde
los dos jugadores (slo dos) tienen intereses diametralmente opuestos. La segunda parte (el juego
cooperativo) an fue ms complejo y por tanto se limitaron a clasificar los modelos de formacin de
coaliciones (Binmore, 1994).
Nash (1951) afront dos de las barreras que Von Neumann y Morgenstern se haban autoimpuesto.
Sobre los juegos no-cooperativos estableci la idea del equilibrio que aparece cuando la eleccin
estratgica de cada jugador es la respuesta ptima a las elecciones estratgicas de los otros jugadores,
con lo que no es necesario restringirse a los juegos de suma cero. Respecto a los problemas
cooperativos, Nash rompi con la idea de que los problemas de negociacin son indeterminados y
ofreci argumentos para determinarlos (Binmore, 1994).
Actualmente la teora de juegos, lleva aparejado un aparato matemtico cada vez ms complicado.
En cualquier caso su modo de trabajo puede ser, y es, de gran utilidad en el anlisis la toma de
decisiones con la presencia de otros decisores.
Pgina 28 de 171
JPGS-JM-2015
2.4
La caracterstica comn que comparten todos los modos de modelar matemticamente es que
representan la realidad mediante variables (incgnitas) y parmetros (datos). Tambin tenemos en
cuenta algunos otros artefactos como funciones o conjuntos. De este modo la realidad queda
cuantificada. Entre los modelos matemticos estn la programacin dinmica o la teora de grafos.
Los modelos de programacin matemtica se distinguen porque representan la realidad mediante
funciones. Estas son combinacin de variables y parmetros en forma de restricciones y/o funciones
objetivo. En general, las restricciones se deben respetar y las funciones objetivo establecen la diferencia
entre una solucin y otra mejor.
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).
2.4.1
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.
Tres cientficos ilustres van asociados al origen del extrao nombre de Programacin Matemtica:
Koopmans, Dantzig y Kantorovich. Los tres parecen haber diseado mtodos de planificacin y
programacin de operaciones (produccin y transporte) utilizando modelos matemticos y dieron lugar
no slo a la disciplina sino tambin al nombre.
Al finalizar el primer tercio del siglo XX, Kantorovich, premio Nobel de Economa en 1975, se enfrenta
al problema de planificacin desde una ptica de Optimizacin matemtica. Kantorovich, que viva en la
Unin Sovitica enfoca cmo combinar la capacidad productiva de una fbrica para maximizar la
produccin. Para ello utiliza un mtodo de anlisis que posteriormente se llam programacin lineal.
Aunque entonces no tena nombre.
En el ao 1951 Koopmans (que fue premiado junto con Kantorovich con el Nobel) edita un libro de
ttulo "Activity Analysis of Production and Allocation: Proceeding of a conference", disponible en
http://cowles.econ.yale.edu/P/cm/m13/. 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.
Fue el profesor Companys de la Universidad Politcnica de Catalunya quien puso al primer autor del libro detrs de la pista
de esta interesante historia. A l le debe dicho autor muchas cosas interesantes que ha aprendido, y sta es slo una de ellas.
Pgina 29 de 171
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.
De hecho los modelos de programacin cuyas variables tenan relaciones lineales, tenan la
interesante propiedad de no tener ptimos locales por lo que la programacin lineal (PL) se convirti
pronto en un lugar comn de encuentro de modeladores y solucionadores.
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."
2.4.2
Una clasificacin de los modelos de programacin matemtica podra tener en cuenta las siguientes
caractersticas:
- Estructura, objetivos y restricciones (lineales o no-lineales)
- Caractersticas de las Variables (Reales, Discretas -Enteras-, Binarias)
- Certidumbre de los Parmetros (Ciertos e Inciertos)
- Nmero de Objetivos (Ninguno, Uno o ms de Uno)
- Nmero de Restricciones (Ninguna, Ms de Cero)
El objeto de esta descripcin no es establecer una perfecta clasificacin de todos los modelos de
programacin matemtica. Se pretende nicamente fijar un marco que sirva de referencia en el contexto
de este libro.
Pgina 30 de 171
JPGS-JM-2015
2.4.2.1
Programacin lineal
http://www.gurobi.com/
http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/
http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-Optimization-Suite.aspx
http://www.lindo.com/
Pgina 31 de 171
Los tiempos necesarios para resolver los problemas de gran tamao han decrecido de un modo
exponencial. Por una doble razn, por un lado el crecimiento de la velocidad de los ordenadores y por
otro la mejora en las tcnicas matemticas utilizadas.
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 los precios sombra o los costes
reducidos.
Hasta finales de la dcada de los 80 del siglo XX no surgen como alternativa vlida los denominados
mtodos del punto interior. El menor coste computacional de este tipo de algoritmos hace que su
implantacin en los paquetes comerciales sea creciente.
Por ltimo parece necesario destacar que aunque para el observador no experimentado la exigencia
de linealidad puede parecer excesivamente restrictiva, la realidad es que un gran nmero de problemas
reales puedan ser modelados con esa consideracin (Williams, 1999). La ventaja de los programacin
lineal frente a la programacin no-lineal es que para esta no se conocen modelos generales de
resolucin eficientes. Curiosamente el trabajo que se desarrolla en resolucin de programacin no-lineal
est colaborando en mejorar la eficiencia de la programacin lineal.
2.4.2.2
JPGS-JM-2015
pasa a ser de programacin lineal entera. La condicin de integridad puede venir impuesta, entre otros
motivos, por el imposible fraccionamiento de determinados recursos. Uno de los procedimientos ms
efectivos para la resolucin de este tipo de problemas se fundamenta en el concepto de ramificacin y
cota. Desgraciadamente aunque la lgica de este procedimiento es eficaz, conduciendo necesariamente
al ptimo, el coste computacional en algunos problemas es, an hoy en da, excesivo. Otro
procedimiento para la resolucin de estos problemas se basa en los mtodos de planos cortantes.
Aunque este mtodo levant grandes expectativas, no han fructificado de modo eficiente por ahora.
Una variante especial de los problemas de programacin lineal entera lo constituyen aquellos donde
algunas variables son bivalentes. El uso de este tipo de variables tiene su origen en la representacin de
aquellas decisiones que slo admiten dos valores, pero tambin aquellos problemas que exigen
restricciones de tipo lgico. La pretensin de resolver estos problemas de modo eficiente ha dado lugar
a mtodos como el de enumeracin implcita o tcnicas ms generales de enumeracin como las
descritas en (Kauffmann y Henry-Labordere, 1976).
Hay que destacar la existencia de algunos tipos especiales de problemas con variables bivalentes,
que se abordan mediante mtodos especficos de resolucin, ptimos en algunos casos y ms eficientes
por haber sido desarrollados ex profeso. Algunos de estos problemas son los de cubrimiento,
asignacin, particin, mochila y rutas (Williams, 1999).
2.4.2.3
Programacin estocstica
Si a los problemas de programacin matemtica (en general) se les incorpora la incertidumbre en los
parmetros, esta incertidumbre se puede abordar mediante la denominada programacin estocstica.
Una variante de la misma especialmente interesante es la programacin lineal estocstica, que puede
ser resuelta de modo ptimo, aunque con un coste computacional elevado.
Uno de los mecanismos para abordar la incertidumbre en los datos es el uso de los denominados
escenarios. Estos constituyen un posible conjunto de valores para los parmetros. Cada uno de estos
escenarios pueden tener una probabilidad asociada aunque no necesariamente (Dembo, 1991).
Existen diferentes modos de formular mediante un problema de programacin lineal un Problema
Estocstico aunque bsicamente consiste en obtener una decisin para el instante actual teniendo en
cuenta los escenarios futuros. De este modo la decisin a tomar no ser ptima, en general, para
ninguno de los escenarios aunque s para el conjunto de ellos. Este modo de plantear y resolver el
problema tiene un elevado coste computacional pero se puede abordado mediante descomposiciones y
computacin en paralelo con ndice de paralelizacin elevado.
Otro modo de abordar la estocasticidad en los parmetros es obtener el ptimo para cada escenario
y comparar el valor que esta decisin tendra para el resto de escenarios, eligiendo como decisin
definitiva la ms buena, o la menos mala o cualquier otro mecanismo que se considere oportuno.
Pgina 33 de 171
2.4.2.4
Programacin no-lineal
Si a los modelos de programacin lineal se les elimina el requerimiento de que la funcin objetivo o
las restricciones sean lineales, se obtienen modelos de programacin no-lineal. La eliminacin del
requerimiento de linealidad se suele fundamentar en la estructura no-lineal del objeto, o parte de l, a
modelar. En realidad debiera ser planteado al revs, la realidad es generalmente no-lineal y al linealizar
estamos constriendo el modelo.
Sin embargo muchas de las circunstancias aparentemente no-lineales pueden ser linealizadas sin
prdida de su significado. El motivo de la aparente obsesin por la linealidad se basa,
fundamentalmente, en la falta de eficacia en la obtencin de ptimos mediante el uso de los
procedimientos actualmente existentes para la resolucin de problemas no-lineales en general.
De hecho la no-linealidad impide garantizar siempre la deteccin de un ptimo an tras haberlo
encontrado. El teorema de optimalidad de Karush Kuhn y Tucker 6 (ms conocidas por condiciones KKT)
que establecen las condiciones necesarias de optimalidad en problemas no-lineales. Es de destacar que
dichas condiciones no son suficientes sino necesarias.
Una variante de la programacin no-lineal la constituyen aquellos problemas sin restricciones, para
los que el clculo del ptimo tiene su origen en el desarrollo del clculo matemtico del siglo XVIII.
En general se puede admitir que la resolucin de grandes problemas de optimizacin en
programacin no-lineal an hoy no es eficiente. Sin embargo el esfuerzo realizado no es infructuoso. Por
poner un ejemplo 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 nolineales. Posteriormente se han revelado eficientes en los problemas de programacin lineal.
2.4.3
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 con su nombre. 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 34 de 171
JPGS-JM-2015
Tanto la funcin objetivo como las restricciones se expresan matemticamente mediante el uso de
variables o incgnitas. Se pretende definir unos valores a dichas variables de tal modo que se obtiene la
mejor valoracin de la funcin objetivo mientras se cumplen todas las restricciones.
En su formulacin bsica los modelos matemticos tienen una funcin objetivo y una o ms
restricciones. Sin embargo existen excepciones como:
2.4.3.1
Mltiples objetivos
Objetivos no existentes
No existencia de restricciones
Mltiples objetivos
Un modelo de programacin matemtica exige una nica funcin objetivo que tiene que ser
maximizada o minimizada. Esto sin embargo no implica que no se puedan abordar los problemas con
mltiples funciones objetivo. De hecho, como se ha comentado, existen diferentes mtodos de
modelado y posterior resolucin que se pueden aplicar en estos tipos de problemas.
Numerosos autores relacionan la programacin multiobjetivo con la teora de la decisin que se
aborda ms adelante.
2.4.3.2
Objetivos no existentes
Los problemas de optimizacin sin restricciones pretenden minimizar (o maximizar) una funcin real
f(x) donde x es un vector de n variables reales. Es decir se buscan un x* tal que f(x*) f(x) para todos los
x cercanos a x*.
En el caso de un problema de optimizacin global, el valor de x* buscado es el que minimiza f para
todo el espacio xRn.
2.5
La
construccin
de
un
modelo
de
programacin
Pgina 35 de 171
corriente es que una vez terminada una fase haya que volver a una etapa anterior y de este modo volver
a comenzar.
A pesar de no existir una metodologa definida, se propone a continuacin la Ilustracin 2-1 para la
construccin de un modelo:
1)
El conocimiento de los tipos de datos de los que se dispone permite establecer, conjuntos y con ellos
ndices. Muchos de los que se definen en esta fase no son estrictamente necesarios, y otros se
incorporarn en fases siguientes.
3) (Re)Definir el objetivo
Establecer la funcin objetivo en forma de lenguaje natural (Maximizar el beneficio esperado o
minimizar el ratio de aprovechamiento) permite empezar a definir variables que se pueden denominar de
control. No es importante en una primera fase establecer el objetivo de modo lineal, simplemente con
Pgina 36 de 171
JPGS-JM-2015
representarlo ya es suficiente. Posteriormente al linealizarlo es posible que haya que incorporar nuevas
variables y parmetros al modelo.
2.6
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.
Antes de prestar demasiada atencin a la solucin obtenida tras resolver un modelo que se haya
construido, se debe comprobar que se ha modelado lo que se pretenda. Asumiendo que no hay errores
de tipo sintctico (generalmente los paquetes informticos los detectan) existen tres salidas que en
general se recorrern sucesivamente:
que el modelo sea resoluble pero sus soluciones no sean coherentes con el problema
Pgina 37 de 171
El error ms tpico es que la funcin objetivo no sea una frmula sino un conjunto de frmulas. Una
manera de detectarlo es comprobar que ningn ndice en las variables de la funcin objetivo se queda
sin su sumatorio correspondiente.
Otro error tpico se da en las restricciones. Todos los ndices de todas las variables utilizadas deben
estar en la expresin de la restriccin. Ya sea en forma de sumatorios, ya sea en forma del rango en el
que aplica la restriccin (el para todo ).
Utilizar los paquetes de resolucin para detectar problemas es lo ms razonable en tiempo. En
general, los modelos se suelen escribir en un formato compacto como el lenguaje AMPL que se puede
apreciar en la Ilustracin 2-2.
Desde Gusek, en Tools, si se pulsa en Build Cplex Lp, se generar el modelo en formato .lp para
Pgina 38 de 171
JPGS-JM-2015
Modelo incompatible
Un modelo no tiene solucin si existen restricciones contradictorias. Por ejemplo, las restricciones
(3.3.1)-(3.3.2) haran el modelo irresoluble:
x1 + x2 1
(3.3.1)
x1 + x2 2
(3.3.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.
Un modo lgico de buscar las restricciones que generan la incompatibilidad es ir anulndolas
(anularlas aqu consiste en quitarlas del modelo para que no se tengan en cuenta o simplemente
ponerlas como comentario). Un procedimiento sencillo es convertir las restricciones en comentarios.
Se pueden ir anulando las restricciones hasta encontrar aquella (o aquellas) que al anularlas permiten
que la solucin exista. De este modo se sabr en que parte del modelo hay que concentrar el anlisis.
Hay que tener en cuenta que en general las restricciones son incompatibles a pares, por lo tanto no
necesariamente la restriccin anulada es la que est mal. Podra ser otra restriccin que use las mismas
Pgina 39 de 171
Modelos no acotados
Se dice que un problema no est acotado si su funcin objetivo se optimiza cuando alguna variable
tiende a infinito. La solucin obtenida en este caso, si puede ayudar a reconocer el error de formulacin.
Mientras que en un modelo incompatible el problema es la existencia de demasiadas restricciones,
en un problema no acotado faltan restricciones. Generalmente restricciones fsicas obvias que han sido
olvidadas o relaciones entre variables no consideradas. El ejemplo ms tpico es minimizar costes de
inventarios en un problema de planificacin de produccin y olvidarse de imponer que la variable nivel
de inventario es una variable positiva. Otro ejemplo tpico es pretender maximizar los beneficios dnde
se ha olvidado considerar un lmite a las ventas de productos (que debieran ser iguales o inferiores a la
demanda).
El modo ms formal de encontrar los problemas de no acotacin es que utilizar la propiedad de que
el modelo dual es incompatible, aunque la inversa no es siempre cierta. Por eso muchas herramientas
resuelven inicialmente el dual para facilitar el proceso de depurado.
2.6.4
Modelo resoluble
Pgina 40 de 171
JPGS-JM-2015
interesante, cuando se trata de un modelo nuevo, probar con diferentes objetivos, porque dan relevancia
a diferentes restricciones y, por tanto, se pueden ir comprobando todas.
Si el resultado es lgico deberamos compararlo con un resultado real, podra ser que el modelo
fuera demasiado restrictivo (aunque no llegue a ser incompatible) o demasiado laxo (aunque no llegue a
ser no acotado).
En muchos casos, este anlisis ya est conduciendo hacia un mejor entendimiento del problema, y
por tanto, el esfuerzo (aunque sin solucin) ya est siendo eficaz.
De la exposicin anterior se desprende de modo natural que el proceso modelado-validacin debe ir
repitindose hasta converger en un modelo que represente de modo suficientemente acertado la
realidad. Y este proceso es muy til para entender la propia realidad modelada.
2.7
Caractersticas
de
un
buen
modelo
de
programacin
2.7.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
habitualmente a soluciones difciles de evaluar y ms an de interpretar. Incluso, aunque los modelos
menos compactos requieren un tiempo ms largo de resolucin, este tiempo compensa el que
posteriormente habra que invertir en la interpretacin de la solucin.
Es til tambin utilizar acrnimos para designar las variables y las restricciones, de tal modo que los
resultados se puedan, posteriormente, interpretar ms fcilmente.
Existe tambin unas normas de estilo que, no siendo obligatorias permiten entender mejor el modelo,
si todo el mundo las utiliza igual. En general se admite que:
Pgina 41 de 171
Aunque no existe ninguna norma escrita, el uso de este estilo simplifica el trabajo que supone
entender un modelo.
En cualquier caso es imprescindible que no existan homnimos ni sinnimos, esto es, elementos con
el mismo nombre y significado distinto, o elementos con distinto nombre y el mismo significado. Y por
otra parte, es muy importante usar una escritura estructurada simple para facilitar el entendimiento del
modelo.
2.7.2
Este objetivo est claramente unido al anterior. Los errores podran ser de dos tipos: de tecleo
(nmeros errneos o defectos ortogrficos) y de formulacin.
Para evitar los problemas de tecleo es til utilizar programas de generacin de matrices o lenguajes
de modelado. Muchos de estos programas tienen procedimientos que detectan errores adems de otras
funciones relacionadas.
2.7.3
Los modelos de programacin lineal utilizan una gran cantidad de tiempo de computacin (y de
memora), y por tanto sera interesante construir modelos que sean resueltos de modo rpido. Este
objetivo se contrapone en la prctica al primero de los enunciados. En algunos casos es posible reducir
el tamao del modelo mediante procedimientos instalados en el propio editor de modelos. En otros es un
ejercicio que debe realizar el modelador.
A continuacin se presentan tres mtodos que permiten reducir el coste de computacin: Uso de
Cotas, Unidades de Medida apropiadas y uso de formulacin modal.
2.7.3.1
Uso de cotas
Unidades de medida
Cuando se modela una situacin prctica es importante prestar atencin a las unidades en las cuales
se miden las cantidades. Si existe una gran disparidad en los coeficientes de un modelo de
programacin lineal se incrementa sustancialmente el tiempo de computacin.
Es decir, si las restricciones de capacidad se miden en toneladas, los beneficios no se deberan dar
en pesetas por kilo. Idealmente las unidades se deberan plantear de tal manera que los coeficientes no
nulos estn entre 0,1 y 10. Algunos paquetes comerciales tienen procedimientos para escalar
automticamente los coeficientes antes de resolver y despus desescalar tambin de modo
automtico.
Pgina 42 de 171
JPGS-JM-2015
2.7.3.3
Formulacin modal
Pgina 43 de 171
MODELOS
DE
PROGRAMACIN
Introduccin
3.2
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 x
x13. Para muchos problemas prcticos esta es una consideracin que impide el uso de la
Mezcla (Blending en ingls). Este tipo de problemas considera las decisiones relativas a la
mejor generacin de uno o varios productos resultados de una mezcla. Quiz el problema
ms antiguo se refiere a la generacin de dietas, pero tambin en la industria de elaborados
alimenticios o en la industria petrolera tiene aplicaciones.
Pgina 44 de 171
JPGS-JM-2015
Problema del Transporte (Transport Scheduling and Planning en ingls, TSP??). Consiste
en definir, en una red de suministro, los centros que deben producir, la cantidad a producir y
el destino de esta produccin, teniendo en cuenta costes de transporte y/o de
almacenamiento, adems de beneficios esperados y limitaciones en los recursos disponibles.
3.2.1
El problema bsico de programacin lineal consiste en minimizar una funcin objetivo lineal de
variables lineales continuas, sujetas a (s.a.) restricciones lineales. Se considera que una funcin es
lineal si es una combinacin lineal de las variables consideradas.
Una expresin estndar de un problema de programacin lineal es:
[ Minimize] Ci xi
(4.2.1)
Sujeto a :
i, j
xi B j
(4.2.2)
xi 0 i
(4.2.3)
La regin de factibilidad es un poliedro y al menos una solucin ptima es un vrtice del citado
poliedro.
3.2.2
Aunque la versin estndar del problema de programacin lineal es de minimizacin, los problemas
pueden ser tambin de maximizacin. Una expresin estndar de un problema maximizacin de
beneficios es:
[ Maximize] PVi xi
(4.2.4)
xi Di i
(4.2.5)
Sujeto a :
Pgina 45 de 171
i, j
xi B j
(4.2.6)
xi 0 i
(4.2.7)
Que las variables tengan un solo subndice es porque finalmente todo se puede reducir al uso de un
nico subndice, pero la mayor parte de los problemas utilizan variables con ms de un ndice.
3.2.3
3.2.3.1
A continuacin, se presenta en la Tabla 3-1 los diferentes ndices y conjuntos de datos, en la Tabla
3-2 los diferentes parmetros utilizados y en la Tabla 3-3 las variables utilizadas.
Tabla 3-1 ndices y Conjuntos de datos
, = {, , 1, 2, 3, }
= {, , , }
ndices de productos
ndice de recurso
Pgina 46 de 171
JPGS-JM-2015
(4.2.8)
Sujeto a :
R
iI
i ,k
xi KAPk
xi Di i
yj =
N
iI
i, j
xi
xi , yi 0 i
(4.2.9)
(4.2.10)
(4.2.11)
(4.2.12)
La funcin objetivo (4.2.8) maximiza los beneficios totales de la empresa. Los beneficios totales es la
suma de los beneficios asociados a la venta de todos los productos menos los costes asociados al
consumo de materia prima.
La restriccin (4.2.9) limita el consumo de capacidad productiva. La restriccin (4.2.10) limita la
produccin de productos. No se puede fabricar ms productos que su demanda asociada. En (4.2.11),
se determina la cantidad de productos consumidos por la generacin de productos. (4.2.12) define el
dominio de definicin de las variables.
3.2.3.3
Pgina 47 de 171
Al ejecutar el modelo, el solver encuentra un resultado que se propone en la ventana del programa a
la derecha. La Ilustracin 3-2 que se propone a continuacin es el resultado encontrado:
Pgina 48 de 171
JPGS-JM-2015
3.3
Quiz uno de los aspectos ms curiosos para el modelador novel son los parmetros de los modelos.
No se sabe exactamente por qu pero se suele asumir que los parmetros del modelo existen, son
ciertos y son conocidos.
El modelador inexperto suele estar convencido de que los datos estn dados. El modelador quiere
creer que valores como el coste o la duracin de un cambio de partida, el ritmo de produccin o su coste
asociado, la capacidad de la mquina (medida en horas, en unidades?), el precio de los productos, o el
nivel de stock en un momento dado para un determinado producto, son conocidos.
Esto no es as en prcticamente ninguna empresa para casi ningn dato. Por ejemplo, la demanda
siempre es incierta por sus propias caractersticas. Lo mismo ocurre con los costes que dependen del
modo de clculo; suelen ser siempre de oportunidad y por tanto inaprensibles antes de tener la solucin
al problema. Tambin, algunos parmetros que podran ser aparentemente ms objetivos como los
niveles de stock o los ritmos de produccin, en general, ni estn ni se les espera en ningn sistema de
informacin que se precie.
Pgina 49 de 171
Pero adems, aunque el dato est en el sistema de informacin, una regla bsica es que un dato que
no se utilice para nada en la operativa diaria de la empresa ser errneo con casi toda seguridad. Y
aunque se utilice lo lgico es dudar de su calidad, pues es muy probable que el usuario del dato haya
aceptado el error y lo corrija mentalmente sin prcticamente ser consciente de ello.
Hara bien cualquier modelador en dudar, hasta el ltimo momento e incluso despus, de la calidad
de los datos de partida. Lo que no hara bien es en dudar de la bondad de estimarlos y trabajar como si
existieran. En algunos casos la mera existencia de un sistema que los utilice permitir reducir la
incertidumbre de los mismos. En otros casos el sistema es poco sensible al dato concreto, y un ajuste
(tuning) de la primera aproximacin permitir obtener resultados ms que suficientes.
Por ltimo, si sigue persistiendo la duda respecto a la validez de los datos es en ese momento
cuando el modelado matemtico ms sentido adquiere. Pues permite, mediante la resolucin iterativa de
problemas, hacer un anlisis de sensibilidad que mejore (y mejora) la percepcin que se tiene del
problema.
Pero tambin hay mtodos de considerar explcitamente la incertidumbre en los parmetros como la
programacin estocstica o el uso de programacin Fuzzy.
3.4
Maximizar beneficio
Minimizar costes
Maximizar rentabilidad
Maximizar el nmero de empleados
Minimizar el nmero de empleados
Maximizar la satisfaccin del cliente
Maximizar la probabilidad de sobrevivir
Etc.
Podran definirse muchos otros objetivos. Pero tambin podra ocurrir que no se quisiera optimizar
nada o que se quieran optimizar diferentes objetivos de modo simultneo, teniendo estos objetivos
direcciones conflictivas. En cualquiera de estos casos la programacin matemtica es interesante y
debe ser utilizada.
Pgina 50 de 171
JPGS-JM-2015
3.4.1
Problemas mono-objetivo
Programacin multiobjetivo
Frontera de Pareto
Es posible abordar el problema multiobjetivo encontrando las superficies que forman los puntos no
dominados, siendo el decisor el que selecciona su opcin. Una solucin no-dominada es aquella que al
compararse con cualquier otra solucin factible tiene al menos uno de los objetivos mejor.
Una primera aproximacin consistir en resolver el problema tantas veces como objetivos tenga el
resultado, utilizando en cada ocasin un objetivo distinto. La comparacin de los diferentes resultados
puede dar una idea de qu solucin es mejor. En este caso se puede utilizar la solucin para un objetivo
como la solucin inicial.
Existen algunos procedimientos eficaces como el simplex multiobjetivo, pero slo son tiles para
problemas de reducidas dimensiones. Pero en general se utilizan los mtodos siguientes.
3.4.2.2
Mtodo lexicogrfico
Un modo intuitivo de resolver el problema multiobjetivo, aplicable cuando se pueden ordenar los
objetivos por orden de importancia es el denominado mtodo lexicogrfico. Bsicamente consiste en
resolver el problema de optimizacin para cada uno de los objetivos ordenados de mayor a menor
importancia. Una vez se resuelve el problema para el primer objetivo, se incorpora en el conjunto de las
Pgina 51 de 171
restricciones una nueva restriccin que obliga a que la funcin que representa el primero de los objetivos
tenga un valor igual al ptimo calculado en la iteracin anterior. Este proceso se repite para cada uno de
los objetivos.
3.4.2.3
Sin embargo el modo ms habitual de abordar este tipo de problemas es optimizar la suma
ponderada de los valores de cada objetivo. Para algunos autores esto no es posible salvo que se
encuentre un factor comn como podra ser el coste monetario, aunque esto no es siempre posible. Los
pesos deben ser relativos (o valores monetarios o similares) y deben tener en cuenta el rango de accin
de cada variable.
Al sumar diferentes objetivos, aunque sean ponderados, se est introduciendo un cierto grado de
arbitrariedad por lo que ser necesario comprobar que el resultado se ajusta a nuestros requerimientos.
Uno de los pesos que se pueden utilizar inicialmente son los precios sombra 8 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,
aunque tambin se pueden ajustar manualmente.
3.4.2.4
La programacin por metas fue inicialmente introducido por Charnes, Cooper y Ferguson (1955) en
los aos 50 aunque el nombre actual de programacin por metas apareci unos aos ms tarde en el
articulo (1957) Management models and industrial applications of linear programming.
En la resolucin de muchos problemas industriales, el modo ms habitual de abordar los problemas.
Esta tcnica es una variante relajada de la anterior donde para cada objetivo se establece un valor
suficiente (o valor meta), se fija tambin una penalizacin para el caso de que no se alcance dicho valor
meta, y cada uno de los objetivos pasa al conjunto de restricciones pasando a formar parte de las
El concepto de precio-sombra aparece al realizar la denominada interpretacin econmica de las soluciones y se presenta
ms adelante.
Pgina 52 de 171
JPGS-JM-2015
restricciones. De este modo, al igual que en los casos anteriores el problema pasa a tener un solo
objetivo, que es minimizar las penalizaciones ligadas a no alcanzar las metas fijadas.
3.4.2.6
obj=
1: [ Minimize ] z
[ Minimize] ci xi
(4.4.1)
[ Maximize] di xi
(4.4.2)
obj=
2 : [ Maximize ] w
Sujeto a :
xi bi
ij
(4.4.3)
Sea z0 el ptimo para la funcin obj1, y z1 un valor por encima del cual no sera aceptable la solucin.
Sea w0 el ptimo para la funcin obj2, y w1 un valor por debajo del cual no sera aceptable la
solucin.
EXPLICAR EL MODELO por DEBAJO
[ Maximize] L
(4.4.4)
Sujeto a :
c x z
i
(4.4.5)
z1 z0
w0 ci xi
(4.4.6)
w1 z0
ij
xi bi
(4.4.7)
En ocasiones no existe ningn objetivo real, lo nico que se pretende es encontrar una solucin
vlida. En otras ocasiones el objetivo a perseguir no es optimizable (por ejemplo el objetivo sobrevivir).
Pgina 53 de 171
El uso de los modelos matemticos nos puede permitir encontrar soluciones factibles (que cumplen las
restricciones si stas existen).
3.4.2.7
Los mtodso Se presenta por ltimo un mtodo (entre los diferentes que podran haberse incluido en
estos apuntes) que recoge dos mtodos complementarios. Por un lado AUGMECON generar un
conjunto de soluciones que constituyen una frontera de Pareto. A partir de este conjunto de soluciones
se debe elegir una solucin como la ideal, para ello se propone el uso de la tcnica TOPSIS.
El mtodo TOPSIS (Technique for Order of Preference to Ideal Solutions) es un mtodo de para la
toma de decisiones de multicriterio, originalmente desarrollado por Hwang and Yoon in 1981. Se basa
en el concepto de elegir la alternativa que tiene la distancia geomtrica ms corta hasta la solucin
positiva ideal y la distancia ms larga a la solucin negativa ideal. Es un mtodo de agregacin que
compara un conjunto de alternativas identificando pesos que normalizan para cada criterio. La
normalizacin es necesaria porque los criterios son generalmente de dimensiones diferentes.
Una hiptesis previa de TOPSIS es que los criterios deben ser incrementales (o decrementales)
montonas.
Sea A una matriz donde cada elemento a(i,j) contiene la valoracin para el criterio j-simo de la
alternativa i-sima.
Sea R una matriz donde cada elemento r(i,j) se calcula con la siguiente funcin , =
2
,
Como cada criterio debe tener un peso diferente se w(j) el peso de cada criterio en la valoracin de la
solucin. Se define v(i,j)=w(j)*r(i,j).
Buscar lo que pone en la wikipedia... porque all est bien definido
La nica posicin
Sacado de Mavrotas Generation (or a posteriori) methods in Multi-Objective Mathematical Programming
(MOMP) is the most computationally demanding category among the MOMP approaches. Due to the
dramatic increase in computational speed and the improvement of Mathematical Programming algorithms
the generation methods become all the more attractive among todays decision makers. In the current
paper we present the generation method AUGMECON2 which is an improvement of our development,
AUGMECON. Although AUGMECON2 is a general purpose method, we will demonstrate that
AUGMECON2 is especially suitable for Multi-Objective Integer Programming (MOIP) problems.
Specifically, AUGMECON2 is capable of producing the exact Pareto set in MOIP problems by
appropriately tuning its running parameters. In this context, we compare the previous and the new version
in a series of new and old benchmarks found in the literature. We also compare AUGMECON2s
Pgina 54 de 171
JPGS-JM-2015
performance in the generation of the exact Pareto sets with established methods and algorithms based
on specific MOIP problems (knapsack, set packing) and on published results. Except from other
Mathematical Programming methods, AUGMECON2 is found to be competitive also with Multi-Objective
Meta-Heuristics (MOMH) in producing adequate approximations of the Pareto set in Multi-Objective
Combinatorial Optimization (MOCO) problems.
Pgina 55 de 171
Pgina 56 de 171
JPGS-JM-2015
3.5
3.5.1
Las restricciones son expresiones de relaciones entre variables entre variables y parmetros.
Dichas relaciones se representan mediante restricciones en la programacin matemtica, y tienen la
formulacin de una combinacin lineal de variables limitada por un determinado valor.
Las restricciones se pueden clasificar en funcin de la realidad que pretenden representar, o en
funcin de su relacin con el resto del modelo matemtico.
Pgina 57 de 171
Segn su relacin con la realidad que pretenden representar se pueden encontrar las siguientes:
Relaciones de tipo lgico. En ocasiones las restricciones tienen forma de expresin lgica,
si consumes ms de 40kw, hay que activar un segundo generador.
3.5.2 La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
modo de resolver
Las anteriores restricciones forman parte de las relaciones concretas entre las variables de los
problemas. Tambin se podran clasificar las restricciones en funcin de su comportamiento en el resto
del modelo.
3.5.2.1
Restricciones conflictivas
Restricciones redundantes
Restricciones de rango
Restricciones duras y restricciones blandas
Una restriccin del tipo (4.5.1) elimina cualquier solucin para la que la suma sobre j del producto entre
la variable y el parmetro exceda el valor de b.
Pgina 58 de 171
JPGS-JM-2015
xj b
(4.5.1)
Esto puede ser considerado como poco realista en algunas ocasiones. Por ejemplo, si b representa
el nmero de horas disponibles quiz, si interesara, habra que contratar algunas horas extras. En este
caso la restriccin se denomina blanda. Son duras aquellas restricciones que no se pueden violar de
algn modo.
Un mecanismo para modelar las restricciones blandas podra ser (4.5.2) donde u es una variable
positiva que aparecera en la funcin objetivo con un coste Cu asociado a u.
xj u b
(4.5.2)
De este modo en caso de ser necesario la restriccin sera violada aunque penalizando la funcin
objetivo. A la variable u se le puede incorporar un lmite de tal manera que no exceda un cierto valor.
Si la restriccin blanda es una desigualdad del tipo mayor o igual como en (4.5.3), se puede aplicar
el mismo esquema:
xj b
(4.5.3)
xj + u v =
b
(4.5.4)
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.
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:
x
a =
ij
bi
(4.5.5)
Y se deseara admitir que no todas se cumplen, se podra modelar del siguiente modo:
ij
x j + ui =
vi bi
(4.5.6)
Pgina 59 de 171
El objetivo sera asegurar que cada restriccin se cumple lo mximo posible. Este objetivo se puede
modelar, entre otros modos de estas dos maneras:
[ Minimize] ( ui + vi )
(4.5.7)
[ Minimize]
(4.5.8)
z ui 0
(4.5.9)
z vi 0
(4.5.10)
Sujeto a :
Sea cual sea el mtodo elegido podra a su vez ser ponderado si alguna de las restricciones parece
ms importante.
3.5.2.3
Restricciones redundantes
En el caso en que se tenga una restriccin del tipo (4.5.11) y que y la evaluacin sea en
cualquier caso inferior a b, se puede decir que la restriccin es redundante, o que su precio sombra es
nulo. Esto significa que la restriccin no tiene influencia sobre la funcin objetivo.
xj b
(4.5.11)
Una restriccin redundante puede ser eliminada sin afectar al ptimo. Generalmente no es posible
eliminar las restricciones redundantes a priori. Adems, si el modelo se va a usar de modo continuado,
la restriccin no se puede eliminar por si nuevos valores de los coeficientes convierten a la restriccin en
relevante.
Hay que tener en cuenta que en la programacin entera la redundancia no es tan fcil de considerar
como en la programacin lineal, ms an en ocasiones las restricciones redundantes facilitan la
bsqueda del ptimo.
3.5.2.4
Las cotas simples se pueden manejar de manera mucho ms eficiente definindolas como tales. El
motivo, que ya se ha indicado anteriormente es la existencia de una versin revisada del Simplex que
maneja de manera especial estas cotas y reduciendo el tiempo total de computacin.
Las cotas simples tienen la formulacin (4.5.12) (4.5.13):
x U
Pgina 60 de 171
(4.5.12)
JPGS-JM-2015
xL
(4.5.13)
Las otras cotas que algunos paquetes de resolucin consideran son las denominadas cotas
generalizadas (GUB):
(4.5.14)
3.5.2.5
Restricciones de rango
En ocasiones las restricciones pertenecen a un rango de valor (b1 y b2 siendo dos parmetros tal
2 1 ) adquieren el formato de las restricciones (4.5.15).
b2 ( a j x j ) b1
(4.5.15)
Estas restricciones (ya que en realidad son dos) pueden expresarse como tales, pero existe un modo
ms compacto y que est disponible en muchos paquetes comerciales. Consiste en definir nicamente
la restriccin:
x j b1
(4.5.16)
(a
xj ) + u =
b1
(4.5.17)
0 u b1 b2
(4.5.18)
Pgina 61 de 171
Pgina 62 de 171
JPGS-JM-2015
4 MODELOS
DE
PROGRAMACIN
Introduccin
Una de las limitaciones fundamentales de la Programacin Lineal es que no siempre las variables
son nmeros reales, sino que son nmeros enteros. Dicha integridad de las variables impedira
utilizarlas en un sistema denominado lineal. Para ello surge la denominada Programacin Lineal Entera
(PLE).
Mediante un sencillo procedimiento matemtico (sencillo aunque costoso computacionalmente) es
posible resolver los problemas de PLE garantizando su optimalidad. Es por ello que la Programacin
Lineal Entera es sin ms una rama de la Programacin Matemtica muy utilizada.
En algunos caso los valores que pueden adoptar las variables enteras son 0-1. Tales valores se
utilizan para modelar decisiones si o no. Como se ver en los siguientes apartados, es posible
establecer relaciones lgicas entre restricciones, usando este tipo de variables y manteniendo la
linealidad.
Antes de abordar la linealizacin mediante programacin entera, hay que destacar la problemtica de
la resolucin de estos modelos. Los tiempos de computacin para resolver un problema de
programacin entera son mucho ms largos que para un problema de programacin lineal de similares
caractersticas.
Existe un peligro evidente de invertir gran cantidad de recursos en modelar, slo para descubrir al
final que el problema no era resoluble en un tiempo razonable, por ello en los ltimos apartados del
presente captulo se abordar el problema de reducir el tamao de los modelos.
4.2
Diferentes
reas
de
aplicacin
de
la
programacin
Este es el caso ms obvio: si fabricamos aviones o coches no es posible fabricar 2,33 unidades. Por
tanto la solucin debe ser entera. En realidad en estos casos es especialmente relevante la PE slo si
los valores resultado son de un dgito. En otros casos basta resolver como si fuera programacin lineal y
posteriormente redondear.
4.2.2
Suele ocurrir que en algunas de las restricciones que se deseen imponer son de tipo lgico.
Pgina 63 de 171
Problemas de combinatoria
Muchos de los problemas prcticos de Investigacin Operativa tienen como caracterstica bsica la
existencia de un extremadamente largo nmero de soluciones posibles. Dichas soluciones aparecen a
partir de diferentes mtodos de ordenar actividades y/o asignar recursos.
Estos tipos de problemas se denominan Combinatorios. Los problemas de tipo combinatorio se
pueden clasificar a su vez en problemas de Secuencia o de Reparto. Estos ltimos se clasifican a su
vez en problemas de asignacin, donde existen tantos trabajos como recursos, y cada trabajo exige slo
un recurso, y los problemas de transporte donde cada trabajo requiere varios recursos. Algunos
problemas de Reparto no requieren PE, aunque la mayora s.
4.2.4
Problemas no-lineales
4.3
Otras
condiciones
aplicadas
modelos
de
programacin
Restricciones disyuntivas
En ciertos problemas de secuenciacin de operaciones, los modelos de programacin matemtica
ejemplo, si en un problema puede estar sujeto a N restricciones que no tienen que actuar todas
simultneamente
donde
R1 R2 R3 ... R N
i = 1 si se ha de cumplir .Esta relacin lgica se puede representar como en (5.3.1). Para que
Pgina 64 de 171
JPGS-JM-2015
1 Ri
i =
1...N
i=
i =1
=1
(5.3.1)
(5.3.2)
Ejemplo 1
Sea un conjunto de restricciones disyuntivas que sigue la condicin 1 2 3 . Si cada es
x j + M 1 1 M 1 + b1
(5.3.3)
x j + M 2 2 M 2 + b2
(5.3.4)
x j + M 3 3 M 3 + b3
(5.3.5)
1j
2j
3j
i =1
=1
1, 2,3
i {0,1} i =
4.3.2
(5.3.6)
(5.3.7)
Regiones no-convexas
en la
relacin lgica (5.3.8). Esta ltima relacin es equivalente a la restriccin (5.3.9) con la condicin
(5.3.10).
xi 0 i =
1
(5.3.8)
xi M i 0
(5.3.9)
Pgina 65 de 171
(5.3.10)
representa si una instalacin est abierta o cerrada, y se pretende que una vez cerrada ya no se vuelva
a abrir, la relacin lgica que representa esta caso es (5.3.11).
i = 0 ( i +1 = 0) ( i + 2 = 0) ... ( n = 0)
(5.3.11)
2 2 + 3
4.3.5
0
0
(5.3.12)
....
-2 n 1 + n 0
ejemplo una mquina podra aumentar su nmero de horas disponibles sin ms que duplicar (o triplicar)
el nmero de turnos que trabaja (A este aumento de capacidad productiva, se le asociar evidentemente
un coste en la funcin objetivo). Suponga que la restriccin se puede expresar como (5.3.13) donde bj es
variable y tiene un coste asociado de cj (independiente para cada bj) con
a x
i
bj
(5.3.13)
ai xi b j j 0
4.4
Tipos
especiales
(5.3.14)
j =1
de
modelos
de
programacin
Pgina 66 de 171
JPGS-JM-2015
4.4.1
Mochila. Sea tipos de productos, sea el valor de cada producto y su peso y el peso mximo
soportado por la mochila. Su forma ms genrica consiste en una funcin objetivo de tipo (5.4.1) y una
restriccin (5.4.2) dnde vale 1 si el producto de tipo entra en la mochila (0 en caso contrario).
[ Maximize] ci i
(5.4.1)
Sujeto a :
i b
(5.4.2)
i {0,1} i
(5.4.3)
Problemas de cubrimiento
Estos problemas derivan de un tipo de problema abstracto que puede ser enunciado del siguiente
modo:
Ejemplo 2
Dado un conjunto de objetos que podemos numerar = (1,2, , ) y dada una clase de
subconjuntos de , teniendo cada clase un coste el problema es cubrir todos los miembros de
utilizando miembros de .
Sea = (1,2, ,6), sea = (1,2), (1,3,4), (5,6), (4,6), (3,4,5). Se producira cubrimiento con
Para modelarlo, se debe considerar el coste de usar el i-simo elemento de y una variable
[ Minimize]
c
i
(5.4.4)
Sujeto a :
Pgina 67 de 171
1 + 2 1
1
1
2 + 5 1
2 + 4 + 5 1
3 + 5 1
3 + 4 1
(5.4.5)
Problemas de empaquetado
Otro tipo clsico de problemas son los de empaquetado, que se pueden enunciar como en el
Con el conjunto y la clase del ejemplo anterior el problema queda (incorporando un valor a
[ Maximize]
v
i
(5.4.6)
Sujeto a :
1 + 2 1
1
1
2 + 5 1
2 + 4 + 5 1
3 + 5 1
3 + 4 1
Pgina 68 de 171
(5.4.7)
JPGS-JM-2015
El problema del viajante de comercio (o problema TSP por Travelling Salesman Problem en ingls) es
un problema muy habitual y de simple formulacin aunque de resolucin muy complicada en
circunstancias reales.
El problema consiste en establecer un circuito que recorra todos los destinos pasando una solo vez
por cada uno de ellos. Existen muchas situaciones reales asociadas a este problema de rutas, con
diferentes variantes, e incluso se da en otras situaciones como por ejemplo en la reduccin de costes de
cambio de partida.
Su formulacin evidente consiste en la minimizacin de la funcin objetivo (5.4.8) que consiste en los
costes de juntar nodos. En aquel caso, es el coste de juntar dos nodos y consecutivos y es
una variable binaria que vale 1 si se visita el nodo de destino viniendo del nodo origen . Las
restricciones (5.4.9) y (5.4.10) aseguran que cada nodo es origen y destino una vez.
[ Minimize]
c
i
ij
ij
(5.4.8)
Sujeto a :
1 j
(5.4.9)
1 i
(5.4.10)
ij
ij
En una situacin cualquiera (con 6 ciudades) la solucin ptima podra ser la Ilustracin 4-1.
4
6
1
3
Pgina 69 de 171
ui u j + n ij n 1 i, j
(5.4.11)
12 + 23 + 31 2
(5.4.12)
En cualquier caso hay que destacar el elevadsimo coste computacional de la resolucin de este
problema mediante programacin entera mixta. Cuando las dimensiones no son pequeas, por ello, lo
habitual es plantear mecanismos de resolucin especiales.
4.4.5
Para ello se define la variable binaria que vale 1 si se asigna a (0 en caso contrario).
La restriccin que se debe considerar es que cada elemento debe tener un nico origen y un nico
destino. Esta restriccin se representa mediante (5.4.13) y (5.4.14) .
n
ij 1=i 1,2,...,n
=
(5.4.13)
j =1
=
ij 1=j 1,2,...,n
(5.4.14)
i =1
La diferencia con el problema de asignacin normal radica en la funcin objetivo. En ella (5.4.15),
las variables se multiplican, para valorar la asignacin combinada. Es decir, se asigna un coste si al
mismo tiempo que se asigna a , se asigna a .
n
c
i
k >i
ijkl
ij kl
(5.4.15)
Este problema se puede abordar como un problema de programacin entera clsico con 4
Pgina 70 de 171
JPGS-JM-2015
4.5
Buenas
malas
formulaciones
de
un
modelo
de
programacin
Pgina 71 de 171
4.6
Simplificacin
de
un
modelo
de
programacin
Ms restricciones y ms ajustadas
En programacin lineal es habitual pretender reducir el nmero de restricciones como un modo de
Ejemplo 4
[ Minimize]
51 + 7 2 + 10 3 + 3 4 + 5
(5.6.1)
Sujeto a :
1 3 2 + 5 3 + 4 5 2
(5.6.2)
21 + 6 2 3 3 2 4 + 2 5 0
(5.6.3)
2 + 2 3 2 4 2 5 1
(5.6.4)
i {0,1} i
(5.6.5)
2 3 1 + 2 + 2 4 + 2 5 1
3 12
3 = 1
6 2 2 1 + 3 + 2 4 2 5 1
3 12
4 5 0
4 0
=
=
0
4
5
Pgina 72 de 171
JPGS-JM-2015
3 = 1
Bsicamente se puede admitir que el mtodo consiste en analizar la configuracin del problema,
para encontrar relaciones, ms o menos evidentes, que reducen el nmero de variables al asignarles
valores.
4.6.2
(5.6.6)
(5.6.7)
a1 1 + a2 2 + ... + an n ao
(5.6.8)
b1 1 + b2 2 + ... + bn n bo
(5.6.9)
Aunque es un mtodo muy efectivo, realmente el clculo de las restricciones citadas a menudo
consume excesivos recursos.
4.6.3
Restricciones discontinuas
En ocasiones hay que restringir una variable continua a segmentos o puntos, por ejemplo
=
x 0 a x b =
x c . Esta circunstancia puede ser representada por un conjunto de
restricciones disyuntivas, pero tambin existe un procedimiento alternativo para representarla. Consiste
en usar las restricciones (5.6.10) y (5.6.11) donde 1 , 2 son dos variables binarias y 1 , 2 son dos
variables continuas positivas.
x = a z1 + b z2 + c 2
(5.6.10)
Pgina 73 de 171
1
1 + 2 + z1 + z2 =
(5.6.11)
Un caso comn pero especial es cuando la variable sigue las condiciones siguientes:
x=
0
xa
con
5 LINEALIZANDO
x = a z1 + M z2
(5.6.12)
+ z1 + z2 =
1
(5.6.13)
LO
NO-
Introduccin
Cuando se trata de un modelo lineal los beneficios (o costes) son proporcionales a la cantidad
vendida o fabricada. El uso de un recurso limitado depende linealmente de la cantidad fabricada y el uso
total de un recurso. Este uso de un recurso es la suma de los consumos parciales del conjunto de
actividades que se ejecutan en l. Todas estas expresiones configuran un modelo lineal. Sin embargo
en realidad se dan, en ocasiones, circunstancias no-lineales (ver Ilustracin 5-1).
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.
Pgina 74 de 171
JPGS-JM-2015
Un modo bastante acertado de representar esta relacin entre el precio de venta y la cantidad pedida es
la denominada elasticidad de precios (la inelasticidad supone que un incremento en el precio supone
incremento en los beneficios). El grado de elasticidad Ex de un producto se define en la ecuacin (6.1.1).
De este modo, asumiendo que Ex es constante dentro de un rango, se puede calcular el precio p(x)
asociado a cada producto como en (6.1.2) donde k es el precio sobre el cual la demanda es unitaria. Por
tanto los beneficios esperados para una venta de x se pueden deducir con la ecuacin (6.1.3).
Ex =
p( x) =
(6.1.1)
(6.1.2)
Ex
p( x) x = k x
(1 1
Ex
(6.1.3)
Esto es un ejemplo tpico de relacin no-lineal que conducira a un objetivo no-lineal. Existen tambin
ejemplos de restricciones no-lineales. Por ejemplo en la mezcla de componentes cuyas caractersticas
mezcladas no tengan un comportamiento lineal o cuando se vean afectadas por un producto de
variables (por ejemplo, mantener la presin de un gas por debajo de ciertos niveles, pudiendo alterar
volumen y temperatura).
Ms habituales an son las restricciones de tipo lgico, que por su propia estructura no son lineales.
Los modelos de programacin no-lineal son mucho ms complejos de resolver que sus anlogos
lineales. Adems en muchos paquetes aunque se encuentra una solucin sta no es necesariamente
ptima. Sin embargo es posible convertir relaciones no-lineales en aproximaciones lineales. Y ese es el
objeto de este captulo.
5.2
5.2.1
Minimizar el mximo
Minimizar un ratio
Esta situacin se da cuando se pretende minimizar una cierta discrepancia entre dos valores (x e y
por ejemplo). La funcin objetivo (6.2.1) es un ejemplo.
[ Minimize]
x y
(6.2.1)
Pgina 75 de 171
La funcin absoluto no es una funcin lineal. Para convertirla en lineal es necesario establecer una
tercera variable z, remplazar la funcin objetivo por (6.2.2) e incorporar las restricciones (6.2.3)-(6.2.4)
en el modelo.
[ Minimize]
(6.2.2)
Sujeto a :
5.2.2
z x y
(6.2.3)
z yx
(6.2.4)
En ocasiones el objetivo que se persigue consiste en minimizar un mximo (ver (6.2.5)) o consiste en
maximizar un mnimo como en la funcin objetivo (6.2.6):
[ Minimize] Max
a j xij
i
[ Maximize] Min
a j xij
i
(6.2.5)
(6.2.6)
Las funciones max{ } y min{ } no son funciones lineales y por tanto deben ser linealizada. El
i
objetivo (6.2.5) se puede convertir en un objetivo lineal introduciendo una variable z que lo representa.
La nueva formulacin consiste en la funcin objetivo (6.2.7) y la restriccin (6.2.8) que garantiza que z
sea siempre superior a cualquier valor del sumatorio en j para todo i.
[ Minimize] z
(6.2.7)
Sujeto a :
xij z 0
(6.2.8)
[ Maximize] Max
a j xij
i
Pgina 76 de 171
(6.2.9)
JPGS-JM-2015
[ Minimize] Min
a j xij
i
5.2.3
En
(6.2.10)
Objetivos de Ratio
ocasiones
aparecen
objetivos
de
ratio
como
por
ejemplo
maximizar
la
relacin
beneficios/inversin. Una funcin objetivo de ratio genrica es (6.2.11). Ese tipo de objetivo tampoco es
lineal.
a
[ Maximize]
b
xj
xj
(6.2.11)
Es posible transformar la funcin objetivo (6.2.11) de forma que se convierta en un objetivo lineal.
Para ello hay que establecer una transformacin de variables como en las restricciones (6.2.12) y
(6.2.13) representadas a continuacin.
w=
xj t
j
(6.2.12)
1
bj x j
(6.2.13)
t=
Con esta transformacin el objetivo pasa a ser lineal y se transforma en (6.2.14). Para garantizar la
transformacin hay que incorporar la restriccin (6.2.15).
[ Maximize] a j w j
(6.2.14)
wj =
1
(6.2.15)
Y adems hay que convertir las restricciones originales de tipo (6.2.16) que utilizan las variables xj
que han sido transformadas en nuevas restricciones de tipo (6.2.17) que usan la variable wj.
d
j
d
j
xj
wj e t
(6.2.16)
(6.2.17)
Hay que destacar que esta transformacin es vlida si es siempre del mismo signo y no
nula.
Pgina 77 de 171
5.2.4
Si el objetivo fuera del tipo (6.2.18) y que est sujeto a restricciones lineales convencionales, se
puede modelar el problema considerando una nueva funcin objetivo (6.2.19) y unas restricciones del
tipo (6.2.20).
[ Maximize] Max
aij x j
i
(6.2.18)
[ Maximize]
(6.2.19)
( a1 j x j z = 0) ( a2 j x j z = 0) ...
j
(6.2.20)
Pero eso exige el uso de restricciones de tipo lgico que se analizarn ms adelante a partir del
apartado 5.4.
5.3
El
uso
de
variables
discretas
para
representar
relaciones
un nuevo centro de distribucin y = 0 no abrir). Aunque nada impide que adopten ms valores ( = 0
no abrir, = 1 abrir el centro en Valencia, = 2 abrir el centro en Alicante).
Sin embargo, en este apartado, se pretende establecer la utilidad de las variables enteras para
establecer relaciones entre restricciones basadas en condiciones.
5.3.1
Funciones no continuas
C + C2 x
CT = 1
0
x > 0
x = 0
(6.3.1)
Sera interesante conocer, mediante una variable si x es mayor que 0 o es nulo (=1 o =0
respectivamente). De este modo, la funcin de costes totales sera la ecuacin (6.3.2) asumiendo la
restriccin (6.3.3) dnde M es una cota superior conocida de x.
Pgina 78 de 171
CT = C1 + C2 x
(6.3.2)
x M 0
(6.3.3)
JPGS-JM-2015
5.3.2
Relacin lgica
=1 a j x j b
j
Tambin se pueden utilizar estas variables indicadoras para conocer si una restriccin es violada o
no. Sea la restriccin (6.3.4). Supngase que se desea que = 1 represente que la restriccin (6.3.4)se
cumple. Esto se puede expresar como en la relacin lgica (6.3.5).
xj b
(6.3.4)
=1 a j x j b
(6.3.5)
Se puede mostrar que sta condicin se puede representar mediante la desigualdad lineal (6.3.6)
a
que se presenta a continuacin donde M es tal que
xj b M
en cualquier circunstancia.
x j + M M + b
(6.3.6)
5.3.3
Relacin lgica
1
xj < b =
1
xj < b =
(6.3.7)
Esta condicin se representa mediante la desigualdad lineal (6.3.8) considerando que m es una cota
inferior de
xj b .
x j + m b
(6.3.8)
5.3.4
Relacin lgica
xj b =
1
xj b =
1
(6.3.9)
Esta condicin se representa como en la ecuacin (6.3.10) donde m es una cota inferior de
xj > b .
x j (m ) b +
(6.3.10)
Pgina 79 de 171
5.3.5
Relacin Lgica
=1 a j x j b
j
Sea ahora la restriccin (6.3.11). Supngase que se desea que =1 represente que la restriccin
(6.3.11) se cumple.
xj b
(6.3.11)
=1 a j x j b
(6.3.12)
Se puede mostrar que la relacin lgica (6.3.12) se puede representar mediante la desigualdad lineal
xj b .
x j + m m + b
(6.3.13)
5.3.6
Relacin lgica
xj > b =
1
1
xj > b =
(6.3.14)
Esta condicin se representa mediante la ecuacin (6.3.15) donde M es de nuevo una cota superior
de
xj b .
x j M b
(6.3.15)
5.3.7
Relacin lgica
xj b =
1
xj b =
1
(6.3.16)
Esta condicin se representa mediante la ecuacin (6.3.17) donde M es de nuevo una cota superior
de
xj < b .
x j (M + ) b
(6.3.17)
Pgina 80 de 171
JPGS-JM-2015
5.4
Para poder abordar este apartado es necesario establecer una cierta notacin del Algebra Booleana
bsica. En la Tabla 5-1, se presenta la nomenclatura usada a lo largo de este libro.
Tabla 5-1 Notacin del Algebra Booleana usado en este libro
Smbolo
Sentido en ingls
Sentido en castellano
OR
O INCLUSIVO: A, B, o ambos
AND
NO
NO
IMPLIES
IMPLIES
IF AND ONLY IF
SI Y SOLO SI
Estos elementos se denominan operadores y unen proposiciones como P,Q,R... x>0, =1, etc.
El par de operadores { , } sirve para representar cualquier combinacin posible (lo que es
especialmente interesante). Asumiremos que los smbolos por orden de importancia son , , y
, lo cual evita el uso de excesivos parntesis.
As por ejemplo:
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:
X 1 X 2 es equivalente a 1 + 2 1
X 1 X 2 es equivalente a 1 =
1, 2 =
1
X 1 es equivalente a 1-1 =
1 1 =
0
X 1 X 2 es equivalente a 1 2 0
X 1 X 2 es equivalente a 1 2 =
0
Pgina 81 de 171
Ejemplo 6
Suponga que se quiere garantizar que si = 1 entonces = 0, siendo ambas variables binarias. Este
caso se puede representar considerando las dos restricciones.
x, y {0,1}
(6.4.1)
x + y 1
(6.4.2)
( x b ) ( x 1) ( y =z + 1)
(6.4.3)
( x b ) ( x 1) ( =1) ( y =z + 1)
(6.4.4)
1)
( x b ) ( =
(6.4.5)
1)
( x 1) ( =
(6.4.6)
( =1) ( =1) (
(
=1)
= 1) ( y z + 1)
(6.4.7)
(6.4.8)
(6.4.9)
x M 1
(6.4.10)
+ 1
(6.4.11)
y z + m m +1
(6.4.12)
Pgina 82 de 171
JPGS-JM-2015
y z + M M +1
(6.4.13)
la relacin (6.4.14).
(X A X B ) (XC X D X E )
(6.4.14)
(6.4.15)
1 C + D + E 1
=
(6.4.16)
Se puede transformar las dos relaciones lgicas anteriores para obtener las desigualdades (6.4.17) y
(6.4.18). As pues el ejemplo se puede representar como este par de restricciones.
A + B + 2 0
(6.4.17)
C D E 0
(6.4.18)
Ejemplo 9
En ocasiones se admite como til el uso de polinomios de variables indicadoras. Estas expresiones
pueden ser siempre sustituidas por expresiones lineales. As, por ejemplo, (6.4.19) es equivalente a
(6.4.20) as como (6.4.21) es equivalente a (6.4.22).
1 2 =
0
(6.4.19)
1 + 2 1
(6.4.20)
1 2 =
1
(6.4.21)
1 + 2 =
2
(6.4.22)
De modo ms general si el trmino 1 2 ha de aparecer siempre podr ser sustituido por una variable
3 = 1 2 que tiene la siguiente condicin 3 = 1 (1 = 1 2 = 1). Lo cual se puede expresar
mediante les restricciones (6.4.23)-(6.4.24)-(6.4.25).
1 + 3 0
(6.4.23)
2 + 3 0
(6.4.24)
1 + 2 3 1
(6.4.25)
Pgina 83 de 171
Es incluso posible linealizar trminos en los que se multiplica el valor de una variable binaria con una
variable real positiva . Sea = . Entonces, se asumen las relaciones (6.4.26) y (6.4.27).
=0 y =0
(6.4.26)
=1 y = x
(6.4.27)
La relacin (6.4.26) es equivalente a una nica restriccin como (6.4.28). Por otra parte, la relacin
(6.4.27) es equivalente a las restricciones (6.4.29) y (6.4.30).
5.5
y M 0
(6.4.28)
y-x0
(6.4.29)
x y + M M
(6.4.30)
Existen dos tipos de restricciones cuya presencia en problemas reales es habitual y que, adems,
estn implementadas en mltiples paquetes porque facilitan la resolucin. Estas son conjuntos de
variables en que slo una de entre todas puede adoptar un valor no nulo.
Estas variables se denominan:
El uso de estos dos tipos de conjuntos de variables es considerado explcitamente por algunos
motores de resolucin y facilita enormemente el proceso de ramificacin y corte, y por tanto reduce el
coste computacional.
5.5.1
Conjuntos SOS1
Un conjunto SOS1 es un conjunto de variables binarias dnde una y solamente una de estas
variables debe valer 1. Una de las principales ventajas de los conjuntos SOS1 es que permite discretizar
funciones no-lineales considerando solamente un nmero limitado de puntos. El tiempo de CPU que se
ahorra con este tratamiento especial es importante.
Para definir los conjuntos SOS1, se propone a continuacin un ejemplo.
Ejemplo 10
x [0,4]
2 x
La representacin grfica del espacio de soluciones de este modelo se presenta en la Ilustracin 5-2.
Pgina 84 de 171
JPGS-JM-2015
Usando estos 4 puntos, se puede escribir un modelo de programacin lineal usando un conjunto
SOS1.
Sea la variable binaria asociada al cada punto . = 1 si el punto es activo, 0 en caso
contrario. A partir de esto, se puede definir el modelo con las restricciones (6.5.1)-(6.5.2)-(6.5.3)-(6.5.4).
= 42 + 63 + 104
(6.5.1)
= 82 + 103 + 224
(6.5.2)
x=
y=
= 1 + 2 + 3 + 4 = 1
(6.5.3)
i {0,1} i
(6.5.4)
Otro ejemplo de uso de estas variables es la denominada formulacin modal, citada en un apartado
anterior.
Ejemplo 11
Pgina 85 de 171
x A + xB 7
(6.5.5)
3xA + xB 15
(6.5.6)
xB 5
(6.5.7)
Con la representacin grfica del espacio de soluciones de este modelo que se aprecia en la
Ilustracin 5-3, se puede observar que el espacio de solucin tiene 5 vrtices. Una posible
discretizacin consistira en considerar cada uno de ellos asocindole a cada uno una variable binaria .
El conjunto de forma entonces un conjunto SOS1.
(0,5)
(2,5)
(4,3)
xB
0
(0,0)
(5,0)
4
xA
(6.5.8)
x A = 22 + 43 + 54
(6.5.9)
xB = 51 + 52 + 33
(6.5.10)
i {0,1} i =
1...4
(6.5.11)
Donde los coeficientes son las coordenadas e de cada uno de los puntos. Este tipo de
Pgina 86 de 171
JPGS-JM-2015
0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 =
1
(6.5.12)
x A = 22 + 43 + 54 + 15 + 36 + 4.57
(6.5.13)
xB = 51 + 52 + 33 + 55 + 46 + 1.57
(6.5.14)
i {0,1} i =
1...7
(6.5.15)
Conjuntos SOS2
Cuando existen funciones separables convexas (y no-convezas) y se puede realizar otro tipo de
discretizacin gracias a los denominados conjuntos SOS2. En ellos slo dos variables binarias
consecutivas pueden tener un valor no-nulo y la suma del conjunto tiene que ser unitario. El uso de los
conjuntos SOS2 es til para aproximar trminos no-lineales por tramos (piecewise en ingls). Los
conjuntos SOS2 se usan cuando es til.
Ejemplo 12
Supngase que la regin de factibilidad de una variable es la OABCDEFG regin no-convexa
presente en la Ilustracin 5-5.
Pgina 87 de 171
D
A
B
C
E
(6.5.16)
2 = 1 ( x1 + x2 0) (3 x1 x2 8)
(6.5.17)
3 =1 ( x2 1) ( x1 5)
(6.5.18)
Las tres relaciones lgicas anteriores equivalen a imponer las restricciones (6.5.19) a (6.5.27).
x2 + 1 4
(6.5.19)
x1 + x2 + 51 9
(6.5.20)
x1 + x2 + 4 2 4
(6.5.21)
3 x1 x2 + 7 2 15
(6.5.22)
x2 + 3 3 4
(6.5.23)
x1 5
(6.5.24)
1 + 2 + 3 1
(6.5.25)
0 i 1 i =
1, 2,3
(6.5.26)
i + i =
1, 2,3
(6.5.27)
Sin embargo, esto no es suficiente para que el modelo sea bueno. Por definicin, en un conjuntos
SOS2, solamente dos variables adyacentes +1 pueden ser distintas de cero. En la mayora de los
programa existen (de pago o no), sobra con definir el conjunto {1 , 2 , 3 } 2. Sin embargo, la
restriccin SOS2 se puede implementar directamente con la ayuda de variables binarias en caso de no
disponer de ella en el programa de optimizacin.
(1 + 2 =1) ( 2 + 3 =1)
(6.5.28)
Existe una formulacin alternativa para una regin no-convexa y conectada. En este caso, el
conjunto ( A , B , C , D , E , F ) sera SOS2 y se considerara las restricciones (6.5.29) a (6.5.31).
Pgina 88 de 171
JPGS-JM-2015
x1 B 2C 4D 3E 5F 5G =
0
(6.5.29)
x2 3 A 3b 2C 4D E F =
0
(6.5.30)
A + B + C + D + E + F 1
(6.5.31)
Pgina 89 de 171
6 PROGRAMACIN
NO-
Introduccin
Los modelos de programacin no-lineal son mucho ms complejos de resolver que sus anlogos
lineales. Adems en muchos paquetes aunque se encuentra una solucin sta no es necesariamente
ptima. Sin embargo es posible convertir relaciones no-lineales en aproximaciones lineales. Para poder
tomar la decisin acerca de qu mtodo de resolucin es ms apropiado es importante conocer si el
problema es convexo o no-convexo.
6.2
Ejemplo 13
Un modelo de programacin matemtica convexo es el siguiente:
[ Minimize]
x12 4 x1 2 x2
(7.2.1)
Sujeto a :
x1 + x2 4
2x + x 5
1 2
-x1 + 4 x2 2
x1 , x2 0
(7.2.2)
Ejemplo 14
Pgina 90 de 171
JPGS-JM-2015
[ Minimize]
-4x13 + 3x1 6 x2
(7.2.3)
Sujeto a :
x1 + x2 4
2x + x 5
1 2
x1 + 4 x2 2
x1 , x2 0
(7.2.4)
En el ltimo ejemplo, la regin de factibilidad es convexa, aunque la funcin objetivo no lo es, por lo
que es modelo no es convexo. La no-convexidad conduce a una situacin en la que aparecen ptimos
locales lejos del ptimo global.
La posibilidad de que ptimos locales aparezcan como ptimos propiamente dichos, cuando el
modelo es no-convexo, es lo que convierte estos problemas en muy difciles de resolver.
Si el problema es convexo cualquier ptimo que se encuentre es ptimo global. Sin embargo
encontrar un ptimo global en un problema no-convexo requiere algoritmos ms sofisticados. Por
ejemplo el uso de la programacin separable que se explica en la siguiente seccin.
6.3
Se dice que una funcin es separable si puede ser expresada como la suma de funciones de una
variable nica.
Por ejemplo, la funcin (7.3.1) se puede denominar separable mientras que la funcin (7.3.2) no es
funcin separable.
x13 +
1
+ log( x3 )
x2
x1 x2 +
x3
x1 + x2
(7.3.1)
(7.3.2)
La importancia de que una funcin sea separable para la programacin matemtica radica en el
hecho de que una vez separada la mayor parte de las funciones se pueden aproximar a funciones
definidas por tramos que sean lineales. A partir de aqu ser posible encontrar un ptimo global para una
funcin convexa, o al menos un ptimo local si es no-convexa.
Aunque puede parecer que la clase de funciones separables es muy restrictiva, en realidad es
posible convertir en separables muchas funciones objetivo aparentemente no separables.
Pgina 91 de 171
Una vez las variables han sido separadas, la funcin resultante se puede aproximar a una funcin por
tramos lineal. No importa donde est la no-linealidad, pues el procedimiento es el mismo tanto se es en
la funcin objetivo como si es en las restricciones.
Ejemplo 15
Para convertir en lineal la funcin objetivo (7.2.1) solo es necesario convertir la funcin 1 2 . A partir
de la segunda restriccin del ejemplo es evidente que no es posible que 1 sea mayor que 2,5. En este
caso, la funcin = 1 2 se puede nicamente definir para [0,2.5] y puede ser sustituida por: la
funcin (7.3.3).
y=
3x 2
2.25
x5
0.5
x [ 0,1]
x [ 0, 2]
(7.3.3)
x [ 2,2.5]
y = 01 + 12 + 43 + 6.254
1
1 + 2 + 3 + 4 =
i 0 i
(7.3.4)
Por tanto el modelo del ejemplo considerado se puede reformular usando la funcin objetivo (7.3.5) y
el conjunto de restricciones (7.3.6).
[ Minimize]
y 4 x1 2 x2
(7.3.5)
Sujeto a :
x1 + x2 4
2x + x 5
1 2
-x1 + 4 x2 2
0
-x1 + 2 + 23 + 2.54 =
0
-y + 2 + 43 + 6.254 =
4
i = 1
i =1
y, x1 , x2 0
i 0 i
(7.3.6)
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 92 de 171
JPGS-JM-2015
x1 = 1 + 2 + 0.5 3
y = 1 + 3 2 + 2.25 3
) (
6.4
Cmo
convertir
un
modelo
no-separable
en
un
modelo
La funcin 1 2 2 2 es una funcin separable, donde los trminos pueden ser linealizados de modo
aproximado como se explica en el apartado anterior. Hay que destacar que 2 es un variable libre, es
decir, puede adoptar valores negativos.
representada por donde log = log 1 + log 2 , restriccin que puede tener variables separadas. Y
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.
Pgina 93 de 171
INCERTIDUMBRE
ANLISIS
DE
EN
LOS
DATOS
SENSIBILIDAD,
LAS
RELACIONES:
PROGRAMACIN
PROGRAMACION
FUZZY
ESTOCSTICA
Introduccin
Hasta este momento todas las formulaciones que se han presentado de programacin matemtica
asumen que los datos son conocidos, ciertos y exactos. Sin embargo, en muchos problemas reales los
datos no pueden ser conocidos con exactitud. En ocasiones por errores de medida, pero ms
generalmente porque son datos sobre circunstancias que se darn en el futuro, y simplemente no
pueden ser conocidos con anticipacin.
Este tipo de problemas se dan con mucha frecuencia, puesto que en muchas ocasiones las
decisiones se toman de modo recurrente.
Por ejemplo el departamento de compras de una empresa toma la decisin de adquirir cierta cantidad
de materia prima atendiendo a una demanda conocida para el presente pero estimada para el futuro. Y
cuando ese futuro sea presente se tomar una nueva decisin.
El anterior es un ejemplo de recursividad. sta es, bsicamente, la capacidad de emprender acciones
correctivas despus de que la situacin incierta ocurra.
Hay que destacar tambin la propiedad de no-anticipacin que se exige a la programacin
estocstica. Se puede definir esta como la imposibilidad de vincular la decisin en el primer periodo no
depende de lo que de hecho ocurra en el segundo periodo. La decisin de hoy para hoy no puede ser
modificada maana.
7.2
Anlisis de Sensibilidad
7.2.1
7.2.1.1
Interpretaciones econmicas
Para avanzar en esta seccin es conveniente plantear un problema de mezcla de productos que sirva
como ejemplo.
7.2.1.1.1
Una empresa fabrica 5 tipos de productos (P1, P2,, P5) utilizando fundamentalmente 2 tipos de
recursos (3 tornos similares y 2 fresas similares). Tras deducir el coste de la materia prima cada
Pgina 94 de 171
JPGS-JM-2015
producto aporta el beneficio expresado en la Tabla 7-1. En la misma tabla se representa los tiempos de
operacin necesarios para hacer cada producto en cada mquina.
Tabla 7-1 Tiempo de Operacin de cada producto en cada recurso y beneficios asociados
[ Maximize] z =
(8.2.1)
Sujeto a :
12 x 1 +20 x 2 +25 x 4 +15 x 5 288
(8.2.2)
10 x 1 +8 x 2 +16 x 3 192
(8.2.3)
20 ( x 1 + x 2 + x 3 + x 4 + x 5 ) 384
(8.2.4)
La funcin objetivo (8.2.1) pretende maximizar los beneficios totales de la empresa considerando los
beneficios asociados a la venta de cada producto. La restriccin (8.2.2) limita el consumo de la
capacidad productiva disponible en los tornos. De forma similar, la restriccin (8.2.3) limita el consumo
de la capacidad productiva disponible en las fresas y (8.2.4) en el proceso de montaje.
La solucin ptima del problema es la siguiente:
x1 = 12
x2 = 7, 2
0
x=
x=
x=
3
4
5
z = 10920
De la observacin de los resultados (ver Ilustracin 7-3) se conoce que tanto la restriccin de tornos
como la de Montaje estn al lmite, mientras que fresas tiene an capacidad. En la Ilustracin 7-1 se
propone la implantacin del modelo en Gusek.
Pgina 95 de 171
JPGS-JM-2015
a)
Cunto debieran incrementar su precio los productos P3,P4,P5 para que fueran
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.
7.2.1.1.2
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
10000 horas de montaje sera absurdo). Estos lmites (rangos) se establecen en la siguiente seccin.
Los precios sombra de varias restricciones no pueden utilizarse simultneamente pues las
variaciones en los trminos independientes de varias restricciones simultneamente, no suponen la
suma de los precios sombra en la funcin objetivo. Los precios sombra son un claro ejemplo de costes
de oportunidad, concretamente del coste de la oportunidad perdida.
En la Ilustracin 7-3, se propone el informe del anlisis de sensibilidad de las restricciones de
Ejemplo1.
Pgina 97 de 171
7.2.1.1.3
Costes reducidos
Los costes reducidos asociado a una variable son el valor que habra que subir el precio (o la
contribucin marginal) para cada valor de sus ndices correspondientes para que la variable que lo
representa no fuera nula. Tambin este incremento en precio tiene un lmite por encima del cual no se
van a establecer ms variaciones. Otra manera de observar los costes reducidos es como el dinero que
se dejara de ganar si se obliga al sistema a producir al menos un producto del tipo en cuestin.
En la Ilustracin 7-4, se propone el informe del anlisis de sensibilidad de las variables de Ejemplo1.
7.2.1.2
Como se ha comentado anteriormente los parmetros de los modelos no tienen porqu ser
conocidos y ciertos. Es por ello que al obtener una solucin interesa saber cmo se hubiera comportado
la solucin en caso de que los datos hubieran sido ligeramente diferentes. Ese anlisis (fruto
fundamental de cualquier resolucin) se puede realizar resolviendo una y otra vez el mismo modelo,
pero tambin se puede obtener analizando ligeramente algunos datos ms que suelen obtenerse al
resolver otros modelos
Al resolver un modelo lo importante generalmente no es conocer los valores solucin de cada una de
las variables, o el valor de la funcin objetivo sino la poltica a la que conduce el modelo. As en el
modelo de ejemplo (ejemplo 1) lo que importa es que se fabrican productos de tipo 1 y tipo 2 de tal
manera que utilizan a plena capacidad los recursos torno y mano de obra. Si un modelo es estable
Pgina 98 de 171
JPGS-JM-2015
ligeras variaciones de los coeficientes no variarn esta poltica, sino nicamente las cantidades
concretas.
7.2.1.2.1
En el apartado anterior se han descrito los precios sombra como tiles para predecir el efecto de
pequeos cambios en el valor de la restriccin. Se ha indicado tambin que estos cambios son as
interpretables dentro de un determinado rango.
Conocer los rangos en los que se puede mover una restriccin sin alterar gravemente la solucin,
sirve para realizar anlisis de sensibilidad. En ocasiones los valores de las restricciones (y otros
coeficientes) no son estrictamente conocidos, pero si la solucin no variara (conceptualmente) con
variaciones en los coeficientes dentro del rango, es til conocer ste para saber si hay que invertir un
mayor esfuerzo en conocer exactamente el dato.
Cuando los rangos son amplios se puede asumir que un modelo es estable.
7.2.1.2.2
Rangos en el objetivo
A menudo es til conocer los efectos de cambios en los coeficientes de la funcin objetivo en la
solucin ptima (para ello se han definido los costes reducidos). Anlogamente a las restricciones se
pueden definir rangos de variacin donde no existirn variaciones en la estructura de la solucin.
La misma aplicacin en anlisis de sensibilidad que los rangos en las restricciones pueden tener los
rangos en los objetivos. Adems de que aqu no solo variar la poltica de la solucin sino tampoco la
cantidad exacta.
7.2.1.3
El modelo dual
El modelo dual se genera al convertir los objetivos en restricciones y las restricciones en objetivos.
Bsicamente se trata de crear tantas variables como restricciones se encuentran, y combinarlas
linealmente con el trmino independiente de cada restriccin para generar la funcin objetivo. Al mismo
tiempo los coeficientes de la funcin objetivo pasan a ser los trminos independientes de las
restricciones, cuya matriz tecnolgica es la transpuesta de la original.
De este modo el problema del ejemplo 1 queda de la forma siguiente:
Ejemplo 17
[ Minimize] z* =
(8.2.5)
Sujeto a :
12 y1 + 10 y2 + 20 y3 550
(8.2.6)
20 y1 + 8 y2 + 20 y3 600
(8.2.7)
16 y2 + 20 y3 350
(8.2.8)
Pgina 99 de 171
25 y1 + 20 y3 400
(8.2.9)
15 y1 + 1 y3 200
(8.2.10)
Esto significa que si aumentramos en una unidad el nmero de horas disponibles de torno el
incremento en el beneficio de la empresa sera de 6,25 , mientras que sera nulo si aumentramos las
horas de fresa. Este concepto es el denominado Precio Sombra.
7.2.1.4
Modelos estables
En muchas ocasiones es ms interesante encontrar soluciones estables que soluciones ptimas. Las
soluciones estables son aquellas en las que pequeas variaciones de los coeficientes no alteran la
solucin final. Esto se da en una gran proporcin de casos en los que no se puede cambiar la poltica de
una empresa debido a pequeas variaciones en los datos de entrada.
De algn modo este tipo de situacin puede ser modelado relajando algunas restricciones, es decir,
suponer que se va a poder violar la restriccin (8.2.11). Para ello resulta de inters que se pueda
establecer modificar la restriccin para obtener (8.2.12) penalizando en la funcin objetivo los valores de
u.
xj b
(8.2.11)
xj u =
b
(8.2.12)
7.2.2
Informacin
econmica
sensibilidad
en
los
modelos
de
programacin
JPGS-JM-2015
7.3
Programacin Fuzzy
7.4
[ Minimize]
cT x + pe d eT ye
(8.4.1)
A x b
(8.4.2)
Te x + We ye he e
(8.4.3)
x0
(8.4.4)
ye 0 e
(8.4.5)
Sujeto a :
Donde:
Matriz tecnolgica con incertidumbre para las variables que corresponden a la decisin a tomar
Matriz tecnolgica con incertidumbre para las variables que corresponden al futuro
Los problemas estocsticos son especialmente complicados debido a su tamao, que crece con el
Una de las principales ventajas de la programacin estocstica es que las soluciones que obtiene
para los periodos congelados son estables ante los diferentes escenarios.
Existen paquetes informticos especficamente dedicados a la resolucin de problemas con
escenarios, pero tambin se pueden utilizar paquetes estndares, aunque la complejidad anteriormente
aludida es una limitacin evidente en su uso.
8 PROCEDIMIENTOS
DE
RESOLUCIN
DE
MODELOS
DE
PROGRAMACIN
MATEMTICAEQUATION CHAPTER (NEXT) SECTION 1
8.1
Introduccin
Hasta el momento se han planteado procedimientos de Modelado, dando por supuesto que el modelo
en s mismo podra ser resuelto. En el presente apartado se pretenden mostrar cmo se resuelven
problemas de programacin matemtica.
Pero existen en el mercado, disponibles para su adquisicin, procedimientos generales de resolucin
capaces de resolver en tiempos adecuados problemas cada vez ms complicados.
Aunque en la prctica es posible que sea ms rentable disear el propio procedimiento de resolucin.
Por ello se abordan en la fase final del captulo mtodos para disear procedimientos de resolucin para
los problemas que ya han sido modelados
8.2
8.2.1
Algoritmos y paquetes
1.
2.
3.
4.
En cualquier caso otros hacen un uso cruzado de los diferentes mtodos. As la estrategia que
parece ms adecuada para problemas de muy grandes dimensiones es utilizar algoritmos genricos que
JPGS-JM-2015
rpidamente nos conduzcan al entorno del ptimo y finalizar la exploracin del espacio de soluciones
con un Simplex que buscar el ptimo global del problema.
Una de las mayores ventajas del uso de paquetes comerciales es que son muy flexibles en su uso.
Adems suelen contener unas caractersticas (Reduccin, Soluciones iniciales, Cotas de Variables,
Anlisis de Sensibilidad) y que se introducen a continuacin.
8.2.1.1
Reduccin
Algunos paquetes tienen procedimientos para detectar y eliminar redundancias en los modelos. De
este modo se reduce el tamao y por tanto el tiempo de resolucin.
8.2.1.2
Soluciones iniciales
La mayor parte de los paquetes permiten que el usuario aporte una solucin inicial. Si est
suficientemente cerca del ptimo el tiempo de resolucin se ver sustancialmente reducido. Esta
herramienta es especialmente til cuando se quiere probar el efecto de pequeos cambios en los
valores del modelo.
8.2.1.3
Cotas de variables
En algunas ocasiones el valor de las variables est acotado por una cota superior constante U o por
una cota inferior constante L del siguiente modo:
x U
xL
x1 + x 2 + .... + x n M
Este tipo de restricciones corresponden con una fila de unos en la matriz de restricciones y se suelen
denominar Cotas Superiores Generalizadas (GUB) del subconjunto. Si existen muchas restricciones de
este tipo para conjuntos disjuntos es til representarlos como GUBs, puesto que reducen
considerablemente el coste computacional.
8.2.1.5
Anlisis de sensibilidad
Cuando se halla la solucin ptima, a menudo nos interesa investigar como afectaran cambios en
los coeficientes de la funcin objetivo y las restricciones. Esta informacin, que se puede obtener de
todos los paquetes comerciales es de una gran importancia, en el uso de los modelos.
8.2.2
La hoja de clculo Excel dispone entre sus herramientas una dedicada a la resolucin de problemas
de programacin matemtica. Dicha herramienta (que en ocasiones hay que instalar a travs de
Herramientas/Opciones) se denomina Solver.
Para ilustrar su uso, bastante intuitivo por otro lado, se procede a plantear el modelo del apartado
7.2.1.1.1.
Una disposicin de las celdas, meramente orientativa, pues el solver es verstil en ese aspecto,
podra ser la siguiente:
-
una ventana vaca (Ilustracin 8-2) dnde se introducirn las caractersticas del problema.
JPGS-JM-2015
Las
restricciones
(8.2.2)-(8.2.4)
se
representan
agregando
la
restriccin
$G$4:$G$6<=$H$4:$H$6.
5. El mtodo de resolucin que se seleccionar ser Simplex LP.
6. Y no se modificar nada en Opciones.
La pantalla que se debe obtener es la misma que la Ilustracin 8-3.
Ilustracin 8-3 Pantalla con los parmetros adecuados para resolver el Ejemplo1
Al acabar la resolucin del problema, aparece la pantalla de la Ilustracin 8-4. En esta ltima, si
hacemos clic en Responder en el apartado Informes y que despus se hace un clic en Aceptar, se
genera una nueva hoja dentro del libro dnde est todo el informe presente en la Ilustracin 8-5.
JPGS-JM-2015
JPGS-JM-2015
8.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
eficientes que cualquier implementacin individual.
En el terreno de los programas comerciales dos son los paquetes relevantes: CPLEX Optimizer 12.4
y Gurobi Optimizer 5.0. CPLEX Optimizer es el programa (software) clsico. Llevan aos mejorando sus
algoritmos y los ltimos pasos que dio (concretamente CPLEX 12.4) parecan haber dejado
completamente atrs a sus competidores. Sin embargo Gurobi Optimizer en el 2009 salt a la arena,
con un solucionador que es capaz de dejar atrs a CPLEX Optimizer. En cualquier caso pueden resolver
problemas con decenas de miles de variables, tanto enteras como binarias, en algunos segundos.
Muy lejos de estos dos programas se encuentran las aplicaciones de programa libre (freeware) como
GLPK o LPSolve IDE.
En cualquier caso adems del programa de optimizacin, generalmente hace falta tener un programa
de interface, para poder introducir datos en formato natural, y extraerlos de manera natural tambin.
Por otro lado, el uso de programas para la resolucin de programacin lineal cuando los programas
son de un cierto tamao (unos miles de variables), puede requerir para ser eficiente un cierto nivel de
tuneado. Parmetros como los gaps admisibles, las reglas de pivote, la reduccin previa, exigen unos
minutos hasta dar con una combinacin adecuada.
Se admite habitualmente que el mayor problema para aplicar de modo exitoso los modelos de
programacin matemtica no son los modelos ni los tiempos de resolucin, sino la interface con el
usuario: la entrada y la salida de datos.
El uso de paquetes de modelado aporta las siguientes ventajas:
a) Ofrecer un modo de entrada de datos ms natural
b) Corregir y verificar es mucho ms fcil
c) Modificar se hace ms fcilmente
d) Automatizar la repeticin de la ejecucin es factible
8.3.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 7.2.1.1.1 citado anteriormente.
Ejemplo 18
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
Es evidente la relacin entre este modo de introducir el modelo y el propio modelo.
Adems MPL incluye muchas otras funcionalidades como que Los datos pueden imputarse
directamente, o a travs de ficheros de texto, ficheros xml, Excel, Access y otros medios. O que Si
hay sumatorios largos se pueden calcular por separado como macros.
Adems de un fichero solucin convencional se puede conectar a Excel o Access. Y por tanto el
sistema puede dar y recibir informacin a/de paquetes convencionales.
Por otro lado el MPL tiene funcionalidades como al correccin ortogrfica y sintctica de los modelos,
as como herramientas que permiten analizar los modelos desde un punto de vista estructural.
8.3.2
JPGS-JM-2015
A medida que los sistemas de apoyo a la toma de decisin se vuelven ms sofisticados incorporan
procedimientos que plantean opciones y no slo representan datos. La definicin de tales opciones
no es ms que encontrar soluciones a los problemas que se plantean y modelan.
Otro concepto relacionado es el denominado sistema experto. Estos sistemas aceptan, en teora,
definiciones informales de los problemas, que se formalizan a medida que el usuario le ayuda, a travs
del interface diseado al efecto, seleccionando entre diferentes alternativas. Esta informacin que aade
el usuario se complementa con informacin histrica recogida de resoluciones anteriores.
8.4
Procedimientos
de
resolucin
de
programacin
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)
[ Maximize] ci xi
(9.4.1)
Sujeto a :
ij
x j bi
(9.4.2)
una solucin bsica al problema haciendo n-m variables iguales a 0 (para convertir el problema
en linealmente independiente y determinado). A las variables definidas como nulas se les denomina
variables no-bsicas, y a las dems, variables bsicas. Si existe solucin para el problema planteado
con las n-m variables no bsicas definidas, entonces a esa solucin se le denomina solucin bsica
factible.
Las soluciones bsicas factibles generan los vrtices de un poliedro convexo. En uno de estos
vrtices se encuentra el ptimo si este existe. Se dice que dos vrtices son adyacentes si sus conjuntos
de variables bsicas tienen m-1 variables bsicas en comn.
interior de la regin factible, y no a travs de los vrtices de la misma como hace el mtodo Simplex.
La estrategia del algoritmo del punto interior es implementar, en el espacio original de la regin de
factibilidad, transformaciones a media que avanza el algoritmo.
Una vez conocida la regin de factibilidad y un punto inicial e interior al mismo, se debe definir un
modo de progreso en una direccin que permita reducir el valor de la funcin objetivo, y que el nuevo
punto siga siendo factible e interior.
Este proceso se debe repetir hasta que no pueda haber una mayor reduccin en el valor de la
funcin objetivo.
As pues las preguntas que hay que saber cmo responder son tres:
8.5
Procedimientos
de
resolucin
en
programacin
lineal
Ramificacin y acotacin
En la prctica la mayor parte de los problemas de PE se resuelven utilizando la tcnica conocida
como ramificacin y corte (Ramificacin y Acotacin, Ramificacin y Poda Branch and Bound en
ingls). Este procedimiento se basa en la divisin de problemas en subproblemas (ramificacin)
mientras el ptimo no sea una solucin factible entera.
La Ramificacin y Poda es un mtodo general de bsqueda. Empieza considerando el problema raz
(el problema original con la regin factible completa sin las restricciones de integridad). Si se cumplen
dichas restricciones el procedimiento ha terminado. Si no se cumplen, la regin de factibilidad se divide
en o ms regiones. Se resuelve cada uno de los sub-problemas, si uno de ellos satisface las
restricciones de integridad el problema ha sido resuelto pero no se puede garantizar su optimalidad. Si
no satisface dichas restricciones, su valor se puede tomar como una cota. Si el valor de dicha cota es
JPGS-JM-2015
peor que el mejor resultado obtenido hasta el momento, no har falta seguir explorando este problema.
Este procedimiento se resuelve de modo iterativo para cada uno de los subproblemas generados.
Concretamente en programacin entera, el mtodo consiste en:
[ Maximize]
z = 7x1 + 3x2 + 4 x3
(9.5.1)
Sujeto a :
3x1 + 2 x2 x3 5
2 x2 3 x3 9
7x1 + 2 x2 8
+
x1 , x3
x 2 0
(9.5.2)
La solucin del problema relajado es (1 , 2 , 3 ) = (1.1428,0,3) con = 14.2857. Este valor es una
valor de la funcin objetivo 2 = 14.1667. Dado que 2 + , volvemos a obtener una cota mxima ms
ajustada aunque la solucin no es factible.
La relajacin del subproblema3 no tiene solucin, por lo que no se profundizar ms en esa rama.
Se crearn pues dos nuevos subproblemas:
Subproblema4 = Subproblema2 + (3 2)
Subproblema5 = Subproblema2 + (3 3)
La solucin del subproblema 5 da valores enteros de x1, x3, y adems se puede garantizar su
optimalidad porque la cota superior del subproblema 4 es 9.42, inferior al 14 ya obtenido. Grficamente
se puede representar como en la Ilustracin 8-6.
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
Subproblema 3
No factible
( x3 3)
Subproblema 5
( x1 , x2 , x3 ) = (1,0,3)
z5 = 14
En la resolucin mediante mtodos de ramificacin y acotacin, se puede optar bsicamente por dos
estrategias en la seleccin del siguiente nodo a ramificar:
a)
b)
c)
d)
Enumeracin implcita
El mtodo de enumeracin implcita se usa frecuentemente para resolver problema de
programacin entera 0-1. En la enumeracin implcita se aplica el hecho de que cada variable es binaria
JPGS-JM-2015
para simplificar los componentes a ramificar y acotar del proceso de ramificacin y acotacin y para
determinar eficazmente cuando un nodo no debe ser explorado.
El rbol que se usa en el mtodo de la enumeracin implcita es similar a los rboles que se
utilizan para resolver problemas de programacin entera convencional. Cada rama del rbol especificar
para una determinada variable si vale xi=0 xi=1. Todas las variables a las que se las asigna un valor se
denominan variables fijas y las dems variables libres.
Para cualquier nodo (un conjunto de variables fijas con sus valores asignados) se denomina
integracin del nodo a cualquier especificacin de las variables libres.
Un modo de integrar de modo eficiente un nodo es asignando a las variables libres los valores que
permiten maximizar (o minimizar) la funcin objetivo. Si esta integracin es factible entonces esta es la
mejor solucin a que se puede llegar a travs del nodo en el que nos encontramos. Si no fuera factible el
valor de la funcin objetivo obtenido definira una cota superior (o inferior) del nodo.
Desgraciadamente no hay ningn modo efectivo de saber si para un nodo no existe ninguna
integracin factible.
Introducir este ejemplo
Ejemplo 20
[ Maximize]
31 + 2 + 3 4 2 5 + 6
(9.5.3)
Sujeto a :
1 + 2 2 3 + 4 2
1 + 2 + 3 + 5 3
+ + + 2
1 3 5 6
(9.5.4)
1 = 0
1 = 1
1110001
NO 7
011001
SI 4
2 =1
2 = 0
111001
NO 7
101001
NO 5
3 = 0
3 =1
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
8.5.3
111001
NO 7
mtodo consiste en relajar los problemas de programacin entera a problemas de programacin lineal.
Si la solucin resultante del problema es entera, el problema ha sido resuelto.
Si no es as, se plantear una nueva restriccin (plano de corte) que se aadir al problema y que
pretenden relajar las aristas que dan soluciones no enteras.
El nuevo problema se vuelve a resolver como programacin lineal y el proceso anterior se repite
hasta que la solucin es entera.
Aunque el nmero de cortes necesarios para garantizar la optimalidad se ha demostrado que es
finito, en realidad no es un procedimiento muy exitoso para problemas grandes.
8.6
Procedimientos
de
resolucin
en
programacin
binaria
Introduccin
JPGS-JM-2015
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.
8.6.2
Secuenciacin
Los problemas de secuenciacin son, junto con los de rutas, la aplicacin ms clsica en
optimizacin combinatoria, tanto por la extensin de su aplicacin, como por su facilidad de
planteamiento. Aun as el nmero de problemas diferentes que se puede plantear son muchos.
Definir el orden en el que se deben ejecutar las tareas de un proyecto para minimizar su duracin,
teniendo en cuenta limitaciones en los recursos, es un clsico problema de secuenciacin.
La secuenciacin en una mquina hace referencia al orden en que un conjunto de trabajos deben
pasar por una mquina. La secuenciacin puede considerar aspectos como la duracin, fecha de
entrega, la importancia del cliente
Los problemas de secuenciacin de una mquina se extienden teniendo en cuenta mquinas en
paralelo y/o mquinas en serie (taller de flujo) y de ah al taller general. Otra extensin habitual es
considerar tiempos de preparacin de mquinas. Adems el uso de mltiples recursos diferentes y
limitados forma parte tambin de las posibilidades.
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 (Economic Lot and
Supply Scheduling Problem, ELSSP).
La secuenciacin con mezcla de modelos en una lnea de montaje, pretende establecer el orden en
el que un conjunto de productos (pertenecientes a varias familias de productos en diferentes cantidades)
deben circular por una lnea de montaje.
8.6.2.2
Rutas
Los problemas de rutas tratan de establecer el circuito a recorrer para dar un determinado servicio,
ya sea de entrega de recepcin o de ambos. El problema clsico denominado del viajante de comercio
supone visitar una y slo una vez un conjunto de puntos. A este problema se le pueden aadir variantes
como incluir varios viajantes, limitar la capacidad del variante o la disponibilidad de tiempo, incorporar
ventanas temporales de entrega o recepcin, obligar o prohibir determinados tramos, hacerlo en una o
varias ocasiones por cada tramo
8.6.2.3
Corte y empaquetado
Los problemas de corte son los ligados a reducir el consumo de materia prima que se vende o
consume troceada. Pueden ser unidimensionales (vigas), bidimensionales (placas de vidrio, cartn o
tela) o incluso tridimensionales como en el corte de mrmol. Tambin se pueden considerar variantes
como que las piezas a obtener tengan una forma regular o irregular (por ejemplo retales de tela). O
tambin se puede considerar variantes con restricciones que obligan a mantener determinadas
direcciones de corte, o realizar cortes completos.
Los problemas de Trim son una variante de estos problemas en los que de un rollo (de papel o de
acero) se trocean otros rollos de anchos y longitudes diferentes. El problema radica en este caso en
establecer los modos en los que los diferentes rollos se van haciendo para minimizar no slo la materia
prima desperdiciada sino tambin las preparaciones de mquina a realizar.
Los problemas de empaquetado son similares siendo los contrarios, pretenden ubicar en la mnima
superficie (o el mnimo volumen) posible un conjunto de partes que son inicialmente diferentes.
8.6.2.4
Horarios
Los problemas de horarios son un problema clsico de optimizacin de combinatoria que tiene en la
gestin docente (aunque evidentemente no es exclusiva de ella) una gran cantidad de aplicaciones: el
diseo de horarios de clase, repartos de guardias, calendarios de exmenes, son algunos fcilmente
reconocibles. En la industria se pueden encontrar fcilmente cuando se trata de repartir cargas de
trabajo desiguales entre operarios con calendarios laborales.
8.6.2.5
Asignacin
Los problemas en los que se asignan recursos a tareas o tareas a agrupaciones son otra clase
habitual de problemas. El equilibrado de lneas es un problema muy conocido, pero los problemas de
asignacin de frecuencias o de generacin de equipos multidisciplinares equilibrados no son menos
habituales.
JPGS-JM-2015
8.6.3
Entre las herramientas disponibles para generar dichas soluciones, los algoritmos de optimizacin
combinatoria resuelven instancias de problemas que se creen difciles en general, explorando el espacio
de soluciones (usualmente grande) para estas instancias. Los algoritmos de optimizacin combinatoria
logran esto reduciendo el tamao efectivo del espacio, y explorando el espacio de bsqueda
eficientemente.
La mayor parte de los procesos de resolucin de problemas en optimizacin combinatoria no
garantizan el ptimo ni siquiera en el contexto de modelo, que no necesariamente es el problema real,
pero su aproximacin al ptimo es probablemente suficiente.
Los mtodos habitualmente utilizados para resolver problemas son del tipo heurstico o
metaheurstico. Estos son capaces de generar soluciones al problema. Son aproximaciones que
pretenden acercarse lo ms posible al ptimo, pero que pueden fallar en el intento. En los inicios de la
Investigacin Operativa, y dada las limitaciones de clculo automtico que entonces se tena, era
habitual desarrollar procedimientos heursticos (es decir que hallaban soluciones) muy rpidamente. Los
procedimientos eran especficos para cada problema y en general su eficiencia era escasa cuando se
intentaban utilizar en otros mbitos.
Pese a no garantizar la optimalidad, los mtodos heursticos de resolucin (incluyendo entre ellos los
procesos de mejora local y los algoritmos metaheursticos) son bsicos por varios motivos. En primer
lugar son capaces de generar soluciones lo que generalmente es mejor que no tener solucin alguna.
En segundo lugar se puede decir que alcanzar el ptimo de un modelo que tampoco es exactamente el
problema real no es esencialmente grave. Por ltimo ser capaz de disear una buena heurstica, exige
un conocimiento del problema que puede conducir a mejoras de otro tipo.
Con la existencia de ordenadores cada vez ms potentes, y aprovechando su capacidad de clculo
han surgido en las ltimas dcadas, las denominadas tcnicas metaheursticas. Son procedimientos
genricos que pueden ser fcilmente adaptados para resolver problemas de optimizacin combinatoria.
9 ALGUNOS
PROBLEMAS
DE
MODELADO
PROGRAMACIN
MEDIANTE
MATEMTICA
9.1
9.1.1
JPGS-JM-2015
El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de 190
/unidad, pasa por el recurso A donde se tarda 60 segundos en procesarlo y luego por el proceso B
donde est 90 segundos. Finalmente es ensamblado por el recurso E en 30 segundos. El mes tiene 20
das laborales de 8 horas. Los gastos totales son 70000/semana.
P se vende a 180 y Q a 200. La demanda estimada de cada producto es de P=1000
unidades/semana y de Q=500 unidades/semana. Todo el producto que no se venda en la misma
semana en la que se produce se considera scrap
destruccin.
9.1.2
Preguntas
9.1.3
Modelado
9.1.4
JPGS-JM-2015
9.2
9.2.1
Enunciado
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 los productos
tiene las siguientes caractersticas. Puede decidir transportar la demanda completa o slo una fraccin
de ella.
Carga
C1
C2
C3
C4
Peso (Tm)
18
20
10
16
Volumen (m3/Tm)
500
600
550
400
Beneficio (/Tm)
300
450
350
275
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.
9.2.2
Preguntas
Nombre
Cantidad cargada de 1
Cantidad Cargada de 2 delante
Cantidad Cargada de 3 delante
Cantidad Cargada de 4 delante
Cantidad Cargada de 2 en el centro
Cantidad Cargada de 3 en el centro
Cantidad Cargada de 4 en el centro
Cantidad Cargada de 2 detrs
Cantidad Cargada de 3 detrs
Cantidad Cargada de 4 detrs
Valor
Igual
0
6
0
6
13
0
3
1
5,33
3,67
Gradiente
reducido
-25
0
0
0
0
0
0
0
0
0
Coeficiente
Aumento Disminucin
objetivo
permisible
permisible
300
25
1E+30
450
118,75
0
350
0
1E+30
275
100
0
450 89,06249965
0
350
0
1E+30
275
100
0
450
0 50,89285696
350 28,1249999
0
275
0 51,50602392
estricciones
Celda
Nombre
Limitacin de Demanda de 1
Limitacin de Demanda de 2
Limitacin de Demanda de 3
Limitacin de Demanda de 4
Limitacin de Peso delante
Limitacin de peso central
Limitacin de peso trasero
Limitacin volumen delante
Limitacin volumen central
Limitacin volumen trasero
Valor
Igual
Precio
Sombra
0
20
5,33
12,66
12
16
10
6000
9000
5000
0
75
0
0
237,5
0
0
0,5
0,5
0,5
Restriccin
lado derecho
18
20
10
16
12
16
10
6000
9000
5000
Aumento Disminucin
permisible
permisible
1E+30
18
3,88
1
1E+30
4,67
1E+30
3,33
0
0,21
1E+30
0
1E+30
0
200
500
200
500
550
500
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?
f) Cul es el precio que debiera pagar el propietario de la carga de tipo 1 para que considerramos su
producto como posible mercanca en nuestro avin, sin prdida de beneficios?
g) Hay algunos elementos prescindibles en la carga muerta del avin que ocupan volumen aunque no
pesan nada, (paracadas y dems). Su jefe le pregunta por el beneficio que supondra por
unidad de volumen, deshacerse de ellos.
h) Un cliente le indica que si transporta carga de tipo 2 debe tambin transportar al menos un 25% de la
carga de tipo 1. Modele la situacin.
i) Defina el modelo que incorpore todas las restricciones citadas y adems el objetivo sea maximizar el
ratio beneficio total/volumen ocupado.
j) Cmo permitira un desequilibrio de un 10% en el ratio de peso entre las distintas bodegas del avin?
9.2.3
Resolucin
ndices
i : Recorre los productos a transportar (i=1P)
j : Recorre las bodegas del avin. (j=1Q)
Parmetros
JPGS-JM-2015
B X
i
(10.3.1)
ij
b) Defina las restricciones que considere necesarias para establecer la limitacin de capacidad en peso
y volumtrica.
ij
CPj
j=1..Q
(10.3.2)
V X
i
ij
CV j
j=1..Q
(10.3.3)
c) Defina las restricciones que considere necesarias para establecer la limitacin de demanda.
ij
Di
i=1..P
(10.3.4)
d) Defina las restricciones que considere necesarias para establecer las consideraciones de equilibrio de
la carga.
CP1 X i ,2 CP2 X i ,1
(10.3.5)
CP1 X i ,3 CP3 X i ,1
(10.3.6)
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?
En realidad aunque el precio sombra es elevado (237,5) el aumento permisible es 0, lo que significa que
no es posible aumentar la carga sin cambiar la estructura de la solucin, y por tanto no se
puede decir nada a priori sobre los beneficios.
f) Cul es el precio que debiera pagar el propietario de la carga de tipo 1 para que considerramos su
producto como posible mercanca en nuestro avin, sin prdida de beneficios?
325
g) Hay algunos elementos prescindibles en la carga muerta del avin que ocupan volumen aunque no
pesan nada, (paracadas y dems). Su jefe le pregunta por el beneficio que supondra por
unidad de volumen, deshacerse de ellos.
0,5
h) Un cliente le indica que si transporta carga de tipo 2 debe tambin transportar al menos un 25% de la
carga de tipo 1. Modele la situacin.
2, j
> 0 =1 X 1, j 0, 25 D1
(10.3.7)
X 2, j 20 0
j
X 1, j 4,5 0
j
(10.3.8)
a) Defina el modelo que incorpore todas las restricciones citadas y adems el objetivo sea
maximizar el ratio beneficio total/volumen ocupado.
B X
[ Maximize]
V X
i
ij
ij
[ Maximize] Bi wij
(10.3.9)
Sujeto a :
V w
i
ij
=
1
(10.3.10)
ij
CPj t 0 j
(10.3.11)
V w
i
ij
CV j t 0 j
(10.3.12)
ij
Di t 0 i
(10.3.13)
CP1 wi ,2 =
CP2 wi ,1
(10.3.14)
CP1 wi ,3 =
CP3 wi ,1
(10.3.15)
j) Cmo permitira un desequilibrio de un 10% en el ratio de peso entre las distintas bodegas del avin?
JPGS-JM-2015
9.2.4
9.3
9.3.1
Una empresa tiene una centralita telefnica que debe atender durante 17 horas al da. La demanda
de operadores para las diferentes horas es variable. Puede contratar trabajadores a una Empresa de
Trabajo Temporal (ETT) por 4, 5, 6, 7 y 8 horas al da con unos costes respectivos de 10, 11, 12, 13 y 14
euros la hora. Cada tipo de contrato tiene un coste diferente.
9.3.2
Preguntas
Defina cuntos contratos de cada tipo ha de hacer para cada hora de una jornada.
9.3.3
El problema puede ser implementado en una hoja de clculo con la estructura de la Ilustracin 9-1.
Ilustracin 9-1 Plantilla Excel para resolver con Excel el problema Centralita Telefnica
Y el problema puede ser resuelto con el Solver Excel con los parmetros presentes en la Ilustracin
9-2.
9.4
9.4.1
Una empresa de material de construccin tiene vigas metlicas de 12,5 metros. Un da recibe
pedidos, que una vez acumulados generan la siguiente demanda en barras: 5 barras de 3 metros, 4
barras de 4 metros, 3 barras de 5 metros, 5 barras de 6,5 metros.
9.4.2
Preguntas
Defina un modelo que genere un plan de corte con el mnimo resto posible.
9.4.3
JPGS-JM-2015
9.5
9.5.1
Una fbrica puede trabajar a 3 turnos, con unos costes fijos (en unidades monetarias) por turno de (1000,
500, 200) y unos costes variables (en unidades monetarias) diferentes en cada turno por unidad (20, 30, 40).
Las capacidades productivas (en unidades de producto) son tambin diferentes (100, 800, 700). el precio con
la cantidad puesta en el mercado segn una recta con los siguientes puntos extremos: si vende a 100 el
mercado demanda 1000 unidades pero si vende a 50 el mercado demanda 3000. Preguntas
a) a qu precio debe vender y cual ser el beneficio?
9.5.2
9.6
9.6.1
Sea una empresa que fabrica 3 tipos de productos. Para ello utiliza 2 tipos de mquinas (Mecanizado
y Acabado). Tiene 3 mquinas de Mecanizado y 2 de Acabado.
Cada centenar de producto A requiere 2 horas de Mecanizado y 2 horas de Acabado. Cada centenar
de producto B requiere 3 horas de Mecanizado y 2 horas de Acabado. Cada centenar de producto C
requiere 2 horas de Mecanizado y 3 horas de Acabado.
Adems para poner en marcha cada mquina hay que utilizar mano de obra, de la que disponemos 4
unidades por turno. Los costes de personal semanales se evalan en 3000. La semana laboral tiene
120 horas.
Las demandas estn limitadas en 5000 unidades de producto A y 4000 unidades de producto B y
5000 unidades de producto C.
Se plantean dos escenarios de precios por centenar de unidades que se presentan en la Tabla 9-1.
Tabla 9-1 Caractersticas de los escenarios planteados
Probabilidad
9.6.2
escenario 1
escenario 2
30%
70%
Precio
Venta A
50
10
Precio
Venta B
10
60
Precio
Venta C
40
30
Preguntas
f)
Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de desigualdades
posible.
que el producto entre la cantidad vendida y la raz cuadrada del precio de venta es constante e igual
a 63.
9.6.3
Modelado
= 1 2
= 1 2
JPGS-JM-2015
[ Maximize]
pe vi,e X i
(10.7.1)
=e 1 =i 1
Sujeto a :
3
f
i =1
i,j
X i 120 n j
m X
i
i =1
(10.7.2)
1204
(10.7.3)
X i di i
(10.7.4)
X i 0 i
(10.7.5)
i =1
i ,e
X i
Para plantear este objetivo de modo lineal es necesario crear una nueva variable Z que representar
dicho valor mnimo.
[ Maximize]
(10.7.6)
Sujeto a :
3
Z- vi ,e X i 0 e
(10.7.7)
i =1
(10.7.2)-(10.7.5)
pe vi,eX i
i 1
[ Maximize=
] e 1=
2
m X
i =1
(10.7.8)
i
Para plantear este objetivo es necesario hacer una transformacin introduciendo las variables y ,
[ Maximize] pe vi ,e wi
(10.7.9)
=
e 1 =i 1
Sujeto a :
3
f
i =1
i,j
wi 120n j t 0
(10.7.10)
m w 480t 0
(10.7.11)
wi di t 0 i
(10.7.12)
wi 0 i
(10.7.13)
i =1
d) Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el mnimo
beneficio.
2
m X
i =1
sido planteados en los apartados a) y b). Los 3 objetivos no pueden ser considerados simultneamente
[ Maximize] vi ,1 X i 5u
(10.7.14)
i =1
Sujeto a :
3
f
i =1
i,j
X i 120n j
m X
i =1
u 480
0 X i di i
f)
(10.7.15)
(10.7.16)
(10.7.17)
Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de desigualdades
posibles.
JPGS-JM-2015
m X
i
+u =
480
(10.7.18)
u 120
9.7
(10.7.19)
9.7.1
Dado un conjunto de ciudades, con un beneficio asociado de servirlas y un coste de implantar un centro de
servicio en cada una de ellas, y unidas mediante carreteras de diferente longitud grafo conexo). Asumiendo
que desde una ciudad se puede servir a otras ciudades si la distancia no es superior a un cierto valor.
9.7.2
Preguntas
9.8
9.8.1
Preguntas
La empresa se plantea la poltica de mnimo coste para el nuevo ao, lo que podra implicar cerrar
algunos de los centros de distribucin.
a) Cmo modelara el problema?
b) Cmo incorporara la consideracin de diferentes productos en el mismo sistema logstico?
c) Cmo definira un modelo que pretendiera minimizar la diferencia de uso de capacidad entre las
dos destileras, siempre que no se sobrepasaran los costes totales ptimos ms que en un 20%?
d) Cmo incorporara la posibilidad de servir directamente a las zonas de clientes desde las
destileras?
e) De los 3 centros de distribucin del modelo original slo pueden quedar 2. Modele la situacin.
f)
Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en
un 40%. Cmo evaluara las ventajas de invertir o no invertir?
Se plantea abrir un nuevo centro de distribucin. Con unos costes de construccin, amortizables
en 5 aos, y unos costes de funcionamiento Fijos y Variables. Cmo plantear el problema para
saber si ser rentable y a quien afectar el cambio?
j)
Sobre el problema original se pretende maximizar el ratio de costes variables sobre fijos. Modele
el problema.
k) Sobre el problema original se pretende que la capacidad de la destilera primera pueda duplicar,
o triplicar su capacidad a diferentes costes. Modele el problema.
l)
La capacidad de la destilera 2 puede ser superada con un coste adicional por unidad vendida.
9.9
9.9.1
Enunciado
Don Pepn es la marca comercial de una empresa dedicada a la elaboracin de vinos, zumos y
licores. Cuando llega la poca de la vendimia, se debe decidir qu cantidad de 2 tipos bsicos de
uvas debe comprar.
La uva la utiliza para fermentarla, tras un proceso de mezcla directamente dando lugar a tres tipos
de vinos (Tinto, Rosado y Blanco). Tambin la puede utilizar para venderla como zumo de uva. Y
por ltimo la puede fermentar de un modo acelerado y tras destilarla obtener alcohol etlico y un
poso que se utiliza tambin para el zumo de uva.
Cada kilo de uva comprado da lugar a 0,80 litros de cualquiera de los lquidos finales.
JPGS-JM-2015
El vino Tinto debe tener un porcentaje mximo de 15% de uva de tipo 2. El vino Rosado debe tener
un porcentaje mximo de 35% de uva de tipo 2 y un porcentaje mnimo de 40% de uva de tipo 1. El
vino Blanco debe tener un porcentaje mximo de 15% de uva de tipo 1.
El zumo de uva se produce con un mnimo de un 70% en volumen de uva, el resto es agua. Aunque
no se debe incorporar ms de un 15% de poso de uva de tipo 1, o ms de un 30% de poso de uva
de tipo 2.
Por cada tonelada de uva de tipo 1 se generan 1,6 hectlitros de alcohol etlico y 2,4 hectlitros de
poso mediante la fermentacin acelerada, y por cada tonelada de uva de tipo 2 se generan 1,2
hectlitros de alcohol etlico y 2 hectlitros de poso. Adems la fermentacin acelerada genera 2,2
hectlitros de agua en el caso de la uva de tipo 1 y 3 en el caso de la uva de tipo 2
El precio en el mercado mayorista del vino tinto Don Pepn es de 1 el litro, el vino Rosado se
vende a 0,9 por litro, y el vino blanco a 0,8 por litro. El litro de zumo de uva est a 0,5 por litro.
Mientras que el alcohol etlico obtenido de la uva se vende a 1,2 por litro.
Los precios de compra actuales de cada tipo de uva son 60 los 100 kilos de tipo 1, y 50 los 100
kilos de uva de tipo 2.
9.9.2
Preguntas
Sean X1 y X2 las toneladas de uva de cada tipo que se compran. Sean VT, VR y VB los hectolitros
de cada tipo de vino que se venden. Sea Z los hectolitros de zumo e Y los hectolitros de alcohol
etlico.
a) Fija una funcin objetivo para un modelo que pretenda maximizar beneficios.
b) Fija las restricciones del modelo anterior.
c) Incorpora la restriccin de que la capacidad de fermentacin mxima de vino es de 5000
hectolitros.
d) Incorpora las restricciones financieras segn las cuales no es posible adquirir ms 600 000 de
uva en esta temporada.
e) Suponga que algunas limitaciones del mercado imponen que al menos un 20% del Vino total
producido debe ser Vino Tinto, al menos un 30% debe ser Vino Rosado, y al menos un 20% debe
ser Vino Blanco. Incorpralo al modelo.
f) La empresa ha decidido hacer zumo 100% natural, para ello se utilizar el agua que resulta de la
fermentacin y nada de agua externa. Considralo en el modelo.
g) Con la capacidad propia anterior, se podran alquilar unas cubas de fermentacin con un coste
fijo de 100 y un coste variable por hectolitro de 10. Cmo incorporar esta condicin?
h) Cmo incorporara la condicin de que o bien se compra uva de tipo 1 o se compra uva de tipo
2, pero no las dos simultneamente?
Sobre el modelo realizado hasta la pregunta e) se resuelve mediante la Excel con la siguiente tabla
Ilustracin 9-4 Resultados del anlisis de sensibilidad despus de la ejecucin del solver
Y el mismo anlisis da los siguientes resultados para las restricciones:
JPGS-JM-2015
Ilustracin 9-5 Resultados del anlisis de las diferentes restricciones despus de la ejecucin
del solver
i) A partir de los datos anteriores se observa que la solucin tiende a generar tanto vino tinto como
sea posible. Cul es el precio mnimo que habra que ponerle al vino rosado para que fuera la
opcin prioritaria?
j) Qu precio debiera tener el alcohol etlico para que lo tuviramos en cuenta en nuestras
opciones de produccin?
k) Cunto debiera pagar como mximo por una capacidad de fermentacin de un hectolitro de vino
ms?
l) Cuntos litros de agua est aadiendo al zumo? Atendiendo a la pregunta f. En qu cree que
cambiarn los resultados cuando el zumo sea 100% natural?
9.9.3
Resolucin
X2VT
X1VR
X2VR
X1VB
X2VB
X1Z
X2Z
X1FA
X2FA
P1
P2
P1Z
P2Z
Restricciones
La uva de tipo 1 que compramos es la que utilizamos (idem para 2)
X1=X1VT+X1VR+X1VB+X1Z+X1FA
(R.1)
X2=X2VT+X2VR+X2VB+X2Z+X2FA
(R.2)
(R.3)
VR = 8(X1VR+X2VR)
(R.4)
VB = 8(X1VB+X2VB)
(R.5)
0,15VT 8 X2VT
(R.6)
0,35VR 8 X2VR
(R.7)
0,40VR 8 X1VR
(R.8)
0,15VB 8 X1VT
(R.9)
(R.10)
JPGS-JM-2015
P1 = 2,4X1FA
(R.11)
P2 = 2X2FA
(R.12)
El zumo se obtiene de la uva y del poso que dedicamos a zumo (ms el agua que aadimos)
Z 8(X1Z+X2Z) + P1Z + P2Z
(R.13)
(R.14)
0,15Z P1Z
(R.15)
P1Z P1
(R.16)
P2Z P2
(R.17)
(R.18)
(R.19)
e) Las restricciones que impone el mercado respecto a las cantidades de vino se representan del
siguiente modo:
0,2(VT+VR+VB) VT
(R.20)
0,3(VT+VR+VB) VR
(R.21)
0,2(VT+VR+VB) VB
(R.22)
(R.13b)
g) Funcin objetivo:
100VT + 90VR + 80VB + 50Z +120Y 600X1 500X2 100 -10u
h) Para incorporar la condicin de que o bien se compra uva de tipo 1 o se compra uva de tipo 2,
pero no las dos simultneamente, se tiene que introducir las restricciones siguientes:
X1-M1 0
X2-M2 0
1 + 2 1
i) A partir de los datos anteriores se observa que la solucin tiende a generar tanto vino tinto como
sea posible. Cul es el precio mnimo que habra que ponerle al vino rosado para que fuera la
opcin prioritaria?
97,15 por hectolitro.
j) Qu precio debiera tener el alcohol etlico para que lo tuviramos en cuenta en nuestras
opciones de produccin?
Al menos 321 por hectolitro.
k) Cunto debiera pagar como mximo por una capacidad de fermentacin de un hectolitro de vino
ms?
13,5 por cada hectolitro de fermentacin.
l) Cuntos litros de agua est aadiendo al zumo? Atendiendo a la pregunta f. en qu cree que
cambiarn los resultados cuando el zumo sea 100% natural?
1697 hectolitros de agua. Actualmente no se produce ningn litro por fermentacin acelerada,
luego la generacin de zumo 100% natural obligar a vender alcohol etlico, lo que reducir la
rentabilidad del zumo. Teniendo en cuenta que el zumo tiene un margen de variabilidad escaso
en el precio, y sin embargo el alcohol etlico requiere un gran incremento de precio para ser
rentable, se puede admitir casi sin hacer ms pruebas, que el resultado ser que Don Pepn
abandonar el mercado de los zumos, salvo que suba sustancialmente el precio de stos.
JPGS-JM-2015
Mes 1
30
Mes 2
40
Mes 3
55
Mes 4
30
Mes 5
70
Mes 6
35
g) Cmo hara periodos de duracin variable? Por ejemplo la consideracin de meses de diferente
cantidad de das.
h) Cmo incorporara diferentes tipos de zapatillas en el modelo, para poder hacer un plan conjunto?
i)
Suponiendo h) Cmo incorporara un precio fijo a fabricar de un tipo o de otro en cada periodo de
tiempo? Bsicamente es como un coste de cambio de partida, si se fabrica el tipo A, se paga una
penalizacin dependiente de A.
j)
k) Sobre el modelo original podra incorporar una lista de materiales del producto a fabricar, para
establecer sus planes de compra? Suponga un plazo de entrega de un mes para cada componente.
l)
JPGS-JM-2015
Como es evidente, el objetivo de la empresa es ganar la mxima cantidad de dinero posible 10. Los
periodos de previsin que usted considera son semanas. Y el horizonte de planificacin es de 26
semanas.
9.11.2 Preguntas
a) Plantee el modelo matemtico. Si requiere incorporar variables y/o parmetros no dude en
hacerlo. Se considerar que indique y explique los ndices, parmetros y variables que va a
utilizar. Se considerar que explique cada restriccin. Se agradecer que utilice maysculas para
los parmetros y minsculas para las variables, asimismo ser agradecido el uso de los
parmetros ya indicados en negrita.
b) Cmo se modifica el modelo si hubiera ms de un producto que se recibe del mismo
proveedor? Construya el modelo.
c) Suponga que si en un periodo se produce compra de alguno de los productos hay que pagar un
coste fijo (SU) por transporte. Modele la situacin.
d) Suponga que puede diferir demanda de un periodo a otro con un coste suplementario (Ki,t) por
unidad diferida por periodo. El ingreso que se producir ser acorde al precio de venta en la
semana en que el cliente quera adquirir el producto.
e) Suponga que hay descuentos por cantidad para cada producto, de tal modo que los precios de
compra por unidad son los siguientes:
que el precio por el que el distribuidor compra ha de ser un 25% inferior a nuestro precio
de venta habitual y
b.
los plazos de pago son de 9 semanas desde que el distribuidor adquiere el producto.
Sus estimaciones indican que de aceptar el trato este distribuidor se har con el 10% de su
demanda habitual estimada, que le comprar a l en lugar de a usted. Si no aceptase la oferta
sabe que perder un 5% de las ventas. Modele la situacin.
10
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.
9.11.3 Resolucin
ndice temporal
Precio pagado en el periodo t por una unidad monetaria dispuesta de la lnea de crdito que
(10.12.1)
Sujeto a :
xt Dt
t=1..26
(10.12.2)
JPGS-JM-2015
zt = zt 1 + yt 4 xt
t=1..26
(10.12.3)
t=1..26
(10.12.4)
t=1..26
(10.12.5)
t=1..26
wt LN
(10.12.6)
t=1..26
(10.12.7)
Post Data: Cuando una variable tenga un ndice negativo, se asumir que el valor correspondiente es
resultado de una programacin anterior y por tanto, no es una variable sino un parmetro.
b) Cmo se modifica el modelo si hubiera ms de un producto que se recibe del mismo proveedor?
Construya el modelo.
Se incorpora un nuevo ndice i a todos los parmetros y variables que tengan que ver con los
productos. Sean P los productos que se compran del mismo proveedor.
Sujeto a :
i=1...P, t=1..26
(10.12.9)
(10.12.10)
wt ft
vt ft
wt LN
t=1..26
t=1..26
t=1..26
(10.12.12)
(10.12.13)
(10.12.14)
Post Data: Cuando una variable tenga un ndice negativo, se asumir que el valor correspondiente es
resultado de una programacin anterior y por tanto, no es una variable sino un parmetro.
JPGS-JM-2015
ndices
Parmetros
Variables
[ Minimize] k
(10.14.1)
Sujeto a :
N
i
i ,k
M k k
(10.14.2)
k {0,1} k
(10.14.3)
i ,k {0,1} i, k
(10.14.4)
=
i ,k
1 i
(10.14.5)
b) Plantee una restriccin que evite que dos cuados que se llevan mal se sienten en la misma
mesa.
(10.14.6)
c) Suponga que el nmero de mesas mximo viene fijado por la capacidad del saln. Suponga que
entre cada agrupacin mnima de invitados existe una relacin de afinidad (que los novios
valorarn numricamente). Plantee un modelo que persiga maximizar la suma de afinidades en
las mesas. Es decir, la afinidad entre dos agrupaciones mnimas se suma si pertenecen a la
misma mesa. Ser interesante en este apartado incorporar una variable binaria que indique si
cada par de agrupaciones mnimas est en una misma mesa.
ndices
,
Parmetros
,,
Variables
(10.14.7)
ik + jk 2 ijk 0 i, j , k
(10.14.8)
Sujeto a :
N
i
M k k
ik
(10.14.9)
1 i
(10.14.10)
MMax
(10.14.11)
k {0,1} k
(10.14.12)
i ,k {0,1} i, k
(10.14.13)
i ,k
d) En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una
mesa sin conocidos?
Sea i la agrupacin que no queremos dejar aislada.
Sea una nueva variable binaria que vale 1 si en la mesa donde se sienta i no hay nadie conocido.
Se asumen que los coeficientes de afinidad solo pueden ser positivos. La relacin lgica que se debe
modelar es la relacin (10.14.14). La forma lineal para representar esta relacin lgica es la restriccin
(10.14.15).
ij
ijk =0 i =1
(10.14.14)
JPGS-JM-2015
i , j i , j ,k
+ 0
(10.14.15)
j ,k
(10.14.16)
Recorre las
pocas del
Datos
Capacidad
del soporte
autor
Recorre las
canciones de
Variables
, Variable binaria que vale 1 si la cancin j de la
poca i se incorpora en el soporte, 0 en caso
contrario
cada poca
Duracin de
la cancin j
de la poca i
f)
Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas
canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)
que permiten maximizar el ratio calidad/precio.
9.14.3 Resolucin
b) Defina la funcin objetivo
[ Maximize] dij X ij
i
(10.15.1)
d X
ij
ij
(10.15.2)
d) Si fijamos un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?
Sea el nmero mnimo de canciones para cada poca. La restriccin sera la siguiente:
ij
Nj
(10.15.3)
[ Minimize]
Y Z
(10.15.4)
Y X ij 0 i
(10.15.5)
(10.15.6)
Sujeto a :
ij
Z 0 i
d X
ij
ij
C i
(10.15.7)
JPGS-JM-2015
Nj
ij
(10.15.8)
f)
Desde c) Suponga que le piden que disee, con las mismas canciones, adems, una cinta de
audio para la venta en gasolineras (con dos caras de igual capacidad Ca). Disee el modelo
entero incorporando lo que considere conveniente.
Habra que cambiar las variables para que indiquen en que cara va cada cancin.
Definimos
X i , j ,k
como una variable binaria que indica que la cancin i de la poca j va en la cara k
(10.15.9)
Sujeto a :
d X
ij
ijk
C i
(10.15.10)
d X
ij ,1
Ca i
(10.15.11)
d X
ij ,2
Ca i
(10.15.12)
ij
ij
ijk
1 i, j
(10.15.13)
Nj
(10.15.14)
ij
g)
X 1,3 + X 3,8 1
(10.15.15)
X 2,4 X 5,3 =
0
i)
(10.15.16)
Desde c) Suponga que pretende dotar de una cierta calidad al sistema. Para ello punta las
diferentes canciones y pretende que la calidad del CD sea lo mxima posible. Modele la nueva
funcin objetivo
[ Maximize] aij X ij
i
j)
(10.15.17)
Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas
canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)
que permiten maximizar el ratio calidad/precio.
a X
[ Maximize]
b X
i
ij
ij
ij
ij
(10.15.18)
(10.15.19)
Sujeto a :
b w
ij
ij
=1
(10.15.20)
d w
ij
ij
Ct 0 i
(10.15.21)
ij
N j t 0 i
(10.15.22)
JPGS-JM-2015
Nombre Pueblo
Cangas de Ons
Enfriadora
15.000
Produccin
6000
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ons
Riensena
La Pereda
Arenas de Cabrales
Arangas
Panes
Noriega
Colombres
Cien
Carrea
Arrobio
Nava
Tazones
Tres Cares
10.000
10.000
10.000
10.000
20.000
15.000
10.000
10.000
10000
10000
10000
10000
10000
10000
7000
4000
7000
3000
4000
6000
6000
3000
7000
5000
4000
5000
4000
3000
JPGS-JM-2015
A
J
C
I
D
G
E
F
Dicha lnea sera una nueva lnea de tranva que se engarzara con la actual en las paradas de
Empalme y La Carrasca, tal y como se muestra en el plano adjunto. Dicha lnea tendra un punto medio
en la parada de Jess, donde se cruzara con las Lneas 1 y 3, y con la Lnea 5 en la Parada de Manuel
Candela.
Los promotores de tan magno proyecto piensan que esta lnea, adems de aumentar la cantidad de
poblacin que puede tener contacto con la Red de Metro, aumentar la conectividad entre las distintas
estaciones de la Red de Metro Valencia.
Otra interesante cuestin es saber si realmente es necesario cerrar la lnea circular del Tranva, para
aumentar la conectividad o sobrara con fragmentos de la misma (por ejemplo de La Carrasca a Jess).
JPGS-JM-2015
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
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.
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).
Como se puede observar, entre los diferentes modelos de zapatillas a producir se da la
particularidad que comparten componentes entre un modelo y otro. Las suelas tienen un periodo de
aprovisionamiento de 4 semanas. Los refuerzos y el cuerpo un periodo de aprovisionamiento de 2
semanas, los adornos de 1 semana, y las cremalleras de un plazo de 8 semanas. Se dispone en
almacn de 8000 de estas cremalleras. Se dispone tambin en almacn de suficientes componentes
para cubrir la demanda de los prximos dos meses, de los diferentes componentes. Los pedidos se
lanzarn en miles de unidades, a excepcin de las cremalleras que se lanzaran en lotes de cinco mil
unidades.
Los costes de produccin de cada par se evalan en 7 si se producen en horas normales, y 9 si
se produce en horas extras. El nmero de horas normales disponibles por da son 8. El nmero de
das laborables por mes es variable cada mes, dependiendo del calendario laboral de la localidad de
Picassent. Cada mes se puede trabajar un mximo de 40 horas extra. Un grupo de 3 personas es
capaz de fabricar 15 pares de zapatillas por hora, si dispone de suficiente material. El coste de
almacenar un par de una semana para otra es de 0025 por par. Se dispone de 200 pares en stock
en estos momentos, de cada uno de los modelos.
JPGS-JM-2015
As, se pretende establecer el modelo que permitiera definir el plan de trabajo para los prximos
meses, asegurando el mnimo coste para la empresa. Al ingeniero se le ha planteado un compromiso
con los trabajadores de utilizar cada dos meses al menos un 15% de la capacidad en horas extra
actual, por lo que debera plantearse como programar tambin esa circunstancia. Adems es habitual
que en el mes de Agosto, no se trabaje la mitad del mes, y que los trabajadores de la empresa cojan
los 15 das restantes durante los meses de Junio, Julio, Agosto o Septiembre dependiendo de la
disponibilidad de la empresa.
Durante las vacaciones de verano se debe considerar la contratacin de trabajadores para
sustituir a los trabajadores que estn todo el ao. Los costes de produccin de cada par se evalan
en 8 en horas normales no pudiendo producir estos trabajadores en horas extras. El ritmo de
produccin de estos trabajadores es de 18 pares de zapatillas por hora. Se podr contratar uno o dos
grupos.
Se plantean diferentes alternativas al definir el objetivo principal. As, una de ellas podra ser el
minimizar el mximo stock entre periodos. Otra, minimizar las diferencias de produccin entre un mes
y el siguiente, para cualquier mes, a travs de equilibrado de la produccin utilizando horas extras,
minimizar el stock en almacenes...
5 de Almoines
1 de Benimaclet
5 de Confrides
Entre las 11 farmacias nos turnamos los turnos de guardia (noche) alternativamente de
forma que cada pueblo no est ms de 1 noche sin tener una farmacia abierta, excepto
cuando toca Benimaclet que no queda ms remedio que sean 2 noches. Tenemos tres
turnos:
1. Das laborales
2. Sbados
3. Domingos y festivos
Incluso en la ltima reunin que tuvimos este mes pasado se plante incluso hacer otro
turno (el cuarto !) que incluyera el 24 dic (Nochebuena), el 31 de dic y el 5 de Enero.
Muchos estamos hartos de tanto turno porque hay semanas que nos coinciden 2 o 3
guardias, sobre todo en puentes y preferimos un slo turno cada 11 das (es lo ms habitual
entre los pueblos que nos rodean). Parte de nuestros compaeros dicen que no es
equitativo que siempre hay alguno que le tocan ms domingos que otro, etc. Mi pregunta es
si sabes alguna frmula matemtica para hacerlo ms equitativo.
Puesto manos a la obra usted le enva el siguiente mensaje:
Hola Marina, ms que tener dudas de los turnos, lo que me gustara saber son las fechas que se
consideran festivos en cada una de las localidades, porque supongo que no sern iguales. Un
turno especial de Navidad no creo que sea prctico, tardarais 11 aos en darle la vuelta.
Mi propuesta es plantear un sistema que permita establecer una secuencia donde se
establezcan tantas restricciones como se quieran (siempre que sea matemticamente posible).
Pero no tendris un ciclo de 11 das sino ms bien, un calendario anual (o semestral o bianual)
que intenta equilibrar las cargas. Se me ocurre investigar un modo de establecer el calendario
respetando restricciones de no ms de 1 guardia en 6 o 7 das, no ms de un festivo en 15
das Te adjunto una tabla en Excel que puedes completar con los festivos que faltan. Como
hay once columnas todo consistira en sortear cada columna a cada persona.
PD: Por cierto, Qu ocurre cuando un sbado coincide con festivo?, Qu manda?
JPGS-JM-2015
Un motor se compone de las denominadas 5Cs (Bloque, Bielas, Levas, Culatas, Cigueales) y otros
componentes. De cada tipo de componente hay un cierto nmero de variantes, algunas se fabrican en la
planta objeto de estudio y otros no.
JPGS-JM-2015
La lnea de Montaje de una fbrica de Motores es un sistema altamente automatizado, bastante poco
flexible en cuanto a capacidad, y costoso de puesta en marcha y mantenimiento. Dentro de la escasa
flexibilidad reconocida a la lnea existe la posibilidad de pararla o hacerla funcionar a diferentes
velocidades con costes diferentes para cada una de las opciones.
Aunque el proceso de fabricacin es diferente lo mismo ocurre, con diferente dimensin, en las lneas
de mecanizado de las conocidas como 5Cs.
La empresa planifica en semanas y cada semana tiene una serie de das hbiles (5 por lo general) y
de inhbiles (2 por lo general) pero la empresa podra decidir parar un da la produccin pues ahorrara
costes de energa, o utilizar uno de los das inhbiles. La empresa utiliza en ocasiones las horas extras
pero estas no se planifican puesto que se utilizan para responder a problemas puntuales.
En este sentido el funcionamiento de la planta es atpico tanto al nivel de la gestin de la produccin
como en lo referente a la consideracin del factor humano. Los modos de gestin de la capacidad son
dos: Incrementar o reducir la velocidad de la lnea (incorporando nuevos recursos a la misma), y
parar/utilizar la lnea en das laborales/das festivos.
En efecto, a causa del nivel de automatizacin de la lnea y de los costes que implica el hacer
funcionar la maquinaria, se autoriza el paro total de la planta cuando sea necesario, ya que se sabe que
el coste de mano de obra es muy bajo en comparacin con el de la mantener en funcionamiento la
maquinaria. En este caso, los operarios van a formacin o se dedican a tareas de mantenimiento y se
ahorran los gastos de hacer funcionar la lnea. As pues, consideraremos que los directivos pueden
decidir que hay que trabajar unos das festivos por cualquier razn. Adems si la lnea no tiene
capacidad de cumplir la demanda durante la semana normal, es decir entre el lunes y el viernes, el
modelo deber ser capaz de proponer la cantidad de das extras que se necesitan para evitar diferir
(dentro de los lmites impuestos por la empresa durante cada semana).
Los inventarios no tienen un coste de mantenimiento conocido, aunque este es elevado dadas las
caractersticas de los productos. Para mantener bajo control los inventarios la empresa prefiere
establecer un stock mnimo y mximo (medido en das de stock) para el final del horizonte de
planificacin. Y dicho horizonte de planificacin se sita siempre al final de un periodo de vacaciones
Pgina 163 de 171
relativamente prolongado (verano, pascua, navidad) de tal modo que no se tendr ms stock del
deseado en ningn momento sin necesidad de asignarle un coste.
JPGS-JM-2015
40K
(5 f )
5
Tiendas
Tienda1
Demanda ()
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
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
Capacidad()
C Fijo
C Variable por
Fbrica1
10
10
10000
500
Fbrica2
30
50
10000
700
Fbrica3
40
40
10000
1000
JPGS-JM-2015
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
/m3 transportado/km
coste de almacenaje
/m3 almacenado/da
Valor del m3
10
/m3
coste de inventario
0,05
/ almacenado/da
Para qu densidad de valor (/m3) del producto es rentable irse al almacn grande nico y alejado?
Construya un modelo matemtico
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
JPGS-JM-2015
11 EPLOGO
En este libro se ha intentado...
12 BIBLIOGRAFA
Bautista, J., Companys, R., Corominas, A. Introduccin al BDP. 1992.
Binmore, K. Teora de Juegos. McGraw-Hill.1994
Bramel, J. D. Simchi-Levy. The Logic of Logistics. Springer. 1997
Chase, R.B. N.J. Aquilano, F.R. Jacobs. Administracin de produccin y operaciones. Irwin-McGraw-Hill.
2000
Chrtienne, P. Coffman, E.G., J.K. Lenstra, Z. Liu. Scheduling Theory and its Applications. Wiley and
Sons. 1997
Companys, R., 2002. Programacion dinamica. CPDA-ETSEIB.
Companys, R., 2003. Teoria de Grafos. cpda-etseib.
Conway, R.W., W.L. Maxwell, L.W. Miller. Theory of Scheduling. Addison-Wesley. 1967
Cuatrecasas, Ll.. Organizacin de la Produccin y Direccin de Operaciones.
Dembo, R.S.. Scenario Optimization. Annals of Operations Research 30, 63-80. 1990
Denardo, E.V., 1982. Dynamic Programming. Models and Applications. Prentice Hall.
Daz, A., F. Glover, H. Ghaziri, J.L. Gonzlez, M. Laguna, P. Moscato, F.T. Optimizacin Heurstica y
Redes Neuronales. 1996
Diaz, A., Glover, F., Ghaziri, H., Gonzales, J.L., Laguna, M., Moscato, F.T., 1996. Optimizacin
Heurstica y Redes Neuronales. McGriwHall.
Ferreira, A. M. Morvan. Models for parallel algorithm designs: an introduction. Parallel computing in
Optimization. Kluwer Academic Publishers, 1997.
Ferreira, P, A.. Pardalos. Solving Combinatorial Problems in Parallel. Springer. 1996
Gendreau, M., 2003. An introduction to tabu search. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook
of metaheuristics Kluwer International Series, pp. 37-54.
Glover, F., Laguna, M., Marti, R., 2003. Scatter Search and Path relinking: advances and applications. In:
Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,
pp. 1-35.
Gross, D., Harris, C.M., 1998. Fundamentals of Queueing Theory. John Wiley and Sons.
Gross, D., Shortle, J.F., Thomson, J.M., Harris, C.M., 2008. Fundamentals of Queueing Theory. Wiley.
Hansen, P., Mladenovic, N., 2003. Variable Neighborhood Search. In: Glover, F., Kochenberger, G.A.
(Eds.), Handbook of metaheuristics Kluwer International Series, pp. 145-184.
JPGS-JM-2015
Henderson, D., Jacobson, S.H., Jonhson, A., 2003. The theory and practice of Simulated Annealing. In:
Glover, F., Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series,
pp. 287-319.
Johnson, L.A., D.C. Montgomery. Operations Research in Production Planning, Scheduling and
Inventory Control. John Wiley and Sons. 1974
Kauffman, A., 1972. Mtodos y Modelos de la Investigacin de Operaciones. CECSA.
Kauffman, S., 2003. Investigaciones. Metatemas.
Kauffmann A., Henry-Labordere, A.. Mtodos y Modelos de la Investigacin de Operaciones Tomo III.
CECSA. 1976
Kauffmann, A.. Mtodos y Modelos de la Investigacin de Operaciones Tomo II. CECSA. 1972
Loureno, H.R., Martin, O.C., Sttzle, T., 2003. Iterated Local Search. In: Glover, F., Kochenberger, G.A.
(Eds.), Handbook of metaheuristics Kluwer International Series, pp. 321-353.
Marti, R., 2003. Multistart Mehods. In: Glover, F., Kochenberger, G.A. (Eds.), Handbook of
metaheuristics Kluwer International Series, pp. 355-368.
Osman, I.H., 1995. An Introduction to Metahuristics. In: Lawrence, M., Wilsdon, C. (Eds.), Operational
Research Tutorial Papers. Stockton Press, Hampshire (UK), pp. 92-122.
Perez, J., Mladenovic, N., Batista, B., Amo, I., 2006. Variable Neighbourhood Search. In: Alba, E.,
Mart+, R. (Eds.), Metaheuristic Procedures for Training Neutral Networks Springer US, pp. 71-86.
Pidd, M., 1996. Tools for thinking. Wiley.
Pinedo, M., Chao X.. Operations Scheduling. McGraw-Hill. 1999
Raiffa, J.F. Decision Analysis. Addison Wesley. 1970
Resende, M.G., Ribeiro, C.C., 2003. Greedy Randomized Adaptive Search Procedures. In: Glover, F.,
Kochenberger, G.A. (Eds.), Handbook of metaheuristics Kluwer International Series, pp. 219-249.
Shapiro, J.F. Modelling the Supply Chain. Duxbury. 2001
White, D.J. Teora de la Decisin. Alianza Universidad. 1972
Williams, H.P. Model Building in Mathematical Programming. Wiley. 1999