Está en la página 1de 109

Facultad CC. Matemticas, Universidad Complutense, Pza. Ciencias 3, 28040 Madrid http://www.mat.ucm.

es













MSTER INGENIERA MATEMTICA:
MODELOS DE OPTIMIZACIN









Begoa Vitoriano
bvitoriano@mat.ucm.es
www.mat.ucm.es/~bvitoria

Andrs Ramos

Febrero 2008

NDICE

I.1. OPTIMIZACIN........................................................................................... 3
I.1.1. Investigacin operativa y optimizacin.......................................... 3
I.1.2. Referencias ................................................................................ 9
I.2. MODELOS DE OPTIMIZACIN..................................................................... 11
I.2.1. Modelo y modelado ................................................................... 11
I.2.2. Etapas en el desarrollo de un modelo .......................................... 12
I.2.3. Referencias .............................................................................. 15
I.3. FORMULACIN DE PROBLEMAS DE OPTIMIZACIN..................................... 17
I.3.1. Modelos caractersticos de programacin lineal............................ 17
I.3.2. Modelos caractersticos de programacin entera .......................... 22
I.3.3. Modelado de restricciones con variables binarias.......................... 29
I.3.3.1. Modelado de algunas restricciones especiales .................................................................. 29
I.3.3.2. Modelado de implicaciones lgicas .................................................................................. 31
I.3.3.3. Modelado de proposiciones condicionales y/o compuestas............................................... 36
I.3.3.4. Modelado de productos con variables binarias ................................................................ 41
I.3.3.5. Una aplicacin: Modelo de asignacin de grupos trmicos .............................................. 42
I.3.4. Modelos caractersticos de programacin no lineal ....................... 44
I.3.5. Una aplicacin: Modelos de optimizacin en gestin de inventarios 47
I.3.5.1. Modelos estticos de lote econmico (EOQ) con revisin continua................................. 50
I.3.5.1.1. Modelo EOQ clsico (sin ruptura)......................................................................... 51
I.3.5.1.2. Modelo EOQ con ruptura de inventario ................................................................ 52
I.3.5.1.3. Modelo EOQ con descuentos por cantidad............................................................ 53
I.3.5.1.4. Modelo EOQ de mltiples artculos con lmite de almacenamiento....................... 56
I.3.5.2. Modelos de inventario dinmicos deterministas con revisin peridica ........................... 56
I.3.6. Referencias .............................................................................. 58
I.3.7. Biblioteca de problemas ............................................................. 58
I.3.8. Resultados de la biblioteca de problemas...................................... 73
I.4. CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN ..................................... 93
I.4.1. Lenguajes de modelado.............................................................. 93
I.4.1.1. Lenguajes de modelado ................................................................................................... 93
I.4.1.2. Lenguajes algebraicos de modelado ................................................................................. 95
I.4.1.3. Referencias ...................................................................................................................... 97
I.4.2. Elementos de estilo de programacin .......................................... 98
12/02/2008 i
I OPTIMIZACIN
I.1. Optimizacin
I.1.1. Investigacin operativa y optimizacin
In the last decade, new advances in algorithms have been as important as
the impressive advances in computer technology George L. Nemhauser
(1994).

The technology improvements in algorithms, modeling languages, software,
and hardware have made the methodology accessible, easy to use, and fast.
So the Age of Optimization has arrived George L. Nemhauser (1994).

Definir el trmino investigacin operativa (operations research en ingls de
USA u operational research en ingls de UK) no es una tarea fcil ya que su
evolucin permanente hace que sea difcil dar con precisin una definicin. La
investigacin operativa se puede definir como la aplicacin de mtodos
cientficos en la mejora de la efectividad en las operaciones, decisiones y gestin,
ver [Robinson, 1999] o como la ciencia de aplicar los recursos disponibles para
conseguir la satisfaccin ptima de un objetivo especfico deseado. Otra
definicin ms extensa es la siguiente: la investigacin operativa es la aplicacin,
por grupos interdisciplinarios, del mtodo cientfico a los problemas complejos
producidos en la direccin y gestin de grandes sistemas de hombres, mquinas,
etc. La principal caracterstica consiste en construir un modelo cientfico del
sistema del cual se pueden predecir y comparar los resultados de diversas
estrategias, decisiones, incorporando medidas del azar y del riesgo. El objetivo es
ayudar a los responsables a determinar su poltica y actuaciones en forma
cientfica. En este sentido tambin se pueden utilizar como sinnimos
management science o anlisis de las decisiones.
Los profesionales de la investigacin operativa colaboran con los decisores en
el diseo y mejora de las operaciones y decisiones, resuelven problemas y ayudan
en las funciones de gestin, planificacin o prediccin, aportan conocimiento y
ayuda en la toma de decisiones. Aplican las tcnicas cientficas ms adecuadas
seleccionadas de la matemtica, ingeniera o cualquier ciencia social o de
administracin de empresas. Su trabajo normalmente consiste en recoger y
analizar datos, desarrollar y probar modelos matemticos, proponer soluciones o
recomendaciones, interpretar la informacin y, en definitiva, ayudar a implantar
acciones de mejora. Como resultado desarrollan e implantan aplicaciones
informticas, sistemas, servicios tcnicos o productos.
12/02/2008 3
I.1 OPTIMIZACIN
La investigacin operativa tiene sus orgenes en la Segunda Guerra Mundial,
debido a la necesidad urgente de asignacin de recursos escasos en las
operaciones militares, en problemas tcticos y estratgicos. Estas mismas
tcnicas se han extendido con posterioridad a las empresas.
Disciplinas tpicas de la investigacin operativa son la optimizacin con sus
mltiples sabores (lineal, no lineal, entera, estocstica, multiobjetivo), teora de
la decisin y de juegos, teora de colas y simulacin, teora de grafos o flujos de
redes. Otras disciplinas como algoritmos metaheursticos y lgica borrosa, redes
neuronales artificiales, reconocimiento de patrones y otras tcnicas de
inteligencia artificial, aunque conceptualmente se encuadran dentro de la
investigacin operativa, habitualmente se estudian dentro de otras disciplinas
ligadas a la ingeniera informtica como la inteligencia artificial. Los contenidos
de algunas de estas ltimas disciplinas tambin estn muy ligados a la
estadstica.
La optimizacin es una parte relevante dentro de la investigacin operativa.
Tuvo un progreso algortmico inicial muy rpido. Muchas tcnicas
programacin lineal (linear programming) LP, programacin dinmica (dynamic
programming) DP son anteriores a 1960. Por ejemplo, el mtodo Simplex
1
de
programacin lineal debido a Dantzig
2
es de 1947, el principio de optimalidad de
Bellman base de la programacin dinmica se formul en 1957. En la ltima
dcada se han producido avances significativos generados por el desarrollo en
1984 por parte de Karmarkar de un mtodo de punto interior para
programacin lineal. Por ejemplo, en una nota tcnica de ILOG se presenta que
desde su optimizador CPLEX 3.0 en 1994 a CPLEX 7.0 en 2000 la reduccin de
tiempo de resolucin ha sido de 28 veces en el mtodo simplex dual para un
problema lineal concreto. Para otro caso se observa una mejora global, de
software y algortmica, de 10000 veces entre la versin de CPLEX 1.0 de 1988 y
la 7.0 del 2000. Como referencia, se estima que la mejora en el rendimiento del
hardware ha sido del mismo orden de magnitud. Si tomamos conjuntamente
ambas mejoras hoy se pueden resolver problemas en segundos que habran
tardado aos en ser resueltos hace una docena de aos. Estos avances han sido
tan importantes como los realizados en el campo de la informtica, segn la
opinin de George L. Nemhauser uno de los expertos actuales en programacin
entera, y se han producido acompasadamente con ellos. Hoy es posible resolver
un problema LP de 200000 ecuaciones con 200000 variables y 1000000 de

1
En castellano la traduccin de esta palabra es smplice pero no es habitual su uso para
denominar este mtodo de optimizacin lineal.
2
En http://www.e-optimization.com/directory/trailblazers/dantzig/ se puede encontrar un
resumen de sus logros as como una entrevista sobre diversos temas, incluyendo imgenes en
vdeo.
4 12/02/2008
I OPTIMIZACIN
elementos no nulos en la matriz de restricciones en un PC con suficiente
memoria principal. Aproximadamente, para un problema LP se puede decir que
se requiere 1 MB de memoria principal por cada 1000 ecuaciones.
El estilo de este documento es eminentemente aplicado, prctico, ingenieril, a
caballo entre una visin matemtica de los problemas y de los algoritmos y la
visin econmica o de gestin empresarial de algunas de sus aplicaciones. Este
documento trata de explicar suficientemente los fundamentos matemticos como
para permitir desarrollar aplicaciones de optimizacin de manera rigurosa y
precisa. Al mismo tiempo, se presentan algunas aplicaciones a problemas
concretos de ingeniera.
Al final del captulo se citan algunos libros generales o de referencia de
investigacin operativa que pueden servir de consulta o como texto para un
nivel de pregrado y postgrado. Luego, en cada captulo se indican adems
referencias especficas de los diferentes temas. Dentro de los libros generales,
[Hillier y Lieberman, 2002] es un libro clsico de investigacin operativa muy
ampliamente utilizado que compendia numerosos temas y tiene una orientacin
ingenieril. [Taha, 1998] presenta los temas con una orientacin ms matemtica
mientras que [Winston, 1994] los presenta con una perspectiva ms de
administracin de empresas. [Sarabia, 1996] da una base terica suficiente para
poder resolver una coleccin de problemas relacionados con el temario de
investigacin operativa.
Entre las revistas principales que tratan sobre optimizacin se pueden
incluir: Interfaces, Operations Research, Management Science, European
Journal of Operational Research, Mathematics of Operations Research, OR/MS
Today, Mathematical Programming, INFORMS Journal on Computing, Journal
of the Operational Research Society, Omega, Journal of Optimization Theory
and Applications, Transportation Science, Transportation Research. Existe una
enciclopedia de investigacin operativa que puede servir como consulta inicial y
referencia de un tema especfico, ver [Gass, 2001]. Adems se puede encontrar
informacin sobre los temas de investigacin operativa en las direcciones de la
Sociedad Espaola de Estadstica e Investigacin Operativa (SEIO)
(www.seio.es), de la Association of European Operational Research Societies
(EURO) (www.euro-online.org), de la International Federation of Operational
Research Societies (IFORS) (www.ifors.org) y del Institute for Operations
Research and the Management Sciences (INFORMS) (www.informs.org).
La optimizacin consiste en la seleccin de una alternativa mejor, en algn
sentido, que las dems alternativas posibles. Es un concepto inherente a toda la
investigacin operativa. Sin embargo, determinadas tcnicas propias de la
investigacin operativa se recogen bajo el nombre de optimizacin o
programacin matemtica.
12/02/2008 5
I.1 OPTIMIZACIN
Los problemas de optimizacin se componen generalmente de estos tres
ingredientes:




funcin objetivo
Es la medida cuantitativa del funcionamiento del sistema que se desea
optimizar (maximizar o minimizar). Como ejemplo de funciones objetivo se
pueden mencionar: la minimizacin de los costes variables de operacin de
un sistema elctrico, la maximizacin de los beneficios netos de venta de
ciertos productos, la minimizacin del cuadrado de las desviaciones con
respecto a unos valores observados, la minimizacin del material utilizado en
la fabricacin de un producto, etc.

variables
Representan las decisiones que se pueden tomar para afectar el valor de la
funcin objetivo. Desde un punto de vista funcional se pueden clasificar en
variables independientes o principales o de control y variables dependientes o
auxiliares o de estado, aunque matemticamente todas son iguales. En el
caso de un sistema elctrico sern los valores de produccin de los grupos de
generacin o los flujos por las lneas. En el caso de la venta, la cantidad de
cada producto fabricado y vendido. En el caso de la fabricacin de un
producto, sus dimensiones fsicas.

restricciones
Representan el conjunto de relaciones (expresadas mediante ecuaciones e
inecuaciones) que ciertas variables estn obligadas a satisfacer. Por ejemplo,
las potencias mxima y mnima de operacin de un grupo de generacin, la
capacidad de produccin de la fbrica para los diferentes productos, las
dimensiones del material bruto del producto, etc.

Resolver un problema de optimizacin consiste en encontrar el valor que
deben tomar las variables para hacer ptima la funcin objetivo satisfaciendo el
conjunto de restricciones.
Los mtodos de optimizacin los podemos clasificar en: mtodos clsicos (que
son los algoritmos que habitualmente se explican en los libros de optimizacin)
y mtodos metaheursticos (que aparecieron ligados a lo que se denomin
inteligencia artificial e imitan fenmenos sencillos observados en la naturaleza).
Dentro de los primeros se encuentra la optimizacin lineal, lineal entera mixta,
no lineal, estocstica, dinmica, etc. que se explican en el documento. En el
segundo grupo se incluyen los algoritmos evolutivos (genticos entre otros), el
mtodo del recocido simulado (simulated annealing), las bsquedas heursticas
6 12/02/2008
I OPTIMIZACIN
(mtodo tab, bsqueda aleatoria, avariciosa, etc.) o los sistemas multiagente.
De forma muy general y aproximada se puede decir que los mtodos clsicos
buscan y garantizan un ptimo local mientras que los mtodos metaheursticos
tienen mecanismos especficos para alcanzar un ptimo global aunque no
garantizan su alcance.
En la siguiente tabla se muestran las expresiones matemticas generales de
algunos tipos de problemas de optimizacin dentro de los mtodos clsicos. Los
problemas se distinguen por el carcter de las funciones que intervienen (lineales
o no lineales) y de las variables (reales/continuas o enteras/discretas).

Programacin lineal
(linear programming)
LP

min
0
, , ,
T
x
n n m n
c x
Ax b
x
x c A b


m

Programacin lineal entera mixta
(mixed integer programming)
MIP
min
, 0
, , ,
, ,
T T
x
n l n l
m n m l m
c x d y
Ax By b
x y
x y c d
A B b

+
+ =






Programacin cuadrtica
(quadratic programming)
QP
1
min
2
0
, ,
,
T T
x
n n m n
n n m
c x x Qx
Ax b
x
x c A
Q b

+
=






Programacin no lineal
(non linear programming)
NLP
min ( )
( ) 0
( ) 0
:
, :
x
n
n m
f x
g x
h x
l x u
f
g h
=





Existen decisiones que no pueden ser representadas de forma adecuada
mediante variables continuas. Por ejemplo, las decisiones de inversin son
variables discretas (por ejemplo, planificacin de la expansin de la generacin o
12/02/2008 7
I.1 OPTIMIZACIN
de la red, adquisicin de equipos singulares, contratacin de personas) o binarias
(como localizacin de plantas o almacenes). Los problemas lineales con variables
enteras se pueden clasificar en: programacin entera pura PIP (pure integer
programming) si todas las variables son enteras, programacin entera binaria
BIP (binary integer programming) si todas son binarias o programacin lineal
entera mixta MIP (mixed integer programming) si algunas son enteras o
binarias y el resto continuas.
Un caso particular, pero muy frecuente, de variables enteras son las variables
binarias (0/1), ya que permiten modelar condiciones de asignacin o condiciones
lgicas. Por otra parte, toda variable entera x se puede expresar como suma de
variables binarias , donde siendo una cota superior de ,
, y estando u comprendida en el intervalo .
i
y
0
2
N
i
i
i
x y
=
=

u x
0 x u
1
2 2
N N
u
+

Existen algunos tipos de problemas de optimizacin que alteran ligeramente
este esquema:




sistemas de ecuaciones lineales no lineales
No existe una funcin objetivo como tal. nicamente interesa encontrar una
solucin factible a un problema con un conjunto de restricciones.

optimizacin sin restricciones
Se trata de encontrar el conjunto de valores de las variables que determinan
el mnimo/mximo de una funcin. Algunas de las tcnicas que se vern en
programacin no lineal son para optimizacin sin restricciones.

optimizacin multiobjetivo
Existe ms de una funcin objetivo. El problema que se plantea es cmo
tratar varias funciones objetivo a la vez, teniendo en cuenta que el ptimo
para un objetivo no lo es para otro, son objetivos en conflicto entre s. sta
se enmarca dentro de lo que se conoce de forma ms general como decisin
multicriterio (multicriteria decision making MCDM).

La formulacin matemtica de algunos problemas de optimizacin especiales
por no incluir alguno de los componentes se presenta en la siguiente tabla.

Problema mixto complementario
(mixed complementarity problem)
MCP
( ) 0
:
n
n n
xF x
x
F
=



8 12/02/2008
I OPTIMIZACIN
Optimizacin no lineal sin restricciones
min ( )
:
x
n
f x
f

Ajuste no lineal mnimo cuadrtico
Programacin multiobjetivo
(multiobjective programming)
1
min( ( ),..., ( ))
0
, , ,
( ) :
k
x
n n m n
n
i
f x f x
Ax b
x
x c A b
f x



m


I.1.2. Referencias
Gass, S.L. and Harris, C.M. (eds.) (2001) Encyclopedia of Operations Research
and Management Science. Centennial Edition. Kluwer Academic Publishers.
Hillier, F.S., Lieberman, G.J. (2002) Investigacin de Operaciones. 7 edicin.
McGraw Hill.
Robinson R. (1999) Welcome to OR Territory OR/MS Today pp. 40-43
August.
Sarabia, A. (1996) La Investigacin Operativa. Universidad Pontificia Comillas.
Taha, H.A. (1998) Investigacin de operaciones. Una introduccin. Prentice
Hall.
Winston, W.L. (1994) Investigacin de Operaciones. Aplicaciones y Algoritmos.
Grupo Editorial Iberoamericana.
12/02/2008 9
I OPTIMIZACIN
I.2. Modelos de optimizacin
I.2.1. Modelo y modelado
Modelo. Esquema terico, generalmente en forma matemtica, de un sistema
o de una realidad compleja (por ejemplo, la evolucin econmica de un pas),
que se elabora para facilitar su comprensin y el estudio de su
comportamiento. DICCIONARIO DE LA LENGUA ESPAOLA. REAL
ACADEMIA ESPAOLA.

Un modelo es una representacin matemtica simplificada de una realidad
compleja. Modelar es la accin de construir un modelo, de encorsetar la
realidad. Implica la relacin entre dos figuras (no necesariamente encarnadas
por personas nicas sino por equipos): el modelador (encargado de la
especificacin y desarrollo del modelo) y el experto sobre la realidad (conocedor
del problema real). La mayora de las veces, el desarrollo de un modelo puede
involucrar a un equipo multidisciplinar compuesto por matemticos,
estadsticos, ingenieros, economistas, psiclogos, etc. que aportan diferentes
perspectivas y conocimiento en la representacin de la realidad. Un modelo debe
equilibrar la necesidad de contemplar todos los detalles con la factibilidad de
encontrar tcnicas de solucin adecuadas.
Un modelo es, en definitiva, una herramienta de ayuda a la toma de
decisiones. Por esta razn, sus resultados deben ser inteligibles y tiles. Modelar
se puede entender simultneamente como ciencia y como arte. Es una ciencia
pues se basa en un conjunto de procesos estructurados: anlisis y deteccin de
las relaciones entre los datos, establecimiento de suposiciones y aproximaciones
en la representacin de los problemas, desarrollo o uso de algoritmos especficos
de solucin. Es un arte porque materializa una visin o interpretacin de la
realidad no siempre de manera unvoca. Cada persona imprime su estilo en el
modelo mismo y en la especificacin, en el desarrollo y en la documentacin.
Caractersticas tales como elegancia o simplicidad pueden atribuirse a un
modelo. El desarrollo de un modelo es una creacin hecha con ayuda de ciencias
bsicas o herramientas de apoyo.
Entre los beneficios explcitos o implcitos, tanto para el modelador como
para el experto, derivados del proceso de modelado adems del modelo en s
mismo, se pueden mencionar:

Ayuda a establecer un dilogo con intercambio de informacin entre el
modelador y el experto
12/02/2008 11
I.2 MODELOS DE OPTIMIZACIN






Organiza los datos, la informacin disponible sobre el sistema
Organiza, estructura y mejora la comprensin del sistema
Internaliza la estructura organizativa de la empresa
Permite compartir supuestos y resultados entre el modelador y el experto
Proporciona un entorno gil para el anlisis y la sensibilidad
Indica la direccin de mejora en las decisiones

En este captulo se tratar exclusivamente de modelos de optimizacin, es
decir, aquellos donde existe un conjunto de variables de decisin que deben
maximizar/minimizar una funcin objetivo sometidas a un conjunto de
restricciones. Los modelos de programacin lineal son ms utilizados que todos
los otros tipos de optimizacin juntos y abarcan cualquier tipo de actividad
humana como micro y macroeconoma, finanzas, marketing, economa de la
energa, organizacin de la produccin, planificacin de la operacin, seleccin
de procesos, asignacin de tareas, ingeniera qumica, forestal, agrnoma,
comercio internacional, desarrollo econmico, etc. Como referencias generales de
modelado de problemas de optimizacin que se pueden utilizar en la enseanza
de pregrado o postgrado cabe citar a [Schrage, 1997] y [Williams, 1999].
I.2.2. Etapas en el desarrollo de un modelo
Las etapas que componen el ciclo de vida de un modelo son las siguientes:
Identificacin del problema
Consiste en la recoleccin y anlisis de la informacin relevante para el
problema, en el intercambio de informacin entre el modelador y el experto, en
establecer una relacin simbitica y una estrecha coordinacin entre ambos.
Los problemas reales suelen estar definidos en trminos vagos e imprecisos.
Se debe hacer la tarea de traduccin o interpretacin en frases precisas,
convertibles en ecuaciones matemticas. En esta etapa se establecen y
documentan los supuestos realizados que en etapas posteriores debern ser
validados.
Esta etapa es fundamental para que las soluciones proporcionadas, las
conclusiones obtenidas sean tiles, las decisiones adoptadas sean correctas. Los
datos suelen ser vitales para conseguir un realismo o aplicabilidad en las
soluciones. A menudo representan el cuello de botella del proceso de modelado.
Especificacin matemtica y formulacin
Escritura matemtica del problema de optimizacin, definiendo sus variables,
sus ecuaciones, su funcin objetivo, sus parmetros. En esta etapa se analiza el
tamao del problema, la estructura de la matriz de restricciones, su tipo (LP,
12 12/02/2008
I OPTIMIZACIN
MIP, NLP). Es una etapa de creacin donde se debe prestar especial atencin a
la precisin en la formulacin y a la escritura de las ecuaciones que describen el
problema.
En LP la eleccin de una formulacin de un problema, aunque importante,
no afecta de manera significativa la resolucin del mismo. Sin embargo, en NLP
o MIP la eleccin de la formulacin es crucial. Pueden existir diversas
alternativas de modelado que afectan de manera fundamental en la resolucin
del mismo, existiendo un desarrollo cada vez mayor en la reformulacin de
problemas. En problemas MIP la calidad de una formulacin se mide por la
cercana entre la envoltura convexa del poliedro de soluciones enteras factibles y
la del poliedro del problema MIP relajado linealmente. En el apartado I.6.5.2 se
explica en ms detalle algunas tcnicas de reformulacin de problemas MIP.
La caracterizacin de un problema LP segn su tamao resulta difcil y ha
sufrido un gran cambio desde los recientes desarrollos de algoritmos simplex
mejorados y, sobre todo, desde la aparicin de los mtodos de punto interior. En
la tabla 1.1 se propone una clasificacin de tipos de problemas LP segn su
tamao. Esta clasificacin debe ser tomada como gua o referencia relativa
actual pero tngase en cuenta que los tamaos relativos de los problemas
cambiarn conforme evolucionen los cdigos de optimizacin. Actualmente se
puede afirmar que los cdigos de optimizacin lineal implantan algoritmos muy
eficientes, son fiables y numricamente robustos y estn ampliamente
disponibles.

