Cómo lograr un buen desempeño en un curso de Investigación de Operaciones

¿Cómo lograr un buen desempeño en un curso de Investigación de Operaciones?. Esta es una pregunta que usualmente recibimos de nuestros usuarios y probablemente te represente. En el Equipo de Gestión de Operaciones estamos convencidos que esto depende de varios factores y en este artículo te compartiremos nuestra visión al respecto.

1. Participa activamente en la sala de clases: Te recomendamos ser un ente activo del proceso de enseñanza. Si tienes dudas de las materias que el docente este explicando no dejes de preguntar. De seguro tu profesor no tendrá problemas en explicar nuevamente algo que no haya quedado suficientemente claro.

estudiante preguntando

2. Apoya tus estudios con un libro guía: Disponer de un texto guía es una gran ayuda cuando se requiere profundizar en un aspecto teórico de las materias y adicionalmente para revisar casos y ejercicios resueltos. Si cursas un curso introductorio de Investigación de Operaciones te recomendamos conseguir un libro que cubra las principales temáticas del área como la Programación Lineal, Programación Entera, Programación No Lineal y Cadenas de Markov. En nuestra experiencia docente te recomendamos los siguientes textos que los puedes adquirir a precios económicos: Investigacion de Operaciones – Hillier y Lieberman y Investigación de Operaciones, Taha 7° Edición.

3. Explota el potencial de Excel: El tamaño (cantidad de variables de decisión y restricciones) de los modelos de optimización que te sean asignados en clases son generalmente para un fin académico y por tanto no deberías tener inconvenientes en poder implementarlo en Solver o What’sBest!. En nuestro Blog podrás encontrar una serie de artículos que hemos dedicado a estas poderosas herramientas de resolución.

excel_logo

4. Descarga el Libro de Apuntes de Programación Lineal: Nuestro objetivo es ser un apoyo para tus estudios formales de Gestión e Investigación de Operaciones y en este contexto hemos desarrollado un libro de apuntes de programación lineal el cual podrás descargar de forma gratuita si nos recomiendas en las redes sociales.

ecover pl formulario

ecover pl formulario

5. Accede a Recursos Gratuitos para la Investigación de Operaciones: Te recomendamos leer nuestro artículo 7 Recursos Gratuitos para el estudiante de Investigación de Operaciones donde podrás encontrar datos útiles para tus estudios.

Esperamos que estos consejos te ayuden a lograr el objetivo de aprender y en consecuencia aprobar las materias de Investigación de Operaciones.

Cómo descargar e instalar la versión de Prueba de What’sBest! 11.1 en Excel 2010

What’sBest! es un excelente complemento para Excel que nos permite resolver modelos de optimización lineales, no lineales, enteros y probabilísticos (estocásticos) a través de una interfaz fácil e intuitiva. Este programa es altamente recomendado tanto para estudiantes como profesores del área de la Investigación de Operaciones y está disponible en una versión gratuita de prueba.

El siguiente tutorial muestra cómo, paso a paso, descargar e instalar la versión de prueba de What’sBest! 11.1 si eres usuario de Excel 2010. (Si tienes otro sistema operativo y/o versión de Excel este tutorial de seguro también te servirá).

Paso 1: Verificar el sistema operativo que utilizas y la cantidad de bits asociados. What’sBest! es compatible con Windows 2000, XP, Vista, Windows 7 y Windows 8. En este caso mostraremos cómo activar el complemento en un computador que utiliza Windows 7 Home Premium con un sistema operativo de 64 bits. Para verificar esta configuración ingresa a tu computador a Equipo y luego a Propiedades del sistema.

propiedades-sistema
En la información del Sistema podrás identificar la cantidad de bits asociados a tu sistema operativo según se muestra en la siguiente imagen:

sistema-operativo

Paso 2: Ingresa a la sección de descarga de What’sBest! en la página web de su desarrollar Lindo, empresa con base en Chicago, Estados Unidos, con más de 21 años de experiencia en el desarrollo de software y aplicaciones para la optimización y apoyo a la toma de decisiones. Luego de acceder al enlace de descarga deberás seleccionar la versión del programa compatible con tu sistema operativo y tu versión de Excel.

version-whatsbest

Paso 3: Completar el formulario para obtener el archivo con el programa. Los campos con asterisco (*) son obligatorios.

formulario-whatsbest

Una vez completado lo anterior de forma correcta y luego presionar «Submit» obtendrás un mensaje que indicará que se ha enviado a tu correo electrónico un enlace de descarga de la versión de What’sBest! que hayas seleccionado.

download-whatsbest

