Historia de la Investigación de Operaciones

El origen exacto de la Investigación de Operaciones no está del todo establecido. Algunos autores postulan que Charles Babbage (1791-1871) es el padre de la Investigación de Operaciones debido a su contribución en la investigación de los costos de transporte y sistemas de clasificación del correo en England’s universal Penny Post en el año 1840.

Sin embargo, usualmente se considera que la Investigación de Operaciones como disciplina se origina formalmente durante la Segunda Guerra Mundial (WWII) en los esfuerzos de los planificadores militares y científicos ingleses por apoyar los procesos de toma de decisiones propios de la guerra con una base analítica y cuantitativa. El objetivo era descubrir la forma más eficiente de utilizar los limitados recursos militares a través de la aplicación de técnicas cuantitativas.

En este contexto el Problema de la Dieta fue uno de las primeros problemas de optimización estudiados en el período de 1930 a 1940. Las fuerzas armadas norteamericanas deseaban suministrar una dieta saludable a sus soldados y al mismo tiempo minimizar el costo asociado a su prestación. La premisa era el alimento es un pertrecho (munición), no lo despedicies!. Uno de los primeros investigadores en estudiar el problema fue George Stigler quien hizo una conjetura de la solución óptima a través de la utilización de un método heurístico.

problema de la dieta investigacion de operaciones

Una vez terminada la Segunda Guerra Mundial los conceptos de la Investigación de Operaciones son aplicados en otros contextos relacionados a los negocios, la industria y la sociedad. En la década de 1950 la Investigación de Operaciones evoluciona hacia una profesión, comenzándose a conformar las primeras sociedades nacionales del área, junto al nacimiento de revistas especializadas y departamentos académicos en las universidades. En 1955 se crea la Sociedad de Investigación de Operaciones en India siendo uno de los primeros miembros de la Federación Internacional de Sociedades de Investigación Operativa (International Federation of Operational Research Societies IFORS).

ifors logo

La industria petroquímica fue una de las primeras en adoptar ampliamente la Investigación de Operaciones para mejorar el desempeño de las plantas productivas. La empresa Chevron, líder mundial en la industria energética desarrolla un software llamado Petro destinado al apoyo del proceso de compra y mezcla de combustibles, alcanzando ahorros anuales del orden de 400 millones de dolares.

Actualmente la Investigación de Operaciones es utilizada a nivel mundial tanto en organizaciones publicas como privadas, además de ser un área activa de investigación académica. Al respecto algunos de los campos de acción más frecuentes son:

Un listado actualizado de casos de éxito de la Investigación de Operaciones se puede consultar directamente desde el sitio web de INFORMS (Institute for Operations Research and the Management Sciences) teniendo la posibilidad de buscar aplicaciones específicas por sector industrial, área funcional de la empresa y beneficio alcanzado.

casos-de-exito-investigacio

Queda de manifiesto el enfoque multidisciplinario de las áreas de aplicación donde la utilización de modelos de optimización son una contribución significativa a los complejos procesos de tomas de decisiones. Dichos modelos de optimización pueden ser tanto determinísticos como probabilísticos que actualmente son materias de estudios en cursos del área en carreras de pregrado y postgrado relacionadas a la Ingeniería Industrial y otras ingenierías afines.

Problema de la Dieta con variables enteras resuelto con Solver de Excel

En un artículo previo tratamos el Problema de la Dieta como una aplicación característica de la Programación Lineal discutido ampliamente en los Cursos de Investigación de Operaciones. El problema consiste básicamente en encontrar una combinación de alimentos óptima que permita satisfacer ciertos requerimientos nutricionales mínimos y adicionalmente tenga el menor costo asociado a la selección de los mismos.

Una vez obtenida la solución óptima y valor óptimo de dicho modelo nos podemos enfrentar al escenario donde todas o algunas de las variables de decisión adoptan valores fraccionarios. Si bien esta situación es aceptada en los modelos de Programación Lineal (en efecto constituye un supuesto básico de la Programación Lineal), puede resultar de interés simular una nueva solución donde las variables de decisión adopten valores enteros.