Restricciones Variables
Caso ejemplo 100 100
Tamao medio 10000 10000
Gran tamao 100000 100000
Muy gran tamao > 100000 > 100000

Tabla 1.1 Tipos de problemas LP segn su tamao.

En lo referente a MIP o NLP ni siquiera se pueden dar criterios generales de
tamao ya que la dificultad de resolucin no tiene por qu estar ligada al
tamao del problema, puede ser incluso preferible reformular un problema
aunque aumenten las dimensiones, para lograr una resolucin ms eficiente.
Resolucin
Se trata de implantar un algoritmo de obtencin de la solucin numrica
(muy prxima a la matemtica) ptima o cuasiptima. El algoritmo puede ser
de propsito general (mtodo simplex) o especfico. Puede haber diferentes
12/02/2008 13
I.2 MODELOS DE OPTIMIZACIN
mtodos de solucin de un problema o diferentes implantaciones de un mismo
mtodo. El tiempo de resolucin de un problema tambin puede depender
drsticamente de cmo est formulado.
La solucin ptima debe ser suficientemente satisfactoria, debe ser una gua
de actuacin para el experto.
Verificacin, validacin y refinamiento
Esta etapa conlleva la eliminacin de los errores en la codificacin, es decir,
conseguir que el modelo haga lo que se ha especificado matemticamente en la
etapa anterior mediante su escritura en un lenguaje informtico (depurar y
verificar). Es necesario comprobar la validez de las simplificaciones realizadas a
travs de los resultados obtenidos, incluso contrastando stos con situaciones
reales ya transcurridas (validar) o comprobando que los resultados son
coherentes con respecto a lo que sucedera en la realidad.
Esta etapa de verificacin, validacin y comprobacin da lugar a nuevas
necesidades de refinamiento en el modelado para mejorar la capacidad de
representacin del sistema. Por ejemplo, eliminar la linealidad y hacer el modelo
no lineal o hacer el modelo estocstico si la realidad lo fuera. Adems, tambin
se puede abordar el refinamiento matemtico en la formulacin del problema
para hacerla ms eficaz.
Interpretacin y anlisis de los resultados
Esta etapa consiste en proponer soluciones. Permite conocer en detalle el
comportamiento del modelo al hacer un anlisis de sensibilidad en los
parmetros de entrada, estudiar diferentes escenarios plausibles de los
parmetros, detectar soluciones alternativas cuasiptimas pero suficientemente
atractivas, comprobar la robustez de la solucin ptima.
Implantacin, documentacin y mantenimiento
sta es una etapa fundamental del desarrollo de un modelo para garantizar
su amplia difusin. La documentacin ha de ser clara, precisa y completa. El
manual de usuario debe incluir la especificacin tcnica funcional, matemtica e
informtica. El propio cdigo debe incluir una buena documentacin para
facilitar la tarea del mantenimiento. Pinsese que la mayor parte del ciclo de
vida de un modelo no est en el desarrollo sino en la fase de uso y
mantenimiento.
En esta etapa se incluye tambin la tarea de formacin para los usuarios del
modelo.
14 12/02/2008
I OPTIMIZACIN
I.2.3. Referencias
Schrage, L. (1997) Optimization Modeling with LINDO. Duxbury Press.
Williams, H.P. (1999) Model Building in Mathematical Programming. 4th
Edition. John Wiley and Sons.
12/02/2008 15
I OPTIMIZACIN
I.3. Formulacin de problemas de optimizacin
I.3.1. Modelos caractersticos de programacin lineal
A continuacin se presentan algunos problemas caractersticos de
programacin lineal y entera. stos se utilizan como referencia y clasificacin
para otros problemas. En particular, para los problemas enteros existen
numerosas referencias de investigacin dedicadas a la solucin de los mismos. A
pesar de la enorme atencin que se ha dedicado a su solucin su importancia
prctica es limitada.
Problema de la dieta
El problema por excelencia de programacin lineal es el de asignacin ptima
de recursos. Un caso particular de ste es el denominado problema de la dieta.
Consiste en determinar la composicin de la dieta de mnimo coste que satisface
las necesidades especficas de nutrientes. Pongamos un caso particular muy
sencillo de alimentacin de ganado bovino.
Aprovechamos este ejemplo para seguir paso a paso las etapas en el
desarrollo de un modelo.

En primer lugar hay que identificar el problema.
Se ha determinado que las necesidades mnimas diarias en la alimentacin de
una ternera son de 700 g de protenas, 28 g de calcio y 150 mg de vitaminas.
Los alimentos disponibles son pienso y forraje con un coste unitario de 0.30 y
0.35 /kg respectivamente. La composicin nutritiva por kg de alimento se
muestra en la siguiente tabla.

Protenas
(g)
Calcio
(g)
Vitaminas
(mg)
Pienso 30 2 10
Forraje 45 1 5

Se trata de determinar la cantidad diaria ptima de cada alimento para
minimizar el coste total de alimentacin.

A continuacin se especifica matemticamente y se formula el
problema.
12/02/2008 17
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Para ello analizamos y organizamos los datos del problema. Sean i los
alimentos disponibles (pienso y forraje) y sean los nutrientes (protenas,
calcio y vitaminas). Sea
j
j
b la cantidad mnima diaria requerida de cada
nutriente. Sea la cantidad de nutriente por kg de alimento
correspondiente a los valores de la tabla dada. Sea el coste unitario de
cada alimento. A continuacin definimos las variables. Sea la cantidad
diaria en kg de cada alimento . Adems indicamos la funcin objetivo y las
restricciones del problema. La funcin objetivo es la minimizacin del coste
diario de la dieta
ij
a
i
c
i
x
i
(1.1) min
i
i i
x
i
c x

Las restricciones corresponden a satisfacer con la mezcla de alimentos las


necesidades mnimas diarias de cada nutriente y, por consiguiente, habr
tantas restricciones de este tipo como nutrientes.

ij i j
i
a x b j

(1.2)
Adems hay que aadir la restriccin natural de que la cantidad de cada
alimento ha de ser no negativa.
0 (1.3)
i
x
Particularizando estas ecuaciones para los datos previos se obtiene.
1 2
1 2
,
1 2
1 2
1 2
1
2
min0.30 0.35
30 45 700
2 28
10 5 150
0
0
x x
x x
x x
x x
x x
x
x
+
+
+
+



Despus viene la resolucin.
Vamos a resolver grficamente el problema. Para ello se dibujan las
ecuaciones en forma de igualdad en el espacio de las variables y se indica la
regin factible del problema. Es decir, el conjunto de puntos que cumple
todas las restricciones. Se traza la recta de la funcin objetivo para un valor
cualquiera y se desplaza paralela a s misma en el sentido de minimizar dicho
valor hasta el ltimo punto de la regin factible. Dicho punto ser el ptimo
del problema.
18 12/02/2008
I OPTIMIZACIN




Las etapas de verificacin (comprobacin de que el modelo es correcto) y
validacin (comprobacin de que la realidad se representa adecuadamente)
son inmediatas en un modelo tan sencillo como ste.

Seguidamente se realiza la interpretacin y anlisis de los resultados.
Los resultados indican que la decisin ptima es comprar 10.833 kg de pienso
y 8.333 kg de forraje cada da. Con estas decisiones el coste diario de los
alimentos es de 6.1667 .
Al ganadero le ha llegado una oferta de otro fabricante de piensos a un
precio de 0.25 /kg pero con menor contenido en calcio, 1.5 g de calcio por
kg de pienso, y tiene inters en analizar si le interesa comprar o no a dicho
fabricante. Para ello planteamos este nuevo problema de optimizacin

La solucin ptima para este nuevo problema es comprar 14.933 kg de
pienso y 5.6 kg de forraje diariamente con un coste de 5.6933 . Luego, esta
oferta es atractiva econmicamente.

La etapa de implantacin, documentacin y mantenimiento se da por
satisfecha en este modelo sencillo con este apartado donde se explica el
modelo.
Problema de transporte
Se trata de minimizar el coste total de transporte de un cierto producto
desde los diferentes orgenes a los destinos, satisfaciendo la demanda de cada
destino sin superar la oferta disponible en cada origen (ver ejemplo en Error!
No se encuentra el origen de la referencia. Error! No se encuentra el origen de
la referencia.). Se supone que todos los m orgenes estn conectados con los
todos los n destinos. Sea la oferta de producto en el origen i ,
i
a
j
b la demanda
de producto en el destino y el coste unitario de transporte desde el origen
al destino .
j
ij
c
i j

1
1
a
2
a
m
a
1
b
2
b
n
b
2
m
1
2
n
1
1
a
2
a
m
a
1
b
2
b
n
b
1
1
a
2
a
m
a
1
b
2
b
n
b
2
m
1
2
n


12/02/2008 19
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
El problema de optimizacin consiste en determinar las unidades de
producto transportadas desde i hasta , , que minimizan los costes
de transporte sujeto a las restricciones de oferta disponible en cada origen i (m
restricciones de oferta) y demanda en cada destino (n restricciones de
demanda)
0
ij
x j , i j
j

1 1
1
1
min
1, ,
1, ,
0
ij
m n
ij ij
x
i j
n
ij i
j
m
ij j
i
ij
c x
x a i m
x b j n
x
= =
=
=
= =
= =

(1.4)
Implcitamente en esta formulacin, se supone que la oferta del producto es
igual a la demanda del mismo . Si se aade
un sumidero universal con coste nulo. Si se aade una fuente
universal conectada con todos los destinos con coste muy elevado.
1 1
m n
i j
i j
a b
= =
=

1 1
m n
i
i j
a
=
>
j
b
=
j
b
1 1
m n
i
i j
a
= =
<

La estructura que presenta la matriz de restricciones del problema tiene el
siguiente aspecto.


11
x
12
x
1n
x
21
x
22
x
2n
x
1 m
x
2 m
x
mn
x
1 1 1

1
2 1 1

1




m
1 1

1
1 1 1

1
2 1 1

1










n
1 1

1

Si tanto las ofertas como las demandas de los productos
i
a
j
b son nmeros
enteros, entonces el valor ptimo de es entero por ser la matriz totalmente
unimodular
ij
x
3
, por lo que no se necesita recurrir a mtodos especficos de
resolucin de problemas de programacin entera.

3
Una matriz es totalmente unimodular si toda submatriz cuadrada tiene determinante 0, 1
1. Si la matriz de un problema lineal es totalmente unimodular y las cotas de las restricciones
son enteras, entonces todos los puntos extremos del poliedro tienen coordenadas enteras (se
denomina politopo entero).
20 12/02/2008
I OPTIMIZACIN
Problema de transbordo
Consiste en determinar en una red con n nodos las cantidades ptimas para
llevar unidades de un producto desde sus orgenes a sus destinos pasando por
puntos de transbordo intermedios.
Cada origen genera unidades, cada destino consume unidades
y cada transbordo ni genera ni consume unidades . El coste unitario de
transporte desde el origen i hasta el destino en dicho sentido es .
0
i
b > 0
i
b <
0
i
b =
j
ij
c
Hay que determinar las unidades de producto transportadas desde i a ,
, , que minimizan los costes de transporte teniendo en cuenta la
restriccin de balance o conservacin del flujo en cada nudo i .
j
0
ij
x , i j

1 1
1 1
min
1, ,
0
ij
n n
ij ij
x
i j
n n
ij ki i
j k
ij
c x
x x b i
x
= =
= =
= =


n
ro caso
ij
i j

n
n
(1.5)
Implcitamente en esta formulacin, se supone que la oferta es igual a la
demanda del producto, es decir, .
1
0
n
i
i
b
=
=

Esta matriz tambin es totalmente unimodular por lo que el problema


tambin puede ser resuelto mediante programacin lineal.
Problema de asignacin
Se trata de asignar la realizacin de n tareas a n personas (mquinas, etc.).
Este problema es un caso particular del problema de transporte. Por
consiguiente las variables toman valores enteros sin exigir esta condicin en la
formulacin del problema.
Consiste en minimizar el coste total de realizar las tareas sabiendo que cada
tarea debe ser hecha por una sola persona y cada persona debe realizar una
nica tarea, siendo el coste de realizar la tarea i por la persona . Las
variables del problema son x , .
i j
ij
c j
si se asigna la tarea a la persona 1
0 en cualquier ot
, i j
(1.6)
1 1
1
1
min
1 1, ,
1 1, ,
0
ij
n n
ij ij
x
i j
n
ij
j
n
ij
i
ij
c x
x i
x j
x
= =
=
=
= =
= =

12/02/2008 21
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
I.3.2. Modelos caractersticos de programacin entera
Los problemas de programacin entera surgen en numerosos mbitos de
decisin.

Por ejemplo, cuando se necesita representar nmero entero de productos o
unidades enteras o indivisibles de recursos (aviones, personas, mquinas,
etc.).
Tambin cuando se quieren imponer restricciones lgicas (si se fabrica el
producto A tambin debe fabricarse el B y el C).
Otro tercer mbito son los denominados problemas combinatoriales, como
por ejemplo los de secuenciacin de tareas en mquinas, equilibrado de lneas
de produccin, asignacin de tripulaciones, localizacin de almacenes o
factoras, programacin temporal de actividades.
As mismo surgen cuando hay funciones de naturaleza no lineal, como las de
coste fijo o no convexas en general.
Por ltimo, tambin aparecen problemas enteros en teora de grafos, por
ejemplo el problema del tetracoloreado de un mapa.

En este apartado se presentan algunas tcnicas de modelado que facilitan la
formulacin de problemas de optimizacin con variables enteras. No existe una
manera sistemtica de formular este tipo de problemas y plantear un buen
modelado es, a menudo, un arte. Por esta razn, el mtodo de aprendizaje se
basa en la realizacin de ejemplos que muestren las posibles formulaciones de
problemas caractersticos que aparecen con ms frecuencia de lo que podra
aparecer por su nombre. Algunos de los mencionados anteriormente se describen
en este apartado y otro aparecen como problemas al final del captulo.
En los problemas que siguen, la envoltura convexa definida para el conjunto
de soluciones ya no tiene soluciones enteras en los vrtices como suceda en los
del apartado anterior, por lo que para su resolucin hay que acudir a
procedimientos especficos de programacin entera que se exponen en el
apartado I.6.
Problema de la mochila (knapsack)
Se trata de maximizar el valor total de la eleccin de un conjunto de n
proyectos sin sobrepasar el presupuesto b disponible, siendo
j
v y
j
c el valor y
coste de cada proyecto respectivamente. El nombre procede de la decisin que
toma un montaero que trata de maximizar el valor de lo que introduce en su
mochila con una restriccin de mximo peso admisible. Las variables del
j
22 12/02/2008
I OPTIMIZACIN
problema son . sta es una utilizacin habitual
de las variables binarias como forma de seleccionar una alternativa, un proyecto
en este caso. La formulacin del problema es la siguiente
si se elije el proyecto 1
0 en cualquier otro caso
j
j
x


{ }
1
1
max
0,1
j
n
j j
x
j
n
j j
j
j
v x
c x b
x
=
=

(1.7)
Problema de recubrimiento (set covering)
Existen caractersticas y n combinaciones (subconjuntos) de dichas
caractersticas. La eleccin de una combinacin implica realizar todas las
caractersticas de la misma. Se trata de minimizar el coste total de las
combinaciones elegidas de manera que se cubra o posea cada caracterstica i al
menos una vez. Los datos son
m
j
c el coste de elegir la combinacin y la matriz
de pertenencia de cada caracterstica i a cada combinacin ,
. Denominamos las variables
. El problema se formula de la siguiente
manera
j
j
si pertenece a 1
0 si no pertenece
ij
i j
a

si se elige la combinacin 1
0 en cualquier otro caso
j
j
x

(1.8)
{ }
1
1
min
1 1, ,
0,1
j
n
j j
x
j
n
ij j
j
j
c x
a x i m
x
=
=
=


En la siguiente figura se representa grficamente el problema de
recubrimiento as como los de empaquetado y particin que se explican a
continuacin.

12/02/2008 23
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN


Figura 1.1 Representacin grfica de un recubrimiento, una particin y un
empaquetado, respectivamente.

Veamos a continuacin un ejemplo de recubrimiento: asignacin de
tripulaciones, tomado de [Hillier y Lieberman, 2002]. Una compaa area
necesita asignar sus tripulaciones para cubrir todos sus vuelos. En particular,
quiere resolver el problema de asignar tres tripulaciones con base en San
Francisco a los vuelos listados en la primera columna de la tabla. Las otras
columnas muestran las 12 secuencias factibles de vuelos para una tripulacin
cualesquiera. Los nmeros de cada columna indican el orden de los vuelos. Se
necesita elegir tres secuencias (una por tripulacin) de manera que se cubran
todos los vuelos. Se permite tener ms de una tripulacin en un vuelo, donde
la/s tripulacin/es extra viajan como pasajeros, pero por convenio laboral la
tripulacin extra cobra como si estuviera trabajando. El coste de asignacin de
una tripulacin a cada secuencia de vuelos se da en millones de euros en la
ltima fila. El objetivo es minimizar el coste total de asignacin de las tres
tripulaciones para cubrir todos los vuelos. Resolver el mismo problema para el
caso en que no se permite el vuelo de una tripulacin fuera de servicio en un
vuelo.

Secuencias factibles
1 2 3 4 5 6 7 8 9 10 11 12
SF LA 1 1 1 1
SF Denver 1 1 1 1
SF Seattle 1 1 1 1
LA Chicago 2 2 3 2 3
LA SF 2 3 5 5
Chicago Denver 3 3 4
Chicago Seattle 3 3 3 3 4
Denver SF 2 4 4 5
Denver Chicago 2 2 2
Seattle SF 2 4 4 5
Seattle LA 2 2 4 4 2
24 12/02/2008
I OPTIMIZACIN
Coste (M) 2 3 4 6 7 5 7 8 9 9 8 9

Se definen las variables del problema como
,
1 si se asigna la secuencia
0 en cualquier otro caso
j
j
x

{ } 0,1
j
x 1, ,12 j =
La funcin objetivo ser
1 2 3 4 5 6 7 8 9 10 11
min2 3 4 6 7 5 7 8 9 9 8 9 x x x x x x x x x x x x + + + + + + + + + + +
12

Cobertura de cada vuelo al menos una vez
1 4 7 10
2 5 8 11
3 6 9 12
1 (SF-LA)
1 (SF-Denver)
1 (SF-Seatlle)
x x x x
x x x x
x x x x
+ + +
+ + +
+ + +


Asignacin de las tres tripulaciones
12
1
3
j
j
x
=
=


Las soluciones ptimas son y el resto 0
y el resto 0, ambas con coste 18 millones de .
3 4 11
1 x x x = = =
1 5 12
1 x x x = = =
Si no se permite que una tripulacin fuera de servicio vuele en un avin las
restricciones de cobertura de mayor o igual pasan a ser de igualdad. Luego, se
trata de un problema de particin, cuya formulacin se ver a continuacin.
Problema de empaquetado (set packing)
Se tienen que realizar m proyectos divididos en n paquetes. La eleccin de
un paquete implica realizar todos los proyectos del mismo. Se trata de
maximizar el beneficio total de manera que cada proyecto i del conjunto de
todos los paquetes que lo incluyen no pueda ser elegido ms de una vez.
j
c es el
beneficio de elegir el paquete , la matriz de pertenencia de cada proyecto i a
cada paquete es . Las variables del problema son
. La formulacin del problema es la siguiente
j
j
si pertenece a 1
0 si no pertenece
ij
i j
a

si se elige el paquete 1
0 en cualquier otro caso
j
j
x

12/02/2008 25
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
(1.9)
{ }
1
1
max
1 1, ,
0,1
j
n
j j
x
j
n
ij j
j
j
c x
a x i m
x
=
=
=


Problema de particin (set partitioning)
La formulacin es similar al problema anterior pero en este caso exactamente
una caracterstica (proyecto) del conjunto de combinaciones (paquetes) que la
contienen debe ser elegida.
(1.10)
{ }
1
1
max
1 1, ,
0,1
j
n
j j
x
j
n
ij j
j
j
c x
a x i m
x
=
=
= =


Problema del viajante de comercio (Traveling Salesman Problem TSP)
El problema consiste en hacer un recorrido que pase por n ciudades sin
repetir ninguna y volviendo a la ciudad de partida de manera que la distancia (o
tiempo o coste) total sea mnima. Es un problema de asignacin pero con la
condicin de que la asignacin sea un ciclo. Es uno de los problemas ms
importantes en la historia de la programacin matemtica por todas las
investigaciones a las que ha dado lugar y por todas las aplicaciones que tiene,
tanto directamente o apareciendo como subproblema dentro de otros ms
complejos. En una noticia de OR/MS Today (publicada por el Institute of
Operations Research and the Management Sciences (INFORMS)) de junio de
2004, mencionaba que se haba conseguido resolver un problema del viajante con
24978 ciudades. Los problemas de enrutamiento de vehculos (expedicin o
recogida de mercancas) pueden ser formulados de esta manera.
Una de las caractersticas ms interesantes de este problema es que existen
muchas formulaciones conocidas para el mismo, ver [Williams, 1999] y
[Nemhauser, 1999]. Dos de ellas se presentan a continuacin, una tercera se
presenta en el apartado I.4.2.4 y se formulan en GAMS. Sea la distancia
entre las ciudades i y .
ij
c
j

Formulacin 1 (clsica): Se definen las variables
26 12/02/2008
I OPTIMIZACIN
1 si se va de la ciudad a la ciudad
0 en otro caso
ij
i j
x


La formulacin del problema es:
(1.11)
{ }
{ }
,
,
min
1
1
card( ) 1 1, , , 2 card( ) 2
0,1
ij
ij ij
x
i j
ij
i
ij
j
ij
i j U
ij
c x
x j
x i
x U U n U n
x

=
=


La primera restriccin indica que a una ciudad slo se puede llegar una
vez desde cualquier ciudad . La segunda dice que desde una ciudad slo se
puede salir una vez a cualquier otra ciudad .
j
i i
j
Con esta formulacin el problema se resuelve iterativamente. Primero se
ignora el tercer tipo de restricciones. Se analiza la solucin y se determina si
contiene subciclos. En tal caso, se introducen restricciones para evitar subciclos
de longitud U con la estructura del tercer bloque y se resuelve de nuevo el
problema. Estos dos ltimos pasos se repiten hasta encontrar la solucin ptima.
El nmero de restricciones del tercer tipo crece exponencialmente ya que el
nmero de subciclos de longitud U es y siempre que aparece
un subciclo de longitud U aparece otro de longitud n . Por esta razn, su
adicin en la formulacin se hace especficamente para los subciclos que van
apareciendo y, usualmente, se necesita aadir solamente una pequea fraccin
de las mismas.
,
card( )
m n
n
C
U



=




U

Formulacin 2: Se definen las variables
1
si se va de la ciudad a la ciudad en la etapa de recorrido
en otro caso 0
ijk
i j k
x


El problema queda
12/02/2008 27
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
28 12/02/2008

{ }
, ,
,
,
,
1
min
1
1
1
,
0,1
ijk
ij ijk
x
i j k
ijk
j k
ijk
i k
ijk
i j
ijk jrk
i r
ijk
c x
x i
x j
x k
x x
x
+
=
=
=
=


