Beruflich Dokumente
Kultur Dokumente
La Investigacin Operativa
1.1
Qu es la Investigacin Operativa?
1.2
Comentarios histricos
Hacer un uso ptimo de los recursos disponibles es un problema tan antiguo como la
humanidad. Sin embargo, hasta finales del siglo XIX y principios del XX no empezaron a
tomar forma los rudimentos de la Investigacin Operativa tal y como la conocemos hoy. Las
primeras investigaciones de inters son de las dos primeras dcadas del siglo XX: los
diagramas de Gantt para Planificacin de Proyectos, los estudios de Markov sobre Procesos
Estocsticos, la Teora de Colas, etc. Pero muchos expertos en la materia sitan sus orgenes
en la Segunda Guerra Mundial, cuando la confianza en la intuicin comenz a desvanecerse,
y se empezaron a utilizar tcnicas de Investigacin Operativa para la toma de decisiones
bajo escasez de recursos. Para maximizar el rendimiento, era necesario asignar los recursos
disponibles, de un modo efectivo, a las diversas operaciones y actividades. Los dirigentes
militares britnicos encargaron a cientficos e ingenieros el anlisis de varios problemas:
despliegue de radares, manejo de operaciones de bombardeo, colocacin de minas, etc. Las
administraciones britnica y americana formaron grupos de trabajo, compuestos por gran
nmero de cientficos (matemticos, estadsticos, fsicos, bilogos y psiclogos) para hacer
una distribucin racional, ms fiable que la dada por la intuicin, de los medios con los que
contaban. Los esfuerzos de este primer grupo de Investigacin Operativa fueron decisivos
para ganar combates tan importantes como la Batalla Area Britnica, la Batalla del
Atlntico Norte y la Campaa de las Islas del Pacfico.
Despus de la guerra, estos xitos atrajeron la atencin de la industria, que quera
solucionar nuevos problemas causados por el aumento de la complejidad de los procesos
industriales y una mayor especializacin en los mismos, lo que creaba una posible
incompatibilidad de objetivos. Adems, podemos identificar al menos otros dos factores que
contribuyeron significativamente al gran avance de esta ciencia en ese perodo. De un lado,
las mejoras sustanciales que se obtenan al desarrollar y perfeccionar las tcnicas de
Investigacin Operativa, y de otro, el desarrollo paralelo de los ordenadores, que aument
de forma espectacular la capacidad de almacenamiento de datos y la velocidad de
resolucin de los problemas.
Uno de las reas ms importantes y activas de la Investigacin Operativa es la
Programacin Lineal. Los problemas de Programacin Lineal se basan en la optimizacin
de una funcin lineal, la funcin objetivo, sujeta a una serie de restricciones lineales de igualdad
o desigualdad de las variables. El reconocimiento de la importancia de este tipo de problema
coincidi con el desarrollo de un mtodo eficiente, el Mtodo Smplex (George Dantzing,
1941) y un medio, el ordenador, para aplicarlo. Una buena parte de los fundamentos de la
Programacin Lineal se descubri en un perodo sorprendentemente corto de tiempo de
intensa labor de investigacin y desarrollo, entre los aos 1947 y 1949. En la actualidad, el
Algoritmo Smplex es una herramienta estndar que ha ahorrado enormes cantidades de
dinero a la mayora de las empresas o compaas en los pases industrializados, y su uso en
otros sectores de la sociedad avanza rpidamente. Se han escrito docenas de libros sobre
Programacin Lineal y publicado centenares de artculos describiendo aplicaciones
importantes. Recientemente, el Algoritmo Smplex ha sido elegido como uno de los diez
algoritmos de mayor influencia en el desarrollo y la prctica de la ciencia y la ingeniera en el siglo
XX (Nash, 2002).
Uno de los descubrimientos ms importantes en el desarrollo reciente de la Programacin
Lineal es el concepto de dualidad. Cada problema de Programacin Lineal tiene asociado otro
problema del mismo tipo que se denomina el problema dual. Las relaciones existentes entre el
problema original (problema primal) y su dual son muy tiles en muchas situaciones. En
1954, Lemke desarroll el Mtodo Dual del Smplex que conduce desde una solucin
ptima que no cumple las condiciones de no negatividad a la solucin final del problema.
Este mtodo ser fundamental en el desarrollo de algunos algoritmos para Programacin
Entera. En 1956, Dantzing, Fold y Fulkerson desarrollaron el Algoritmo Primal-Dual
General, que resuelve problemas de Programacin Lineal trabajando simultneamente con
los problemas Primal y Dual. Originalmente, este algoritmo fue creado para resolver un tipo
especial de problemas que surgieron en Flujo de Redes. Basndose en la Teora de la
Dualidad, se desarroll el Anlisis de Sensibilidad, que constituye una parte clave en
cualquier estudio de Programacin Lineal, pues muchos de los valores de los parmetros
usados en los modelos son estimaciones y no valores exactos, y por tanto es necesario
investigar qu efecto tendra la variacin de alguno de ellos en la solucin final.
En los ltimos aos, la Programacin Lineal ha vuelto a ser un foco de atencin
mayoritaria y un rea de investigacin muy activa. La causa de este auge ha sido el
desarrollo de dos algoritmos que difieren radicalmente del Mtodo Smplex: el primero es el
Mtodo del Elipsoide, desarrollado independientemente por Shor (1970) y Yudin y
Nemiroviskii (1976) para Programacin Convexa No Diferenciable, aunque fue Kachian
quien demostr en 1979 que dicho mtodo puede resolver problemas de Programacin
Lineal rpidamente en un sentido terico, y el segundo es el Algoritmo de Punto Interior
Proyectivo de Karmarkar (1984) que constituye una potente y prometedora herramienta
para resolver problemas grandes, pues es un algoritmo de tiempo polinomial, a diferencia
del Smplex, que es un algoritmo de tiempo exponencial.
En muchas situaciones de la vida real, las variables representan objetos indivisibles y por
tanto deben tomar valores enteros. Como respuesta a esta necesidad surgen algoritmos de
resolucin para problemas de Programacin Lineal Entera. A finales de los aos 50 y
principios de los 60, Ralph Gomory inici sus trabajos en esta rama de la Optimizacin, y
dise el Mtodo de los Planos Cortantes de Gomory, que contribuye en gran medida a
profundizar en el conocimiento del problema. En 1970 Mitten public un artculo en el que
se recogan los Mtodos de Separacin y Acotacin para la resolucin de este tipo de
problemas, que fueron desarrollados durante la dcada de los 60. Estos mtodos se basan en
principios muy simples y funcionan muy bien para problemas con menos de cien variables,
pero un crecimiento pequeo del tamao del problema puede provocar tiempos de
computacin demasiado grandes, ya que dichos periodos crecen exponencialmente. Muchos
problemas importantes que surgan en la prctica no podan ser resueltos, y este crecimiento
exponencial pareca difcil de superar. Sin embargo, a mediados de los aos 80 se publicaron
artculos clave que marcaron una nueva era en la metodologa de la solucin de problemas
de Programacin Entera. Las nuevas aproximaciones algortmicas combinan el preprocesamiento automtico de los problemas, la generacin de planos cortantes y algunas
tcnicas de separacin y acotacin. Cuando ni siquiera estos algoritmos pueden encontrar la
solucin ptima para un modelo real, se suele resolver el problema sin la restriccin de que
los valores de las variables sean enteros, redondeando posteriormente la solucin obtenida.
Esta tcnica resulta normalmente muy poco satisfactoria, pues la solucin autntica del
problema puede estar muy lejos de la solucin redondeada. Para solventar estos problemas,
disponemos actualmente de Algoritmos Heursticos bastante eficientes, los cuales suelen
encontrar de una forma rpida soluciones factibles aceptables que, aunque no sean
necesariamente ptimas, estn ms cerca de la solucin final que las soluciones
redondeadas.
Dentro de los problemas de Programacin Lineal existen dos que por su especial
estructura permiten el desarrollo y aplicacin de algoritmos especiales: el problema del
transporte y el problema de asignacin. En el problema del transporte, el objetivo es llevar
ciertas cantidades de productos desde varios orgenes a diferentes destinos, de forma que
alguna medida de la efectividad de la operacin sea ptima. En 1941, Hitchcock formul el
problema en la forma que lo conocemos hoy. Asimismo, Koopman public en 1947 un
artculo que tambin contribuy significativamente al planteamiento original del problema,
Programacin No Lineal, entre los cuales podemos destacar las Condiciones de KarushKuhn-Tucker para el caso general, que fueron desarrolladas independientemente por
Karush (1939) y Kuhn y Tucker (1951). Para la Programacin Convexa se trabaja
actualmente con tres tipos de algoritmos diferentes:
Los algoritmos de tipo gradiente, entre los cuales merece la pena destacar el Mtodo
del Gradiente Reducido Generalizado (Lasdon y Warren, 1978).
Los algoritmos secuenciales irrestrictos, que incluyen el Mtodo de Funcin Barrera
que fue propuesto por Carroll en 1961, y el Mtodo de Funcin de Penalizacin, cuyo
uso en la resolucin de problemas con restricciones se suele atribuir a Courant, aunque
fueron Camp en 1955 y Pietrgykowski en 1962 quienes discutieron el uso de esta
aproximacin para resolver problemas de programacin no lineal.
Los algoritmos de aproximacin secuencial, (incluyendo los mtodos de aproximacin
lineal y aproximacin cuadrtica), como por ejemplo el Algoritmo de Frank-Wolfe
(1956), que combina aproximaciones lineales de la funcin objetivo (lo cual nos permite
usar el Algoritmo Smplex) con el procedimiento de bsqueda unidimensional.
El anlisis de problemas de decisin con criterios mltiples constituye quizs el rea de
desarrollo ms activa en los ltimos aos en el campo de las ciencias de la decisin. Esta
importante rama de la Investigacin Operativa surgi como crtica al paradigma decisional
tradicional en el que se trataba de tomar decisiones en base a un nico criterio, cuando en
muchos casos de la vida ordinaria el decisor desea ordenar el conjunto de soluciones
factibles atendiendo a diferentes criterios que reflejen sus particulares preferencias. Los
primeros trabajos en esta rama se deben a Koopmans (1951), que desarrolla el concepto de
vector eficiente o no-dominado, y a Kuhn y Tucker (1951), que deducen las condiciones que
garantizan la existencia de soluciones eficientes. Otro trabajo crucial para el desarrollo del
paradigma multicriterio es el de Charnes, Cooper y Ferguson (1955), donde se presentan los
aspectos esenciales de la Programacin Por Metas que posteriormente desarrollan Charnes y
Cooper (1961) en su ya clsico trabajo Management Models and Industrial Applications of Linear
Programming. El indiscutible xito y apoyo sociolgico por parte de la comunidad cientfica
al paradigma multicriterio ha motivado la creacin de sociedades y revistas especialmente
dedicada a este tipo de temas.
Los problemas de Optimizacin Combinatoria tratan de encontrar la solucin ptima de
un nmero finito o infinito numerable de alternativas. En las ltimas dcadas han surgido
gran variedad de este tipo de problemas en reas tan diversas como la Investigacin
Operativa, las Ciencias de la Computacin, la Ingeniera, etc. Entre todos los problemas de
Optimizacin Combinatoria tal vez el ms conocido sea el Problema del Viajante de Comercio.
Un logro importante en la resolucin de este tipo de problemas es la conjetura establecida a
finales de los aos sesenta, que dice que existe una clase de problemas combinatorios con
una complejidad intrnseca tan grande que cualquier algoritmo que lo resuelva requiere
tiempos computacionales que crecen polinomialmente con el tamao del problema. A partir
de esta conjetura surge la Teora de la NP-completitud y el concepto de Problema Duro,
cuyos primeros artculos se deben a Cook (1971,1972), Karp (1972) y Levin (1973). Para este
tipo de problemas se utilizan los llamados Algoritmos de Aproximacin, que proporcionan
soluciones prximas al ptimo en tiempos de computacin razonables. Entre ellos merece
destacarse las Tcnicas de Enfriamiento Estadstico, que introdujeron Kirkpatrick, Gellat y
Vechi (1982, 1983) e independientemente Cerny (1985). Los conceptos bsicos de estas
tcnicas se basan en una fuerte analoga con el proceso fsico de enfriamiento de slidos. Un
rasgo caracterstico de este mtodo es que encuentra soluciones de alta calidad que no
dependen fuertemente de la eleccin de la solucin inicial, es decir, es efectivo y robusto.
Adems es posible dar una cota superior de tipo polinomial sobre los tiempos de
computacin para algunas implementaciones del algoritmo. As, el mtodo no presenta los
inconvenientes que presentan los algoritmos de bsqueda local y se puede aplicar de forma
general, lo que lo convierte en un interesante algoritmo general de aproximacin.
En la misma lnea de intentar imitar procesos naturales que se sigue en el diseo de las
tcnicas de Enfriamiento Estadstico se encuentran las tcnicas agrupadas bajo el nombre de
Algoritmos Evolutivos, quizs una de las reas en las que ms intensamente se trabaja en la
actualidad. Los algoritmos evolutivos son un conjunto de metaheursticos modernos
utilizados con xito en un nmero elevado de aplicaciones reales de gran complejidad. Su
xito resolviendo problemas difciles ha sido el motor de un campo conocido como
Computacin Evolutiva, en el que se encuadran estudios sobre aplicabilidad, complejidad
algortmica, fundamentos de funcionamiento y muchos otros aspectos, con el objetivo de
facilitar la promocin y comprensin de los algoritmos evolutivos a nuevos campos de
trabajo. En la actualidad, se entiende la computacin evolutiva como un concepto adaptable
para la resolucin de problemas, especialmente apropiado para problemas de optimizacin
complejos. Esta visin es la alternativa a algunas descripciones en desuso que muestran a la
computacin evolutiva como una coleccin de algoritmos parecidos listos para ser usados en
cualquier problema.
En la actualidad, y dado el gran impacto de las tcnicas de IO, hay muchas asociaciones
profesionales dedicadas a este campo. Hoy en da hay ms de cuarenta y cuatro pases que
son miembros de la International Federation of Operational Research Societies (IFORS,
http://www.ifors.org), organizacin mundial cuyo objetivo es el desarrollo de la
Investigacin Operativa como una ciencia unificada y su avance en todas las naciones del
mundo.
1.3
objetos a tareas para optimizar alguna medida como puede ser un tiempo o un costo,
el problema es de Asignacin. Si tenemos que distribuir objetos desde ciertos
orgenes a varios destinos de forma que cierta funcin lineal alcance su valor ptimo,
estamos ante un problema de Transporte o Transbordo.
Problemas de rutas, que tratan de encontrar la ruta ptima desde un origen a un
destino cuando existen varias alternativas posibles. El ejemplo ms caracterstico es
el clsico Problema del Viajante de Comercio. Un viajante de comercio tiene que
visitar N ciudades una y slo una vez antes de volver a su origen. En qu orden
debe visitarlas para minimizar la distancia total viajada?. Este problema de
formulacin tan sencilla es, en muchos casos, muy difcil de resolver.
Problemas de bsqueda, que difieren de los otros tipos de problemas que hemos
discutido en que hay que buscar cierta informacin que es necesaria para tomar una
decisin. Algunos ejemplos son: buscar barcos enemigos en el ocano, realizar
auditoras en empresas en busca de trampas o errores, realizar exploraciones de la
tierra para encontrar recursos naturales como petrleo, cobre, etc. En cada caso el
objetivo es minimizar tanto los costos asociados con la recoleccin y anlisis de datos
para reducir los errores de decisin como los propios costos de decisin. La Teora de
la Decisin Estadstica proporciona una base para resolver muchos problemas de
bsqueda.
Modelos de prediccin, cuyo objetivo es describir o predecir sucesos (nivel de ventas,
fechas de terminacin de proyectos, nmero de clientes, etc.) dadas ciertas condiciones.
Ejemplos de estos modelos son:
Problemas de reemplazamiento, que se ocupan de decidir el tiempo adecuado para
reemplazar los equipos que fallan o se deterioran. Uno de los problemas que se
ajusta a este planteamiento nos es muy conocido: Cundo debemos cambiar de
coche?. Como cada uno tiene su propia medida de efectividad, no hay una respuesta
nica an suponiendo que los coches tuvieran exactamente el mismo rendimiento.
Otros problemas bastante cotidianos que encajan en este marco son el problema de
reemplazamiento de maquinaria industrial, de ordenadores en centros de clculo,
establecimiento de garantas, etc.
Problemas de inventario, que consisten en determinar la cantidad ideal de productos
que se deben tener disponibles en una tienda o almacn. Si un cliente quiere comprar
una cierta cantidad de productos pero no estn disponibles, esto supondra una
venta perdida. Por otro lado, si hay un exceso de productos, el costo de
almacenamiento puede ser demasiado grande. El objetivo de este problema es
encontrar un punto de equilibrio.
Problemas de colas, que son desgraciadamente muy cotidianos. Esperamos en colas
para coger el autobs, para poner una transferencia, etc. Cualquier problema en el
que haya que esperar para obtener un servicio es un problema de colas. Estos
problemas vienen definidos por la distribucin de los tiempos entre dos llegadas
consecutivas al sistema, la distribucin de los tiempos de servicio de cada uno de los
dependientes, el nmero de dependientes presentes en el sistema, la disciplina de la
cola y el tamao de la sala de espera. El objetivo del problema es encontrar una
forma de mejorar el rendimiento global del sistema, que se mide normalmente
atendiendo al tamao de la cola, o bien al tiempo que transcurre desde que un cliente
llega al sistema hasta que lo abandona (tiempo de respuesta). En la gran variedad
existente de libros de Teora de Colas se proponen soluciones para muchos modelos
-
de este tipo, pero los problemas reales son tan complejos y sus componentes estn
tan interconectadas que la simulacin es un aspecto vital en este rea.
Problemas de competencia, que surgen cuando dos o ms objetos compiten por un
recurso. Muchas veces un problema de competencia consiste en una lucha para
obtener un contrato para prestar cierto servicio o conseguir un privilegio. Resolver
un problema de este tipo conlleva un proceso subyacente de Toma de Decisiones.
Determinsticos
Hbridos
Estocsticos
Optimizacin
No Lineal
Optimizacin
Lineal
Planificacin
de proyectos
Anlisis de
decisin
Mtodos
clsicos
Programacin
Lineal
Programacin
Dinmica
Procesos
estocsticos
Mtodos de
bsqueda
Transporte y
asignacin
Modelos de
inventario
Teora de
colas
Programacin
No Lineal
Programacin
Entera y Binaria
Simulacin
Problemas de
redes
Programacin
Multicriterio
1.4
Paso 1
Definicin del problema
Paso 2
Modelado matemtico
Paso 3
Solucin del modelo
Paso 4
Presentacin/Implementacin resultados
Sin embargo, los proyectos raramente se ajustan totalmente a este esquema en cascada,
sino que normalmente los modelos han de ser revisados, las soluciones han de ser
modificadas o los informes han de ser reescritos a medida que se modifican y ajustan el
conjunto inicial de datos e hiptesis. Por tanto, algunas partes del proceso deben repetirse
hasta que se encuentra una solucin adecuada.
Paso 1. Definicin del problema
Quizs la parte ms importante de todo el proceso sea la definicin del problema. Una
respuesta incorrecta a una pregunta correcta no suele tener consecuencias fatales, ya que se
pueden hacer revisiones y explorar otras alternativas: sin embargo, la respuesta correcta a
una pregunta incorrecta puede ser desastrosa. Es importante que el problema est
claramente definido antes de invertir una gran cantidad de trabajo y energa en resolverlo.
A la hora de definir el problema, el analista debe enfrentarse a uno o ms de los factores
siguientes: datos incompletos, conflictivos o difusos; diferencias de opinin; presupuestos o
tiempos limitados; cuestiones polticas; el decisor no tiene una idea firme de qu quiere
realmente. Para tratar con estos problemas, un buen plan de trabajo es el siguiente:
1. Observar. El analista debe realizar un esfuerzo para contemplar el problema desde
diferentes puntos de vista, de modo que termine entendiendo el problema tan bien o
mejor que las personas directamente implicadas.
2. Ser consciente de las realidades polticas. Casi siempre hay conflictos entre los jefes y los
trabajadores, o entre varios jefes. Para el analista, esto significa que a menudo recibir
informacin distorsionada o incompleta de cada grupo.
3. Decidir qu se quiere realmente. El analista debe estar seguro de que la compaa tiene
claros sus objetivos antes de desarrollar y resolver un modelo.
4. Identificar las restricciones. Es importante saber qu tipo de limitaciones pueden afectar
la decisin final, para posteriormente incluirlas en el modelo.
5. Buscar informacin de modo continuo. A lo largo de todo el proceso, el analista no debera
perder el contacto con el decisor. Esto permite que ambos modifiquen de forma
continua sus observaciones iniciales y estn al da del desarrollo del proceso.
Paso 2. Modelado matemtico
El modelado matemtico es un procedimiento que reconoce y verbaliza un problema para
posteriormente cuantificarlo transformando las expresiones verbales en expresiones
matemticas. El modelado matemtico es un arte, que mejora con la prctica. El proceso del
modelado matemtico consta de cuatro pasos, que se ilustran en la siguiente figura:
MODELADO MATEMTICO
Paso 1. Identificar las variables de decisin
Paso 2. Identificar la funcin objetivo
Paso 3. Identificar las restricciones
Paso 4. Traducir los elementos anteriores a un modelo matemtico
PRESENTACIN DE RESULTADOS
Paso 1. Preparar informes y/o presentaciones
Paso 2. Vigilar el proceso de implementacin de la solucin propuesta