El siguiente tutorial muestra cómo incorporar las condiciones de integralidad al Problema de la Dieta, lo que da origen a un modelo de Programación Entera.

Se puede observar que hemos utilizado un formato similar al modelo de Programación Lineal, sin embargo, se incorpora la condición de integralidad para las variables de decisión como si fuese una restricción adicional. Adicionalmente en las Opciones de Solver debemos desactivar la selección de «Adoptar modelo lineal» debido a que ahora el modelo es de Programación Entera (esta indicación es válida para las versiones de Office 2007 y anteriores).

La tabla a continuación resume los resultados del Problema de la Dieta resuelto como un modelo de optimización lineal o entero:

Resultados del Problema de la Dieta

Se puede observar que el valor óptimo del Problema Entero es superior al del Problema Lineal. Siendo éste un problema de minimización esta situación es natural dado que el dominio de soluciones factibles del problema entero está contenido en el dominio del problema lineal (es un subconjunto) y por tanto no podríamos encontrar nada mejor (más económico en este caso) que el valor óptimo del problema lineal.

Es importante destacar adicionalmente que para obtener la solución óptima de un problema entero NO es suficiente con aproximar los resultados fraccionarios del problema lineal asociado, por ejemplo, al entero superior o entero inferior más cercano. En consecuencia se requiere de algoritmos específicos para la resolución de modelos de Programación Entera, siendo el Algoritmo de Ramificación y Acotamiento (Branch & Bound) uno de los más populares.

Problema de la Dieta en Programación Lineal resuelto con Solver de Excel

Una de las aplicaciones clásicas de la Programación Lineal es el Problema de la Dieta. El objetivo es seleccionar un conjunto de alimentos dados que permitan satisfacer ciertos requerimientos nutricionales y preferencias y que adicionalmente tenga un costo mínimo.

En este contexto en el Servidor NEOS se puede encontrar un conjunto de antecedentes que permiten comprender el contexto histórico del Problema de la Dieta y cómo se puede abordar de forma eficiente a través de modelos de optimización. Al igual que varias de las aplicaciones de la Investigación de Operaciones este problema tiene un origen militar.

Para efectos de este tutorial y con el objetivo de ilustrar esta aplicación consideremos el siguiente listado de alimentos con su perfil nutricional y costo monetario:

Tabla Alimentos

Se desea proponer una dieta que contenga al menos 2.000 (Kcal) , al menos 55 gramos de proteína y 800 (mg) de calcio. Adicionalmente para garantizar cierta variedad en la dieta se establece límites de porciones por día en los alimentos. Con esta información se requiere encontrar la dieta que tenga el menor costo asociado y permita satisfacer los requerimientos anteriores.

Para ello definimos el siguiente modelo de Programación Lineal:

1. Variables de Decisión: Xi : Porciones de alimentos a consumir durante el día del alimento i (Con i=1 ==> Avena, …. i=6 ==> Porotos).

2. Función Objetivo: Minimizar 30X1+240X2+130X3+90X4+200X5+60X6

3. Restricciones:

  • Mínimo de Calorias (KCal): 110X1+205X2+160X3+160X4+420X5+260X6 >= 2.000
  • Mínimo de Proteínas: 4X1+32X2+13X3+8X4+4X5+14X6 >= 55
  • Mínimo de Calcio: 2X1+12X2+54X3+285X4+22X5+80X6 >= 800
  • Variedad de la Dieta: X1<=4   X2<=3   X3<=2   X4<=8   X5<=2   X6<=2
  • No Negatividad: Xi>=0 Para todo i.

La implementación de este modelo en Solver de Excel para obtener su solución óptima y valor óptimo se muestra en el siguiente tutorial:

La Solución Óptima es X1=4, X2=0, X3=0, X4=2,08, X5=1,68, X6=2 y el Valor Óptimo (costo de la dieta) es $764,07.

Como el modelo es de Programación Lineal se permiten valores fraccionarios para las variables de decisión. Por tanto si buscamos solo valores enteros para las variables de decisión en ese caso debemos definir un modelo de Programación Entera el cual revisamos en el siguiente artículo: Problema de la Dieta en Programación Entera resuelto con Solver de Excel.