j k
(1.12)
La primera restriccin indica que desde una ciudad i slo se puede salir una
vez a cualquier otra ciudad en cualquier etapa k . La segunda dice que a una
ciudad slo se puede llegar una vez desde cualquier ciudad i en cualquier
etapa . La tercera muestra que en la etapa k slo se puede ir una vez de una
ciudad cualquiera i a otra cualquiera . La ltima indica que si en la etapa k
estamos en la ciudad habiendo venido de otra ciudad cualquiera i , en la
siguiente etapa k saldremos de la ciudad a otra ciudad cualquiera r . Esta
ltima restriccin es necesaria para establecer la continuidad espacial entre
etapas sucesivas.
j
j
k
j
j
1 + j
La pregunta que cabe plantearse, es cul de las dos formulaciones es mejor.
En este caso, las formulaciones desde un aspecto terico no son comparables,
aunque en la prctica resulta preferible la primera ya que tiene menos variables
(la primera tiene del orden de n y la segunda n ), aunque tiene muchas ms
restricciones.
2 3
Las comparaciones tericas de distintas formulaciones se presentan ms
adelante, dentro de lo que se denomina reformulacin de problemas en
programacin lineal entera.
Problema de coste fijo
Los problemas de coste fijo aparecen cuando el coste de una variable tiene
un trmino fijo con valor diferente de 0 si la variable toma un valor
estrictamente positivo. Es una funcin no lineal y discontinua.



0 0
( )
0
j
j j
j j j j
x
f x
k c x x
=

=

+ >



k
j
x
j
c
f
j
j
I OPTIMIZACIN


Este coste se puede modelar con ayuda de una variable binaria auxiliar
{ } 0,1
j
y definida como , que indica la realizacin de la
actividad
1 0
0 0
j
j
j
x
y
x
>

=

=

j
x . Introduciendo la condicin
j j
x My , , siendo una
constante, cota superior de
1, , j = n M
j
x , cuyo valor depender del problema, se distingue
entre no realizar la actividad y realizarla al menos infinitesimalmente. El valor
de la constante M debe ser el menor posible ya que esto es computacionalmente
beneficioso. El problema lineal entero se formula como sigue
( )
{ }
,
1 1
min ( )
0
0,1
j j
n n
j j j j
x y
j j
j j
j
j
f x k y c x
x My
x
y
= =
= +

j j

I.3.3. Modelado de restricciones con variables binarias
I.3.3.1. Modelado de algunas restricciones especiales
Supongamos que necesitamos considerar en un problema la condicin de que
si se produce el producto A tambin se debe producir el producto B. La
condicin de produccin de un producto la representamos por la restriccin
. Entonces, la implicacin es
j
1
j
x
1 1
A B
x x
Esta condicin no se puede introducir directamente en un problema lineal
porque hace que la estructura del problema (el que se considere o no una
restriccin ms ) depende de que se cumpla otra ( ) y esto slo se
conoce una vez que se ha determinado la solucin ptima. Un problema de
optimizacin no se puede redefinir endgenamente, es decir, en funcin de los
propios valores que toman las variables del problema.
1
B
x 1
A
x
En este apartado se van a modelar en un problema de optimizacin algunas
condiciones especiales (las restricciones lgicas entre ellas) que requieren el uso
de variables binarias para detectar o forzar el cumplimiento de restricciones.
12/02/2008 29
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Disyunciones
Las disyunciones implican una pareja de restricciones donde slo una
(cualquiera de las dos) debe satisfacerse, mientras que la otra no es necesario
que se cumpla. Debe cumplirse una al menos pero no necesariamente las dos.
( ) 0 f x ( ) 0 g x
Supongamos el ejemplo de esta disyuncin
1 2
3 2 18 x x + 0 0
0
M
0 se relaja la ecuaci
y

)

1 2
4 16 x x +
Veamos cmo estas restricciones se pueden incorporar en un problema de
optimizacin. Aadir una constante de valor elevado M a una restriccin es
equivalente a eliminar (relajar) dicha restriccin (se supone que las variables son
positivas en estas restricciones), dado que los coeficientes de las variables son
tambin positivos.
1 2
1 2
3 2 18
4 16
x x
x x
+
+

1 2
1 2
3 2 18
4 16 0
x x M
x x
+
+
Se define la variable binaria auxiliar y que selecciona la ecuacin
correspondiente, . Luego las restricciones
disyuntivas se modelan en un problema de optimizacin como
1 se relaja la ecuacin 1
n 2
1 2
1 2
3 2 18
4 16 (1
x x My
x x M y
+
+

Si se relaja la restriccin 1 pero se obliga a cumplir la 2 y viceversa
para .
1 y =
0 y =
Algunas implicaciones son un caso semejante a las restricciones disyuntivas
( ) 0 f x > ( ) 0 g x
es equivalente a
( ) 0 f x ( ) 0 g x
ya que P es equivalente a (No P ) Q . Q
Cumplir k de N ecuaciones
Se tiene un conjunto de N ecuaciones de las cuales se han de satisfacer al
menos , siendo k . Las disyunciones son un caso particular de ste para
y .
k N <
1 k = 2 N =
Sea el conjunto de N ecuaciones
30 12/02/2008
I OPTIMIZACIN
1 1
2 1
1
( , , ) 0
( , , ) 0
( , , ) 0
n
n
N n
f x x
f x x
f x x


aadiendo una constante M y una variable binaria para cada ecuacin
tenemos
i
y
1 1 1
2 1 2
1
( , , )
( , , )
( , , )
n
n
N n
f x x My
f x x My
f x x My

N
k
i
N

donde adems se impone la condicin de seleccionar solamente k ecuaciones.
1
N
i
i
y N
=
=


{ } 0,1
i
y 1, , i N =
Seleccionar entre N valores
Sea una funcin con mltiples posibles valores y se desea elegir uno de ellos.
1
2
1
( , , )
n
N
d
d
f x x
d


La manera de modelarlo es introduciendo una variable binaria auxiliar
por cada valor y la condicin de eleccin nica.
i
y
{ }
1
1
1
( , , )
1
0,1 1, ,
N
n i
i
N
i
i
i
f x x d y
y
y i
=
=
=
=
=


I.3.3.2. Modelado de implicaciones lgicas
Las variables binarias se utilizan para indicar que el cumplimiento de una
restriccin implica el cumplimiento de otra.
12/02/2008 31
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Implicaciones sencillas
Retomemos el ejemplo de la restriccin que apareca en el problema de coste
fijo
x M
siendo una cota superior positiva de x (por ejemplo, 10 M
6
), y
la variable binaria. Por claridad en la explicacin en este apartado se utiliza la
letra griega para denominar a la variable binaria auxiliar.
m x M
Si la restriccin no obliga a nada ya que x se cumple por
definicin. Si entonces . Luego esta restriccin permite modelar la
implicacin
1 = M
0 = 0 x
0 0 x = (si entonces se cumple que ) 0 = 0 x
Por otra parte, si entonces . Si la restriccin no obliga a
nada.
0 x > 1 = 0 x
0 1 x > = (si entonces se cumple que ) 0 x > 1 =
Ambas son implicaciones equivalentes puesto que P es equivalente a
. Luego, la restriccin lineal nos permite representar
dichas implicaciones en un problema lineal.
Q
No No Q P x M
De forma anloga veamos la restriccin
x m
siendo una cota inferior negativa de x (por ejemplo, 10 m
6
), m x y
la variable binaria.
M
Si la restriccin no obliga a nada ya que se cumple por
definicin. Si entonces . Luego esta restriccin permite modelar la
implicacin
1 = x m
0 = 0 x
0 0 x = (si entonces se cumple que ) 0 = 0 x
Por otra parte, si entonces . Si la restriccin no obliga a
nada.
0 x < 1 = 0 x
0 1 x < = (si entonces se cumple que ) 0 x < 1 =
Nuevamente ambas son implicaciones equivalentes puesto que P es
equivalente a No .
Q
No Q P
En resumen, hasta ahora hemos visto la representacin en un problema
lineal de las siguientes implicaciones
32 12/02/2008
I OPTIMIZACIN
0 0
0 1
x
x M
x

> =


0 0
0 1
x
x m
x

< =


A continuacin, vamos a generalizar la representacin de implicaciones para
cualquier tipo de restriccin genrica.
Implicaciones de una restriccin
La implicacin
1
j j
j
a x b =


es equivalente a
(1 )
j j
j
a x b M +


siendo una cota superior de la restriccin para cualquier valor de cualquier M
j
x , . Efectivamente de manera directa se deduce que si
se impone la restriccin original y si no implica nada (se relaja la
restriccin original). Anlogamente al caso anterior esta restriccin tambin
representa la implicacin
j j
j
a x b M

1 =
0 =
0
j j
j
a x b > =


La implicacin
1
j j
j
a x b =


se puede transformar en o bien en
que es equivalente a
0
j j
j
a x b = >

0
j j
j
a x b = +


( )
j j
j
a x b m + +


siendo una cota inferior de la restriccin para cualquier valor de cualquier m
j
x , .
j j
j
a x b m

Implicaciones de una restriccin


De manera simtrica se pueden representar las implicaciones con
restricciones de tipo mayor o igual.

12/02/2008 33
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
La implicacin
1
j j
j
a x b =


es
j j
equivalente a
(1 )
j
a x b m +


ta inferior de la restriccin para cualquier valor de cualquier siendo m una co
j
x , b m

. Efectivamente de manera di uce que si


se impone la restriccin original y si no implica nada (se relaja la
re senta la implica
j j
j
a x recta se ded 1 =
0 =
restriccin original). Anlogamente al caso anterior esta restriccin tambin
pre cin
0
j j
j
a x b < =


La implicacin
1
j j
j
a x b =


se puede transformar en o bien en
que es equivalente a
0
j j
j
a x b = <

0
j j
j
a x b =

( )
j j
j
a x b

para cualquier valor de cualquier


M + +
siendo una cota superior de la restriccin M
j
x , .
Implicaciones de una restriccin
ecuaciones de tipo mayor o igual y menor o igual simultneamente.
j j
j
a x b M

=
Para deducir las implicaciones de restricciones igualdad se transforman en
La implicacin
1
j j
j
a x b = =


es
Luego se representa por las ecuaciones
equivalente a
1
1
j j
j
j j
j
a x b
a x b

=
=


34 12/02/2008
I OPTIMIZACIN
(1 )
(1 )
j j
j
j j
j
a x b M
a x b m

+
+


Efectivamente para 1 = se cumplen 0 = ambas restricciones y para
ambas se relajan.
La implicacin
1
j j
j
a x b = =


es u
j
j j
j
b
a x b

y adems =

el cumplimiento de ambas.
Implicaciones dobles
Para formular implicaciones dobles stas se desdoblan en las implicaciones
na combinacin de los casos anteriores simultneamente
j
j
a x

1
1
1 y 1 1

= =
que se modela con las restricciones
( )
( )
j j
j
j j
j
a x b m
a x b M

+ +

+ +


y la restriccin adicional que indica
1

+
unidireccionales correspondientes.
1
j j
j
a x b =

es equivalente a
a x b
a x b


estricciones.
Como resumen se presentan en la siguiente tabla todas las implicaciones
lgicas de cumplimiento de cualquier tipo de restriccin y su variable binaria
asociada y su equivalencia en restricciones lineales.

1
1
j j
j
j j
j

y lo mismo para los otros tipos de r


1
j j
j
a x b =


j j
j
a x b

(1 ) M +
1
j j
j
a x b =

( )
j j
j
a x b m + +


12/02/2008 35
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
1
j j
j
a x b =

(1 )
j j
j
a x b m +


1
j j
j
a x b =

( )
j j
j
a x b

M + +
1
j j
j
a x b = =

(1 )
(1 )
j j
j
j j
j
a x b M
a x b m

+
+


1
j j
j
a x b = =

( )
( )
1
j j
j
j j
j
a x b m
a x b M


+ +
+ +

+



1
j j
j
a x b =

(1 )
( )
j j
j
j j
j
a x b M
a x b m


+
+ +

1
j j
j
a x b =

(1 )
( )
j j
j
j j
j
a x b m
a x b M


+
+ +

1
j j
j
a x b = =

(1 )
(1 )
( )
( )
1
j j
j
j j
j
j j
j
j j
j
a x b M
a x b m
a x b m
a x b M




+
+

+ +
+ +

+




donde y son la menor constante superior y la mayor constante inferior de
la restric cumplen y para cualquier
valor de cualquier
M m
cin que
j j
j
a x b M
j j
j
a x b m

j
x . es una constante de valor muy pequeo, que en el caso
de restricciones con todas las variables binarias ser siempre 1.
I.3.3.3. Modelado de proposiciones condicionales y/o compuestas
Hasta ahora se han modelado disyunciones entre restricciones o implicaciones
tonces , o la doble implicacin. Se puede
necesitar el modelado de proposiciones condicionales y/o compuestas ms
complejas que las simples implicaciones o disyunciones anteriores. Por ejemplo,

del tipo si 1 entonces se debe verificar tal restriccin o viceversa, si se


verifica esta restriccin en
=
1 =
36 12/02/2008
I OPTIMIZACIN
si se fabrica el producto A o B (o ambos) entonces debe fabricarse tambin al
menos uno de los productos C, D o E. Este tipo de restricciones tambin se
modela con la ayuda de variables binarias.

alg
en
Antes de entrar en el modelado de estas restricciones conviene recordar
unas operaciones lgicas que pueden utilizarse para transformar las
proposiciones otras cuyo modelado pueda resultar ms sencillo. Aqu se
muestra una tabla de equivalencias.

P Q no P o Q
P (Q y R) (P Q) y (P R)
P (Q o R) (P Q) o (P R)
(P y Q) R (P R) o (Q R)
(P o Q) R (P R) y (Q R)
no (P o Q) no P y no Q
no (P y Q) no P o no Q

Existen algunas proposiciones condicionales y/o compuestas que se
transforman de mane lla en s, mediante el uso de variables
binarias. Si denom l la restriccin y
0 si no se cump
i


su cumplimiento, esta e.


ra senci restriccione
inamos
i
X a cumplimiento de i
1 si se cumple la restriccin i
le
a la variable binaria auxiliar indicadora de
tabla se puede interpretar fcilment
1
X o X
2 1 2
1 +
1 2 1 2
X y , X 1 = 1 =
no
1
X
1
0 =
1 2
X X
1 2
0
1 2
X X 0
1 2
=

La primera fila dice que se debe cumplir la
debe tomar valor
1 y la forma de expresarlo con una ecuacin lineal es . Adems tiene
que haber una restriccin que diga que si se satisfa in entonces
, 1 . Esa condicin ha su ido y a el problema de coste
fijo y su modelado como restriccin lineal es Ya se ha visto en el
apartado anterior la manera generalizada de obtener las restricciones lineales
asociadas a las implicaciones de cumplimiento de una restriccin de cualquier
tipo y su variable binaria asociada.
restriccin 1 o la 2 (o ambas),
luego efectivamente al menos una de las dos variables
1
y
2
1 2
1 +
ce la restricc i
1
i
= 0
i i
x > = rg a par
i i
x M .
12/02/2008 37
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Volviendo al ejemplo anterior. Si
i
X representa la fabricacin del producto i
(por ejemplo, controlado mediante el consumo de ener una mquina por
encima de un cierto umbral) y
i
la variable binaria d iento de dicha
condicin de fabricacin, la implicacin lgica
( o ) ( o
A B C D
X X X X
se puede representar como
1
A B
+
ga en
e cumplim
E
X
1 + +
1
inaria auxiliar indicadora del cumplimiento de la
primera restriccin.
Aplicando este procedimiento al ejemplo anterior, la plicacin
ya que y y
equivale a
siendo .

ente, plicacin original


)
A B C D E
X X X
haber nsformado en sta
E
y
E
y el conjunto de restricciones resultantes habra sido
o )
C D E
Para poder modelar estas implicaciones lgicas, por complejas que sean, de
manera automtica la implicacin se separa en dos bloques
1
A B
+ =
1 1
C D E
= + +
donde es la variable b
im
1 1
A B
+ = equivale a 2
A B
+
1 = 1 M =
1 1
C D E
= + +
C D E
+ +
1 m =
Luego las restricciones lineales a introducir en el problema de optimizacin
son
2 +

A B
C D E
+

Alternativam la im
( o o X X ( o )
se poda tra
[ ] ( o o )
A C D
X X X X [ ] ( o o )
B C D
X X X X
38 12/02/2008
I OPTIMIZACIN
0
0
A
B

C D E

+ +


A
B
Para esta implicacin se han encontrado tres formulaciones
matemticamente equivalentes.
un ejemplo donde aparecen este tipo de
implicaciones. Un entrenador de baloncesto tiene 9 jugadores, a los que ha
evaluado de 1 a 3 de acuerdo con su manejo de pelota, tiro, rebote y defensa,
segn se indica en la tabla adjunta.
que tambin es equivalente a
C D E
C D E


+ +

+ +


Veamos a continuacin

Jugador Posiciones Manejo de pelota Tiro Rebote Defensa
1 Pivot 2 1 3 3
2 Base 3 3 1 2
3 Pivot, Alero 2 3 2 2
4 Alero, Base 1 3 3 1
5 Pivot, Alero 1 3 1 2
6 Alero, Base 3 1 2 3
7 Piv ro ot, Ale 3 2 2 1
8 Pivot 2 1 3 2
9 Alero 3 3 1 3

El equ tit dores de tener la m ma capacidad defensiva y
satisfacer las sigu iones:

Por los menos dos jugadores deben estar en disposicin de actuar de pivot, al
menos dos de alero y por lo menos uno de base.
u nivel medio, tanto en el manejo de pelota como de tiro y rebote, debe ser
jugador 6 no puede estar en pista.
i el jugador 1 est en el equipo titular, tambin deber estar el 4 el 5,

ipo ular de 5 juga be xi
ientes condic
S
no inferior a 2.
Si juega el jugador 3, entonces el
S
pero en este caso no los dos a la vez. Si el jugador 1 no est en el equipo
titular, 4 y 5 pueden hacerlo, si interesa.
El jugador 8 el 9, pero no los dos a la vez, deben formar parte del equipo.

12/02/2008 39
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Formular un programa lineal que facilite la seleccin del equipo titular.
st

Estas ltimas variables definidas slo para los jugadores con capacidad para
jugar en varias posiciones.

Maximizacin de la capacidad defensiva
9
x
en cada posicin
5 6 7 9
2 4 6
2
2
1
p p p
a a a
b b
x x x x x
x x x x
x x x
+ + + +
+ + +
+ +

Niveles medios mnimos
0
10
Incompatibilidad entre dos jugadores
equivale a
que, como disyuncin, se modela con las restricciones
1
x y
y


o bien, modelando directamente la con la restriccin siguiente

En primer lugar se definen las variables de decisin que se van a utilizar.
as son
1 si se incluye el jugador en el equipo j

0 en otro caso
j

x 1, , 9 j =
1 si se incluye el jugador en posicin
jk
j k
x

= 1, , 9 j = , , , k p a b =
0 en otro caso
1 2 3 4 5 6 7 8
max 3 2 2 2 3 2 3 x x x x x x x x + + + + + + + +
Seleccin de cinco jugadores
1 2 3 4 5 6 7 8 9
5 x x x x x x x x x + + + + + + + + =
Seleccin de nmero mnimo de jugadores
1 3 5 7 8
3 4 a a
x x + +
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2 3 2 3 3 2 3 1
3 3 3 3 2 3 10
3 2 3 2 2 3
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
+ + + + + + + +
+ + + + + + + +
+ + + + + + + +

3 6
1 0 x x = =
3 6
0 0 x x
3 1
6
1 x

implicacin,
3 6
1 x x +
40 12/02/2008
I OPTIMIZACIN
La formulacin con las dos ecuaciones
x y

es ms fuerte (mejor) que


la de una nica ecuacin , porque la regin factible del problema
relajado es menor para el primer caso que para el segundo. En el apartado
para
conseguir soluciones ms fuertes.
Afinidad entre jugadores
0 (x
dela con la
)
x y
x x y

+

o bien, modelando direct cin, con la restriccin siguiente
x x x


Al menos un jugador de entre varios
5
6 6 6
7 7 7
0
0
0
0
0
p a
a b
a b
p a
x x x
x x x
x
x x x
x x x
+ =
+ =
=
+ =
+

1
La solucin resulta ser y el resto 0 y la defensa
total del equipo es 11.
I.3.3.4. Modelado de productos con variables binarias
Las variables binarias tambin se pueden utilizar para eliminar algunos
productos de variables que convertiran el problema en no lineal pero que con
3 1
x y

6 1
1
3 6
1 x x +
I.6.5.2 se explican algunas tcnicas de reformulacin de problemas MIP
1 4 5
1 1 x x x + = es equivalente a
5 4 5
1 y 1) x x x x + +
que, como disyuncin, se mo s restricciones
1 2
4
x y
x

