Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modeladomatematico PDF
Modeladomatematico PDF
1 MODELOS....................................................................................................................................... 12
3.5.2 La relacin de las restricciones con la realidad, con las otras restricciones y con el propio
modo de resolver ..................................................................................................................................... 58
Pgina 5 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
8.5 Procedimientos de resolucin en programacin lineal enteraEquation Section (Next) ... 112
8.5.1 Ramificacin y acotacin ..................................................................................................... 112
8.5.2 Enumeracin implcita.......................................................................................................... 114
8.5.3 Mtodos del plano cortante.................................................................................................. 116
Pgina 7 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
9.1 Ejercicio 1: Cunto gana la empresa? Equation Section (Next) ....................................... 120
9.1.1 Descripcin del problema ........................................................ Error! Marcador no definido.
9.1.2 Preguntas ............................................................................................................................. 121
9.9 Ejercicio 7: Vinos Don Pepn Equation Section (Next) .................................................... 134
9.9.1 Descripcin del problema ........................................................ Error! Marcador no definido.
9.9.2 Preguntas ............................................................................................................................. 135
9.9.3 Resolucin ........................................................................................................................... 137
10.6 Caso 6: Las farmacias de Alcudia, Benimodo y CarletEquation Section (Next) ............. 160
10.7 Caso 7: Planificacin agregada en una planta de motoresEquation Section (Next)....... 162
10.8 Caso 8: Karbonatadas JUPE (III) Equation Section (Next) ................................................. 165
Pgina 9 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
1 MODELOS
La realidad es multiforme y difcil de capturar. Pero para poder tomar decisiones de manera
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):
Advierten Box y Draper (1987, pg. 74) de una caracterstica de los modelos.
Bsicamente todos los modelos son errneos, aunque algunos son tiles
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.
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.
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.
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.
Pgina 13 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
Por ltimo, aunque es probablemente una de las ventajas ms relevantes, de abordar un problema
mediante su modelado, el modelo permite controlar. El modelo permite anticipar resultados, permite
establecer referencias en funcin de las cuales medir o controlar el rendimiento de un sistema. Con las
evidentes implicaciones que esto tiene en el control y mejora de los procesos.
En atencin a lo anterior se pueden definir tres mbitos de utilidad de los modelos en la Investigacin
de operaciones:
Aprender / Entender
Implementar en un ordenador
Tomar decisiones
Es habitual que para desarrollar un modelo se tenga que acceder a informacin a la que nunca se le
habra prestado atencin, y el mero acceso a la informacin reduce la incertidumbre, resolviendo el
problema. Asimismo es comn que la generacin de modelo haga aparecer datos reales y
contradictorios entre diferentes elementos de la realidad.
Una vez construido el modelo, se puede utilizar su ejecucin para conocer cmo acta el sistema y
cmo reacciona a los cambios. Es, por ejemplo, el caso de los simuladores de vuelo utilizados para el
entrenamiento de los futuros pilotos.
Adems el modelo, como representacin externa y explcita, puede permitirnos conocer errores y
fundamentalmente (de)mostrarlos. En ese caso el responsable del error puede reconocer su aportacin
sin que nadie tenga que decrselo a la cara pues lo reconoce a travs de una herramienta objetiva.
Por ltimo, aunque no menos importante, dentro de este epgrafe, podemos destacar la utilidad de
los modelos como base de discusin. Si el modelo representa la realidad, los gestores de sta podrn
probar las ventajas de sus opiniones sobre el modelo, centrando de este modo la discusin hacia
aspectos realizables y productivos.
Del mismo modo la utilidad de los modelos de programacin de produccin viene justificada, en gran
medida, por la capacidad de stos de ser implementados y resueltos mediante sistemas informticos
que puedan automatizar el proceso de toma de decisin.
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
Sin nimo de ser exhaustivo se pueden identificar al menos 4 tipos de implicados en la generacin de
una solucin:
1) El Pagano: Quiz es el principal de los actores. Es el que paga el anlisis, el desarrollo y la
puesta en marcha de la solucin.
2) El Usuario: Es el conjunto de personas cuya vida se ver mejorada por la solucin y
resolucin del problema. Nunca hay que olvidar que el concepto de vida mejor es tambin
relativo.
3) El Sufridor: Toda aproximacin tiene siempre uno o varios sufridores. Son aquellos que se
vern afectada su vida por la modificacin de su entorno y es imposible a priori para
alguien que no sea ellos mismos (e incluso para ellos mismos) saber hasta que punto su
calidad de vida empeorar por la resolucin del problema.
4) El Prescriptor: Existe una tipologa de cliente que recibe el nombre de prescriptor. En
principio este personaje (bsico en el funcionamiento de la economa moderna) no gana
nada con una resolucin adecuada del problema, pero pierde en el caso de que (como
esperan los sufridores) la solucin no sea finalmente adoptada.
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.
Por ltimo, en los ltimos aos se ha extendido el uso del concepto de solucin informtica. Algo
as como conozco tu problema, olvdate de todo que yo me ocupo con informtica. Algunos de los
modelos de programacin matemtica que en este libro se aprende a desarrollar, podran formar parte
del ncleo de una solucin. Aunque el usuario final se asustara de conocer que unas frmulas que
optimizan una solucin forman parte de su da a da.
As pues existen tres significados para la palabra solucin en nuestro entorno. Una solucin es un
conjunto de variables que han adquirido un determinado valor. Una solucin es tambin el programa que
generar informacin a partir de los datos disponibles (generalmente se le denomina solucin
informtica) Y por ltimo est lo que el cliente considera que es la solucin a su problema, que
bsicamente se da cuando el problema desaparece.
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.
Pgina 17 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
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.
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:
1.7.1 Los modelos han de ser simples, su anlisis debe ser complejo
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.
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.
Pgina 19 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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:
1) Datos que aportan informacin preliminar y contextual. Permitirn generar el modelo.
2) Datos que se recogen para definir el modelo. Estos datos nos permitirn parametrizar el
modelo.
3) Datos que permiten evaluar la bondad del modelo.
Hay que destacar la importancia de que los datos del segundo y el tercer tipo sean distintos, porque
en caso contrario el modelo realmente no se habr validado.
Una ltima recomendacin respecto a los datos es evitar aquellos que ya estn recogidos. Sirva el
siguiente clsico ejemplo como ilustracin:
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
2.1 Introduccin
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
destacar Previsin, Data Mining, Simulacin, Dinmica de Sistemas,).
En ocasiones la estructura del modelo impide el uso de algn mtodo de optimizacin conocido, es
por ello que se plantean los procedimientos heursticos de resolucin que, si bien no garantizan ptimos,
permiten encontrar soluciones en espacios cortos de tiempo.
Es evidente que el trabajo en el primer caso se debe centrar en el proceso de modelado, mientras
que en el segundo grupo el esfuerzo se hace en la definicin del mtodo heurstico de resolucin.
En este libro se despliega uno de los tipos de modelos normativos, la programacin matemtica
(PM), y ms concretamente la programacin lineal entera (PLE). La programacin matemtica no es el
nico modo de modelar matemticamente, ni el nico modo normativo de hacerlo. Por ello en los puntos
siguientes se har una presentacin de algunos de estos modos.
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.
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.
Pgina 23 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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).
El trmino optimizacin hace referencia a este segundo aspecto de la bsqueda del mejor valor. En
muchos de esos problemas la bsqueda exhaustiva no es factible y por la estructura de los problemas
tanto no es posible.
La optimizacin combinatoria acta en el campo de los problemas de optimizacin en los que el conjunto
de soluciones factibles es discreto (o reducible a discreto). En algunos casos se tiende la tendencia a
asumir que la OC es la programacin lineal entera con variables binarias.
Los problemas de optimizacin combinatoria tratan de encontrar la mejor solucin de entre un conjunto
de objetos discretos y por tanto finitos. En principio cualquier algoritmo constructivo o de bsqueda
podra encontrar la solucin ptima, pero no necesariamente tiene porqu garantizarla.
En aquellos casos en que el problema parece resistirse a ser resuelto se suele abordar el problema de
diferentes maneras:
En ocasiones hay problemas cuya versin aplicada no presenta las caractersticas del
peor de los casos (worst-case).
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
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).
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.
Cuando el nombre programacin matemtica haba adquirido cierto auge, Bellman (1956) plante en
la dcada de los 50 (del siglo XX) la herramienta denominada programacin dinmica, a travs de su
libro del mismo ttulo para la resolucin de problemas de carcter secuencial (inicialmente econmicos
pero tambin fsicos y matemticos).
Una poltica es ptima si en un periodo dado, cualesquiera que sean las decisiones
precedentes, las decisiones que queden por tomar constituyen una poltica ptima teniendo
en cuenta los resultados precedentes
Pgina 25 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
Las variables utilizadas pueden ser discretas o continuas. Adems los parmetros pueden ser
deterministas o estocsticos. Cuando el futuro es aleatorio (parmetros estocsticos), la optimizacin de
la esperanza matemtica del valor total slo puede llevarse a cabo en un sentido, remontndose desde
el futuro hacia el pasado (Kauffman, 1972).
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.
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.
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.
2.3.6 Simulacin
Esta aplicacin creciente ha supuesto, en algunos casos, el abandono de las herramientas analticas,
que requiere un esfuerzo conceptual que aparentemente la simulacin no requiere. Hay que destacar,
en contra de esta opinin que la simulacin bien aplicada exige un importante esfuerzo para garantizar
la validez de resultados. De hecho, dado que la simulacin es comparable al anlisis por experimentos,
al hacer una simulacin hay que hacer frente a los mismos problemas que hay que afrontar cuando se
hace experimentacin convencional (incluyendo diseo experimental y anlisis estadstico). De este
modo el uso de la simulacin no reduce el esfuerzo a realizar, sino que resuelve problemas que la teora
de colas analtica no es actualmente capaz de abordar (Gross, Shortle, Thomson y Harris, 2008).
Pero no slo la simulacin de eventos discretos est disponible (aunque es con mucho la ms
utilizada en el terreno prctico) sino que la simulacin basada en agentes y/o la simulacin mediante
dinmica de Sistemas tienen su importante utilidad al modelar otros conceptos.
Pgina 27 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
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).
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.
1
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
"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."
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.
2
http://www.gurobi.com/
3
http://www-01.ibm.com/software/integration/optimization/cplex-optimizer/
4
http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress-Optimization-Suite.aspx
5
http://www.lindo.com/
Pgina 31 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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).
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).
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
6
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.
Tanto la funcin objetivo como las restricciones se expresan matemticamente mediante el uso de
variables o incgnitas. Se pretende definir unos valores a dichas variables de tal modo que se obtiene la
mejor valoracin de la funcin objetivo mientras se cumplen todas las restricciones.
En su formulacin bsica los modelos matemticos tienen una funcin objetivo y una o ms
restricciones. Sin embargo existen excepciones como:
Mltiples objetivos
Objetivos no existentes
No existencia de restricciones
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.
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*.
Construir un modelo de programacin matemtica es un proceso largo, que se realiza paso a paso.
No existe una metodologa que permita construir a la primera el modelo que corresponda idneamente
al problema que se intenta resolver. Sin embargo, todos los modeladores expertos asumen que el
proceso de construccin de un modelo de PM es un camino de continuas idas y vueltas. Lo normal y
Pgina 35 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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:
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.
2) (Re)Definir los parmetros
Representar los conjuntos de datos mediante smbolos con subndices, permitir comenzar la
conceptualizacin del problema. Generalmente en esta fase aparecen nuevos ndices, o incluso se
establecen parmetros que luego se comprobar que son variables.
3) (Re)Definir el objetivo
representarlo ya es suficiente. Posteriormente al linealizarlo es posible que haya que incorporar nuevas
variables y parmetros al modelo.
4) (Re)Definir las variables de control
De la etapa anterior se han definido las variables que configurarn la funcin objetivo. Dichas
variables deben ser explcitamente representadas. En general, aunque algunos autores opinan lo
contrario, se puede decir que las variables en la funcin objetivo no son las decisiones que se toman,
sino los efectos de dichas decisiones, es por ello que se ha preferido denominarlas de control.
5) (Re)Definir las restricciones
En general al plantear la funcin objetivo no se est plasmando las decisiones que en realidad se
quieren tomar. Dichas variables deben ser tambin reflejadas.
7) (Re)Validar el modelo completo
La validacin del modelo exige su formulacin y su resolucin. La importancia de esta etapa exige un
apartado entero (el siguiente). La validacin suele exigir recomenzar el proceso de validacin desde el
principio.
Por ltimo convendra recordar que el buen modelo, su resolucin y el anlisis de los resultados,
generalmente dar una mejor comprensin del problema, cerrando de este modo el crculo, pues
generalmente una mejor compresin del problema, ser de facto un nuevo problema.
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 incompatible
que el modelo no est acotado
que el modelo sea resoluble
Pgina 37 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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 ).
A pesar de ser un lenguaje muy til por su flexibilidad y estructura, no es sencillo encontrar errores de
sintaxis en algunos casos. Un modo de encontrar los errores es pedirle al software que escriba el
modelo en formato .lp. 7 El modelo de la Ilustracin 2-2 convertido en el formato lp se presenta en la
Ilustracin 2-3.
7
Desde Gusek, en Tools, si se pulsa en Build Cplex Lp, se generar el modelo en formato .lp para
encontrar fcilmente errores de sintaxis.
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
Otro mecanismo para encontrar las incompatibilidades es generar una solucin obvia (o real). Este
mecanismo consiste en asignar valores determinadas a las diferentes variables del modelo. Los valores
introducidas deberan ser aquellas que constituyen una solucin obvia al problema y que no tienen
porqu maximizar o minimizar la funcin objetivo.
Por ltimo un modo muy til de detectar incompatibilidades es forzar el modelo a considerar
restricciones de igualdad en vez de desigualdades. En este caso, el modelo debera soportarlo. Si no lo
hicieran las restricciones violadas sern las incompatibles.
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.
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.
El primer paso es comprobar que la solucin es lgica. El sentido comn es el mejor aliado en este
caso.
Para comprobar que los resultados son lgicos existen mltiples maneras, y cada modelador tiene su
metodologa para el anlisis de los resultados. Una que da buenos resultados es modificar de manera
sistemtica los costes en la funcin objetivo (o las limitaciones en las restricciones) para comprobar que
se puede modificar la solucin modificando los coeficientes.
Hay que destacar el valor de la optimizacin en la validacin del modelo. Cuando se trata de
maximizar (o minimizar) alguna cantidad, alguna restriccin debe ser utilizada completamente. Es
interesante, cuando se trata de un modelo nuevo, probar con diferentes objetivos, porque dan relevancia
a diferentes restricciones y, por tanto, se pueden ir comprobando todas.
Si el resultado es lgico deberamos compararlo con un resultado real, podra ser que el modelo
fuera demasiado restrictivo (aunque no llegue a ser incompatible) o demasiado laxo (aunque no llegue a
ser no acotado).
En muchos casos, este anlisis ya est conduciendo hacia un mejor entendimiento del problema, y
por tanto, el esfuerzo (aunque sin solucin) ya est siendo eficaz.
Tres son los objetivos bsicos que se deben pretender al construir modelos de programacin
matemtica:
A menudo es posible construir un modelo compacto y realista donde diferentes variables aparezcan
de modo implcito y no de modo explcito. Sin embargo construir este tipo de modelos conduce
habitualmente a soluciones difciles de evaluar y ms an de interpretar. Incluso, aunque los modelos
menos compactos requieren un tiempo ms largo de resolucin, este tiempo compensa el que
posteriormente habra que invertir en la interpretacin de la solucin.
Es til tambin utilizar acrnimos para designar las variables y las restricciones, de tal modo que los
resultados se puedan, posteriormente, interpretar ms fcilmente.
Existe tambin unas normas de estilo que, no siendo obligatorias permiten entender mejor el modelo,
si todo el mundo las utiliza igual. En general se admite que:
las letras minsculas comenzando por la g se suelen referir a ndices
las letras x,y,z,v son variables mientras que a,b,c,d,m,n,p,q suelen utilizarse como parmetros
las letras griegas ,,,,, suelen hacer referencia a variables binarias
Las letras maysculas para los datos (y conjuntos) y las letras en minscula para las variables
(aunque a veces, se hace al revs)
Pgina 41 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
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.
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 43 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
3 MODELOS DE PROGRAMACIN
LINEALEQUATION CHAPTER (NEXT) SECTION 1
3.1 Introduccin
No hay que olvidar que difcilmente la realidad es lineal, pero tampoco hay que obviar que, si el
modelador realiza un buen trabajo, es una aproximacin suficiente para cualquier problema.
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
1
x13. Para muchos problemas prcticos esta es una consideracin que impide el uso de la
La principal razn por la que los modelos de programacin lineal son preferibles es porque son
mucho ms fciles de resolver. Los modelos de programacin lineal son ms fciles de resolver puesto
que en el espacio de soluciones factibles siempre ser posible encontrar una solucin en un vrtice,
reduciendo de este modo el espacio de posibles soluciones ptimas a un nmero finito de las mismas.
Desde luego en cada ocasin hay que comprobar que es posible resolver mediante programacin
lineal, es decir, comprobar que el modelo se ajusta suficientemente a la realidad.
La programacin lineal, pese a sus restricciones evidentes por las caractersticas de las variables y
las funciones, tiene una amplia variedad de aplicaciones. Algunos de los problemas clsicos de
programacin lineal son:
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.
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.
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.
[ Minimize] Ci xi (4.2.1)
i
Sujeto a :
A
i
i, j xi B j 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.
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:
Sujeto a :
xi Di i (4.2.5)
Pgina 45 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
Ai
i, j xi B j 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.
Los dos productos requieren de una misma pieza central, la materia prima de la cual vale 20 por
unidad. Para fabricar la pieza central hacen falta 15 minutos del recurso B y 5 minutos del recurso C.
Para fabricar el componente 1 del producto P hace falta materia prima por valor de 20/unidad, 15
minutos del recurso A y 10 minutos del recurso C. Al ensamblar la pieza central con el componente 1
utilizamos otro componente 3 que se compra al precio de 5/unidad, lo ensambla el recurso D en 15
minutos cada unidad.
El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de
20/unidad, pasa por el recurso A donde est 10 minutos y luego por el proceso B donde est 15
minutos. Finalmente es ensamblado por el recurso D en 5 minutos. El mes tiene 20 das de 8 horas. Los
gastos totales son 3600 /semana.
Plantee el modelo matemtico completo del problema incluyendo ndices parmetros y dems.
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.
, = {, , 1, 2, 3, } ndices de productos
= {, , , } ndice de recurso
Sujeto a :
R
iI
i ,k xi KAPk k (4.2.9)
xi Di i (4.2.10)
yj = N
iI
i, j xi j (4.2.11)
xi , yi 0 i (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.
Pgina 47 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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:
Como se puede observar, la solucin ptima se ha alcanzado. Consiste en fabricar 506,67 unidades
de P y 400 de Q. El coste total de la solucin encontrada es de 4000 (sin considerar los gastos totales
por semana).
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
Si se pretende minimizar costes es importante fijar restricciones adecuadas, puesto que en ocasiones
minimizar costes supone no hacer nada. Tambin hay que distinguir de manera adecuada los costes
fijos y los costes variables.
Si se pretende maximizar beneficios hay que tener en cuenta que estos se pueden obtener a lo largo
del tiempo. Incorporar el concepto de tiempo en la evaluacin del beneficio se puede hacer de mltiples
maneras entre las que destaca el Valor Actual Neto (VAN).
La optimizacin multiobjetivo tiene sus races en los trabajos sobre economa de Edgeworth (1881) y
Pareto (1906) realizados a finales del siglo XIX y principios del siglo XX.
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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.
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.
8
El concepto de precio-sombra aparece al realizar la denominada interpretacin econmica de las soluciones y se presenta
ms adelante.
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.
Bsicamente se trata de fijar para cada objetivo el valor ptimo que se puede obtener y tambin un
valor por encima del cual (por debajo del cual) no se est dispuesto a aceptar que suba (que baje). Se
asume entonces que cada objetivo tiene una funcin de pertenencia triangular, a partir de las cuales se
intenta maximizar el mnimo nivel de aspiracin. Sea obj1, el objetivo presentado en (4.4.1) y obj2 el
segundo objetivo ilustrado en (4.4.2). La restriccin que se considera es (4.4.3).
1: [ Minimize ] z
obj= [ Minimize] ci xi (4.4.1)
i
2 : [ Maximize ] w
obj= [ Maximize] di xi (4.4.2)
i
Sujeto a :
a
j
ij xi bi i (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.
[ Maximize] L (4.4.4)
Sujeto a :
c x z
i i 0
L i
(4.4.5)
z1 z0
w0 ci xi
L i
(4.4.6)
w1 z0
a j
ij xi bi i (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
Usando las matemticas para pensar sobre Direccin de operaciones.
El uso de los modelos matemticos nos puede permitir encontrar soluciones factibles (que cumplen las
restricciones si stas existen).
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).
La nica posicin
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
Pgina 57 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
Restricciones conflictivas
Restricciones redundantes
Restricciones de rango
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.
a j
j 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.
a j
j 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:
a j
j xj b (4.5.3)
a j
j xj + u v =b (4.5.4)
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.
a =
j
x ij j bi i (4.5.5)
Y se deseara admitir que no todas se cumplen, se podra modelar del siguiente modo:
a
j
ij x j + ui =
vi bi i (4.5.6)
Pgina 59 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
El objetivo sera asegurar que cada restriccin se cumple lo mximo posible. Este objetivo se puede
modelar, entre otros modos de estas dos maneras:
Minimizando la suma de todas las desviaciones como en (4.5.7)
[ Minimize] ( ui + vi ) (4.5.7)
i
[ Minimize] z (4.5.8)
Sujeto a :
z ui 0 i (4.5.9)
z vi 0 i (4.5.10)
Sea cual sea el mtodo elegido podra a su vez ser ponderado si alguna de las restricciones parece
ms importante.
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.
a
j
j 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.
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.
x U (4.5.12)
xL (4.5.13)
Las otras cotas que algunos paquetes de resolucin consideran son las denominadas cotas
generalizadas (GUB):
x i
i U (4.5.14)
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)
j
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:
a
j
j x j b1 (4.5.16)
Otro modo de expresarlas consiste en transformar las restricciones en otras como en (4.5.17)-(4.5.18)
siendo estas restricciones ms fciles de manejar por la mayor parte de paquetes y, por tanto, el tiempo
de computacin para obtener la solucin se ver reducido.
(a
j
j xj ) + u =b1 (4.5.17)
0 u b1 b2 (4.5.18)
Pgina 61 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
4 MODELOS DE PROGRAMACIN
ENTERAEQUATION CHAPTER (NEXT) SECTION 1
4.1 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).
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.
En el presente apartado se tratan diferentes reas donde la programacin entera resulta de inters.
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.
Suele ocurrir que en algunas de las restricciones que se deseen imponer son de tipo lgico.
Pgina 63 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
Este tipo de condiciones lgicas pueden ser modeladas mediante programacin entera, simplemente
introduciendo nuevas variables como se ver en un apartado posterior.
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.
La mayor parte de los modelos de programacin entera mixta (PEM) aparecen desde
programacin lineal en la que hay que aplicar unas restricciones extraordinarias. En este apartado se
observan las ms comunes de estas restricciones.
donde i = 1 si se ha de cumplir .Esta relacin lgica se puede representar como en (5.3.1). Para que
la condicin sobre las restricciones, se usa entonces la desigualdad (5.3.2).
i =
1 Ri i=
1...N (5.3.1)
i =1
i =1 (5.3.2)
Ejemplo 1
a j
1j x j + M 1 1 M 1 + b1 (5.3.3)
a
j
2j x j + M 2 2 M 2 + b2 (5.3.4)
aj
3j x j + M 3 3 M 3 + b3 (5.3.5)
i =1
i =1 (5.3.6)
i {0,1} i =
1, 2,3 (5.3.7)
hacer esto se necesita la programacin entera. Para ello se incorporan nuevas variables i 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
Usando las matemticas para pensar sobre Direccin de operaciones.
i
i k (5.3.10)
A menudo ocurre que se pretende que una decisin se prolongue en el tiempo. Por ejemplo si i
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 1 + 2 0
2 2 + 3 0
(5.3.12)
....
-2 n 1 + n 0
A menudo no es realista suponer que determinadas restricciones no pueden ser violadas. As por
ejemplo una mquina podra aumentar su nmero de horas disponibles sin ms que duplicar (o triplicar)
el nmero de turnos que trabaja (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 0 < co < c1 < ... < c n .
a x
i
i i bj (5.3.13)
objetivo (0 0 ). Tambin, habra que declarar que el conjunto de variables ( 0 , 1 ,..., n ) sea de tipo
ai xi b j j 0
i j =1
(5.3.14)
[ Maximize] ci i (5.4.1)
i
Sujeto a :
a
i
i i b (5.4.2)
i {0,1} i (5.4.3)
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
(1,2), (1,3,4), (5,6) o con (1,2), (5,6), (3,4,5).
Para modelarlo, se debe considerar el coste de usar el i-simo elemento de y una variable
binaria que vale 1 si el i-simo elemento de es seleccionado (0 en caso contrario). El modelo de
programacin consiste en la funcin objetivo (5.4.4) sujeto al conjunto de restricciones (5.4.5).
[ Minimize] c i i (5.4.4)
i
Sujeto a :
Pgina 67 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
1 + 2 1
1
1
2 + 5 1
(5.4.5)
2 + 4 + 5 1
3 + 5 1
3 + 4 1
Si se relaja la propiedad 2 (se obliga a que algunos elementos de sean cubiertos en un mayor
nmero de ocasiones) se tiene un tipo de problema de cubrimiento ponderado. Y si adems se permite
que los dems coeficientes de la matriz puedan valer 0 y 1 (propiedad 3) tenemos lo que se denomina
un problema de cubrimiento generalizado.
Otro tipo clsico de problemas son los de empaquetado, que se pueden enunciar como en el
ejemplo que viene a continuacin.
Ejemplo 3
Dado un conjunto de objetos que podemos enumerar = (1,2, , ) y dada una clase de
subconjuntos de , teniendo cada subconjunto un valor asociado, se trata de relacionar miembros de
que maximicen el valor pero que no se superpongan.
Con el conjunto y la clase del ejemplo anterior el problema queda (incorporando un valor a
cada miembro de ) en la funcin objetivo (5.4.6) sujeto a las restricciones (5.4.7).
[ Maximize] v
i i (5.4.6)
i
Sujeto a :
1 + 2 1
1
1
2 + 5 1
(5.4.7)
2 + 4 + 5 1
3 + 5 1
3 + 4 1
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 ij ij (5.4.8)
i j
Sujeto a :
=
i
ij 1 j (5.4.9)
=
j
ij 1 i (5.4.10)
En una situacin cualquiera (con 6 ciudades) la solucin ptima podra ser la Ilustracin 4-1.
2 4
1 6
3 5
Evidentemente, esta solucin no es satisfactoria si nicamente hay un viajante. Para eliminar esta
circunstancia se puede aadir el conjunto de restricciones (5.4.11) donde la variable representa el
orden en el que el punto ser visitado, siendo 1 = 1. En este caso, se incorpora ( 1) restricciones
al problema.
Pgina 69 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
Esta es una generalizacin del problema de asignacin descrita en un captulo anterior. Aunque el
problema de asignacin es un problema de programacin lineal fcil de resolver, el problema de
asignacin cuadrtica es un problema de programacin entera y generalmente muy difcil de resolver.
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) .
= ij 1=i 1,2,...,n
j =1
(5.4.13)
= ij 1=j 1,2,...,n
i =1
(5.4.14)
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 .
c
i j l k >i
ijkl ij kl (5.4.15)
Este problema se puede abordar como un problema de programacin entera clsico con 4
variables binarias. Tambin existen procedimientos especficos de resolucin.
El nmero de variables no es un buen indicador para saber si un modelo est bien o mal
construido. De hecho en ocasiones es interesante introducir nuevas variables siempre que faciliten el
proceso de resolucin.
El uso de los conjuntos ordenados de variables, si el paquete puede trabajar con ellos, facilita la
resolucin.
Pgina 71 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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 3 = 1
4 5 0 4 0 =
4 =
5 0
Bsicamente se puede admitir que el mtodo consiste en analizar la configuracin del problema,
para encontrar relaciones, ms o menos evidentes, que reducen el nmero de variables al asignarles
valores.
4 1 + 6 2 9 (5.6.6)
1 + 2 2 2 (5.6.7)
El procedimiento consiste en encontrar para cada restriccin de tipo (5.6.8) una restriccin de tipo
(5.6.9) que no reduzca el espacio de enteros posibles pero s el del problema de programacin lineal
asociado.
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
1 + 2 + z1 + z2 =
1 (5.6.11)
Un caso comn pero especial es cuando la variable sigue las condiciones siguientes:
x=0 xa con a > 0 . En este caso, las restricciones a considerar son (5.6.12)-(5.6.13) donde
x = a z1 + M z2 (5.6.12)
+ z1 + z2 =
1 (5.6.13)
5 LINEALIZANDO LO NO-
LINEALEQUATION CHAPTER (NEXT) SECTION 1
5.1 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.
As por ejemplo los beneficios asociados a la venta de un producto pueden depender de la cantidad
vendida.
Ejemplo 5
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).
k
p( x) = 1
(6.1.2)
Ex
x
(1 1 )
p( x) x = k x 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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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] z (6.2.2)
Sujeto a :
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 (6.2.5)
i
j
[ Maximize] Min a j xij (6.2.6)
i
j
Las funciones max{ } y min{ } no son funciones lineales y por tanto deben ser linealizada. El
i 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 :
a
j
j xij z 0 i (6.2.8)
Sin embargo los objetivos maximizar el mximo (ver (6.2.9)) y minimizar el mnimo (ver (6.2.10))
no se pueden representar mediante programacin lineal, sino segn programacin entera (y se
presentan en un apartado posterior).
[ Maximize] Max a j xij (6.2.9)
i
j
[ Minimize] Min a j xij (6.2.10)
i
j
a j xj
[ Maximize] j
(6.2.11)
b j
j xj
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=
j xj t (6.2.12)
1
t= (6.2.13)
bj x j
j
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)
j
b
j
j 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
j xj
e (6.2.16)
d j
j wj e t
0 (6.2.17)
Hay que destacar que esta transformacin es vlida si es siempre del mismo signo y no
nula.
Pgina 77 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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 (6.2.18)
i
j
[ Maximize] z (6.2.19)
( a1 j x j z = 0) ( a2 j x j z = 0) ... (6.2.20)
j j
Pero eso exige el uso de restricciones de tipo lgico que se analizarn ms adelante a partir del
apartado 5.4.
El uso de variables enteras en el proceso de modelado puede servir a diferentes propsitos como se
ha indicado anteriormente. Pueden representar cantidades indivisibles y tambin variables de decisin.
Estas indican la decisin a tomar. Suelen ser variables de tipo binario {0; 1} (por ejemplo: = 1 abrir
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.
C + C2 x x > 0
CT = 1 (6.3.1)
0 x = 0
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.
CT = C1 + C2 x (6.3.2)
x M 0 (6.3.3)
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).
a j
j xj b (6.3.4)
=1 a j x j b (6.3.5)
j
Se puede mostrar que sta condicin se puede representar mediante la desigualdad lineal (6.3.6)
a
j
j xj b M
que se presenta a continuacin donde M es tal que en cualquier circunstancia.
a
j
j x j + M M + b (6.3.6)
a
j
j xj < b =
1 (6.3.7)
Esta condicin se representa mediante la desigualdad lineal (6.3.8) considerando que m es una cota
inferior de a
j
j xj b .
a j
j x j + m b (6.3.8)
a
j
j xj b =
1 (6.3.9)
Esta condicin se representa como en la ecuacin (6.3.10) donde m es una cota inferior de
a
j
j x j (m ) b + (6.3.10)
Pgina 79 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
Sea ahora la restriccin (6.3.11). Supngase que se desea que =1 represente que la restriccin
(6.3.11) se cumple.
a j
j xj b (6.3.11)
=1 a j x j b (6.3.12)
j
Se puede mostrar que la relacin lgica (6.3.12) se puede representar mediante la desigualdad lineal
(6.3.13) donde m es una cota inferior de a j
j xj b .
a
j
j x j + m m + b (6.3.13)
a j
j xj > b =
1 (6.3.14)
Esta condicin se representa mediante la ecuacin (6.3.15) donde M es de nuevo una cota superior
de a
j
j xj b .
a j
j x j M b (6.3.15)
a j
j 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 a
j
j x j b y es la tolerancia a partir de la cual se considera que a
j
j xj < b .
a
j
j x j (M + ) b (6.3.17)
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.
OR O INCLUSIVO: A, B, o ambos
AND Y
NO NO
IMPLIES IMPLIES
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
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)
Ejemplo 7
( x b ) ( x 1) ( y =z + 1) (6.4.3)
( x b ) ( x 1) ( =1) ( y =z + 1) (6.4.4)
( x b ) ( =
1) (6.4.5)
( x 1) ( =
1) (6.4.6)
( = 1) ( y z + 1) (6.4.8)
x m b (6.4.9)
x M 1 (6.4.10)
+ 1 (6.4.11)
y z + m m +1 (6.4.12)
y z + M M +1 (6.4.13)
Ejemplo 8
Sea la cantidad de producto de tipo i que se fabrica. Esta condicin se puede representar como en
la relacin (6.4.14).
(X A X B ) (XC X D X E ) (6.4.14)
A + B 1 =1 (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
Usando las matemticas para pensar sobre Direccin de operaciones.
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).
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.
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.
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.
Ejemplo 10
2 x x [0,4]
El modelado de una funcin y(x) tal que: y = x + 4 x [4,6]
3 x 8 x [6,10]
La representacin grfica del espacio de soluciones de este modelo se presenta en la Ilustracin 5-2.
Si se decide discretizar la funcin en cada uno de los vrtices, se debe considerar 4 puntos. Sea un
punto de coordenada y .
Usando estos 4 puntos, se puede escribir un modelo de programacin lineal usando un conjunto
SOS1.
x= x
i
i i = 42 + 63 + 104 (6.5.1)
y= y
i
i i = 82 + 103 + 224 (6.5.2)
i
i = 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
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
1 2
(0,5)
(2,5)
3
(4,3)
xB
0 (5,0)
4
(0,0) xA
Esta situacin se puede modelar representando exclusivamente los vrtices o tambin se podra
considerar ms puntos. Usando por tanto ms variables aunque menos restricciones (concretamente
una), el modelo de programacin matemtica considerara las restricciones (6.5.8)-(6.5.9)-(6.5.10)-
(6.5.11).
0 + 1 + 2 + 3 + 4 =
1 (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
formulacin puede ahorrar gran cantidad de tiempo en la resolucin del problema.
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)
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
Pgina 87 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
A B
E F
Esta regin se puede representar mediante relaciones lgicas considerando las variables binarias
1 , 2 , 3 . Las relaciones que se deben considerar son (6.5.16)-(6.5.17)-(6.5.18).
1 =1 ( x2 3) ( x1 + x2 4) (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.
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).
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
Usando las matemticas para pensar sobre Direccin de operaciones.
6 PROGRAMACIN NO-
LINEALEQUATION CHAPTER (NEXT) SECTION 1
6.1 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.
Pero s que hay que entender determinados conceptos que ayudan a comprender la complejidad del
problema. Para ello es necesario recordar tres definiciones:
1. Definicin de regin convexa: Se dice que una regin del espacio es convexa si el segmento que
une dos puntos cualesquiera de la regin est ntegramente en la regin.
2. Definicin de funcin convexa: Se dice que una funcin es convexa si el conjunto de los puntos
(, ) donde = () forma un regin convexa.
3. Definicin de un modelo de programacin matemtica convexo: Se dice que un modelo de
programacin matemtica es convexo si implica la minimizacin de una funcin convexa sobre
una regin convexa.
Ejemplo 13
Sujeto a :
x1 + x2 4
2x + x 5
1 2
(7.2.2)
-x1 + 4 x2 2
x1 , x2 0
Ejemplo 14
Sujeto a :
x1 + x2 4
2x + x 5
1 2
(7.2.4)
x1 + 4 x2 2
x1 , x2 0
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.
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.
1
x13 + + log( x3 ) (7.3.1)
x2
x3
x1 x2 + (7.3.2)
x1 + x2
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
Usando las matemticas para pensar sobre Direccin de operaciones.
Una vez las variables han sido separadas, la funcin resultante se puede aproximar a una funcin por
tramos lineal. No importa donde est la no-linealidad, pues el procedimiento es el mismo tanto se es en
la funcin objetivo como si es en las restricciones.
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).
x x [ 0,1]
y=3x 2 x [ 0, 2] (7.3.3)
2.25
x5 x [ 2,2.5]
0.5
x1 = 01 + 12 + 23 + 2.54
y = 01 + 12 + 43 + 6.254
(7.3.4)
1 + 2 + 3 + 4 = 1
i 0 i
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
-x1 + 2 + 23 + 2.54 =0
-y + 2 + 43 + 6.254 =
0 (7.3.6)
4
i = 1
i =1
y, x1 , x2 0
i 0 i
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
Esta restriccin slo se puede modelar mediante programacin entera, como se vio en un apartado
anterior. Lo destacable es que existen implementaciones que la consideran de manera eficiente.
En cualquier caso la separacin de variables para generar problemas no convexos conduce con
demasiada frecuencia a ptimos locales.
Para resolver este problema a menudo es posible resolver el mismo modelo mediante diferentes
estrategias, lo que da lugar a diferentes ptimos locales y, con suerte, algunos de ellos es ptimo global.
Existe un modo ms eficiente de convertir una funcin no-lineal en una funcin lineal. Este modo
alternativo conduce a la siguiente formulacin del ejemplo considerado.
x1 = 1 + 2 + 0.5 3
y = 1 + 3 2 + 2.25 3
( ) ( )
i > 0 j = 1 j < i j > 0 j > i
Considerar la no-linealidad slo si el modelo es separable puede parecer demasiado restrictivo. Sin
embargo, es posible convertir casi cualquier funcin de dos o ms variables en una funcin separable.
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.
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
Usando las matemticas para pensar sobre Direccin de operaciones.
7.1 Introduccin
Hasta este momento todas las formulaciones que se han presentado de programacin matemtica
asumen que los datos son conocidos, ciertos y exactos. Sin embargo, en muchos problemas reales los
datos no pueden ser conocidos con exactitud. En ocasiones por errores de medida, pero ms
generalmente porque son datos sobre circunstancias que se darn en el futuro, y simplemente no
pueden ser conocidos con anticipacin.
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.
Para avanzar en esta seccin es conveniente plantear un problema de mezcla de productos que sirva
como ejemplo.
Ejemplo 16
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
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
Al acabar el proceso de fabricacin es necesario proceder al montaje final de cada producto que
exige 20 horas de operario. La empresa dispone de 8 operarios trabajando en cada uno de los dos
turnos.
Sujeto a :
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.
x1 = 12
x2 = 7, 2
x=
3 x=
4 x=
5 0
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
Usando las matemticas para pensar sobre Direccin de operaciones.
En la Ilustracin 7-2 se propone el informe de los resultados despus de la ejecucin del modelo.
Pero adems existe informacin de inters que puede salir del modelo.
a) Cunto debieran incrementar su precio los productos P3,P4,P5 para que fueran
rentable fabricarlos (coste reducido)?
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.
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.
Como se puede observar, los tornos y el montaje estn saturados ya que su actividad es igual a su
cota superior. Segn se puede ver en la Ilustracin 7-3, el precio sombra para los tornos es de 6,25
mientras que para montaje es de 23,75.
Pgina 97 de 171
Usando las matemticas para pensar sobre Direccin de operaciones.
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.
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
ligeras variaciones de los coeficientes no variarn esta poltica, sino nicamente las cantidades
concretas.
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.
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.
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.
Ejemplo 17
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
Usando las matemticas para pensar sobre Direccin de operaciones.
25 y1 + 20 y3 400 (8.2.9)
15 y1 + 1 y3 200 (8.2.10)
y1 = 6, 25
y2 = 0
y3 = 23, 75
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.
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.
a
j
j xj b (8.2.11)
a j
j xj u =b (8.2.12)
Por las propias restricciones de los modelos de programacin entera no es posible extraer de la
resolucin (o del dual) informacin estricta sobre los precios sombra o los costes reducidos, de las
restricciones o de los coeficientes.
El nico modo de conocer tanto la informacin econmica prevista como de hacer un anlisis de
sensibilidad adecuado consistira en resolver una y otra vez el mismo modelo cambiando coeficientes.
[ Minimize] cT x + pe d eT ye (8.4.1)
e
Sujeto a :
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)
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
nmero de escenarios. Pero adems la propia generacin de los escenarios y la definicin de
probabilidades a los mismos es un problema complicado.
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.
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.
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
Un algoritmo puede ser programado como un conjunto de rutinas de ordenador para resolver
problemas que tienen que estar expresados en un tipo particular de formato. Cuando los algoritmos
resuelven problemas suficientemente generales se suelen agrupar en paquetes que posteriormente se
comercializan.
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
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.
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.
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
Aunque en la formulacin convencional de los problemas de programacin lineal, esta restriccin
sera asociada a una fila de la matriz de restricciones, es ms eficiente considerar U o L simplemente
como una cota. Existe una versin modificada del Simplex que permite trabajar con estas variables
acotadas.
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.
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.
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:
Para poder usar el solver hay que acceder a travs de Herramientas/Solver. Para esto, en Excel
2010, se har clic en el botn presente en el apartado Datos/Anlisis. A continuacin, se abrir
una ventana vaca (Ilustracin 8-2) dnde se introducirn las caractersticas del problema.
El paso siguiente consiste en definir los parmetros para la ejecucin correcta del solver. La
parametrizacin del solver se hace en 6 pasos:
3. Las celas de variables son las celdas que representan los posibles valores de x1,,x4.
Entonces, el rango de celdas es $B$2:$F$2
4. Las restricciones que se deben incorporar al modelo son de dos tipos. Las restricciones para
definir las variables y las restricciones de capacidad:
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.
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 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];
SUBJECT TO
restr[j] : SUM(i : prodhoras*x)<=rechoras;
END
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.
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.
Se proponen en este apartado los principios en los que se basan el mtodo de resolucin conocido
como Simples. Este mtodo se utiliza desde su desarrollo a mediados de los 50. En la dcada de los 80
se desarrollaron nuevos mtodos como los de Punto Interior (Interior Point) o el Mtodo de los
Elipsoides (Ellipsoid algorithm), que no se tratarn en estos apuntes.
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.
[ Maximize] ci xi (9.4.1)
i
Sujeto a :
a
j
ij x j bi i (9.4.2)
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.
Los mtodos del punto interior se basan en que el progreso de las soluciones se realiza en el
interior de la regin factible, y no a travs de los vrtices de la misma como hace el mtodo Simplex.
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:
1) Cmo encontrar un punto factible e interior?
2) Cmo definir el camino de evolucin?
3) Cmo se sabe que se ha alcanzado el ptimo?
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.
Ejemplo 19
Sujeto a :
3x1 + 2 x2 x3 5
2 x2 3 x3 9
7x1 + 2 x2 8 (9.5.2)
+
x1 , x3
x 2 0
La solucin del problema relajado es (1 , 2 , 3 ) = (1.1428,0,3) con = 14.2857. Este valor es una
cota mxima del problema, aunque no es un valor solucin porque 1 + .
Subproblema2 = Problema1 + (1 1)
Subproblema3 = Problema1 + (1 2)
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) Subproblema 3
z 2 = 14.1667 No factible
( x3 2) ( x3 3)
Subproblema 4 Subproblema 5
( x1 , x2 , x3 ) = (1,0,3)
( x1 , x2 , x3 ) = (0.714,1.5,2)
z5 = 14
z 4 = 9.42857
En la resolucin mediante mtodos de ramificacin y acotacin, se puede optar bsicamente por dos
estrategias en la seleccin del siguiente nodo a ramificar:
Otra tcnica interesante en la aplicacin de la ramificacin y corte es la del clculo inicial de una
solucin que permita fijar la cota superior (en algunos textos anglfonos se denomina incumbent). sta,
obtenida mediante algn procedimiento heurstico, dara una solucin candidato que permitira, en
ocasiones, podar ramas sin necesidad de explorarlas profundamente.
Por otro lado, aunque en este apartado se ha explicado la tcnica de ramificacin y acotacin para
un problema de programacin entera, es posible aplicarlo en otros entornos conservando la misma
configuracin (p.e. para la resolucin de problemas de optimizacin combinatoria).
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.
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 (9.5.4)
+ + + 2
1 3 5 6
1 = 1 1 = 0
1110001 011001
NO 7 SI 4
2 =1 2 = 0
111001 101001
NO 7 NO 5
3 =1 3 = 0
111001 110001
NO 7 SI 6
4 =1 4 = 0
111101 111001
NO 6 NO 7
5 =1 5 = 0
111011 111001
NO 5 NO 7
6 =1 6 = 0
111000 111001
SI 7 NO 7
Los mtodos del plano cortante se utilizan para resolver problemas de programacin entera. El
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.
8.6.1 Introduccin
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.1 Secuenciacin
Los problemas de secuenciacin son, junto con los de rutas, la aplicacin ms clsica en
optimizacin combinatoria, tanto por la extensin de su aplicacin, como por su facilidad de
planteamiento. 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
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
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.
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.
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.
Quiz sea interesante hacer una profundizacin en este apartado sobre una reflexin que se plante
al inicio de este libro. Cuando se comenz a utilizar la matemtica para resolver problemas no existan
los ordenadores y adems pocos intentaban teorizar, simplemente pretendan encontrar modos de
resolver problemas que conocan. Es por ello que la Programacin Matemtica se comenz a estudiar
como problema y mtodo de resolucin asociado. As fueron naciendo los problemas de la mochila, del
tansporte, de la dieta, de planificacin de produccin, de calendario. Y as en muchos lugares se sigue
planteando la enseanza de la Investigacin Operativa. Se asume, que si uno conoce los problemas
bsicos ser capaz de extender los modelos bsicos hasta hacer que representen suficientemente bien
la realidad encontrada.
Y es un buen mtodo. Sin embargo no es el mtodo que se ha seguido en este libro. En el libro
hemos intentado dar una visin de cmo modelar ms que de cmo resolver el problema. En este
apartado del libro, adems de plantear y resolver problemas, se pretende dar esta visin prctica de la
Programacin Matemtica. Estn ms o menos representados los problemas clsicos.
Quiz aqu sera interesante clasificar los problemas segn la familia a la que pertenecen y hacer una
pequea introduccin a los mismos, junto con referencias a algunos papers interesantes sobre esos
problemas.
9.1.1 Enunciado
Los dos productos requieren de una misma pieza central, la materia prima de la cual vale a 200 la
unidad. Para fabricar la pieza central hacen falta 90 segundos del recurso B y 30 segundos del recurso
C. Para fabricar el componente 1 del producto P hace falta materia prima por valor de 210 /unidad, 90
segundos del recurso A y 60 segundos del recurso C. Al ensamblar la pieza central con el componente 1
utilizamos otro componente 3 que se compra al precio de 7/unidad, lo ensambla el recurso D en 90
segundos cada unidad.
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.
9.1.2 Preguntas
c) Establecer un objetivo que pretenda maximizar el ratio beneficio entre horas totales de trabajo.
9.1.3 Modelado
El problema est basado en un caso que se propone en de Goldratt. Tiene adems el inters aadido de
que no se pretenden minimizar costes sino que se pretende maximizar beneficios.
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.
9.2.2 Preguntas
b) Defina las restricciones que considere necesarias para establecer la limitacin de capacidad en peso
y volumtrica.
c) Defina las restricciones que considere necesarias para establecer la limitacin de demanda.
d) Defina las restricciones que considere necesarias para establecer las consideraciones de equilibrio de
la carga.
estricciones
Valor Precio Restriccin Aumento Disminucin
Celda Nombre Igual Sombra lado derecho permisible permisible
Limitacin de Demanda de 1 0 0 18 1E+30 18
Limitacin de Demanda de 2 20 75 20 3,88 1
Limitacin de Demanda de 3 5,33 0 10 1E+30 4,67
Limitacin de Demanda de 4 12,66 0 16 1E+30 3,33
Limitacin de Peso delante 12 237,5 12 0 0,21
Limitacin de peso central 16 0 16 1E+30 0
Limitacin de peso trasero 10 0 10 1E+30 0
Limitacin volumen delante 6000 0,5 6000 200 500
Limitacin volumen central 9000 0,5 9000 200 500
Limitacin volumen trasero 5000 0,5 5000 550 500
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
Parmetros
Variables
B X
i j
i ij (10.3.1)
b) Defina las restricciones que considere necesarias para establecer la limitacin de capacidad en peso
y volumtrica.
X i
ij CPj j=1..Q (10.3.2)
V X
i
i ij CV j j=1..Q (10.3.3)
c) Defina las restricciones que considere necesarias para establecer la limitacin de demanda.
X
j
ij Di i=1..P (10.3.4)
d) Defina las restricciones que considere necesarias para establecer las consideraciones de equilibrio de
la carga.
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.
Xj
2, j > 0 =1 X 1, j 0, 25 D1
j
(10.3.7)
X 2, j 20 0
j
(10.3.8)
X 1, j 4,5 0
j
a) Defina el modelo que incorpore todas las restricciones citadas y adems el objetivo sea
maximizar el ratio beneficio total/volumen ocupado.
B X i ij
[ Maximize] i j
[ Maximize] Bi wij (10.3.9)
V X
i j
i ij i j
Sujeto a :
V w
i j
i ij =
1 (10.3.10)
w
i
ij CPj t 0 j (10.3.11)
V w
i
i ij CV j t 0 j (10.3.12)
w j
ij Di t 0 i (10.3.13)
CP1 wi ,2 =
CP2 wi ,1 (10.3.14)
i i
CP1 wi ,3 =
CP3 wi ,1 (10.3.15)
i i
j) Cmo permitira un desequilibrio de un 10% en el ratio de peso entre las distintas bodegas del avin?
Los problemas de asignacin son uno de los problemas clsicos de la programacin matemtica.
Pueden ser expresados fcilmente de muchas maneras, y adems muchos otros problemas pueden ser
expresados de este modo. En este caso las variables a asignar son enteras, pero existen otros
problemas de asignacin en el que las variables utilizadas son binarias.
9.3.1 Enunciado
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.
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.
Los problemas de asignacin son uno de los problemas clsicos de la programacin matemtica.
Pueden ser expresados fcilmente de muchas maneras, y adems muchos otros problemas pueden ser
expresados de este modo. En este caso las variables a asignar son enteras, pero existen otros
problemas de asignacin en el que las variables utilizadas son binarias.
9.4.1 Enunciado
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.5.1 Enunciado
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?
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.
9.6.2 Preguntas
d) Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el mnimo
beneficio.
f) Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de desigualdades
posible.
h) Suponer que en el escenario 1 existe una relacin entre el precio y la cantidad vendida, de tal modo
que el producto entre la cantidad vendida y la raz cuadrada del precio de venta es constante e igual
a 63.
9.6.3 Modelado
Para el modelado, se usar la Tabla 9-2 para definir los ndices que se usarn, la Tabla 9-3 para
los diferentes parmetros y la Tabla 9-4 para las variables necesarias.
2 3
[ 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 j (10.7.2)
m X
i =1
i i 1204 (10.7.3)
X i di i (10.7.4)
X i 0 i (10.7.5)
3
La expresin del objetivo en formato no-lineal: [ Maximize ] min v i ,e X i
e
i =1
Para plantear este objetivo de modo lineal es necesario crear una nueva variable Z que representar
dicho valor mnimo.
[ Maximize] Z (10.7.6)
Sujeto a :
3
Z- vi ,e X i 0 e (10.7.7)
i =1
(10.7.2)-(10.7.5)
2 3
pe vi,eX i
[ Maximize=
] e 1=
2
i 1
(10.7.8)
m X
i =1
i i
Para plantear este objetivo es necesario hacer una transformacin introduciendo las variables y ,
donde = . El modelo queda de este modo:
2 3
[ 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 j (10.7.10)
m w 480t 0
i =1
i i (10.7.11)
wi di t 0 i (10.7.12)
wi 0 i (10.7.13)
d) Plantear el problema para maximizar el uso de la mano de obra, el beneficio promedio y el mnimo
beneficio.
2
Maximizar el uso de mano de obra se puede representar as: m X
i =1
i i
. Los otros dos objetivos han
sido planteados en los apartados a) y b). Los 3 objetivos no pueden ser considerados simultneamente
3
[ Maximize] vi ,1 X i 5u (10.7.14)
i =1
Sujeto a :
f
i =1
i,j X i 120n j j (10.7.15)
m X
i =1
i i u 480 (10.7.16)
0 X i di i (10.7.17)
f) Imponer un consumo mnimo de 320 horas de mano de obra con el menor nmero de desigualdades
posibles.
m X
i
i i +u =480 (10.7.18)
u 120 (10.7.19)
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
Se conocen los costes de servir a cada zona de clientes desde cada destilera a travs de cada
centro de distribucin. Cada zona de clientes tiene una demanda D que debe ser abastecida. Cada
destilera tiene una capacidad C de produccin limitada. Cada centro de distribucin tiene una
capacidad limitada tanto superior S como inferiormente I, y unos costes fijos F anuales y otros
relativos al volumen V que se mueve.
9.8.2 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.
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?
h) Se plantea hacer una inversin en el primer centro de distribucin, para ampliar su capacidad en
un 40%. Cmo evaluara las ventajas de invertir o no invertir?
i) Se plantea abrir un nuevo centro de distribucin. Con unos costes de construccin, amortizables
en 5 aos, y unos costes de funcionamiento Fijos y Variables. Cmo plantear el problema para
saber si ser rentable y a quien afectar el cambio?
j) Sobre el problema original se pretende maximizar el ratio de costes variables sobre fijos. Modele
el problema.
k) Sobre el problema original se pretende que la capacidad de la destilera primera pueda duplicar,
o triplicar su capacidad a diferentes costes. Modele el problema.
l) La capacidad de la destilera 2 puede ser superada con un coste adicional por unidad vendida.
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.
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.
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
Posteriormente se realiza un anlisis de sensibilidad con los siguientes resultados para las
variables.
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:
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
Restricciones
X1=X1VT+X1VR+X1VB+X1Z+X1FA (R.1)
X2=X2VT+X2VR+X2VB+X2Z+X2FA (R.2)
VT = 8(X1VT+X2VT) (R.3)
VR = 8(X1VR+X2VR) (R.4)
VB = 8(X1VB+X2VB) (R.5)
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)
P1Z P1 (R.16)
P2Z P2 (R.17)
VT + VR + VB 5000 (R.18)
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)
g) Funcin objetivo:
VT + VR + VB u 5000
u-M 0
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?
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?
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.
Una empresa fabricante de zapatillas estima la siguiente demanda (en centenares de pares) para los
prximos 6 meses.
Mes 1 Mes 2 Mes 3 Mes 4 Mes 5 Mes 6
Cantidad 30 40 55 30 70 35
Los costes de produccin de cada par se evalan en 2 si se producen en horas normales, y 3 si se
produce en horas extras. El nmero de horas normales disponibles por da es de 8 horas. El nmero
de das laborables es variable para cada mes. Adems cada mes se puede trabajar un mximo de 40
horas extra. Durante cada hora de produccin es posible fabricar 25 pares de zapatillas. El coste de
almacenar un par de zapatillas de un mes para otro es de 0.1 por par. Se dispone de 200 pares en
stock en estos momentos.
9.10.2 Preguntas
a) Establecer el modelo que permite definir el plan de trabajo para los prximos meses a mnimo coste.
b) Suponga que tiene un compromiso con los trabajadores de utilizar cada dos meses al menos un
25% de la capacidad en horas extra actual.
e) Suponga que el objetivo es minimizar las diferencias de produccin entre un mes y el siguiente: para
cualquier mes.
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.
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.
9.11.1 Enunciado
Trabaja usted en una empresa cuya actividad bsica es la compra-venta de material electrnico. La
empresa ha decidido implantar un sistema de gestin de stocks informatizado, que decida cunto y
cundo comprar.
Ha quedado usted encargado de ello, entre otros motivos, por no asistir a la reunin donde se trat el
tema. Sus compaeros insisten en que el marrn no le cay por no estar presente, sino porque usted es
el ms capacitado para sacarlo adelante.
Tras analizar los productos con los que trabaja (demandas variables, precios variables, costes de
almacenamiento variables, etctera) decide que no puede aplicar mtodos de punto de pedido o de
aprovisionamiento peridico.
Los costes de almacenamiento fsico (H) son conocidos aunque varan segn el periodo. El dato
viene en unidades monetarias por unidad de producto almacenado y por periodo de previsin.
La demanda (D) de nuestro producto vara con los periodos, aunque su variabilidad es conocida con
un margen de error pequeo. El precio de venta es conocido y variable por periodo (PV). La empresa
suele cobrar 3 semanas despus de haber producido la venta.
El saldo negativo del flujo de caja (diferencia entre cobros y pagos) tiene un coste financiero (CF), del
mismo modo que el saldo positivo lleva asociado un coste de oportunidad (CO). Adems no es posible
sobrepasar el saldo negativo en ms de una cierta cantidad lmite (LN). La empresa, como cualquier
empresa seria, tiene una previsin de pagos (PP), que es variable segn los periodos. Esta previsin
incluye los gastos como nminas, beneficios, energa, alquileres pero excluye los gastos de adquisicin
de materiales (porque de esto se encarga su programa informtico).
9
Evidentemente esto es una simplificacin para empezar.
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
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
financia el flujo de caja.
Sujeto a :
xt Dt t=1..26 (10.12.2)
zt = zt 1 + yt 4 xt t=1..26 (10.12.3)
wt ft t=1..26 (10.12.5)
vt ft t=1..26 (10.12.6)
wt LN 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 :
wt ft t=1..26 (10.12.12)
vt ft t=1..26 (10.12.13)
wt LN t=1..26 (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.
Se tiene un conjunto de tareas, cada una con una duracin y un conjunto de precedencias.
a) Dado un tiempo de ciclo. Establecer una asignacin que utilice el mnimo nmero de estaciones.
b) Cmo conseguir adems el mnimo desequilibrio de carga entre estaciones?
9.13.1 Enunciado
Jorge y Nuria se quieren casar. Ella de blanco por la alegra y l de negro. Entre otros quebraderos de
cabeza que les harn perder unas cuantas horas de aqu al da de la boda, no es el menor la tarea de
asignar los invitados a las mesas. Inicialmente Jorge y Nuria queran una boda ntima, como todos,
aunque ahora ya suman alrededor de 250 invitados.
Dicho reparto de invitados es una de las actividades ms tediosas de las que se encontrarn: El to tal no
se puede sentar con su concuado porque se llevan a muerte, dos invitados excusan en el ltimo
momento su asistencia...
Tienen un amigo, usted, gran experto en diseo de modelos e implementaciones informticas, que les va
a echar una mano, construyendo una aplicacin que permitir hacer y rehacer, modificar, imprimir las
listas, etctera.
Para ello considera que uno de los conjuntos de datos (en el modelo debe constituir uno de los ndices) a
considerar son las agrupaciones mnimas (individuos, matrimonios, parejas, tros y otras agrupaciones
de invitados). Estas agrupaciones mnimas son grupitos de invitados que no se pueden separar, por
razones ms o menos obvias.
Otro de los conjuntos de datos a considerar son las mesas. Cada una de ellas tiene una capacidad
diferente (entre 8 y 12 comensales cada una).
9.13.2 Preguntas
9.13.3 Resolucin
ndices
ndice que recorre las agrupaciones mnimas
ndice que recorre las mesas disponibles
Parmetros
Nmero de individuos en la agrupacin i
Capacidad de sillas en la mesa k
Variables
, Vale 1 si la agrupacin i se sienta en la mesa k (0 en caso contrario)
Vale 1 si la mesa k se utiliza (0 en caso contrario)
[ Minimize] k (10.14.1)
k
Sujeto a :
N
i
i i ,k M k k k (10.14.2)
k {0,1} k (10.14.3)
i ,k {0,1} i, k (10.14.4)
=
k
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.
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
, ndice que recorre las agrupaciones mnimas
Sujeto a :
ik + jk 2 ijk 0 i, j , k (10.14.8)
N i
i ik M k k k (10.14.9)
=
k
i ,k 1 i (10.14.10)
k
k MMax (10.14.11)
k {0,1} k (10.14.12)
i ,k {0,1} i, k (10.14.13)
d) En el caso anterior cmo penalizara que una agrupacin mnima se quedara aislada en una
mesa sin conocidos?
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).
C
j k
ij ijk =0 i =1 (10.14.14)
C
j ,k
i , j i , j ,k + 0 (10.14.15)
Usted trabaja en una multinacional del sector audiovisual y ltimamente le estn pidiendo que haga
recopilatorios de canciones de cantantes de ayer y siempre. Estos recopilatorios se graban en CDs
para vender a travs de Teletiendas. Bsicamente el problema consiste en definir un conjunto de
canciones que quepan en el CD, utilizando al mximo el espacio disponible y que las diferentes pocas
del autor estn reflejadas. ltimamente est un poco harto del trabajo, en el que su criterio artstico (su
famoso odo musical) no sale demasiado bien parado. Est pensando en hacer un pequeo programa
(software) basado en programacin lineal que haga automticamente las recopilaciones.
9.14.2 Preguntas
c) Si se fija un nmero mnimo de canciones de cada poca cmo incorporara esta restriccin?
e) Desde c) Suponga que le piden que disee, con las mismas canciones, adems, una cinta de
audio para la venta en gasolineras (con dos caras de igual capacidad Ca). Disee el modelo
entero incorporando lo que considere conveniente.
h) Desde c) Suponga que pretende dotar de una cierta calidad al sistema. Para ello punta las
diferentes canciones y pretende que la calidad del CD sea lo mxima posible. Modele la nueva
funcin objetivo.
i) Desde h) La productora le comenta que lo de la calidad est muy bien, pero que las buenas
canciones valen ms dinero. Plantee el objetivo lineal (as como las restricciones asociadas)
que permiten maximizar el ratio calidad/precio.
9.14.3 Resolucin
d X
i j
ij ij C (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:
X i
ij Nj j (10.15.3)
Se define una variable Y que ser el mximo, y una variable Z que ser el mnimo entonces.
[ Minimize] Y Z (10.15.4)
Sujeto a :
Y X ij 0 i (10.15.5)
j
X
j
ij Z 0 i (10.15.6)
d X
j
ij ij C i (10.15.7)
X
j
ij Nj i (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
Sujeto a :
d X
j k
ij ijk C i (10.15.10)
d X
j
ij ij ,1 Ca i (10.15.11)
d X
j
ij ij ,2 Ca i (10.15.12)
X
k
ijk 1 i, j (10.15.13)
X
j
ij Nj i (10.15.14)
X 2,4 X 5,3 =
0 (10.15.16)
i) 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
j) 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 ij ij
[ Maximize] i j
(10.15.18)
b X i j
ij ij
Sujeto a :
b w
i j
ij ij =1 (10.15.20)
d w
j
ij ij Ct 0 i (10.15.21)
w j
ij N j t 0 i (10.15.22)
En Arriondas (Asturias) usted tiene una de sus plantas envasadoras la Central Lechera Carrete.
Esta central lechera, recoge leche de vaqueras situadas en distintas comarcas Asturianas y de las
comunidades colindantes de la cornisa cantbrica espaola.
El sistema de recogida de leche hace tiempo que fue diseado, y aunque ha habido variaciones
importantes en las caractersticas de la recogida, hace tiempo que no se redisea todo el proceso, sino
que se hacen pequeos ajustes. La direccin pretende comprobar si compensara hacer un estudio
global, y para ello les requieren que analicen el proceso de recogida en la comarca de Llanes. Algunos
datos relevantes son los siguientes:
6) Cada carga tiene un tiempo fijo de 15 minutos y una velocidad de carga de 200 litros por minuto.
8) Por algunas carreteras la pendiente es tan acusada que no se puede descender con el camin
cargado con ms de 5000 litros, ests son:
Las vaqueras con las que se tiene concierto estn en los siguientes pueblos (se incorpora adems la
capacidad de su enfriadora medida en litros, y su produccin tambin medida en litros):
Sea una empresa que vende tres productos (A,H,J) a dos cliente distintos.
El producto A se realiza a partir de la soldadura de los componentes B,C y D (de este ltimo hacen
falta 2 unidades).
De la misma bobina E, utilizando matrices un poco diferente se pueden obtener 2500 piezas B y 2500
piezas C. Caben 500 piezas C en cada caja-paleta(W).
El producto H se vende en cajas desechables (U) a ambos clientes con capacidad de 125 unidades
cada uno. Pero as como al cliente se le puede vender H o H indistintamente, el cliente slo acepta
producto H.
La empresa cuenta con una instalacin de estampacin y con otra de soldadura. Como la capacidad
de soldadura es menor que la capacidad necesaria, tienen un subcontratista en otras instalaciones con
capacidad de soldar.
A los clientes se les puede enviar el producto tanto desde el almacn principal de la empresa como
desde el subcontratista. Tanto para uno como para el otro hay disponibles dos modos de transporte uno
rpido y otro lento con diferentes costes.
Existe un modo de transporte de dos sentidos entre nuestra empresa y el subcontratista. Los
embalajes retornables pueden volver a nuestras instalaciones desde los clientes a un determinado
coste, o pueden ser adquiridos a otro coste.
Trabaja usted en una consultora que ha sido contratada por la empresa FGV para realizar un
programa que permita calcular el tiempo que se tarda en llegar entre dos paradas cualesquiera de la red
de Metro Valencia.
Una vez desarrollada la herramienta les solicitan que hagan una exploracin acerca de una nueva
lnea que se est planteando.
B J
C
I
D G
E
H
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).
Una empresa de fabricacin de cartones (cajas fundamentalmente) radicada en Alzira debe servir
entre 4 y 7 camiones diarios a ms de una veintena de clientes. Estn interesados en una herramienta
que permita definir la carga de los camiones teniendo en cuenta que estos tienen una limitacin de
capacidad de 33 paletas cada uno.
PUEBLOS Lote de Paletas
Alborache 6
Alccer 2
Algemes 2
Almoines 12
Benifai 4
Benignim 6
Carcaixent 2
Carlet 4
Villanueva de Castelln 6
Chiva 6
Denia 6
LAlcdia de Carlet 6
LOlleria 12
Llombai 4
Ontinyent 12
Silla 4
Sueca 12
Tavernes de la Valldigna 4
Xtiva 12
Se asume que en cargar un camin se tarda alrededor de 45 minutos, la descarga en cada empresa
cliente cuesta alrededor de 30 minutos de media. Se asume que ningn conductor debe dedicar ms de
8 horas diarias a conducir ni ms de 12 horas en total. Cada kilmetro cuesta 30 cntimos de Euro.
M1 M2
S1 A1 A2 R2 C CO1 S2 A1 A3 R1 Cr CO2
M3
S3 A3 A2 A4 R1 C 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).
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.
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...
Est empezando una nueva carrera de consultor free-lance y por tanto acepta cualquier tipo de
trabajo. Le ha llegado un trabajo por va de un amigo (el nico modo de que entren trabajos). El trabajo
no parece estar muy definido.
Hola,
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.
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.
PD: Por cierto, Qu ocurre cuando un sbado coincide con festivo?, Qu manda?
Buenos das,
Gracias de nuevo.
Una empresa de fabricacin y montaje de motores sirve motores y componentes de los mismos a
plantas de fabricacin de coches as como a empresas de distribucin de repuestos. Ambos tipos de
clientes estn distribuidos por todo el mundo. Al ser los clientes distintos los modos de preparacin del
producto y embarque del mismo pueden variar entre clientes. No slo venden producto final sino
tambin semielaborado. Y tambin compran semielaborado. Asimismo diferentes clientes y diferentes
proveedores tienen necesidades y calendarios variables.
En un mercado tan competitivo como el del automvil las actualizaciones de los productos son
frecuentes. Adems de que el nmero de variantes a producir tiende a crecer para adecuarse o superar
a la competencia. El nmero de productos a fabricar es siempre limitado y conocido, aunque este
conjunto vara. Pero vara de un modo planificado. Asimismo Esto implica pruebas de productos y
nuevas versiones y tambin implica la desaparicin planificada de productos.
Un motor se compone de las denominadas 5Cs (Bloque, Bielas, Levas, Culatas, Cigueales) y otros
componentes. De cada tipo de componente hay un cierto nmero de variantes, algunas se fabrican en la
planta objeto de estudio y otros no.
La lnea de Montaje de una fbrica de Motores es un sistema altamente automatizado, bastante poco
flexible en cuanto a capacidad, y costoso de puesta en marcha y mantenimiento. Dentro de la escasa
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 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
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.
Una empresa que fabrica refrescos carbonatados tiene una fbrica con capacidad de envasar 70
hectlitros a la hora.
La fbrica puede trabajar a 1,2,3 y 4 turnos de 80 horas semanales cada uno (deduciendo la parte
proporcional de festivos no fin de semana). Es decir la capacidad productiva de una determinada
semana se calcula segn la siguiente frmula
(5 f )
40K
5
Siendo 40 el nmero de horas laborables por semana en un turno completo, K la capacidad de
envasado medida en hectlitros por hora que es diferente para cada producto, y f el nmero de festivos
en una semana (considerando slo los festivos que reducen el nmero de das laborables).
Estn en las ltimas semanas del ao, y el departamento de finanzas se ha puesto a trabajar,
solicitando presupuestos. Usted debe anticipar el plan de produccin para poder aportar informacin al
departamento de Recursos Humanos y al de Logstica.
El departamento de RRHH le ha pedido un presupuesto para su gasto del ao que viene. Un turno
tiene un coste semanal de 6000 euros. Cada cambio de configuracin del nmero de turnos, por ejemplo
pasar en una semana de 2 turnos a 3 turnos, tiene un coste de 1000 euros por turno cambiado. El
departamento de recursos humanos tiene cerrado ya el programa de trabajo de las primeras 5 semanas
del ao y debe cerrar las de la semana de 6 a 10.
03/01/2011 10/01/2011 17/01/2011 24/01/2011 31/01/2011
Turnos 1 1 1 2 2
El departamento financiero le ha pedido un presupuesto para su gasto en almacenes subcontratados
este ao.
El departamento de logstica tiene un almacn propio con una capacidad de 8000 hectlitros. Si los
productos se guardan en el almacn propio el coste de almacenar cada hectlitro se evala en alrededor
de 0,25 por semana. Dispone tambin de almacenes a los que puede subcontratar capacidad. si los
productos se guardan en almacn ajeno el coste de almacenar (que incluye el coste de transportar) se
eleva a 1 por semana. Al principio de ao calcula que tendr 5000 hectlitros de stock.
Se le pide que :
a) Disee un modelo matemtico para establecer el programa ptimo teniendo en cuenta los 4
escenarios.
b) Defina los costes en recursos humanos y en almacenes en los que incurrir.
Tiendas x y Demanda ()
Tienda1 10 40 1000
Tienda2 30 50 2000
Tienda3 20 50 1000
Tienda4 40 10 500
Tienda5 50 30 600
Tienda6 50 20 2000
Tienda7 40 40 700
Tienda8 50 50 800
Tienda9 50 30 1200
TiendaA 60 40 900
TiendaB 100 20 700
TiendaC 12 90 600
TiendaD 90 90 1000
Tabla 1. Ubicacin y Demanda de cada Tienda
CPD cuenta con 4 almacenes, ubicados en los puntos de la geografa que se indican en la tabla 2.
Dichos almacenes estn mayormente situados cerca de sus mayores puntos de consumo. Actualmente
est considerando la posibilidad de abrir un nuevo centro logstico, ms grande y alejado. Los datos
bsicos se representan en la siguiente tabla.
Almacenes X Y Capacidad() C Fijo C Variable por
Almacen1 10 20 5000 1000 1
Almacen2 14 30 5000 1000 1
Almacen3 23 60 5000 1000 1
Almacen4 50 50 5000 1000 1
Almacen5 200 200 20000 2000 0,1
Tabla 2. Ubicacin, Capacidad y Coste de Cada almacn
Usted est analizando la cadena de suministro de productos perecederos, y CPD cuenta con tres
fbricas de envasado. Sus caractersticas estn en la tabla 3.
Fabricas X Y Capacidad() C Fijo C Variable por
Fbrica1 10 10 10000 500 5
Fbrica2 30 50 10000 700 2
Fbrica3 40 40 10000 1000 1
Tabla 3. Ubicacin, Capacidad y Coste de Cada Fbrica
Los centros de aprovisionamiento de los productos que vende estn fundamentalmente en dos
puntos de la geografa que se indican en la tabla 4.
Abastecimiento X Y
Proveedor1 0 0
Proveedor2 70 20
Tabla 3. Ubicacin del centro de gravedad de los puntos de abastecimiento
Para qu densidad de valor (/m3) del producto es rentable irse al almacn grande nico y alejado?
Los diferentes problemas que se plantean por esta nueva circunstancia se pretenden resolver
mediante una asignacin automtica al principio de curso.
11 EPLOGO
En este libro se ha intentado...
12 BIBLIOGRAFA
Bautista, J., Companys, R., Corominas, A. Introduccin al BDP. 1992.
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
Conway, R.W., W.L. Maxwell, L.W. Miller. Theory of Scheduling. Addison-Wesley. 1967
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.
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.
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
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.
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.