Uno de los cursos más intrigantes cuando estuve en la universidad (hace fuuuu) fue el de Investigación Operativa: hallar soluciones óptimas a requerimientos bajo un conjunto de limitaciones. Por ejemplo: definir las rutas de camiones para minimizar los tiempos de entrega, establecer la combinación adecuada de cajeros para atender con un mínimo de personas a las agencias de un banco, definir la combinación más barata de ingredientes que cumpla con los requerimientos y regulaciones. Resolver este tipo de problemas puede ahorrar millones pero enfrenta dos barreras:
- La comprensión de las técnicas matemáticas y el modelamiento del problema. Normalmente esto se puede resolver incluyendo a un matemático en el equipo
- La implementación de la solución en algún lenguaje (o Excel [;-)], esto requiere un largo y cuidadoso trabajo entre el matemático del punto anterior y uno o más programadores
Lo triste es que para el punto 2 hay varias soluciones disponibles (de todo precio y calidad), pero la mayoría implementadas en cosas incómodas como Fortran (digo, porque cómo integras esto en una aplicación .NET o en Office 2007). Pues ahora tenemos una solución disponible: Microsoft Solver Foundation, que en definitiva es un conjunto de librerías que implementan “resolvedores” de modelos de optimización (por ejemplo, programación lineal, programación cuadrática, modelos no lineales, etc.), estos están implementados completamente en C#, y su arquitectura está intencionalmente diseñada para facilitar su incorporación en nuestras aplicaciones. Ah, y la versión Express es gratis y se puede bajar de acá.
Es interesante notar que la descar incluye ejemplos en C#, F#, Excel, IronPython, Excel y Visual Basic .NET. En F# incluso se tiene implementado un DSL (un mini-lenguaje especializado) llamado ODSL (Optimization Domain Specific Language).
Mucho menos ambicioso que ahorrarle unas decenas de miles de dólares a una empresa (o al Estado), es impresionar al profesor de Investigación Operativa, y sospecho que si hubiera tenido algo como Solver Foundation hace veinte años, me hubiera ido mejor…
Enviado
11-16-2008 19:04
por
Edgar Sánchez