1 4
5 2
4 5 2
1 (1 )
1 1(1

amente la implica
4 5 1
2 x x x +

4 5 1
8 9
1 x x + =
Relacin de coherencia entre variables binarias
3 3 3
4 4 4
5 5 p a
x x +
=
{ } , 0,
i i
x y

1 4 6 7 9
1 x x x x x = = = = =
12/02/2008 41
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
esta transformacin resulta un problema lineal en
En la siguiente tabla se muestran algunas conversiones posibles. La primera
col n la siguiente
la
=

+
tero mixto, ms fcil de
resolver.
umna indica los productos de variables que se desea modelar. E
equivalencia para obtener las restricciones que se introducen en el problema
de programacin lineal, expresadas en la tercera columna.

1 2
0
{ } 0,1
i

{ } 0,1
i


1
0 =
2
0 = 1 2
1
1 2

Reemplazar
1 2
por
3
3 1

{ } 0,1
i

3 1 2
1 1 y 1
{ }
= = =
3 2
1 2 3
1
0,1
i

+ +


{ }
0
0,1
x
x


Reemplazar por x y
0 0
1
y
y x

= =
= =

0
0
y
y M
x y
x y M M
x M

+
+



I.3.3.5. Una aplicacin: Mo elo de asignacin de gru os trmicos
El problema de la asignacin de grupos trmicos de produccin de
electricidad consiste en la decisin de qu grupos trmicos hay que acoplar en
cada hora del da (o semana) de manera que:
Se minimicen los costes variables de generacin (incluyendo costes de

miento de los grupos trmicos
nimos tcnicos, potencia nominal, rampas de subida y bajada)

Da
demanda [p.u.]
d p

combustible y costes de arranque y parada)
Se suministre la demanda en cada hora
Se mantenga un cierto nivel de reserva rodante
Se respeten los parmetros de funciona
(m
tos
demanda trmica en la hora h [MW]
h
D
R coeficiente de reserva rodante con respecto a la
42 12/02/2008
I OPTIMIZACIN

h]
trmino fijo del coste de combustible del grupo trmico t [/h]
te de arranque del grupo trmico t []
]
trmino lineal del coste de combustible del grupo trmico t [/MW
t
a

t
b
t
ca cos
coste de parada del grupo trmico t [
t
cp
t
P potencia mxima del grupo trmico t [MW]
t
P potencia mnima del grupo trmico t [MW]

Va
la hora h [MW]
h [0,1]
,1]



t
rampa de subida del grupo trmico t [MW/h] rs
t
rampa de bajada del grupo trmico t [MW/h] rb
riables
potencia producida por el grupo trmico t en
ht
P
acoplamiento del grupo trmico t en la hora
ht
A
ht
arranque del grupo trmico t en la hora h [0 AR
ht
parada del grupo trmico t en la hora h [0,1] PR
( )
t ht t ht t ht t ht
a P b A ca AR cp PR + + +


H T
min
1 1 h t = =

1
1
1
1
1
( )
2
( 1)
( 1)
( 1)
T
T
t ht ht h
t
t ht ht t ht
ht h t ht ht
ht h t t
h t ht t
P
PA P RD H
A P PA HT
A A AR PR H T
P P rs H T
P P rb H T
=
=

=

=



1

$TI TLE ASI GNACI N HORARI A DE GRUPOS TRMI COS
ht h
D H =
t
P
0
ht
P { } , , 0,
ht ht ht
A AR PR

SETS
T gr upos t r mi cos / GALI CI A, CATALUNA, MADRI D, VALENCI A,
EXTREMAD, ANDALUCI , CASTLEON/
H hor a h / h1 * h5/

SCALAR
r por cent aj e de r eser va r odant e sobr e l a demanda [ p. u. ] / 0. 2/

PARAMETERS
d( h) demanda cada hor a [ MW]
/ h1 1000 , h2 1400 , h3 2400 , h4 2000 , h5 1000/
pmax( t ) pot mxi ma de cada t r mi co [ MW]
/ GALI CI A 400, CATALUNA 500, MADRI D 700, VALENCI A 400,
EXTREMAD 300, ANDALUCI 800, CASTLEON 800/
12/02/2008 43
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
pmi n( t ) pot m ni ma de cada t r mi co [ MW]
/ GALI CI A 100, CATALUNA 150, MADRI D 150, VALENCI A 50,
EXTREMAD 50, ANDALUCI 400, CASTLEON 200 /
r s( t ) r ampa de subi da [ MWpor hor a]
/ GALI CI A 200, CATALUNA 300, MADRI D 500, VALENCI A 300,
EXTREMAD 100, ANDALUCI 500, CASTLEON 400/
r b( t ) r ampa de baj ada [ MWpor hor a]
/ GALI CI A 300, CATALUNA 300, MADRI D 200, VALENCI A 100,
EXTREMAD 100, ANDALUCI 500, CASTLEON 400/
c( t ) cost e l i neal de pr oducci n [ por MWh]
/ GALI CI A 4, CATALUNA 4, MADRI D 4, VALENCI A 4,
EXTREMAD 3, ANDALUCI 2, CASTLEON 7/
b( t ) cost e f i j o de pr oducci n [ ]
/ GALI CI A 50, CATALUNA 30, MADRI D 30, VALENCI A 25,
EXTREMAD 30, ANDALUCI 80, CASTLEON 70/
ca( t ) cost e de ar r anque
/ GALI CI A 10, CATALUNA 20, MADRI D 10, VALENCI A 15,
EXTREMAD 20, ANDALUCI 10, CASTLEON 15/
cp( t ) cost e de par ada
/ GALI CI A 5, CATALUNA 10, MADRI D 5, VALENCI A 10,
EXTREMAD 5, ANDALUCI 15, CASTLEON 10/

VARI ABLES
CT cost e var i abl e t ot al del si st ema [ M]
A( t , h) acopl ami ent o del gr upo t a l as h hor as [ 0- 1]
AR( t , h) ar r anque del gr upo t a l as h hor as [ 0- 1]
PR( t , h) par ada del gr upo t a l as h hor as [ 0- 1]
P( t , h) gener aci n pr oduci da por el gr upo t a l as h hor as [ MW]

BI NARY VARI ABLE A, AR, PR
POSI TI VE VARI ABLE P

EQUATI ONS
COSTE cost es var i abl es de gener aci n- f unci n obj et i vo [ ]
DEMANDA( h) abast eci mi ent o de l a demanda [ MW]
RESERVA( h) r eser va r odant e del si st ema [ MW]
COTASUP( t , h) cot a super i or de pr oducci n del gr upo t [ MW]
COTAI NF( t , h) cot a i nf er i or de pr oducci n del gr upo t [ MW]
RAMPASUB( t , h) l i mi t aci n de r ampa de subi da del gr upo t [ MW]
RAMPABAJ ( t , h) l i mi t aci n de r ampa de baj ada del gr upo t [ MW]
LOGI CA( t , h) r el aci n l gi ca ent r e var i abl es de acopl ami ent o ar r anque y par ada ;

COSTE . . CT =E= SUM[ ( T, H) , c( t ) *P( t , h) +b( t ) *A( t , h) +ca( t ) *AR( t , h) +cp( t ) *PR( t , h) ] ;

DEMANDA( h) . . SUM[ T, P( t , h) ] =E= d( h) ;

RESERVA( h) . . SUM[ T, A( t , h) *pmax( t ) - P( t , h) ] =G= d( h) *r ;

COTASUP( t , h) . . P( t , h) =L= pmax( t ) *A( t , h) ;

COTAI NF( t , h) . . P( t , h) =G= pmi n( t ) *A( t , h) ;

RAMPASUB( t , h) . . P( t , h) - P( t , h- 1) =L= r s( t ) ;

RAMPABAJ ( t , h) . . P( t , h- 1) - P( t , h) =L= r b( t ) ;

LOGI CA( t , h) . . A( t , h) - A( t , h- 1) =E= AR( t , h) - PR( t , h) ;

MODEL ASI GNA / COSTE, DEMANDA, RESERVA, COTASUP, COTAI NF, RAMPASUB, RAMPABAJ , LOGI CA/ ;

P. UP( t , h) = pmax( t )

OPTI ON OPTCR = 0

SOLVE ASI GNA USI NG MI P MI NI MI ZI NG CT
I.3.4. Modelos caractersticos de programacin no lineal
mpo de
que en multitud de problemas prcticos se pueden considerar
s funciones que intervienen, esto no siempre es as. De hecho,
ado que cierto grado de no linealidad es la
regla, y no la excepcin, en la mayora de los problemas de planificacin
econmica, por lo que se plantea como necesario manejar problemas de
programacin no lineal.
Aunque la programacin lineal juega un papel fundamental en el ca
la optimizacin ya
lineales todas la
muchos economistas han encontr
44 12/02/2008
I OPTIMIZACIN
De forma muy aproximada, se puede afirmar que el tiempo de resolucin de
problemas de programacin no lineal es un orden de magnitud mayor que el de
un
s de produccin se puede suponer que hay una ganancia
uni
r precios elsticos mediante los cuales la cantidad que
se
curva precio-demanda, que representa el precio unitario que se
l decreciente,
nunca inferior al coste unitario de produccin .
problema lineal del mismo tamao y, adems, los algoritmos de NLP son
menos fiables y robustos.
Veamos algunos ejemplos donde existen funciones objetivos o restricciones no
lineales.
Problemas de produccin con elasticidad en los precios y/o costes
En algunos problema
taria fija asociada a cada producto, con lo que la funcin objetivo de
beneficio que se obtiene es lineal. Sin embargo, en otros problemas ciertos
factores introducen no linealidades en la funcin objetivo. Por ejemplo, un gran
fabricante puede encontra
puede vender de un producto va en relacin inversa con el precio que se
cobra. La ( ) p x ,
necesita para poder vender x unidades, sera una funcin no linea
c
As el margen de contribucin de la empresa (ingreso bruto menos coste de
produccin, beneficio neto, EBITDA) vendra determinado por
( ) ( ) P x xp x cx =
Si, adems, la empresa tiene una funcin semejante para cada uno de los n
productos que puede fabricar la funcin objetivo global sera una suma de
funciones no lineales.
( ) ( ) (
n n
)
j j j j j j
f x P x x p x c x

1 1 j j = =

= =


ncin objetivo es
a causa de los costes de produccin, ya que stos pueden variar con el nivel de
produccin. Por ejemplo, el coste puede decrecer cuando aumenta el nivel de
pro n
Las restricciones tambin se pueden ver afectadas por estos tipos de no
linealidades. Una que surge inmediatamente es la restriccin de presupuesto, si
existe, cuando los costes de produccin varan como se ha descrito
ant

Otra razn por la que pueden surgir no linealidades en la fu
duccin gracias al efecto de una curva de aprendizaje (mayor eficiencia co
ms experiencia) o aumentar por necesidad de tiempos extra o instalaciones ms
costosas.
eriormente. Tambin sern funciones no lineales las asociadas a los recursos,
siempre que el uso de un determinado recurso no sea proporcional a los niveles
de los respectivos productos.
12/02/2008 45
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Problema de transporte con descuentos por volumen
El problema de transporte que se ha considerado hasta el momento supone
que el coste por unidad enviada de un origen a un destino dados es fijo,
independientemente de la cantidad mandada. Sin embargo, una situacin muy
habitual es que se disponga de descuentos por cantidad para volmenes grandes,
con lo que la funcin de coste unitaria sera una funcin no lineal con pendiente
no creciente. Una alternativa es aproximar esta funcin no lineal por una
poligonal.
As pues, el coste de embarcar x unidades viene dado por una funcin
pol
na
de una cartera de inversiones,
los inversores se preocupan tanto por el rendimiento esperado como por el riesgo
asociado a su inversin y para obtener un modelo que permita determinar una
cartera que, con ciertas suposiciones, combine de forma ptima estos factores se
uti
las variables de decisin
igonal, ( ) C x , continua, con pendiente en cada tramo igual al coste unitario
de transporte. En consecuencia, si cada combinacin de origen y destino tiene
una funcin semejante, la funcin objetivo sera
1 1
( ) ( )
m n
ij ij
i j
f x C x
= =
=


Al ser una funcin poligonal cncava en un problema de minimizacin se
modelar introduciendo variables bi rias de seleccin del segmento de la
poligonal.
Seleccin de una cartera de inversiones
Actualmente, cuando se plantea la seleccin
liza la programacin no lineal.
Supongamos que se estn considerando n tipos de acciones para incluirlas en
la cartera; , representan el nmero de 1, , j n =
j
x
j
y
jj
acciones j que se van a incluir. Sean la media y la varianza del
rendimiento sobre cada accin de tipo j , en donde
jj
es una medida del riesgo
de estas acciones. Sea
ij
la covarianza del rendimiento sobre una accin de
cada tipo i y j . Entonces, el valor esperado ( ) R x y la varianza ( ) V x del
rendimiento total de la cartera son
1
1
( )
( )
j j
j
ij i
i j
R x x
V x x x

=
= =
=
=

con lo que la funcin objetivo del modelo resultante es


n
n n
j

1
( ) ( ) ( ) f x R x V x =
46 12/02/2008
I OPTIMIZACIN
donde se denomina factor de aversin al riesgo, ya que cuanto mayor sea
mayor importancia (negativa) se le da en la funcin objetivo a la variabilidad
(la volatilidad del rendimiento no es ms que su desviacin estndar) de la
inversin final.
Como restriccin se incluye la restriccin del presupuesto y la no negatividad
de las variables (
j
P representa el coste de cada accin de tipo y es el
presupuesto):
j j
j
Px B
=


no lineal de sistemas de energa elctrica muy caracterstico es
el
e la red y a las restricciones de seguridad preventiva y/o
correctiva. En este caso, tanto la funcin objetivo como las restricciones son no
lineales. La funcin objetivo porque los costes de generacin se suelen considerar
cuadrticos en funcin de la produccin. Las restricciones porque tanto la
potencia activa como la reactiva son funciones no lineales del mdulo y
argumento de las tensiones en los nudos.
I.3
fundamentalmente dar respuesta a dos
preguntas:
Cundo se debe pedir un producto?
Cunto se debe pedir del producto?

j B
n
1
0 1,...,
j
x j n =
Problemas de sistemas de energa elctrica
Un problema
flujo de cargas ptimo en corriente alterna AC. Se trata de minimizar los
costes variables de operacin de los grupos de generacin sujeto al conjunto de
restricciones d
.5. Una aplicacin: Modelos de optimizacin en gestin de
inventarios
En un negocio o industria es frecuente que se tengan que almacenar
productos listos para la venta o materias primas necesarias para la produccin,
para poder hacer frente a la demanda. El objeto de la teora de inventarios
4
es
determinar reglas que se puedan aplicar por las empresas para reducir al mnimo
los costes derivados de este almacenamiento.
Los modelos de inventarios pretenden



4
Es tambin muy habitual utilizar la palabra anglosajona stock para el inventario.
12/02/2008 47
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Es decir, en los modelos de inventarios, las dos decisiones posibles son
cundo y cunto y el objetivo es minimizar el coste bajo ciertas hiptesis.
Estas hiptesis que se hacen sobre el problema determinan los distintos
mo
o, previamente veremos algunas definiciones y conceptos bsicos
sobre los que posteriormente se irn haciendo las hiptesis.
tario como, cundo y cunto pedir de
a con el coste mnimo posible y viendo
siempre la empresa como el almacn que se est considerando, es decir, como un
pun
a propia empresa (la
dem
natario final).
rcional a su

mantenimiento y manejo, etc.;
n general, este coste se da por unidad en inventario y unidad de tiempo.
delos de inventarios, de los que vamos a ver algunos en posteriores secciones.
Sin embarg
Hablaremos de un problema de inven
un producto para satisfacer una demand
to de depsito al que llegan productos y salen de forma externa a l, sin
control directo sobre la demanda ni sobre la fuente.
Este planteamiento engloba tanto si el producto es una materia necesaria
para una produccin (se solicita la materia prima o producto a una fuente
externa pero la demanda es interna a la empresa
5
) como si el producto es un
producto acabado a la espera de su venta y fabricado por l
anda es externa y la fuente es interna, es decir, la propia empresa tiene que
proporcionar el producto al almacn) o como si tanto el producto como la
demanda son de fuentes internas (el almacn en realidad es una parte de una
empresa mayor y su funcin es abastecer a otras secciones) o de fuentes externas
(la empresa es intermediaria entre el origen y el desti
Los elementos que intervienen en un problema de inventarios son
fundamentalmente los costes, la demanda y el sistema de inventarios a seguir.
Vamos a describir estos elementos y las hiptesis que se pueden hacer sobre ellos
que determinan los distintos modelos de inventarios.
Con respecto a los costes pueden ser de diferente naturaleza, siendo los ms
habituales los que se relacionan a continuacin.

Coste de compra: se basa en el precio por unidad del artculo; en general ser
constante, con lo que el coste de compra de un lote ser propo
tamao, aunque pueden considerarse descuentos por volumen, etc.
Coste de orden y/o preparacin: representa el coste fijo en el cual se incurre
cuando se hace un pedido; este coste es independiente del volumen del
pedido.
Coste de almacenamiento: es el coste de mantener el inventario, que suele
incluir el inters sobre el capital, el coste de
e

5
Probablemente esta demanda interna viene a su vez determinada por una demanda
externa de productos acabados.
48 12/02/2008
I OPTIMIZACIN
Coste de ruptura o carencia: es la penalizacin por no poder satisfacer la
demanda e incluye la prdida potencial de ingresos, as como el coste ms
subjetivo de la prdida de clientes o de la disminucin del nivel de calidad
alm
cos

que se conocen exactamente los pedidos demandados por unidad temporal, o


demanda aleatoria
e por unidad de tiempo) o dinmica, que supone una demanda
que vara por periodos de tiempo (demanda semanal o mensual, diferente de
unos periodos a otros).
Otro elemento a determinar es el sistema de inventarios que se describe. Una
prim
l
inv
ro elemento que puede ser considerado en el modelo que
es
diendo por modelos
deterministas aqullos en los que la demanda es determinista y estocsticos
cuando la demanda es aleatoria):
del servicio; en general, se dar como un coste por unidad de demanda no
satisfecha y unidad de tiempo.

Los modelos de inventarios pretenden minimizar el coste total del sistema de
acenamiento siendo considerado ste una funcin, en general, aditiva de los
tes definidos:
Coste de Coste de oste total del Coste de Coste de
compra ruptura inventario orden almacenamiento


= + + +





En cuanto a la demanda puede ser demanda determinista, es decir, se supone
C
, que supone cierta incertidumbre en los valores de la
demanda, habitualmente modelada mediante una distribucin de probabilidad.
Por otra parte la demanda determinista a su vez puede ser clasificada en
esttica (constant
era clasificacin de los sistemas es por los instantes en que el inventario
puede ser revisado, pudiendo el sistema requerir una revisin peridica (por
ejemplo, semanal o mensual) coincidiendo el momento para hacer un nuevo
pedido con el inicio de cada periodo, o una revisin continua, en el que e
entario puede ser revisado en cualquier momento siendo este instante cuando
el nivel de inventario desciende por debajo de un determinado nivel,
previamente especificado y denominado punto de reorden.
Por ltimo, existe ot
un tiempo de entrega, que es el tiempo transcurrido desde que se pide el
producto a la fuente hasta que es entregado.
Los modelos de inventarios buscan un equilibrio entre la calidad de servicio
ofrecido a los clientes y el coste econmico derivado de sta, respondiendo a dos
cuestiones: cunto y cundo pedir.
Con los elementos anteriores y las hiptesis que se hagan sobre ellos, se
pueden obtener distintos modelos. Una posible clasificacin, que no la nica, de
los modelos que vamos a ver es la siguiente (enten
12/02/2008 49
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
(o de lote econmico EOQ Modelos estticos )
Modelos deterministas
Modelos dinmicos

Modelos de revisin continua


Modelos de un slo periodo
Modelos estocsticos
Mode



los peridicos
Modelos multiperiodo



A los modelos estticos se les denomina modelos de lote econmico EOQ
(Economic Order Quantity).
I.3.5.1. Modelos estticos

de lote econmico (EOQ) con revisin


continua
La hiptesis comn a los modelos que vamos a ver en esta seccin es que la
demanda es conocida, disminuyendo el inventario a razn de unidades por
unidad de tiempo.
Se utilizar la siguiente notacin para los datos (entre parntesis las
unidades de las magnitudes):


ra (unidades monetarias por unidad de producto)
: coste de orden o pedido (unidades monetarias)

de tie

rega (unidad de tiempo)
decisin son dos en estos modelos:
cto)

ta (unidades de tiempo)

ntaremos los modelos ms conocidos que cabe plantear dentro de
d
d : tasa de demanda (unidades de producto por unidad de tiempo)

u
c : coste unitario de comp
p
a
c : coste de almacenamiento (unidades monetarias por unidad de producto y
mpo)
c
r
c : coste de ruptura o carencia (unidades monetarias por unidad de producto
y de tiempo)
l : tiempo de ent

Respecto a las variables de

: cantidad a pedir o tamao del lote de pedido (unidades de produ Q
: instante para realizar el pedido la primera vez, o lo que es lo mismo
o
T
mao del ciclo, es decir, tiempo entre dos pedidos
Ahora prese
la hiptesis de revisin continua y demanda determinista de tasa constante.
50 12/02/2008
I OPTIMIZACIN
I.3.5.1.1. Modelo EOQ clsico (sin ruptura)
s
e
siguiente figura
te es el caso ms clsico que supone que no se admite ruptura y la entrega
s inmediata ( 0 l = ). En este caso, el nivel de inventario vara segn la
T 0
Q
t ie m p o
Q d t

Es decir, el nivel de inventario vara dentro de un ciclo segn , siendo
el tiempo dentro del ciclo. Por lo tanto, el tamao del ciclo se obtiene
igualando a 0 el valor anterior, es decir, d . Luego, lo que hay que
determinar es el valor de .
El coste total de un ciclo viene dado por la expresin
Q dt
t
0
/ T Q =
Q
2
Coste ciclo=c. orden+c. compra+c. almacenamiento=
2
p u a
Q
c c Q c
d
+ +
y el coste total por unidad de tiempo ser, por lo tanto,
Coste ciclo
( )
T
a
dc
c Q
C Q = =
iempo ciclo 2
p
u
c d
Q
+ +
derivar e igualar a 0 se
obtiene un mnimo global, siendo el valor ptimo
Esta funcin ( ) C Q es estrictamente convexa, luego al
*
2
p
a
dc
Q
c
= (Frmula de Wilson)
que ser el tamao ptimo del pedido, a realizar cada d unidades de
tiempo.
a el valor entero como el valor
tal que ver fica
*
0
/ T Q =
El valor
*
Q en general no es entero, si se desea una solucin cabe redondear
este valor si es grande y si es pequeo se determin
*
Q i
* * * *
2
( 1) (
p
a
dc
Q Q Q Q
c
< < +
te sencilla de este proble
1).
Una varian ma es suponer que la entrega no es
inmediata, sino que existe un tiempo de entrega fijo y conocido . Esta 0 l >
12/02/2008 51
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
modificacin no afecta a los valores determinado mente, slo a
momento
s anterior l
en que hay que hacer el pedido. Para saber cundo hacer el pedido se
pue r e
en el que el nivel de inventario sea de unidades
6
En el caso en que , las peticiones hay que hacerlas para satisfacer no la
dem
ib ntener un cierto tiempo un
niv lo. Al
ce en prime nda p
nte:
de utiliza l tiempo, pero lo habitual es determinarlo en funcin del nivel de
inventario, siendo este punto de reorden para el modelo que nos ocupa el punto
. ld
0
anda del prximo ciclo, sino para ciclos posteriores, en cuyo caso se calcula
el plazo de entrega efectivo,
0 e
l l nT = , de modo que
0 e
l T < . Lo nico que hay
que considerar es que cuando se hace un pedido, ser para satisfacer la demanda
de n ciclos despus.
I.3.5.1.2. Modelo EOQ con ruptura de inventario
Al modelo anterior aadimos la pos ilidad de ma
l T >
el de inventario nu aadir esta posibilidad hay que incluir en los costes
el coste de ruptura
r
c por unidad de demanda no satisfecha y unidad de tiempo.
Al recibir el pedido se satisfa r lugar la dema endiente.
En este caso la figura que representa la evolucin temporal del nivel de
inventario es la siguie
t
t
1
T0
Q

S
t
2
R


*
Q El problema consiste en determinar el tamao del pedido ptimo, , que
proporciona un nivel mximo de inventario , supuesto que se admite una
cantidad prefijada de ruptura.
La expresin del coste total por ciclo ser
*
S
R Q S =
2 2
Coste ciclo=c. orden+c. compra+c. almacenamiento+c. ruptura=
( )
=
2 2
p u a r
S Q S
c c Q c c
d d

+ + +


6
Esto es suponiendo que el plazo de entrega es menor que el tamao del ciclo, en otro caso
exigira una modificacin.
52 12/02/2008
I OPTIMIZACIN
que por unidad de tiempo resulta ser
2 2
Coste ciclo ( )
( , )
Tiempo ciclo 2 2
p
a
u r
dc
c S Q S
C Q S c d c
Q Q

= = + + +
Q
Luego el problema que se plantea es
La funcin es convexa y la solucin ptima del problema resulta ser
,
min ( , )
0
Q S
C Q S
Q S
Q


( , ) C Q S
*
2
p r a
a r
dc c c
Q
c c
+
= y
*
2
p
r
a r a
dc
c
S
c c c
=
+

Los valores ob n semejante tenidos so s al caso anterior, pero se hallan
mo cuya expresin es dificados por un factor, denominado tasa de ruptura
r
r a
c
r
c c
=
+
. Este ndice est relacionado con el nivel de la calidad del servicio
que se desea prestar, de modo que un valor prximo a 1 quiere decir que es
mucho mayor el coste de ruptura que el de almacenamiento, o lo que es lo
as.
I.3.5.1.3. Modelo EOQ con descuentos por cantidad
Este modelo es el mismo de la seccin I.3.5.1.1 con la variante de que se
pue o por el volumen del pedido, es decir, el
coste de compra por unidad es:
> >



Obsrvese que si se considera la fu dad de tiempo de
cada uno de estos costes individualmente se tiene
mismo, que apenas se permiten ruptur
de comprar el producto con descuent
1 1
2 1 2
1 2 1
1
0
( ) ( ... )
u m
m m
c Q q
c q Q q
c Q c c c
c Q q
+
+
<

<

= >


ncin de coste por uni
( ) , 1,.., 1
2
p
i a
i
dc
c Q
C Q c d i m
Q
= + + = +
12/02/2008 53
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Est nte y por
lo
as funciones son funciones convexas que difieren en una consta
2
tanto alcanzan su mnimo en el mismo punto
p
a
dc
Y
c
= . As el coste total
ser una funcin combinada de todas ellas como muestra la siguiente grfica:
Y
Q
1
( ) C Q
2
( ) C Q
1
q
2
q
1
( )
m
C Q
+
m
q

Resulta evidente que si el caso es el de la figura,
1 2
buscarlo a la derecha de este valor y ser
*
Q el valor en que se d el
mnimo de { }
2 3 2 1
min ( ), ( ), , ( )
m m
C Y C q C q
+
. De manera general, habra que
detectar en qu intervalo se encuentra Y ,
ptimo
*
Q como el valor correspondiente a { }
1 1
min ( ), ( ), , ( )
i i i m m
C Y C q C q
+ +
.
q Y q < < , el mnimo hay
que
q

< < y obtener el valor


A continuacin se va a desarrollar para el caso ms sencillo, que es slo de
dos costes unitarios diferentes, es decir, , . Si se
calcula la funcin de coste con cada uno de estos costes (siguien ulos
de la seccin I.3.5.1.1) se tienen dos funciones de coste por unidad de tiempo
segn el valor de :
1 i i
q Y
1
2
( )
u
c Q q
c Q
c Q q
<

1 2
c c >
do los clc
Q
1
1
( )
2
p
a
dc
c Q
C Q c d
Q
= + + y
2
2
( )
2
p
a
dc
c Q
C Q c d
Q
= + + .
tiempo Lo que supone una funcin de coste por unidad de
1
1
2
2
( ) si
2
C Q c d Q q
Q
= + +

Ambas funciones, C y C , son funciones convexas y puesto que difieren


( ) si
( )
a
p
c Q
C Q Q q
Q
C Q
dc
= + + <

2
p
a
dc
c d
c Q


exclusivamente en una constante, alcanzan el mnimo en el mismo punto
1 2
54 12/02/2008
I OPTIMIZACIN
2
p
a
dc
Y
c
=
En la figura si ie gu nte se presentan grficamente las dos funciones de coste y
la funcin total de coste que configuran que es discontinua (en trazo ms
grueso):
1
( ) C Q
2
( ) C Q
Y
Q
q
' Q

En la figura se representa tambin el valor que es el valor para
el que la funcin toma el valor del mnimo de la otra funcin de coste, es
decir, , que es un valor del que va a depender la solucin.

Q

, Q Y

>
2
( ) C Q
2 1
( ) ( ) C Q C Y

=
Para determinar el tamao ptimo del pedido se pueden distinguir tres casos
distintos que se muestran a continuacin:
Y
1
( ) C Q
2
( ) C Q
q ' Q
I
Y
1
( ) C Q
2
( ) C Q
q
' Q
II
Y
1
( ) C Q
2
( ) C Q
q ' Q
III

es diferente. As en la Como se puede apreciar en las tres figuras la solucin
primera figura (caso I), al ser la solucin ptima se alcanza en el valor
alcan
1. Determinar
q Y <
*
Q Y = . En el caso II, al ser Y q Q

< < la solucin ptima se za en


*
Q q = . Por ltimo, en el caso III, por ser q Q

> el valor ptimo es


*
Q Y = .
Por lo tanto, el algoritmo a seguir sera el siguiente:


2dc
p
a
Y
c
= . Si , poner . Si no, ir al paso 2.
2. Calcular (resolviendo la ecuacin y ). Si ,
poner . En otro caso, poner .
q Y <
*
Q Y =
Q

2 1
( ) ( ) C Q C Y

= Q Y

> q Q

<
*
Q q =
*
Q Y =
12/02/2008 55
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
I.3.5.1.4. Modelo EOQ de mltiples artculos con lmite de
almacenamiento
Las hiptesis de este modelo son las mismas del modelo bsico, pero para
varios artculos (no se admite ruptura ni hay plazo de entrega). Se describirn
las caractersticas correspondientes a cada uno por un superndice que indique el
artculo considerado:


: coste de orden o pedido del artculo

especto a las variables, habr tambin una por artculo

el lote de o del
s existe un espacio disponible de
almacenamiento limitado, , que deben compartir todos los artculos, y un
espacio or
Para est a el siguiente modelo de programacin no lineal:
i
d : tasa de demanda del artculo i

i
u
c : coste unitario de compra del artculo i
i

coste de almacenamiento del artculo
p
c i
i
a
c : i

R

i
Q : tamao d pedid artculo i

Lo que caracteriza este modelo es que adem
S
ocupado p cada unidad de cada artculo,
i
s .
e problema se plante
min ( )
2
i i
i i
p i i i i a
u
i
i i
i i
d c
c Q
C Q c d
Q
s Q S


= + +


0
i
i
Q
U modelo es probar primeramente
sideradas individualmente
na forma de acelerar la resolucin de este
si los valores ptimos de las funciones de coste con
*
2
i i
p
d c
Q ) verifican la restriccin de es (
i
i
a
c
= pacio, en cuyo caso ya estara
res os de programacin
no lineal para resolver el modelo.
.3.5.2. Modelos de inventario dinmicos deterministas con
uelto el problema. Si no es as, es preciso acudir a mtod
I
revisin peridica
Los modelos que responden a este ttulo difieren de los anteriores en dos
aspectos:

56 12/02/2008
I OPTIMIZACIN
1) el nivel de inventario se revisa peridicamente durante un nmero finito de
periodos
2) la demanda por periodo, aun cuando tambin es determinista, es dinmica,
es decir, puede variar de un periodo al siguiente