Paso 4: Ingresa a tu correo electrónico (el que proporcionaste al completar el formulario). Deberías haber recibido un email de LINDO Systems Inc con el enlace para descargar el programa tal como se muestra a continuación. (Se han ocultado con franjas negras información confidencial y con rojo el enlace de descarga). Selecciona el enlace de descarga y se comenzará a bajar a tu computador el programa que viene en un archivo comprimido en formato ZIP.

link-descarga-wb

Paso 5: Una vez completada la descarga (por defecto el archivo se guardará en la sección Descargas de tu computador) abre el archivo ZIP y luego ejecuta el archivo setup.exe a su interior como se muestra en la siguiente imagen:

winrar-whatsbest

Esto iniciará la aplicación de instalación que te guiará en el proceso de activación del software.

instalar-wb

licencia-wb

Paso 6: La instalación se ha completado. En Excel 2010 What’sBest! estará disponible a la derecha del menú Complementos. El programa esta listo para ser utilizado y resolver tus modelos de optimización.

wb-instalado

Ahora que What’sBest! está instalado en tu computador estas listo para resolver un modelo de optimización. En el siguiente artículo te mostramos: Cómo resolver un modelo de Programación Lineal utilizando What’sBest!.

Importante: What’sBest! 12 estará disponible en las próximas semanas y será compatible con Excel 2013 y Excel 365. Te informaremos tan pronto sea lanzada esta nueva versión del software.

Formulación de un Problema de Asignación en Programación Entera

El siguiente problema fue enviado por uno de nuestros usuarios de la ciudad de Valparaíso, Chile:

En un evento atlético de gimnasia las competencias comprenden cuatro disciplinas: salto, barras asimétricas, viga de equilibrio y manos libres. Cada equipo debe presentar 5 deportistas por disciplina. Un deportista puede participar como especialista en una o dos disciplinas o bien como un all-rounder que participa en las cuatro disciplinas. Al menos 3 de los miembros del equipo deben ser all-rounder. Un deportista es evaluado en una escala de 1 a 10. De acuerdo a las estadísticas del equipo de gimnasia de la universidad, se tienen las siguientes calificaciones para cada uno de los 6 miembros del equipo actual:

tabla-deportistas

Formule y resuelva un modelo de Programación Entera que permita seleccionar a los 5 deportistas que presentará la universidad en cada disciplina del evento.

A continuación detallamos la formulación de este problema de Programación Entera:

1. Variables de Decisión:

variables-deportistas

Con i=1,…,6 (deportistas) y j=1,….,4 (deportes)

2. Función Objetivo: Maximizar el puntaje a obtener por los deportistas

funcion-deportistas

Donde Pij representa el puntaje que tiene el deportista i en la disciplina j. Estos valores son parámetros del modelo y son los que se resumen en la tabla del enunciado. Por ejemplo: P13=9.

3. Restricciones:

Si un deportista es all-rounder se debe asignar a todas las disciplinas:

all-rounder-disc

Deben haber al menos 3 deportistas all-rounder:

all-rounder

Se requiere de exactamente 5 deportistas por disciplina:

5-por-disciplina

Límite de disciplinas por deportistas según su categoría:

maximo-deportista

7 Recursos Gratuitos para el estudiante de Investigación de Operaciones

En Internet existen recursos gratuitos valiosos para los estudiantes de los cursos de Investigación de Operaciones (conocido también como Investigación Operativa) que son de gran ayuda para complementar los conceptos tratados en el aula y la bibliografía. En el siguiente artículo ponemos en disposición de nuestros lectores algunos recursos que recomendamos:

1. Solver: Es sin duda la principal herramienta para resolver modelos de optimización de tamaño reducido utilizado por los alumnos de cursos de ingeniería. Este complemento de Excel se puede descargar desde el sitio web de Frontline en su versión comercial (Premium Solver Pro) para implementar modelos de mayor tamaño.

premium-solver-interfaz

2. What’sBest!: Es la alternativa a Solver dado que funciona integrada en una planilla de cálculo (Excel). La interfaz es intuitiva y seguramente quién domine Solver no demorará mucho en aprender los elementos básicos de este programa. What’sBest! ha sido desarrollado por la empresa de software Lindo.

variables-whatbest

3. AMPL: Es un lenguaje de programación matemática que permite abordar la formulación y resolución de modelos de optimización de programación lineal, programación entera y programación no lineal (entre otros). Esta plataforma es popular para modelos de mayor complejidad que requieren para su resolución de algoritmos especializados.

solucion-ampl-problema-no-l

4. GAMS: Es una herramienta de formulación matemática alternativa a AMPL que permite formular y resolver modelos de optimización de complejidad mayor.