En general, se supondr que no se admite ruptura, es decir, que no es posible
sat
El planteamiento general de estos mo

erse al inicio del periodo .
: funcin de coste de pedir unidades en el periodo , incluyendo el
lmacenar unidades durante el periodo .
riables del problema, naturalmente muy ntimamente relacionadas
entre s, son
ad solicitada al comienzo del periodo
cter de las variables tendremos un
delo n stes
proporcionales y sin coste de preparacin de pedido), programacin lineal entera
o p
o las tcnicas correspondientes ms apropiadas.
in embargo, las caractersticas del modelo (dividido en periodos o etapas)
o a ms apropiada y ms
utilizada para resolver estos problemas. Es decir, en lugar de resolver el
problema de una vez, subdividirlo en problemas ms pequeos y ms sencillos.
isfacer la demanda de un periodo con las existencias de los periodos
posteriores.
delos incluye los siguientes datos:
1,..., t N = perodos de tiempo que configuran el horizonte de planificacin.

t
d : demanda que ha de satisfac t
( )
t t
c Q
t
coste de preparacin de pedido si existe.
funcin de coste de a
Q t
( )
t t
h I :
t
I t

Las va

t
Q : cantid t

t
I : nivel de inventario al final del periodo t , siendo
0
I el inventario inicial al
comienzo del periodo 1.

El planteamiento del problema es encontrar los valores de
1
,...,
N
Q Q que
minimizan el coste total satisfaciendo la demanda. La formulacin general del
problema de optimizacin es
[ ] min ( ) ( )
t t t t
c Q h I +

t
1 t t t t
Q I d I t

+ = +
, 0
t t
Q I t
Segn sean las funciones de coste y el car
mo de programacin lineal conti uo (variables continuas y co
rogramacin no lineal. Por lo tanto, es posible resolver el modelo en cada
caso utilizand
S
hacen de la programacin dinmica la metodol g
12/02/2008 57
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
T
con determinadas caractersticas, como la heurstica de Silver y Meal. Estas
heursticas tienen como ventaja respecto a las tcnicas de programacin
ma que ten
I.3.6. Referencias
Hillier, F.S., Lieberman, G.J. (2002) Investigacin de Operaciones. 7 edicin.
McGraw Hill.
Nemhauser, G.L. and Wolsey, L.A. (1999) Integer and Combinatorial
ns.
ambin existen tcnicas heursticas para resolver problemas de este tipo
temtica que son ms rpidas en general, sin embargo, hay er en
cuenta su carcter heurstico que hace que el ptimo no est asegurado.
Optimization. John Wiley and Sons.
Williams, H.P. (1999) Model Building in Mathematical Programming. 4th
Edition. John Wiley and Sons.
Wolsey, L.A. (1998) Integer Programming. John Wiley and So
I.3.7. Biblioteca de problemas
PROBLEMA: DISTRIBUCIN DE GASLEO
Una empresa de distribucin de gasleo dispone de tres depsitos D1, D2 y
D3 donde guarda el gasleo y desde los que abastece a cuatro estaciones de
servicio, E1, E2, E3 y E4. En la tabla se muestra la capacidad mxima de
almacenamiento de cada depsito, la demanda mxima de cada punto de venta
y las capacidades mximas de transporte en las posibles rutas entre depsitos y
estaciones de servicio.
E1 E2 E3 E4 Capacidad
D1 80 70 150
D2 60 90 85 300
D3 40 60 50 250
Demanda 130 200 150 250
Adems, cada unidad que se enve a las gasolineras le supone un beneficio de 7
camiones cuya capacidad es de 20 unidades u.m. y los envos se llevan a cabo en
cada uno, con un coste estimado por camin en cada una de las rutas de:
Costes (u.m.) E1 E2 E3 E4
D1 100 125
D2 100 125 100
D3 75 100 125
Formular y resolver un problema para determinar el plan de rutas ptimo
. que maximice el beneficio de la empresa
58 12/02/2008
I OPTIMIZACIN

PROBLEMA: CONDUCTORES DE METRO
La Compaa Metropolitana de Transporte (CMT) explota el metro de la
ciudad y planifica la asignacin de turnos de su personal de operacin. El
convenio laboral exige que cada conductor disponga de dos das libres
consecutivos por semana. La demanda de conductores para operar los trenes
vara dependiendo del da, siendo, de lun do go 15, 16, 19, 14
y 12 conductores respectivamente. El coste de personal vara a lo largo de la
semana. Para un d alquiera de lunes a viernes el coste es de 50 por da, los
sbados se pagan a 75 y los domingos 0. ms ede recurrir a la
contratacin pa s p as t aran l viernes, sbados y
PROBLEMA: PRODUC
Una empresa puede fabricar 4 productos diferentes utilizando en su
elaboracin 5 tipos de materias primas. La ia
prima por cada unidad d da pr to eco n e tabla siguiente, as
com
es a min , de 18, 16,
a cu
a 9 Ade se pu
rcial de ha ta 3 erson que rabaj os
domingos por un coste de 200 . Determinar el esquema ptimo de turnos de
trabajo de dichos conductores.

CIN
s unidades requeridas de cada mater
e ca oduc se r ge n la
o el precio de venta de cada producto y la disponibilidad de cada materia
prima:

M1 M2 M3 M4 M5 Precio venta
P1 1 1 1 15
P2 1 1 1 20
P3 1 1 1 15
P4 1 1 10
Disponible 200 150 150 200 100

El precio unitario de cada materia prima es de 2, 3, 4, 5 y 5,
respectivamente, pero hay un coste adicional por hacer un pedido de cada
materia prima, independiente de la cantidad que se pida, de 20, 25, 20, 25, 25
unidades, respectivamente. Determinar el plan de produccin ptimo para
maximizar los beneficios de la empresa.
RGENCIAS
e tabla. El nmero de viajes que puede hacer cada avin se da en la

PROBLEMA: AYUDA EN EME
Tienen que transportarse sacos con alimentos mediante tres tipos de aviones
A1, A2, A3, desde un aeropuerto y arrojarse en las aldeas V1, V2, V3, V4, V5,
afectadas por inundaciones. La cantidad de alimentos (en unidades adecuadas)
que cada avin puede transportar a cada aldea en cada viaje, se da en la
siguient
12/02/2008 59
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
ltima columna y el nmero mximo de aviones que puede recibir diariamente
cada aldea en la ltima E t e eber hacer
cada avin a ca ldea fo a que se maximice la cantidad de alimento
distribuido por d

fila. ncon rar el nmero d viajes que d
da a de rm
a.
V V1 V2 3 V4 V5
A1 10 8 1 6 9 2 50
A2 5 3 8 4 10 90
A3 7 9 6 10 4 60
100 80 70 40 20

PROBLEMA: CONSTRUCCIN DE ALMACENES
Una compaa planea construir varios almacenes para guardar un cierto
roducto. Estos almacenes surtirn a dos grandes clientes con las unidades
s en la ltima fila de la tabla. Se pueden
con
p
demandadas mensualmente apuntada
struir hasta tres almacenes, que se tienen como candidatos, con capacidades
expresadas en la ltima columna. Usando el coste estimado de construccin de
los almacenes, su vida til y el valor del dinero en el tiempo, los costes de
construccin por mes para los tres almacenes se han estimado en 8000, 12000 y
7000. A continuacin se dan los costes de transporte por unidad desde los tres
almacenes candidatos a los clientes.

Cliente 1 Cliente 2 Capacidad
Almacn 1 1.50 2.00 4000
Almacn 2 2.00 1.50 5000
Almac 3 n 2.50 2.25 6000
Deman 0 5 da 30 0 000

Determinar qu almac de n construir y cmo se ha de satisfacer la
demanda de los clientes.

TICOS
enes se be
PROBLEMA: TRANSPORTE DE ELECTRODOMS
Una compaa tiene dos fbricas, una en Alicante y otra en Huelva. Las dos
fbricas producen frigorficos y lavadoras. Las capacidades de produccin de
estos artculos en Alicante son de 5000 y 7000, respectivamente, y en Huelva de
8000 y 4000. La compaa entrega estos productos a tres grandes clientes en las
ciudades de Barcelona, A Corua y Valencia, siendo las demandas:

Demanda/Cliente Barcelona A Corua Valencia
60 12/02/2008
I OPTIMIZACIN
Frigorficos 4000 5000 4000
Lavadoras 3000 3000 4000

Los artculos se ransportan iente se muestran
los costes unitarios te limi es pa iar cualquiera de los
dos productos de c c lient

t por ferrocarril. En la tabla sigu
de transpor y las tacion ra env
ada fbrica a ada c e:
Barcelona A Corua Valencia
Alicante Coste unitario 6 14 7
Mximo unidades 6000 3000 7500
Huelva Coste unitario 10 8 15
Mximo unidades 3000 9000 3000

Se desea minimizar el coste total de transporte.

PROBLEMA: LOGSTICA
Una empresa tiene dos factoras, F1 y F2, con las que abastece a tres
almacenes de distribucin, D1, D2 y D3, de dos artculos, A1 y A2.
Los costes de transporte de una unidad de cualquiera de los dos artculos
desde cada f e z n tanto que
los precios de venta unitarios de cada artculo en cada almacn se dan en la
tabla derecha.
actora a cada almacn se dan n la tabla i quierda, e

Coste Tr D1 D2 D3 Precio D1 D2 D3
F1 4 7 5 A1 17 20 18
F2 6 5 7 A2 19 17 21

El tiempo, expresado en minutos, d ad de
cada ar ca actora e refleja a tabla uierda, en
tanto que l cost rica e cada ulo en factora
aparecen en la tabla

que se tar a en fabricar una unid
tculo en da una de las f s s en l izq
os es unitarios de fab cin d artc cada
derecha.
Tiempo A1 A2 Coste Fb A1 A2
F1 6 7.5 F1 8 6
F2 10 5 F2 5 10

La capacidad de produccin de la factora 1 es de 260 horas y la de la
factora 2 de 240 horas.
12/02/2008 61
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Las demandas mnimas de cada uno de los artculos que en cada almacn
deben ser satisfechas son expresadas en la tabla siguiente.

D1 D2 D3
A1 600 800 500
A2 700 5 0 0 1200

Por ltimo y por cuestiones de tipo t nico e empresa, nunca
se pueden producir en cualquiera de las factoras ms de 500 unidades de un
art
el tiempo de ejecucin de A2 en F1 se reduce en
medio minuto?

PROBLEMA: GESTIN D UTO
En una ciudad se intenta disminuir la contaminacin reduciendo la
circulacin interurbana. Un primer estudio busca determinar el mnimo nmero
de
que este nmero vara segn la hora del da, pero se
pue
c y d pol tica de
culo que de otro.
Se trata de elaborar un modelo que proporcione el mejor programa de
produccin y distribucin para maximizar el beneficio neto.
Se modifica la solucin si
E A BUSES
autobuses que satisfagan las necesidades de transporte. Despus de recoger la
informacin se observa
de considerar constante en intervalos sucesivos de cuatro horas:

00:00 a.m. 4:00 a.m. 4 12:00 m. 4:00 p.m. 7
. 8 4:00 p.m. 8:00 p 4:00 a.m. 8:00 a.m .m. 12
8:00 a.m. 12:00 m 1 . 0 8:0 . 00:00 a.m. 0 p.m 4

os turnos de autobuses funcionan durante ocho horas seguidas y pueden
com
nte ha de haber tambin estrictamente ms de 4. Plantear
un
UISICIN DE CAMIONES
na compaa de transportes tiene 10 camiones con capacidad 40000 kg y 5
es grandes tienen un coste variable de
com
L
enzar al principio de cualquiera de los seis periodos descritos anteriormente.
Adems, si en el turno que comienza a las 8:00 p.m. hay estrictamente ms de 4
autobuses, en el siguie
problema de programacin lineal entera para determinar el mnimo nmero
de autobuses diario que satisface las necesidades anteriores.

PROBLEMA: ADQ
U
camiones de 30000 kg. Los camion
bustible de 0.30 /km y los pequeos de 0.25 /km.
En una semana la empresa debe transportar 400000 kg en un recorrido de
800 km. La posibilidad de otros compromisos recomienda que por cada dos
62 12/02/2008
I OPTIMIZACIN
camiones pequeos mantenidos en reserva debe quedarse por lo menos uno de
los grandes.
Cul es el nmero ptimo de camiones de ambas clases que deben
movilizar t ien en es

PROBLEMA M O
n una determinada ciudad se va a construir la red del metro. La empresa
enc
se para ese transporte y en do cuenta las restriccion ?
: PLANIFICACIN DEL ETR
E
argada ha de decidir qu lneas construir y para ello tiene varias opciones.
Existen 10 puntos claves por los que ha de pasar la red y se ha visto que son 8
las posibles lneas a construir. Las lneas posibles, los puntos clave por los que
pasara cada una y su coste estimado de construccin en unidades apropiadas,
son:

Puntos clave Coste
L1 P1 P2 P3 P4 4
L2 P1 P3 P5 P7 4
L3 P2 P3 P4 P6 4
L4 P5 P7 P9 P10 4
L5 P2 P7 P8 3
L6 P1 P4 P5 P10 4
L7 P3 P8 P9 3
L8 P2 P6 P10 3

Adems, por el punto P2 han de pasar al menos dos lneas; y, si los puntos
P3 y P7 no quedan conectados por una lnea directa, entonces debe existir un
a lnea que una este punto con el P3 y
otr
LEMA: OFICINA DE CORREOS
na oficina de correos necesita distinto nmero de empleados de jornada
completa para cada da de se o en la tabla adjunta. Las
reglas sindicales sealan c de rnada completa tiene que
trabajar durante cinco da n con uacin, descansar dos das.
Por ejemplo, un empleado que trabaje de lunes a viernes tiene que descansar
sbado y domingo. La ofic d e c plir con sus requerimientos
diarios y utilizar slo empleados de jornada completa. Formular mediante
transbordo en P8 de modo que pase un
a con el P7. Plantear como un problema de programacin lineal entera el
problema de decidir qu lneas construir de la forma ms econmica con estas
restricciones teniendo en cuenta que por cada punto clave debe pasar al menos
una lnea.

PROB
U
la mana, tal com se da
que ada empleado jo
s co secutivos y, a tin
ina e correos quier um
12/02/2008 63
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
programacin matemtica un modelo que pueda utilizar la oficina de correos
para minimizar el nmero mp rnada completa a contratar. de e leados de jo

Empleados
Lunes 17
Martes 13
Mircoles 15
Jueves 19
Viernes 14
Sbado 16
Domingo 11

PROBLEMA: ABASTECIMIENTO
Una empresa abastecedora de agua tiene que llevar agua de un punto s a un
punto t y para realizar la conexin entre ambos puntos ha de pasar por unos
puntos intermedios. Cada conexin entre un par de puntos tiene un coste
estimado de construccin y, una vez construida, un coste unitario de envo de
cada litro y una capacidad por hora que se recogen en la siguiente tabla:

Conexin Coste
construccin
Coste envo
l/min
Capacidad
l/min
s1 100000 40 100
s2 200 200000 50
13 80000 50 60
1t 30 100000 70
23 20 200000 40
2t 100 200000 70
3t 60 150000 60

Plantear un problema de programacin emtica si se quieren enviar 180
litros por minuto de la forma ms econmica posible, teniendo en cuenta que si
2 ha de hacerse la de 2 a
mat
t . se construye la conexin de s a

PROBLEMA: ADQUISICIN DE MQUINAS TROQUELADORAS
Una compaa tiene tres tipos de mquinas troqueladoras de diferente
velocidad y precisin:

Velocidad Precisin Coste
(piezas/hora) (%) (/hora)
64 12/02/2008
I OPTIMIZACIN
Tipo 1 20 99 2.00
Tipo 2 15 95 1.75
Tipo 3 10 99 1.50

Cada da (8 horas) se deben procesar por lo menos 3500 piezas y hay
disponibles 8 mq s del t del tipo 2 y 20 del tipo 3.
Si cada pieza errnea le cuesta a la compaa 1 cntimo. Cuntas mquinas
de cada tipo se deben utilizar para minimizar los costes?

os y una fecha de
entrega prevista, plantear un problema de programacin lineal entera para
ra media con que los
tra
uina ipo 1, 10
PROBLEMA: SECUENCIACIN DE TRABAJOS EN UNA MQUINA
Dados unos trabajos que realizar, una duracin de st
encontrar la secuencia que minimiza el retraso o demo
bajos son entregados, con los siguientes datos:

Tarea T1 T2 T3 T4
Tiemp o de proceso 9 12 7 14
Fech 15 a de entrega 19 23 31

PROBLEMA: PROD II
En una empresa familiar se producen dos tipos de productos, 1 y 2,
procesando materia prima. Se pueden comprar hasta 90 kg de materia prima a
un
e materia prima
par
s de mano de obra. Se
ispone de 300 horas de mano de obra a 3 /hora. Se pueden vender a lo sumo
el producto 2 a 69
/k
algo del producto 2 ha de ser
ms de 10 y menos de 20 kg. Plantear el problema y obtener la solucin ptima.

PROBLEMA: PRODUCC
Una empresa des tic e o /inventario para los
eses de agosto, septiembre, octubre y noviembre. La demanda estimada del
de 500, 600, 800 y 1000 unidades, respectivamente.
En la actualidad, la capacidad de produccin mensual es de 600 unidades con un
coste de 2500 . La administracin ha decidido instalar un nuevo sistema de
UCCIN
coste de 10 /kg. Se puede usar 1 kg de materia prima para producir 1 kg de
producto 1 o para producir 1/2 kg del producto 2. Usar 1 kg d
a producir el producto 1 requiere 2 horas de mano de obra. Usar 1 kg de
materia prima para procesar el producto 2 requiere 3 hora
d
40 kg del producto 2. El producto 1 se vende a 29 /kg y
g.
Adems existe una limitacin inferior y superior en caso de que se produzca
alguna cantidad de cada artculo. Es decir, si se produce algo del producto 1 ha
de ser ms de 15 y menos de 30 kg y si se produce
IN E INVENTARIO
ea planear su pol a d pr duccin
m
producto para esos meses es
12/02/2008 65
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
pro
EMA: MISIN PACFICA
cada una de las distintas composiciones de las tripulaciones conlleva un
duccin con capacidad mensual de 1100 unidades a un coste por unidad de
3000 . Sin embargo, el nuevo sistema no puede ser instalado hasta noviembre.
Supngase que el inventario inicial es de 250 unidades y que, durante cualquier
mes dado, se pueden almacenar a lo sumo 400 unidades. Si el coste mensual por
unidad por mantener en inventario es de 300 , minimizar el coste total de
produccin e inventario. Suponer que se debe satisfacer la demanda y que se
requiere tener 100 unidades en inventario al final de noviembre.

PROBL
En una misin pacfica de las Naciones Unidas se dispone de 5 aviadores
para formar las tripulaciones de dos aviones biplaza. Estos aviadores son de
distintas nacionalidades: Espaol, Francs, Italiano, Griego y Portugus. Como
en toda cuestin diplomtica las relaciones internacionales son de gran peso,
beneficio, siendo stos:

Francs Italiano Griego Portugus
Espaol 2 5 4 3
Francs 4 4 2
Italiano 5 4
Griego 3

Por otra parte, estas mismas relaciones internacionales hacen que si una
tripulacin est formada por el aviador espaol y el italiano la otra ha de estar
formada por el aviador francs y el griego. Formular el problema de
programacin lineal entera.

PROBLEMA: MEZCLA DE CRUDO
duce dos tipos de gasolina (1 y 2), cada una de
ella
trleo crudo que se utiliza para obtener la gasolina 1 ha
de tener un ndice de octano promedio de al menos 10 y a lo sumo un 1 % de
azufre. La mezcla ue s ner un ndice
promedio de oc or lo enos 8
de octano y el c en a fre de los dos tipos de crudo son:

La empresa Sunco Oil pro
s mezclando dos tipos de crudo (1 y 2). Los precios de venta de cada barril
de gasolina son 7000 y 6000 , respectivamente. Por su parte, los precios de
compra de los dos tipos de crudo son de 4500 y 3500 por barril,
respectivamente. Se pueden comprar hasta 5000 barriles de cada crudo diarios.
Los dos tipos de gasolina difieren en su ndice de octano y en su contenido en
azufre. La mezcla del pe
q e obtiene para la gasolina 2 ha de te
tano de p m y a lo sumo un 2 % de azufre. Los ndices
ontenido zu
66 12/02/2008
I OPTIMIZACIN
Octano Azufre Crudo
1 12 0.5
2 6 2.0

La transformacin de un barril de petrleo en un barril de gasolina cuesta
400 y la refinera de Sunco puede producir diariamente hasta 9000 barriles de
gasolina.
ente demandan 3000 barriles de la gasolina 1 y
200
Los clientes de Sunco actualm
0 de la gasolina 2. Sin embargo, Sunco tiene la posibilidad de estimular la
demanda mediante la publicidad, de modo que cada euro invertido en la
publicidad de cada tipo de gasolina, aumenta la demanda diaria de ese tipo de
gasolina en 0.1 barriles (si por ejemplo gasta 1000 en publicidad de la gasolina
1 aumenta la demanda de gasolina 1 en 100 barriles). Formular un problema de
programacin lineal que permita a Sunco maximizar sus ganancias diarias.

PROBLEMA: PRODUCCIN VI
Una planta de produccin dispone de m mquinas para llevar a cabo su
produccin. La demanda semanal del producto es conocida para las siguientes n
semanas,
j
dem siendo j cada una de las semanas, y ha de ser satisfecha. Ca
puede estar arrancada y produciendo durante cada
semana o no, pero si lo est tiene estar arrancada de ,
siendo su produccin mxima . Adems, el coste unitario de produccin con
cada una de las mqui s es por unidad
de producto, y el coste de almacenamiento de una semana a otra est estimado
en
supone que todas las mquinas inicialmente estn arrancadas (no hay
cos

FERROCARRIL
y
da
una de las mquinas i
un coste fijo por
i
cf
i
pm
ij
cv na variable con las semanas, siendo
calm por unidad de producto. Por otra parte, arrancar una mquina para
acoplarla una semana si no lo estaba la anterior tiene un coste de arranque
i
carr . Se
te de arranque para la primera semana).

a) Plantear un modelo lineal para optimizar la planificacin de la produccin
siendo el horizonte de planificacin las n semanas.
b) Sobre la formulacin anterior supngase ahora que cuando una mquina
para, ha de hacerlo al menos dos semanas consecutivas por razones
tcnicas, cmo se modelara esta nueva condicin?
PROBLEMA: TRANSPORTE POR
Una empresa de transporte opera en una lnea ferroviaria con un
determinado material rodante que puede transportar un volumen mximo V
un peso mximo P de mercancas, transportando distintas mercancas de otras
empresas. Para un determinado da dispone de distintas solicitudes de
12/02/2008 67
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
mercancas, de modo que de cada mercanca i conoce la cantidad mxima a
transportar
i
mx , el volumen
i
v eso
i
p unitarios, el pago que el propietario de
la mercanca est dispuesto a pagar a la empresa por cada unidad transportada,
i
b , y el coste que estima la empresa por cada unidad a transportar,
i
c . La
empresa de transporte desea tener un modelo que le permita elegir cada da las
cantidades de las mercancas que le proporcionen mayor beneficio a partir de
datos diarios.
A su vez, puede variar la capacidad del
y p
os
ma rial rodante, tanto en v men
en cunto puede valorar cada unidad extra de
dispue
Po
transp
aumen da (en detrimento de
tras).
a)
do
est
te olu
o peso, de modo que desea saber
volumen y de peso de la que puede disponer, para saber cunto puede estar
sto a pagar por un aumento de stos.
r otra parte, a los propietarios de las mercancas que no son
ortadas, puede y debe informarles de la cantidad en la que deberan
tar su oferta para que su mercanca fuera transporta
o

Presentar un modelo lineal para este problema, suponiendo que las
cantidades se pueden fraccionar. Qu elementos del modelo daras como
resultado para responder a las distintas preguntas planteadas?
b) Supngase ahora que la oferta conlleva un descuento por volumen de modo
que la cantidad que un propietario paga por cada unidad es de la forma
i i i
a g x , nde
i
x es la cantidad transportada. Plantear el nuevo modelo.
c) Sobre el planteamiento del apartado a), supngase que lo que hay es una
capacidad de volumen y peso por vagn, V y P , y que hay que decidir
adems de cunto transportar, cuntos vagones hay que enganchar,
existiendo un coste unitario por vagn utilizado, cvag . Plantear el nuevo
modelo.

PROBLEMA: EDICIN DE CDS
Una compaa discogrfica est pensando en editar una coleccin de grandes
xitos de uno de sus cantantes ms famosos. Todas sus canciones han sido
agrupadas en doce lotes. Cada lote ocupa tiene un cierto tamao expresado en
MB y tiene asociado un ndice de marketing (relacionado con su demanda
esperada).

Lote Tamao ndice marketing
1 350 15
2 300 32
3 160 20
4 310 25
68 12/02/2008
I OPTIMIZACIN
5 260 35
6 250 10
7 400 40
8 100 34
9 520 24
10 170 16
11 300 36
12 360 26

Los lotes van a ser grabados en una serie de CDs, cada uno con una
cap
odos los lotes de canciones y sin editar ms de una vez el mismo
lote

PROBLEMA: VUELOS CHARTER
Una compaa area tiene una flota de 15 aeronaves: 5 de cada uno de tres
tipos A, B y C, cuyas respectiva acidades para el transporte de viajeros son
de 80, 68 y 55 personas. Una agencia de viajes le solicita presupuesto para
trasladar a 372 personas. La compaa analiza sus costes, que dependen del
nmero de aviones de cada tipo que quiera utilizar para transportar a esas
personas, datos que se da n la ente tabl miles de euros

acidad mxima de 700 MB. Adems, para que el CD funcione en el mercado,
se estima que debe tener un ndice de marketing superior a 45. Por otro lado, y
dado el contenido de sus canciones, los lotes 1, 2 y 3 se han de grabar en CDs
distintos. El objetivo de la compaa es maximizar el nmero de CDs editados,
utilizando t
.
s cap
n e sigui a en
o 1 4 5 Tip 2 3
A 11 20 30 40 50
B 9 17 24 34 45
C 8 15 21 26 31

Adems la compaa area incurre en un coste fijo adicional de 6 k por
cada tipo de aviones que utilice.
Proponer un modelo de programacin lineal entera cuyo objetivo sea
determinar la composicin ptima de la flotilla de aviones que va a realizar el
transporte para minimizar los costes de la operacin.

PROBLEMA: PROVEEDORES
res almacenes deben abastecer a cuatro mercados de cierto nmero de
os costes unitarios de transporte (en ), las
T
unidades de un producto. L
12/02/2008 69
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
existencias en los almacenes y las necesidades de los mercados se dan en la tabla
siguiente.

M1 M2 M3 M4 Existencias en almacenes
A1 6 7 9 5 220
A2 7 10 9 6 350
A3 5 8 7 5 270
Demandas en mercados 80 90 100 135

Cuando un almacn abastece a un mercado ha de firmar un contrato para
establecerse como proveedor l do que ha de pagar una
cantidad por el nico hecho de ser proveedor, establecida en 100 . La demanda
de
acn cualquiera se enva a
todos los mercados un total de menos de 100 unidades, sus costes
anterior se incrementan en 2 , es decir, el coste
de abastecimiento ms econmico.
PROBLEMA: COMPOSICIN DE P
Un pequeo ganadero alimenta sus reses con una mezcla de dos piensos
compuestos, P1 y P2, que l mismo elabora, en los que sible encontrar
tres nutrientes N1, N2 y N3, de acuerdo con lo reflejado en la tabla, donde se da
el con o de pienso compuesto.
de mercado, de mo
los mercados ha de ser satisfecha.

1. Establecer un programa lineal entero que permita obtener el plan de
abastecimiento ms econmico.
2. Sobre el planteamiento anterior, si de un alm
unitarios de la tabla
unitario de la tabla es para todas las unidades enviadas desde un almacn
a un mercado si la cantidad total que el almacn enva es mayor o igual
que 100. Establecer un programa lineal entero que permita obtener el
plan

IENSO
y es po
tenido, en gramos, de cada nutriente por kil

N1 N2 N3 Aditivos
P1 100 300 400 200
P2 200 250 300 250

Los costes de fabricacin de un kilo de cada pienso son de 0.3 para P1 y de
0.3
consid
N1
N2
6 para P2. Las necesidades diarias de una res respecto a los nutrientes
erados son:

: entre 250 y 300 gramos, con una cantidad ptima de 250 gramos
: entre 325 y 460 gramos, con una cantidad ptima de 400 gramos
70 12/02/2008
I OPTIMIZACIN
N3

La
propor timo antes indicado requiere un
tratamiento compensatorio, con costes de 0.01 por gramo, en el caso de N1,
de 0.008 por gramo en el caso de N3.
2. Adems, si la cantidad utilizada de P1 fuera estrictamente mayor que el
doble de la de P2 el ost a en 0.05 /kg. Modificar
el modelo anterior aadiendo este est in que deje de ser lineal.

PROBLEMA: EXPLOTACIONES GANADERAS
as disponibilidades y demandas actuales de vacas y cerdos en explotaciones
, se
: entre 450 y 600 gramos, con un ptimo de 500 gramos.
desviacin, en ms o en menos, de la cantidad de nutrientes
cionados a una res respecto al valor p
0.005 por gramo en el caso de N2 y

1. Plantear un modelo de programacin lineal para determinar qu cantidad
de cada pienso hay que proporcionar a cada res para que el coste de su
alimentacin sea mnimo
c e de P1 se incrementar
supu o y s
En dos explotaciones ganaderas G1 y G2 se cran vacas y cerdos, con los
cuales se intenta satisfacer las demandas de tres mataderos industriales M1, M2
y M3.
L
y mercados, as como los costes de transporte unitarios entre ellos, en
resumen en las siguientes tablas.

Vacas Cerdos
M1 M2 M3 Disponibilidad M1 M2 M3 Disponibilidad
G1 25 21 20 25 6 7 8 130
G2 27 19 25 32 8 6 7 100
Demanda 17 6 22 45 85 76

En
transp
Un vehculo para vacas tiene una capacidad en volumen de 100 unidades y
p
indepe
hacer
dems del coste directamente asociado a las vacas transportadas. Por lo que
te fijo es de 165 .
andas de los mataderos con un coste de transporte mnimo.
cada explotacin hay 6 vehculos especialmente adaptados para el
orte de vacas y 8 para el de cerdos.
uno ara cerdos tiene una capacidad de 80 unidades de volumen. Con
ndencia de la explotacin ganadera y del matadero entre los que puedan
un viaje, el uso de un camin para vacas tiene un coste fijo de 200 ,
a
hace a los camiones para cerdos, dicho cos
Una vaca ocupa 12 unidades de volumen y un cerdo 3.
1. Elaborar un modelo de programacin lineal entera que satisfaga las
dem
12/02/2008 71
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
2.
e transporte de los cerdos en 2 . De la misma
rma, es posible transportar vacas en los vehculos para cerdos, con un coste
unitario adicional de 10 . Suponinedo que en un camin pueden ir vacas o
cerdos imul
que satisfaga e coste ransporte
mnim

PROBLEMA: CORTE DE BOBINAS
son
Supngase ahora que tambin es posible, si conviene, transportar cerdos en
un camin para vacas, aunque ello supone ciertas adaptaciones que
incrementan el coste unitario d
fo
s tneamente, elaborar un modelo de programacin lineal entera
las demandas de los matad ros con un de t
o.
La empresa EIVISSA se dedica a la fabricacin de bobinas madre de plstico
con un ancho de 6000 mm. Sus clientes son empresas de envasado cuyos pedidos
bobinas hija de anchos inferiores, tal como aparecen en la siguiente tabla:

Pedido Anchura [mm] Fecha de entrega [horas]
1 1500 6
2 1200 10
3 800 7
4 750 8
5 915 8
6 315 10
7 1450 5
8 650 4
9 725 7
10 1800 12

Se trata de plantear un modelo de optimizacin para determinar los cortes a
lizar en las bobinas madre para satisfacer los pedidos de bobinas hija con rea
estas posibles diferentes funciones objetivo alternativas:

zacin completo para minimizar el nmero total
as
e entrega teniendo en cuenta que el corte de una bobina madre en bobinas
hija dura 6 h rte de bobinas
madre por lo que el corte de cada bobina se hace consecutivamente

PROBLEMA EMPRESA DISTRIBUIDORA
1. Plantear el modelo de optimi
de bobinas madre necesitadas
2. Minimizar la suma del desperdicio lateral sobrante de todas las bobinas
3. Minimizar la suma de los retrasos de cada pedido con respecto a las fech
d
oras y que slo se dispone de una mquina de co
72 12/02/2008
I OPTIMIZACIN
Una empresa distribuidora tiene dos almacenes centrales en las ciudades C1
y C2 desde los que abastece a tres centros de distribucin situados en D1, D2 y
D3. Desde estos centros de distribucin se aprovisionan a cuatro mercados M1,
M2, M3 y M4.
Sean y la xistenci los almacenes centrales y , , y las
demandas de los mercados. El coste de transporte unitario desde el almacn
central al centro distrib es y el de transportar una unidad desde
el centro de distribucin al mercado es
s e as en
1
e
2
e
1
d
2
d
3
d
4
d
i de ucin j
ij
c
j k
jk
w . Cada unidad del artculo
ges
permita satisfacer las
emandas de los mercados al menor coste.
2?
o de
4. ades se
transportan en camiones que pueden transportar un peso mximo , tal que
te de cada camin es independiente del
ados de la biblioteca de problemas
i
ax 7
ij ij ij
X c Y

tionado tiene un peso p .



1. Elaborar un modelo de programacin lineal que
d
2. Cmo se modifica dicho modelo si M1 no puede ser aprovisionado
simultneamente desde D1 y D
3. Qu modificacin adicional hay que introducir cuando el coste unitari
transporte entre un centro de distribucin y un mercado cualesquiera de
todas las unidades que excedan de un mnimo m , y slo de ellas, se reduce
en una cantidad h ?
Qu nueva modificacin experimenta el modelo si las unid
P
P no es mltiplo de p ? El cos
trayecto realizado y asciende a la cantidad C . Este coste se aade al coste
unitario de transporte de las unidades.
I.3.8. Result
RESULTADO DEL PROBLEMA DISTRIBUCIN DE GASLEO

: cantidad enviada de depsito a estacin j
: camiones usados de depsito i a estacin j
ij
ij
X
Y
( )
m
,
. .
i j
ij i
s a X cap i

j
ij j
i
X dem j

,
20 , , 0,
ij ij
ij ij ij ij ij
X capac i j
X Y i j X Y Y


Objetivo: 825

12/02/2008 73
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Cantidades
E1 E2 E3 E4
Camiones
E1 E2 E3 E4
D1
80 0 60 0
D1
4 0 3 0
D2
0 60 80 80
D2
0 3 4 4
D3
40 60 0 40
D3
2 3 0 2


: tores que trabajan el da i
: nmero de personas contratadas a tiempo parcial
min 200
. . 5,6,7
i
i i
i
i j i
j i i
i j
j i
T
Y
c T Y
s a T X nec i
T X


+
=
=

2
5,6,7
3
, , 0
i
i
i i
Y nec i
Y
X T Y

+ =



M X J V S D Extra
RESULTADO DEL PROBLEMA CONDUCTORES DE METRO
: nmero de conductores que empiezan su turno el da i
i
X
conduc
1, 2
1,
L
8 2 2 4 3 3 0 0
CO

RESULTADO DEL PROBLEMA P UCCIN

:
0 si no pide materia prima j
max
. .
0, 0,1
i
j
i i ij j i j j
i i j j
ij i j j
i
i j
M
pv X a c X f M
s a a X disp M j
X M



STE: 6730
ROD
X
{ }
,
: unidades producidas de producto Pi
1 si pide materia prima j
Beneficio 1435
P1
50
P2
100
74 12/02/2008
I OPTIMIZACIN
P3
0
P4
150


RESULTADO DEL PROBLEMA AYUDA EN EMERGENCIAS
,
max


0
ij
ij ij
x
i j
ij i
j
ij j
i
ij
a x
x a
x v
x


i
j
El avin A1 hace 50 viajes a la aldea ace 40 a la aldea V3
y 20 a la V5 y el avin A3 hace 50 a la aldea V2 y 40 a la V4. La cantidad total
de alimentos repartidos es 1870.

RESULTADO DEL PROBLEMA CONSTRUCCIN DE ALMACENES
ij
x y
i j i
ij i i
j
ij j
i
ij i
f y
x c i
x d j
x y
+

el almacn 1 al cliente
1 y 1000 unidades al cliente 2 y del almacn 3 4000 unidades al cliente 2.

RESULTADO DEL PROBLEMA TRANSPORTE DE ELECTRODOMSTICOS
,
ijk
ij ijk
x
i j k
ijk ik
ijk ij
k
c x
x a i k
x t i j

V1, el avin A2 h
{ }
,
,
min
0, 0,1
ij i
ij
v x
i i
y

Construir los almacenes 1 y 3 y servir 3000 unidades d
, ,
min
,
,
j
ijk jk
i
x b j k


0
ijk
x
Barcelona A Corua Valencia Frigorficos
12/02/2008 75
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
Alicante 1500 0 3500
Huelva 2500 5000 500

Barcelona A Corua Valencia Lavadoras
Alicante 3000 0 4000
Huelva 0 3000 0

RESULTADO DEL PROBLEMA LOGSTICA
El coste total de transporte es de 176000 u.m.

, , , , , ,
,
1 2
max
,
500 500
0
ijk
jk ijk ik ijk ij ijk
x
i j k i j k i j k
ik ijk i
j k
ijk jk
i
ij ij
j j
ijk
v x f x c x
t x h i
x b j k
x x
x





i
A1 D1 D2 D3
F1 600 0 500
F2 0 8 40 0

D1 D2 D3 A1
F1 0 0 1200
F2 700 5 00 0

l beneficio neto es de 29000.
RESULTADO DEL PROBLEMA GESTIN DE AUTOBUSES
E

76 12/02/2008
I OPTIMIZACIN
{ }
1 2 3 4 5
1 6
1 2
2 3
3 4
4 5
5 6
5 6
1 6
min
4
8
10
7
12
4
6
12
, 0,1
i
x x x x x x
x x
x x
x x
x x
x x
x x
x x
x x
x

+
+ + + + +
+
+
+
+
+
+
+
+
Z

El nmero mnimo de autobuses es de 26.

RESULTADO DEL PRO A ADQUISICIN DE CAMIONES
0
40 30 400
2(10 - ) 5 -
,
x y
x y
x y
x y
+
+
+

Z

RESULTADO DEL PROBLEMA PLANIFICACIN DEL METRO
4 +
5
BLEM
min(0.30 0.25 )800
1 x
5 y

12/02/2008 77
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
{
{ }
1 2 3 4 5 6 7 8
1 2 6
1 3 5 8
1 2 3 7
1 3 6
2 4 6
3 8
2 4 5
1 x x x + +
5 7
4 7
4 6 8
2
5 7 2
5 7
min4 4 4 4 3 4 3 3
1
2
1
1
1
1
1
1
1
1
o bien 2 2
2 0
, 0,1
i
x x x x x x x x
x x x
x x x x
x x x x
x x x
x x x
x x
x x
x x
x x x
x
x x x
x x
x

+ + + + + + +
+ +
+ + +
+ + +
+ +
+ +
+
+
+
+ +
+



RESULTADO DEL PROBLEMA OFICINA DE CORREOS
3
min
17
13
7
1
1 4 5 6 7
1 2 5 6 7
1 2 3 6 7
1 2 3 4 7
1 2 3 4 5
15
19

2 3 4 5 6
14
16

i
i
x
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
x x
=
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +

4 5 6 7
13
i
x x x
x
+
+ + +
Z


RESULTADO DEL PROBLEMA ABASTECIMIENTO
x x x x x + + + +
78 12/02/2008
I OPTIMIZACIN
1 2 13 1 23 2 3
1 2 13
1 23 2 3
1 2
1 13 1
2 23 2
13 23 3
1 2 3
1 1
2 2
13
min40 50 60 70 40 70 60
100000 200000 80000
10000 200000 200000 150000
180
180
100
200
50
s s t t t
s s
t t t
s s
s t
s t
t
t t t
s s
s s
x x x x x x x
y y y
y y y y
x x
x x x
x x x
x x x
x x x
x y
x y
x y
+ + + + + +
+ + + +
+ + + +
+ =
= +
= +
+ =
+ + =

{ }
13
1 1
23 23
2 2
3 3
2 2
+
20
100
60
0, 0,1 ,
t t
t t
t s
ij ij
x y
x y
x y
y y
x y i j



Se eligen las conexiones (s1), (s2), (13), (1t), (2t) y (3t) y pasa un
flujo de 80, 100, 50, 30, 100 y 50 respectivamente. El coste total es 853300.

RESULTADO DEL PROBLEMA ADQUISICIN DE MQUINAS TROQUELADORAS

RESULTADO DEL PROBLEMA SECUENCIACIN DE TRABAJOS EN UNA MQUINA
Denominamos
30
t t
x y
min(2 1.75 1.5 0.01 20 0.01 15 0.01 10 )8
20 8 15 8 10 8 3500
8
10
20
, ,
x y z x y z
x z z
x
y
z
x y z
+
+ + + + +
+ +

Z

d al tiempo de proceso del trabajo y j
j j
r a la fecha de
entrega del trabajo j .
Definimos las variables del problema como
12/02/2008 79
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
1 si el trabajo se hace en la posicin j i

0 en otro caso
ij
x =



La funcin objetivo ser la minimizacin de la demora media
1
min
4
i
i
p


sujeto a estas restricciones.
Cada trabajo se hace una vez
slo un trabajo
1
ij
x j =


i
En cada posicin
1
ij
j
x i =


Para cada posicin se acaba un trabajo en ella y su fecha de entrega es i
j ij
j
Por otra parte, el trabajo j que acaba en esa posicin acaba
.
en el instante
r x
j kj
j k i
d x


. Las variables y , cuentan si acaba antes de tiempo
(adelantado) o despus (retrasad que es la demora, es la que
o
i
n
i
p
o). Por eso
i
p ,
aparece en la funcin objetiv
j kj i i j ij
j k i j
d x

n p r x i

+ =


1

RESULTADO DEL PROBLEMA PRODUCCIN II
2
2
1 2 1 2
max2900 6900 600 1800 1000 2000
, 0, , 0,1
y y y y y y
y
y y u u
+
=
{ } , 0 0,
i i ij
n p x
{ }
1 2 1 2 1
1 2
2 90 y y +
1 2
1 1 1
2 2 2
2 6 300
40
15 30
10 20
y y
u y u
u y u
+




80 12/02/2008
I OPTIMIZACIN
{ }
max
,
,
, 0, 0,1 ,
k k k k k
k k
k
k
k k
k
k k k
k k k k
k
k k k
p y e t x c x
x x
t x t
y a x k
u y y u y k
x y u k

=

=



RESULTADO DEL PROBLEMA PRODUCCIN E INVENTARIO

k
( )
1
1 5
min
250, 100
, 0
i i
i
i i i i
i i
i i
i i
ci c p
i p d i
p p
i i
i i
i p
+

+
+ =

= =



RESULTADO DEL PROBLEMA MISIN PACFICA
1
1
1
1
2
, , ,
ef ei eg ep fi fg fp ig ip gp
ef fi fg fp
ei fi ig ip
eg fg ig gp
ep fp ip gp
ef ei eg ep fi fg fp ig ip gp
ei fg
ef ei eg ep
x x x x x x x x x x
x x x x
x x x x
x x x x
x x x x
x x x x x x x x x x
x x
x x x x
+ + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + =

{ } , , , , , , 0,1
max2 5 4 3 4 4 2 5 4 3
1
ef ei eg ep
x x x x + + +
fi fg fp ig ip gp
x x x x x x

ESULTADO DEL PROBLEMA EZCLA DE CRUDO

R M
12/02/2008 81
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
11 21 12 22 11 12 21 22
11 12 21 22 1 2
11 12
21 22
11 12 21 22
11 21 11 21
12 22 12 22
11 21 11 21
12
max7000( ) 6000( ) - 4500( ) - 3500( )
-400( ) - -
5000
5000
9000
12 6 10( )
12 6 8( )
0.5 2
0.5 2
x x x x x x x x
x x x x y y
x x
x x
x x x x
x x x x
x x x x
x x x x
x x
+ + + + +
+ + +
+
+
+ + +
+ +
+ +
+ +
+
22 12 22
11 21 1
12 22 2
11 12 21 22 1 2
2( )
3000 0.1
2000 0.1 x x y + = +
, , , , , 0
x x
x x y
x x x x y y
+
+ = +



RESULTADO DEL PROBLEMA PRODUCCIN VI
a)
( )
{ }
{ }
1 0
1
0
min
( 0)
,
, 2
1
, 0, 0,1
0,1 0
j ij ij i ij i ij
j i
ij j j j
i
ij i ij
ij ij ij ij
i
ij j ij
ij ij
calmAl cv P cf carr Arr
P Al dem Al j Al
P pm i j
Arr Par i j
P Al
Arr Arr