5. NEOS Solvers: Es un portal que consolida una gran variedad de solvers (algoritmos) que permiten resolver distintas categorías de modelos de optimización formulados en un lenguaje matemático determinado (como AMPL y GAMS). El procedimiento es el siguiente: se selecciona un solver que permita resolver nuestro modelo (depende del lenguaje de programación matemática y el tipo de modelo), se sube el archivo del  modelos (y/o datos) y se obtienen los resultados online.

Solver NEOS

6. Geogebra: Es un excelente programa que nos ayuda a graficar distintas formas geométricas y en particular resolver gráficamente modelos de optimización lineales o no lineales. Este programa se puede descargar gratuitamente e instalar en nuestro computador o alternativamente utilizar su aplicación web directamente sin necesidad de descargar el programa.

solucion-grafica-nueva-rest

7. Método Simplex (ProgramacionLineal.net): Es una herramienta que permite resolver modelos de programación lineal a través del método simplex, mostrando paso a paso las respectivas iteraciones, solución óptima y valor óptimo.

tabla-simplex-nueva-variabl

8. Linear Programming: Versión en inglés de los principales artículos de este Blog que trata sobre la Investigación de Operaciones y en particular de la Programación Lineal, con recursos educativos y ejercicios resueltos.

Ejemplo del Algoritmo de Branch and Bound (Ramificación y Acotamiento)

El método de Branch and Bound (o Ramificación y Acotamiento) es un algoritmo diseñado para la resolución de modelos de Programación Entera. Su operatoria consiste en linealizar el modelo de Programación Entera, es decir, resolver éste como si fuese un modelo de Programación Lineal y luego generar cotas en caso que al menos una variable de decisión (entera) adopte un valor fraccionario.

El algoritmo genera en forma recursiva cotas (o restricciones adicionales) que favorecen la obtención de valores enteros para las variables de decisión. En este contexto resolver el modelo lineal asociado a un modelo de Programación Entera se conoce frecuentemente como resolver la relajación continua del modelo entero.

Ejemplo Branch & Bound (Ramificación y Acotamiento)

Consideremos el siguiente modelo de Programación Entera el cual resolveremos con el algoritmo de Branch and Bound:

Problema Branch and Bound

El paso inicial consiste en resolver este problema como si fuese un modelo de Programación Lineal (relajación continua). Si la solución de dicho problema llegara a respetar las condiciones de integralidad para las variables de decisión, ésta ya sería la solución óptima del problema entero.

Si bien este procedimiento se puede extender a problemas de mayor dimensión, utilizamos un modelo en 2 variables para poder representar los pasos del algoritmo gráficamente. El gráfico a continuación muestra dicha resolución:

Relajación Continua Branch and Bound

La solución óptima del problema lineal asociado (que llamaremos P0) es X1=2,8 y X2=1,6 con valor óptimo V(P0)=20,8. Claramente esta solución no cumple las condiciones de integralidad para las variables de decisión por tanto es necesario generar cotas o restricciones adicionales de modo de poder obtener soluciones enteras. Para ello debemos seleccionar una de las 2 variables de decisión con valores fraccionarios para poder generar cotas. En estricto rigor es indistinto cuál de ellas seleccionemos debido a que el método nos debe llevar a conclusiones similares (aun cuando la cantidad de pasos requeridos o rapidez de convergencia cambie).

En nuestro ejemplo generaremos cotas adicionales para la variable X1 aproximando su valor actual al entero inferior más cercano (P1) y entero superior más cercano (P2).

La resolución gráfica del problema 1 (P1) nos da como solución óptima X1=2 y X2=2 que es una solución entera. El valor óptimo del problema 1 es V(P1)=20. Notar que V(P1)<V(P0) lo cual es natural dado que el dominio de soluciones factibles del P1 es menor (subconjunto) al dominio de soluciones factibles de P0.

P1 Branch and Bound

Análogamente la resolución gráfica (Método Gráfico) del problema 2 (P2) determina que X1=3 y X2=4/3 con V(P2)=20 según se observa a continuación:

P2 Branch and Bound

Luego no sería del todo necesario seguir desarrollando el algoritmo dado que si generamos cotas para la variable X2 del P2 en ningún caso podríamos obtener una solución entera con valor óptimo superior a 20 (valor que reporta en la función objetivo la actual solución entera de P1) y por tanto podríamos concluir que X1=2 y X2=2 es la solución óptima del problema entero. No obstante el siguiente diagrama muestra los pasos adicionales en caso que quisiera agregar cotas adicionales a partir del P2.

Solución Branch and Bound

Un argumento similar al expuesto previamente en este caso explicaría la no necesidad de seguir ramificando el P21. Se propone al lector verificar que se obtiene la misma solución óptima si luego del P0 ramificamos a través de X2 agregando las restricciones X2<=1 y X2>=2.