+ + +


+ = + =

=
=



b)
1
o bien

RESULTADO DEL PROBLEMA TRANSPORTE POR FERROCARRIL
c)
1 1
1 , 2
ij ij ij
i j n
+
+
1
2 2 ,1 1
ij ij ij
Par i j n
+
+
82 12/02/2008
I OPTIMIZACIN
max ( )
0
i i
i
i i
i
i i
i
i i
z b c
v x V
p x P
x mx i
=


i
x
Se deben dar las cantidades de las mercancas a transportar, el valor de la
variable dual de la primera restriccin para dar el valor de cada unidad de
volumen, el valor de la variable dual de la segunda restriccin para dar el valor
de cada unidad de peso y a cada propietario del que no se transporte nada el
te ducido de su variable correspondiente que sera en lo que tendra que
aumentar su oferta para que se transporte algo de su mercanca.
d)
i
i
i i
z a g x c x
v x V
x mx i
=


e)
cos re
max ( )
0
i i i i
i
i i
i
i i
p x P

{ } 0, 0,1
i ij j
i
ij i
j
ij j
x mx i
x y

o bien
,
max ( )
i i ij j
i j j
i ij j
i
z b c x cva y
v x Vy j
p x Py j
=



g
12/02/2008 83
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
max ( )
0
i i i
i
i i
i
i i
i
i i
z b c x cvag y
v x Vy
p x Py
x mx i
y
+
=


RESULTADO DEL PROBLEMA EDICIN DE CDS
j

RESULTADO DEL PROBLEMA VUELOS CHARTER
ij i
C x y
CAP j x D
x y i
x y
+

o bien

RESULTADO DEL PROBLEMA PROVEEDORES
1.
{ }
1 2 3
max
1
700
45
1
, 0,1
j
j
ij
j
i ij j
i
i ij j
i
j j j
ij j
y
x i
tamx y j
indi x y j
x x x
x y
=


+ +


{ }
, ,
min 6
1
0,1
ij ij ij
i j i j
i ij
i j
ij
j
ij
C x x
CAP j x D
x i
x
+


{ }
,
min 6
, 0,1
ij ij i
i j i
i ij
i j
ij i
j
84 12/02/2008
I OPTIMIZACIN
( )
{ }
,
min
ij ij ij ij
c X ccont Y +

, ( cota suf. grande, por ejemplo, max( ) 135)


0, 0,1
i j
ij i
j
ij j
i
ij ij j
ij ij
X a i
X d j
X MY i j M M d
X Y

=
= =


. 2
( )
,
min ( )
, ( cota suf. grande, por ejemplo, max( ) 135)
,
(1 )
,
(1 ) , ( cota suf
ij ij ij i ij ij ij
i j
ij i
j
ij j
i
ij ij j
ij ij ij
ij i i
j
ij ij i
ij ij i ij
c X c penal X ccont
+
+ + +

Y
X a i
X d j
X MY i j M M d
X X X i j
X k Z i
m Z i j
X m Z i j m
+

+

=
= =
= +


{ }
. grande, por ejemplo, )
, , 0, , 0,1
j
ij ij ij ij ij
d
X X X Y Z
+



RESULTADO DEL PROBLEMA COMPOSICIN DE PIENSO
a)
X
min ( )
min
max
, , 0
i i j j j
i j
ij i j
i
ij i j
i
ij i j j j
i
i j j
c X p D E
a X j
a X j
a X D E opt j
X D E
+ +


+ =



b) Dos modelos alternativos:
12/02/2008 85
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
{ }
1 1 2 2 1 1
1 1 1
1 2
1
1
1 1
min ( 0.05) ( )
min
max
2
j
(1 )
, , , , 0 0,1
j j
j
ij i j
i
ij i j
i
ij i j j j
i
i j j
c X c X c X p D E
a X j
a X j
a X D E opt j
X X X
X X M
X M
X X X D E

+
+
+
+
+ + + + +


+ =
= +




RESULTADO DEL PROBLEMA EXPLOTACIONES GANADERAS
a) explotaciones ganaderas, granjas (G1 y G2)
mataderos (M1, M2 y M3)
tipo de animal (vaca y cerdo)
nmero de vehculos para transportar animales tipo en explotacin
disponibilidad de animales en las explotaciones ganaderas
X M


{ }
1 2
1
min ( )
min
max
2
0.05 (1 )
, , , 0 0,1
i i j j j
i j
ij i j
i
ij i j
i
ij i j j j
i
i j j
c X Extra p D E
a X j
a X j
a X D E opt j
X X M
Extra X M
X D E Extra

+ + +


+ =




i
j
k
i
ik
N k
ik
DISP k i
jk
DEM demanda en cada matadero de cada animal
coste unitario de transporte de explotaciones ganaderas a
mataderos para cada animal
capacidad de cada tipo de vehculo
coste fijo de uso del camin para transportar animales tipo
j k
ijk
COSTE i
j k
k
CAP k
k
FIJO k
k
VOL volumen unitario de cada tipo de animal k
86 12/02/2008
I OPTIMIZACIN
Transformar un dato: /
k k k
ANIM CAP VOL =

: nmero animales que caben en
un ca

Podra
Variables:
ani y el matadero
vehc
,
,
, , : , ,
k i
k ijk k ijk k ijk
j k
z N i k
ANIM z i j k Cuasicorrecto VOL x CAP z i j k


b)
explotaciones ganaderas, granjas (G1 y G2)
mataderos (M1, M2 y M3)
tipo de animal (vaca y cerdo)
vehculo
nmero de vehculos para transportar animales tipo en explotacin
disponibilidad de animales en las explotaciones ganaderas
min de tipo k
n ser dos problemas separados de transporte (nada los liga)

ijk
x males tipo k transportados entre la explotacin i j
ijk
z ulos para animales tipo k usados entre explotacin i y matadero j

( )
ijk ijk k ijk
COSTE x FIJO z +

min
,j
,
ijk ik
x DISP i k
j
ijk jk
i
x DEM

ijk ik
j
ijk
x
, x z
+

ijk ijk

i
j
k
n
ik
N k i
ik
DISP k i
jk
DEM demanda en cada matadero de cada animal
coste unitario de transporte de explotaciones ganaderas a
mataderos para cada animal
capacidad de cada tipo de vehculo
coste fijo de uso del camin para transportar animales tipo
ste unitario de transporte para cada animal
Varia
x de animales de tipo transportados entre la explotacin
ganade
ca o tacin
ganadera n ero del tipo
(en este caso
j k
ijk
COSTE i
j k
k
CAP k
k
FIJO k
k
OL volumen unitario de cada tipo de animal V k
k
CCOSTE incremento de co IN k
bles
kn
k
cantidad
ij
k
ra i y el matadero j transportados en el vehculo nmero n del tipo k
k n
ijk
y

ntidad de animales de tip k transportados entre la explo
n k

i y el matadero j transportados en el vehculo m


k y k

son diferentes)
12/02/2008 87
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
nk
ij
v u a l transporte del animal para
transporta
knij
kn kn kn
ij
C
kn
M
v

{ } 0,1
kn

La solucin ptima con una tolerancia relativa del 3 % tiene un coste de


4943 .

so o no del vehculo n diseado par e k
r animales entre la explotacin ganadera i y el matadero j
( )
min ( )
k n kn
ijk ijk ijk k ijk k ij
OSTE x COSTE INCCOSTE y FIJO v + + +
kn

( )
k ijk k ij k ijk
kn k n
ijk ijk jk
VOL x VOL y CAPv ij
x y DE jk

+
+

( )
ni
kn k n
ijk ijk ik
nj
kn
x y DISP ik


1
,
ij
j
kn kn
ijk ijk
v ikn
x y
+

Vehculos
de vacas
Vehculos
de cerdos
M1 M2 M3 M1 M2 M3
G1 (8,0) (0,23) (0,26) (0,24)
(8,0) (1,22)
(6,0)
(6,7) G2 (8,0) (0,26) (0,26)
(0,26) (8,0)

(0,26)

RESULTADO DEL PROBLEMA CORTE DE BOBINAS
Definimos com e c a ed o ja, es el nmero
total de pedidos, como el ndice de las bobinas madre, es el nmero
mximo de bob a re les t perio el n o de pedidos).
es la anchura de cada pedido, e pedido y
i o l ndice de ad p id o bobina hi I
j J
in s mad posib (una co a su r es mer
A
i
F es la fecha d entrega de cada
i
A
es la anchura de la bobina madre.
Definimos la variable
o tien a b bina
0 en so
1 si el pedid se ob e de l o madre
otro ca
ij
j
X

1 si se usa la bobina madre


t
j

i
,

0 en o ro caso

j
Y

=

,
j
D el desperdicio de la bobina .
como
j
La funcin objetivo de minimizacin del nmero total de bobinas se expresa
88 12/02/2008
I OPTIMIZACIN
1
min
J
j
j
Y
=


i Satisfaccin de cada pedido
1
1
J
ij
j
X i
=
=


Los pedidos de una bobina no pueden exceder su ancho
1
i ij j
i
AX AY j
=


La
I
funcin objetivo de minimizacin del desperdicio de las bobinas madre se
expresa como
1
min
J
j
j
D
=


El desperdicio se calcula cambiando la restriccin anterior
1
i ij j j
i =
I
AX D AY j + =


La funcin objetivo de minimizacin del retraso en la fecha de entrega de los
pedidos se expresa como
i
i =
siendo y el adelanto o retraso en la fecha de entrega del pedido
El retraso en la fecha de entrega de cada pedido se calcula en esta ecuacin
J
j =
J
j
i
=


RESULTADO DEL PROBLEMA EMPRESA DISTRIBUIDORA
: nmero de unidades enviadas de a
1
min
I
RT


i
AD
i
RT i
1
6
ij i i i
jX AD RT F i + =

o bien 6
ij i i
jX RT F

1

1. Variables
ij
X : nmero de unidades enviadas de i a j
ij
Y j k
12/02/2008 89
I.3 FORMULACIN DE PROBLEMAS DE OPTIMIZACIN
min c X w Y +

, 0 ,
ij ij jk jk
ij jk
ij i
X e i

j
??
jk k
j
ij jk
i k
ij jk ij jk
Y d k
X Y j
X Y X Y
=
=


2. Nueva variable:
Y MZ
Y M Z


siendo, por ejemplo,

3. Entiendo por el enunciado que las primeras siempre cuestan lo mismo
y las que se pasen son las que tienen descuento (no todas una vez se
Nuevas variables
1 le provee distribuidor 1
0 le provee distribuidor 2
Z


Aadir al modelo las restricciones:
{ } 0,1 Z
11
21
(1 )
1
M d =
m
pasan).
jk
N ,
jk
P : exceso y defecto sobre el valor m
1 si 0
0
jk
N

>

=

si 0
jk
jk

P >

Modificar funcin objetivo ino aadiendo el trm
jk
jk
hN


Aadir las restricciones:
(1 ) ,
jk jk jk
jk
Y m N P j k
M j k
= +

(Estas dos ltimas son necesarias pues si no pueden ser distintas de 0
ambas a la vez, para un mismo valor de y lograr menor coste).

,
,
jk jk
N M j k
jk
P
Y
90 12/02/2008
I OPTIMIZACIN
4. Sea
P
cap
p


=


nmero de artculos que caben en un camin. Sean las
variables:
ij
T : nmero de camiones enviados de a i j
jk
S T de camiones enviados de j a k
Modificar l
ij
: nmero
a funcin objetivo aadiendo el trmino
Aad
jk jk
X capT i j
Y cap S j k




ij jk
ij jk
C T S


+ +





ir las restricciones:
,
,
ij ij

12/02/2008 91
I OPTIMIZACIN
I.4. Codificacin de problemas de optimizacin
I.4.1. Lenguajes de modelado
I.4.1.1. Lenguajes de modelado
Las principales alternativas actuales para el desarrollo de modelos de
optimizacin suelen ser, Sharda (1995):

Lenguajes de programacin de propsito general (C, C++, Java, Visual
Basic, FORTRAN 90) que llaman a una biblioteca de optimizacin
Tienen sentido cuando el tiempo de solucin es crtico o el modelo es
ejecutado con mucha frecuencia o cuando se necesitan interfaces a medida
para la entrada de datos o salida de resultados o cuando el modelo tiene que
ser integrado en otra aplicacin o se necesitan algoritmos de optimizacin
especficos. Adems permiten la implantacin del modelo en un entorno
software o hardware especial. Como contrapartida requiere un tiempo de
desarrollo muy elevado y, sobre todo, presenta una gran dificultad y
consumo de recursos para el mantenimiento del cdigo.
Actualmente ya existen bibliotecas de componentes orientados a objetos
(clases C++) dedicadas exclusivamente a optimizacin, por ejemplo, Concert
de ILOG, LINDO API de LINDO Systems, OptiMax 2000 de Maximal
Software, FLOPC++ de Universidade de Aveiro. Es necesario tambin
mencionar la iniciativa de desarrollo de software abierto para investigacin
operativa denominada Computational Infrastructure for Operations Research
(COIN-OR) (www.coin-or.org).

Lenguajes o entornos de clculo numrico o simblico (hojas de clculo,
lenguajes para clculo numrico intensivo, como MATLAB, o para clculo
simblico, como Maple o Mathematica, etc.)
Los optimizadores de las hojas de clculo, por ser aplicaciones muy comunes
y conocidas, pueden ser un vehculo eficaz de difusin de un modelo entre
cierto tipo de usuarios y facilitan el manejo de datos que se encuentren ya en
dicho formato [Ragsdale, 1998]. Como ventajas especficas se pueden
mencionar: su facilidad de uso, su integracin total con la hoja de clculo, la
familiaridad con el entorno que facilita la explicacin del modelo y de sus
resultados, as como la facilidad de presentacin de resultados en grficos.
Sin embargo, no inducen una buena prctica de programacin, presentan la
12/02/2008 93
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN
dificultad de su desarrollo, verificacin, validacin, actualizacin,
documentacin y, en general, el mantenimiento del modelo y no permiten
modelar problemas complejos o de gran tamao [Gass, 1995]. Frontline
Systems (www.solver.com) ha desarrollado optimizadotes para Microsoft
Excel.
Los lenguajes de clculo numrico o simblico no son especficos de
problemas de optimizacin pero facilitan la manipulacin numrica o
simblica de matrices y vectores. Tambin disponen de funciones de
optimizacin.
Todas estas alternativas pueden ser utilizadas para desarrollo rpido de un
prototipo o una demostracin ya que presentan capacidades de presentacin
grfica que pueden ser aprovechadas. Son difcilmente utilizables cuando se
plantean problemas de optimizacin de tamao medio o superior.

Lenguajes algebraicos de modelado
Son las alternativas ms complejas y potentes por su capacidad de
indexacin de las variables y ecuaciones, permiten cambiar sin dificultad las
dimensiones del modelo, de forma natural separan datos de resultados. Desde
el punto de vista del modelador permiten la deteccin de errores de
consistencia en la definicin y verificacin del modelo. Desde el punto de
vista del usuario simplifican drsticamente su mantenimiento. Entre los
lenguajes de modelado ms conocidos se pueden mencionar: GAMS
(www.gams.com), AMPL (www.ampl.com) de origen estadounidense y MPL
(www.maximalsoftware.com) y AIMMS (www.aimms.com) y XPRESS-MP
(www.dashoptimization.com) de origen europeo, por citar algunos. De
algunos de ellos se pueden descargar versiones de estudiante desde sus
pginas web. GAMS es el ms antiguo, pero con el conjunto de usuarios ms
amplio, quiz por eso con algunas limitaciones en sus capacidades de
modelado. AMPL es ms nuevo, muy potente para el modelado pero con un
conjunto reducido de usuarios. MPL es otro lenguaje de modelado robusto,
cuya versin de estudiante acompaa al libro [Hillier y Lieberman, 2002].
Existe una herramienta integrada denominada OPLStudio (www.ilog.com),
en la que se dispone de un lenguaje de modelado (OPL) y varios
optimizadores dependiendo del modelo propuesto. Est especialmente
desarrollada para problemas de programacin (scheduling) y planificacin,
aunque admite tambin cualquier modelo de optimizacin lineal y lineal
entera mixta. Es una herramienta integrada ya que adems del lenguaje de
94 12/02/2008
I OPTIMIZACIN
modelado, incluye sus propios optimizadores, Scheduler, Solver, CPLEX
7
,
estando los dos primeros basados en la programacin de restricciones
8
y el
ltimo en programacin matemtica.
GAMS es el lenguaje ms ampliamente difundido comercialmente con su
propia lista de discusin de usuarios (gams-l@listserv.gmd.de) mientras que
AMPL se est potenciando mucho en las universidades estadounidenses.
Existe un proyecto denominado NEOS Server for Optimization (www-
neos.mcs.anl.gov/neos/server-solver-types.html) para el clculo distribuido
que permite el envo de problemas de optimizacin escritos en AMPL o
GAMS a travs de internet y stos son resueltos por optimizadores
especficos para el tipo de problema enviado en servidores de la red
devolviendo los resultados de la optimizacin.
Existen libros especficos que describen sus caractersticas y que sirven como
guas de usuario tanto para el lenguaje GAMS [Brooke, 1998], [McCarl,
1998], para AMPL, [Fourer, 2000], o para OPL [Van Hentenryck, 1999].
Incluso en Espaa se ha publicado un libro de optimizacin que se apoya en
GAMS para la presentacin de ejemplos [Mochol, 1996]. Los campos de
aplicacin de estos lenguajes son tan amplios como los de la optimizacin
propiamente dicha. Abarcan desde la micro y macroeconoma, a la economa
de la energa, a la planificacin energtica o elctrica, a la ingeniera qumica
o forestal, a la planificacin del desarrollo econmico o del comercio
internacional, a la cobertura de riesgos financieros, a problemas de
transporte y comunicaciones, a organizacin de la produccin o fabricacin o
a la planificacin de grandes proyectos. En el caso de la programacin de
restricciones sta aparece especialmente en problemas combinatorios para
modelar restricciones lgicas.
I.4.1.2. Lenguajes algebraicos de modelado
Los lenguajes algebraicos son lenguajes de alto nivel que han sido diseados
especficamente para el desarrollo e implantacin de modelos de optimizacin de
forma ms directa para los programadores y ms inteligible para los usuarios.
En consecuencia, el campo de actuacin y utilidad de los modelos de
optimizacin se ha ampliado tremendamente al utilizar estos lenguajes. Entre
sus caractersticas y ventajas principales destacan las siguientes:


7
CPLEX es problablemente el mejor optimizador existente en la actualidad para problemas
LP y MIP.
8
Se denomina programacin de restricciones a un tipo de programacin lgica donde el
dominio de las variables viene definido por relaciones lgicas y por restricciones.
12/02/2008 95
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN















Proporcionan una formulacin sencilla de modelos grandes y complejos
Facilitan sobremanera el desarrollo de prototipos
Mejoran sustancialmente la productividad de los modeladores al permitir
dedicar ms tiempo al diseo, ejecucin del modelo y anlisis de los
resultados y menos a la codificacin del mismo
Estructuran los buenos hbitos de modelado al exigir una representacin
concisa y exacta de los parmetros/variables y sus relaciones
Recogen simultneamente la estructura del modelo y su documentacin
Separan de manera natural los datos de la estructura del modelo y sta de
los algoritmos de solucin
La formulacin del problema es independiente del tamao. Permiten el uso
de la estructura del modelo para diferentes casos
9

Los optimizadores pueden ser intercambiados sin dificultad, se pueden
probar nuevos optimizadores, nuevos mtodos o nuevas versiones
Por ejemplo, en el lenguaje GAMS se encuentran entre otros disponibles los
optimizadores CPLEX, OSL, XA y XPRESS para problemas LP y MIP,
MINOS y CONOPT para problemas NLP, DICOPT para problemas MINLP
y MILES y PATH para problemas MCP.
Permiten la realizacin de cambios en el modelo de manera sencilla y segura,
es decir, se puede afrontar un refinamiento continuo en la formulacin del
problema
Cualquier tipo de problemas de programacin lineal, no lineal, flujos en redes
o mixta complementaria resulta muy fcil implantar su formulacin
Permiten la implantacin de algoritmos avanzados, que incluyan varias
llamadas al optimizador o procedimientos especficos para el problema (como
por ejemplo los mtodos de descomposicin)
Permiten la portabilidad de los modelos entre plataformas y sistemas
operativos

Como desventajas principales se pueden mencionar las siguientes:

No son adecuados para la resolucin de problemas de pequeo tamao por
parte de usuarios espordicos por la barrera de entrada que supone el
aprendizaje de un nuevo lenguaje

9
Una manera habitual de desarrollar es utilizar una maqueta (caso ejemplo) para la
depuracin y verificacin del modelo y una vez comprobada su validez utilizar el caso real a ser
resuelto.
96 12/02/2008
I OPTIMIZACIN








No pueden utilizarse para la resolucin directa de problemas gigantescos
cuya formulacin completa incluso no se puede realizar (por ejemplo, a
partir de 1 milln de restricciones y/o variables)
En la ejecucin se incluye un tiempo de creacin del modelo y de interfaz
con el optimizador que ralentiza la obtencin de la solucin, por lo tanto no
es recomendable cuando el tiempo de ejecucin es un factor crtico.

Las tendencias o caractersticas ms actuales en el desarrollo de lenguajes
algebraicos se mueven hacia:

Interfaces de entrada y salida de datos ms estrechamente relacionadas con
bases de datos u hojas de clculo
El desarrollo de interfaces grficas que faciliten al usuario la formulacin
visual y el entendimiento de problemas de optimizacin
Interfaz con lenguajes de propsito general para la incorporacin de
funciones externas definidas por el usuario dentro de la optimizacin
El avance en las capacidades de resolucin directa de problemas estocsticos
(con adicin de caractersticas especficas en el propio lenguaje y uso de
algoritmos de descomposicin en el optimizador) o problemas no lineales
complejos
La posibilidad de ocultar el cdigo fuente produciendo versiones ejecutables
para usuarios finales
La seleccin automtica del mtodo y optimizador

I.4.1.3. Referencias
Brooke, A., Kendrick, D., Meeraus, A. and Raman, R. (1998) GAMS A Users
Guide. GAMS Development Co.
Fourer, R., Gay, D.M. and Kernighan, B.W. (2000) AMPL: A Modeling
Language for Mathematical Programming. The Scientific Press. 2nd ed.
Ragsdale, C. T. (1998) Spreadsheet modeling and decision analysis: a practical
introduction to management science. South-Western College. 2nd ed.
Gass, S.I., Hirshfeld, D.S. and Wasil, E.A. (1995) Model World: The
Spreadsheeting of OR/MS Interfaces pp. 72-81. September-October.
McCarl, B.A. and Spreen, Th.H. (1998) Applied Mathematical Programming
using Algebraic Systems. Technical Report.
Mochol, M. y Sala, R. (1996) Decisiones de optimizacin Tirant lo Blanch.
Valencia.
12/02/2008 97
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN
Sharda, R. and Rampal, G. (1995) Algebraic Modeling Languages on PCs
OR/MS Today pp. 58-63. June.
Van Hentenryck, P. (1999) The OPL Optimization Programming Language. The
MIT Press.
I.4.2. Elementos de estilo de programacin
En los ltimos aos se ha reconocido la programacin de computadores
como una disciplina cuyo dominio es bsico y crucial para el xito de muchos
proyectos de ingeniera Niklaus Wirth (1976).

La programacin no es un castigo divino para los humanos, es ciencia y arte.
Es ciencia en la medida que se pueden implantar modelos matemticos
complejos y que el pensamiento, la disciplina, la rigurosidad y la
experimentacin acompaan este desarrollo. El resultado es arte por la belleza,
elegancia, sensacin que puede transmitir un modelo y la profesionalidad de su
creador.
Una forma de aprender a escribir con estilo y estructura ordenada es
mediante la lectura de ejemplos ilustrativos o de cdigo ajeno. Una manera de
programar es por refinamiento gradual de los detalles. Es importante recordar
que en el desarrollo de una aplicacin el diablo se esconde en los detalles.
La potencia y concisin de los modelos escritos en un lenguaje de modelado
hacen que el propio cdigo forme parte de la documentacin. De hecho la
reutilizacin de modelos fue una de las causas que dieron origen a los lenguajes
de modelado. La etapa de diseo del modelo cobra gran importancia para
permitir posteriores ampliaciones. Por esta razn es importante el estilo en la
programacin, que incide en la calidad y mantenibilidad
10
del cdigo
desarrollado. Pinsese que el tiempo dedicado a mantenimiento y ampliacin de
un modelo es muy superior al inicial de desarrollo. El desarrollo y la depuracin
del modelo se debe hacer con una maqueta (caso ejemplo sencillo) para
finalmente utilizar un problema real.
He aqu algunas recomendaciones para la escritura de un modelo que inciden
en la calidad del desarrollo:

MODULARIDAD
Estructurar el modelo en diversos mdulos con diferentes propsitos. Por
ejemplo, la inclusin de los datos
11
y la escritura de resultados deben separarse

10
Se entiende por mantenibilidad la reutilizacin, reparacin o modificacin de un modelo.
11
Se recomienda la introduccin de los datos tal como son recogidos y entendidos por el
usuario y se hacen en el modelo los clculos auxiliares que sean necesarios.
98 12/02/2008
I OPTIMIZACIN
en diferentes ficheros que son convenientemente insertados mediante la
instruccin $i ncl ude en el mdulo principal, que contiene la formulacin del
problema de optimizacin.
Utilizacin de las entidades (parmetros, escalares, etc.) con el mismo
propsito y significado en las diferentes partes del cdigo. Es decir, mantener la
definicin y uso de cada parmetro y escalar en todo el cdigo para evitar la
confusin del lector.
Comprobacin de la pertenencia de un subconjunto a un conjunto de forma
explcita en su definicin, es decir, evitar el uso de ndices comodn en vectores y
matrices. Esta es una manera de validar y evitar errores en la introduccin de
los datos.

ESCRIBIR CDIGO PARA FACILITAR SU LECTURA
Estas otras recomendaciones estn orientadas al cuidado exquisito de la
esttica. Es el primer paso en el desarrollo profesional de un modelo. Son
fundamentales, aunque aparentemente carecen de importancia para el
desarrollador, pero se hacen imprescindibles para su mantenimiento y
ampliacin. El cdigo debe ser limpio y claro para que pueda ser mantenido.
Mantener una coherencia en las reglas de escritura, de manera que se
observe una norma sistemtica en todo el cdigo. Por ejemplo, endentacin en
las instrucciones repetitivas, sangra de tres espacios cada vez que se realiza una
instruccin tipo LOOP, I F. Las palabras reservadas del lenguaje van en
maysculas (LOOP, I F, THEN, ELSE, SET, SCALAR, PARAMETER, TABLE, etc.). La
coma del final de instruccin va separada por un blanco. El signo de igualdad en
las asignaciones se separa por espacios en blanco a ambos lados.
Establecer paralelismos o rplicas entre instrucciones consecutivas
semejantes.
Las lneas de cdigo deben tener una longitud aproximada de 100 columnas,
no sobrepasando nunca las 110. Romper la instruccin en cuantas lneas sea
necesario para cumplir esta recomendacin.
Los comentarios deben ser suficientemente ilustrativos del contenido y estar
bien localizados. Deben ayudar a documentar la naturaleza y origen de los datos
Se deben utilizar nombres largos y descriptivos para las entidades del
modelo.
Los nombres y los ndices de los parmetros, variables y ecuaciones han de
ser acrnimos que representen su significado. Se recomienda una longitud de
hasta 10 caracteres para los primeros y de hasta 2 para los segundos. Los
comentarios explicativos pueden hacerse de hasta 80 caracteres.
Las definiciones de las entidades del modelo deben llevar las dimensiones
fsicas del problema.
12/02/2008 99
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN
Hacer un uso sistemtico de maysculas y minsculas con algn criterio
predefinido, que debe ser coherente y mantenerse a lo largo de todo el
programa. Por ejemplo, los nombres de los parmetros, variables y ecuaciones
van en maysculas. Los nombres de sus ndices van en minsculas.

REFORMULACIN MANUAL DEL PROBLEMA
Un primer estadio en la formulacin de un problema est en la eleccin de la
propia formulacin. A veces se pueden utilizar formulaciones semejantes con
coste computacional muy diferente. Por ejemplo, para la representacin de las
prdidas en un circuito elctrico se puede utilizar una funcin no lineal o una
poligonal aproximada. Habitualmente la formulacin poligonal convexa requiere
mucho menos tiempo.
Diferentes formulaciones matemticamente equivalentes de un mismo
problema de optimizacin pueden requerir tiempos de optimizacin muy
distintos. Esta afirmacin es especialmente relevante en problemas de
programacin lineal entera mixta y programacin no lineal. Por esta razn,
siempre es conveniente un ejercicio continuo de experimentacin y reformulacin
de los problemas.
Veamos estas tres formulaciones de un problema NLP
1 1
1
0
1
min
1
n n
ij i j
i j i
n
j
j
n
j j
j
q x x
x
r x r
= = +
=
=
=
=


1 1
1
0
1
min
1
n n
i ij
i j i
n
j
j
n
j j
j
x q x
x
r x r
= = +
=
=
=
=

j

100 12/02/2008
I OPTIMIZACIN
1
1
1
0
1
min
1
n
i i
i
n
i i
j i
n
j
j
n
j j
j j
j
x w
w q
x
r x r
=
= +
=
=
=
=
=

x

La ventaja de la formulacin segunda con respecto a la primera es
inmediata. La formulacin 1 requiere para evaluar la funcin objetivo
aproximadamente 2
2
n
n multiplicaciones. En la formulacin 2 se necesitan
2
n
n n + aproximadamente. La tercera formulacin tiene esencialmente las
mismas multiplicaciones pero aparecen en restricciones lineales. El nmero de
restricciones aumenta sustancialmente pero todas son lineales y los mtodos de
manipulacin de restricciones lineales son extremadamente eficientes. La
formulacin 3 resulta ser la ms eficiente.
De hecho, algunos optimizadores realizan una etapa previa de preproceso
12

del problema antes de su resolucin (parmetro de control pr esol ve en el
CPLEX). Como ejemplo, el impacto en el tamao de dos problemas LP debido
al preproceso realizado por el optimizador CPLEX 6.0 se muestra en la tabla
1.3.

Caso 1 Caso 2
Restricc. Variables
Elementos
Restricc. Variables Elementos
Sin preproceso 19047 27262 81215 48971 63935 187059
Con preproceso 15744 21982 51079 40794 56133 135361
Decremento 17% 19% 37% 17% 12% 28%

Tabla 1.3 Reduccin de tamaos con la opcin de preproceso.

En la formulacin del problema la opcin pr of i l e muestra el tiempo y
memoria consumidos y el nmero de asignaciones realizadas o restricciones
creadas.
Entre las principales consideraciones para mejorar la formulacin de un
problema de optimizacin se pueden citar:


12
El desarrollo de las tcnicas de preproceso y reformulacin han originado avances muy
importantes en la resolucin de problemas MIP.
12/02/2008 101
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN



Clculo analtico del nmero de restricciones y variables
ste es una ayuda para ser consciente del tamao esperable del problema y
ver su dependencia en funcin de los elementos bsicos que lo componen. El
nmero real de restricciones para un caso concreto se muestra con la opcin
pr of i l e. Puede ser utilizado para detectar errores en la formulacin. Por
ejemplo, por excesivo nmero de ecuaciones al haber puesto dimensiones
superfluas no controladas convenientemente con conjuntos dinmicos.
Es conveniente tambin conocer la estructura de la matriz de restricciones,
es decir, los bloques que la componen. Existe alguna utilidad, citada en el
siguiente apartado, que lo permite hacer.

No crear variables ni ecuaciones superfluas.
Hay que tener cuidado con lo que se entiende por superfluas porque algunas
condiciones redundantes pueden realmente llevar a obtener un modelo ms
fuerte en el contexto de programacin entera. Sin embargo, el conocimiento
de la naturaleza del problema permite introducir condiciones lgicas
(mediante el uso del operador $) que eliminan algunas de ellas en la escritura
de las ecuaciones o de las variables. Por ejemplo, en el caso de una red se
suprimen variables o ecuaciones asociadas a lneas entre nudos no conectados
entre s. Aunque los optimizadores pueden detectar algunas de estas
ecuaciones/variables superfluas, es ms eficiente evitarlo mediante
condiciones expresas.
La opcin sol pr i nt =on o la utilidad gamschk puede ayudar en la deteccin
de las variables o ecuaciones superfluas (porque toman valor 0 o conocido
bajo toda circunstancia en la solucin).

Reduccin del nmero de restricciones y/o elementos de la matriz aun a
costa de aumentar el nmero de variables.
Una manera de reducir el nmero de ecuaciones o de variables es
introduciendo expresamente el conocimiento que se tiene del problema real
(casos particulares que pueden aparecer y sus implicaciones). Es ms
conveniente hacerlo manualmente a dejar que lo intente el preproceso del
optimizador.
Se puede hacer mediante sustitucin, definicin de nuevas variables,
reformulacin en general se debe intentar reducir el nmero de restricciones
y/o de elementos de la matriz.
Como norma general para la formulacin de problemas lineales es
conveniente saber que el tiempo necesario para su solucin por el mtodo
simplex depende aproximadamente del cubo del nmero de restricciones, no
siendo demasiado influyente el nmero de variables. En el mtodo de punto
102 12/02/2008
I OPTIMIZACIN
interior el tiempo de ejecucin depende principalmente del nmero de
elementos (densidad) de la matriz de restricciones.



Escalacin tanto de variables como de coeficientes y valores de restricciones
a nmeros alrededor de 1
Esto mejora el comportamiento numrico en la resolucin del problema y
reduce el tiempo de ejecucin. La escalacin resulta muy conveniente en
problemas LP de gran tamao pero es imprescindible en problemas NLP.
Implcitamente los valores por omisin de los parmetros de control de los
optimizadores estn fijados suponiendo que el problema est bien escalado
alrededor de 1. Con una escalacin razonable puede haber como mucho 6
rdenes de magnitud de diferencia (por ejemplo, coeficientes de las variables
entre 0.001 y 1000). La utilidad gamschk es una herramienta muy til para
observar los intervalos de variacin de los coeficientes de las variables en las
restricciones y de las costas de stas para detectar potenciales problemas de
escalado.
La escalacin se puede hacer manualmente expresando las variables,
parmetros y ecuaciones en unidades naturales con sentido fsico para el
problema o automticamente mediante las opciones disponibles en el
lenguaje (nombr e_model o. scal eopt =1) o en el optimizador (scal e). La
escalacin manual requiere ms cuidado y control pero es preferible porque
conserva la naturaleza fsica del problema dentro del cdigo y es igual de
efectiva que la automtica.
En cualquier caso hay que tener cuidado al realizar el escalado,
especialmente en problemas no lineales, donde pueden existir efectos no
lineales que invaliden la nueva formulacin.

Acotamiento de las variables.
Las cotas en las variables no cuentan como restricciones desde el punto de
vista del tiempo de clculo, ya que los algoritmos de optimizacin las tratan
de forma especfica. Las cotas pueden tener sentido fsico (y, por tanto,
forman parte de la naturaleza del problema) o ser algortmicas (es decir,
cotas superfluas que nunca deben ser activas en la solucin ptima pero que
reducen el tiempo de optimizacin).
El preproceso generalmente incluye procedimientos para el fortalecimiento de
las cotas de las variables (reduccin de las cotas superiores y aumento de las
inferiores).

TRATAMIENTO EXPLCITO DE CONJUNTOS ORDENADOS SOSN
12/02/2008 103
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN
Los conjuntos ordenados (Special Ordered Sets SOS) son conjuntos de
variables que cumplen las siguientes condiciones:
Como mucho n elementos del conjunto toman valores diferentes de 0. El
resto de elementos ha de ser 0
Si hay n elementos que son diferentes de 0 deben ser contiguos
Los conjuntos ordenados tienen un tratamiento especial en la optimizacin,
por lo que su definicin puede mejorar mucho el tiempo requerido para la
resolucin.

SELECCIN DEL OPTIMIZADOR Y TIPO ALGORITMO DE OPTIMIZACIN
Un lenguaje de modelado permite utilizar diferentes optimizadores para la
resolucin de un mismo problema de optimizacin. Esta caracterstica
representa una gran ventaja por la flexibilidad que aporta en la seleccin del
optimizador ms adecuado a las caractersticas del problema.
En Internet (www-c.mcs.anl.gov/otc/guide/faq/linear-programming.html) y
en la revista OR/MS Today, Fourer (2003), se pueden encontrar opiniones y
revisiones del software disponible para la resolucin de problemas de
optimizacin de todo tipo. Entre los optimizadores a los que se ha tenido acceso
destacan CPLEX y OSL para LP, MINOS y CONOPT para NLP y MILES y
PATH para MCP.
El mejor mtodo para un problema concreto depende de las caractersticas
del problema, de los detalles de implantacin del mtodo simplex o del punto
interior y del ordenador utilizado. Por esta razn los paquetes comerciales de LP
importantes incluyen mtodos de punto interior (habitualmente primal-dual
predictivo-correctivo), mtodos simplex (en su versin primal y dual) y de
resolucin de flujos de redes (simplex de red). Se debe utilizar el mtodo de
optimizacin (punto interior o barrera, simplex primal o simplex dual) ms
adecuado al tipo o tamao del problema.
Como recomendacin general, para problemas de tamao medio (hasta
aproximadamente de 10000 x 10000) el mtodo ms adecuado es el simplex y
para problemas de gran tamao (desde 10000 x 10000 hasta 100000 x 100000) el
mejor mtodo es el de punto interior (especialmente en problemas degenerados).
Para problemas de tamao superior se requiere el uso de tcnicas de
optimizacin especficas (como, por ejemplo, las de descomposicin entre otras
[Ramos, 1996]). La seleccin de un mtodo u otro se debe realizar
principalmente en funcin del tamao del problema. [Bixby, 2000] es un artculo
prctico reciente donde se presentan algunas comparaciones entre mtodos de
solucin del optimizador CPLEX tanto para problemas lineales como enteros
mixtos.
104 12/02/2008
I OPTIMIZACIN
El mtodo simplex tambin resulta adecuado en la realizacin de anlisis de
sensibilidad, es decir, cuando se trata de resolver problemas similares
disponiendo de una solucin prxima y una base previa, como sucede en el
mtodo de ramificacin y acotamiento para resolver problemas lineales enteros.
A continuacin se presenta la tabla 1.4 de comparacin entre varios
optimizadores y mtodos de optimizacin. En la tabla 1.5 se muestra la
diferencia de funcionamiento entre las opciones de preproceso de dos
optimizadores.

Caso 1 Caso 2
Tiempo ndice Iter. Tiempo ndice Iter.
Punto interior 41.8 1.0 32 237.3 1.0 35
Simplex dual 99.8 1.4 12692 1812.6 6.6 48695

CPLEX 6.0
Simplex primal 156.2 3.7 21622 1217.5 5.1 50280
MINOS 5.3 Simplex primal 1863.6 44.6 23927
Punto interior 163.9 3.9 10798 774.4 3.3 19524
OSL 2.1 Simplex primal 530.9 12.7 12685 7426.6 31.3 62019

Tabla 1.4 Comparacin entre diferentes optimizadores en problemas LP.

Caso 1 Caso 2
Restricc. Variables Elementos Restricc. Variables Elementos
Sin prep 19047 27847 82295 49715 64679 189477
Prep CPLEX 14,8% 19,3% 36,2% 17,9% 13,2% 28,6%
Prep OSL 4,9% 0,0% 2,4% 15,6% 0,0% 9,1%

Tabla 1.5 Comparacin entre diferentes preprocesos.

Las diferencias en tiempo de resolucin que pueden encontrarse entre
mtodos de optimizacin o entre implantaciones de un mismo mtodo llegan a
ser significativas (de hasta 45 veces para una comparacin entre CPLEX 6.0
utilizando un mtodo de punto interior y MINOS 5.3 utilizando el mtodo
simplex para un problema de 19000 restricciones, 28000 variables y 82000
elementos no nulos). Para un mismo mtodo de optimizacin se han encontrado
diferencias de hasta 3 veces entre implantaciones.

UTILIZACIN DE LTIMAS VERSIONES
En general, las ltimas versiones aportan mejoras de tiempo o funcionalidad
con respecto a versiones previas.
12/02/2008 105
I.4 CODIFICACIN DE PROBLEMAS DE OPTIMIZACIN
En particular, una caracterstica muy atractiva de los lenguajes de modelado
es la posibilidad de actualizar la versin del optimizador o cambiar de
optimizador sin necesidad de realizar modificaciones en el cdigo del modelo. Ser
consciente de ello y aprovecharlo forma parte de un uso avanzado del lenguaje.

AJUSTE DE PARMETROS DE CONTROL DEL OPTIMIZADOR
Habitualmente los parmetros de control de un optimizador toman unos
valores por omisin generalmente adecuados para un problema estndar de
optimizacin. Sin embargo, cuando se trata de problemas difciles, como pueden
ser los LP de muy gran tamao o los NLP o MIP, son convenientes pruebas
especficas de ajuste con algunos parmetros. En particular, algunos
relacionados con la eficiencia y estabilidad numrica del algoritmo.
Los parmetros son propios de cada optimizador y tambin pueden serlo de
cada mtodo de optimizacin. Por mencionar algunos que pueden ser
importantes en MINOS (l i nesear ch t ol er ance, penal t y, maj or
i t er at i ons, mi nor i t er at i ons, f act or i zat i on f r equency) y en CPLEX
(epopt , epr hs, epmr k).
Como consejo para evitar errores o confusiones es conveniente la creacin de
los ficheros de parmetros de control del optimizador dentro del cdigo en lugar
de editarlos manualmente.

USO DE SOLUCIONES INICIALES Y/O BASES PREVIAS
El uso de puntos iniciales es particularmente importante en el caso de
problemas no lineales, donde se debe ejecutar un problema lineal cuya solucin
resulte cercana a la previsible solucin del problema no lineal.
Cuando se trata de ejecuciones sucesivas es conveniente, desde el punto de
vista de clculo, aprovechar en el algoritmo del simplex las bases de soluciones
previas del mismo problema u otro similar que haya sido resuelto previamente.
La base contiene la informacin relativa a las variables primales y duales del
problema. El aprovechamiento se controla con la opcin br at i o que marca un
criterio de aceptacin o rechazo de la misma.
Como ejemplo del impacto en el tiempo de optimizacin del
aprovechamiento de la base, un problema LP de 8000 restricciones, 10000
variables y 30000 elementos requiere 10.3, 4.4, 4.7 y 2.6 segundos en sucesivas
resoluciones.
A pesar de ello esta ventaja puede no ser suficiente para ciertos tamaos
como para superar al mtodo de punto interior. Por ejemplo, aproximadamente
a partir de 20000 restricciones por 20000 variables el mtodo de punto interior
resulta ms competitivo que el simplex aun comenzando ste con una base
previa de un problema anterior.
106 12/02/2008
I OPTIMIZACIN

DETECCIN DE INFACTIBILIDADES
Un mtodo muy sencillo aunque laborioso y que puede producir problemas
de consistencia y de dimensiones, es introducir variables de holgura en cada
restriccin y penalizarlas en la funcin objetivo. Este procedimiento hace las
restricciones elsticas.
Alternativamente algunos optimizadores tienen un parmetro que detecta el
ncleo menor de restricciones infactibles de un problema (parmetro Irreducible
Infeasible Subsets i i s) y, por consiguiente, ayudan a localizar su posible causa.
Una vez conocidas el desarrollador debe modificar o eliminar alguna del
conjunto para que el problema se haga factible. Un artculo reciente de John W.
Chinneck sobre algoritmos para encontrar este conjunto mnimo es [Guieu, 1999]

ANLISIS DE SENSIBILIDAD
Proporciona informacin adicional sobre la solucin de un problema de
optimizacin lineal.
Algunos optimizadores permiten realizar directamente un anlisis de
sensibilidad a cambios en los coeficientes de la funcin objetivo que no producen
una alteracin de la base ptima o a cotas de las restricciones que no producen
prdida de factibilidad (parmetros obj r ng, r hsr ng).
12/02/2008 107