Como resolver un modelo de Programación Lineal con OpenSolver

OpenSolver es una excelente complemento de Excel que permite resolver modelos de optimización. En el siguiente artículo se describe cómo resolver un modelo de Programación Lineal con esta herramienta (previa descarga e instalación de OpenSolver en Excel 2010). Para fines académicos consideraremos un modelo lineal con 2 variables de decisión, no obstante se puede extender su aplicación a problemas de mayor tamaño sin inconvenientes.

modelo-lineal-infinitas-sol

A continuación necesitamos preparar una planilla Excel que considere los parámetros y variables del modelo (este paso es similar a la carga de un modelo en Solver de Frontline). Se puede apreciar que las celdas B2 y C2 (color amarillo) han sido asignadas a las variables de decisión y la función objetivo (celda azul) corresponde a la celda E2 que es una fórmula que vincula las variables de decisión y los respectivos parámetros que ponderan a éstas. Finalmente las celdas D5 y D6 son fórmulas que representan el “lado izquierdo” de las restricciones del problema (por ejemplo la celda D5 corresponde a B2*B5+C2*C5 o equivalentemente SUMAPRODUCTO(B2:C2;B5:C5)).

carga-modelo-lineal-opensol

Una vez completado el paso anterior se debe ejecutar OpenSolver cuyo menú esta disponible en la pestaña de “Datos” de Excel. Luego se selecciona “Model…” según se muestra a continuación:

model-opensolver

La interfaz para implementar el modelo es bastante similar a la versión tradicional de Solver (Frontline). Se define la celda objetivo (E2) en maximización; a continuación se selecciona el rango de variables de decisión (según se muestra en la siguiente imagen) y las restricciones. Si intentas replicar la estructura del ejemplo que desarrollamos en este artículo se debería ver así:

interfaz-opensolver

Luego seleccionamos “Save Model” (cambiará la estructura de la planilla la cual adoptará colores lo cual es una de las características de OpenSolver que hacen de este complemento una herramienta intuitiva para el usuario).

carga-opensolver-color

Finalmente seleccionamos “Solve”:

solve-opensolver

El programa se ejecutará y proporcionará (de existir) la solución óptima (X=0 e Y=60) y valor óptimo (V(P)=1.200) del problema de optimización:

solucion-optima-opensolver

Los resultados alcanzados son coincidentes con los alcanzados en la resolución gráfica del problema que hemos abordado en el artículo Qué significa un Precio Sombra igual a Cero en Programación Lineal según muestra la imagen a continuación:

grafico-infinitas-solucione

A continuación puedes descargar el archivo con la resolución en OpenSolver de este problema de modo de que puedas familiarizarte con este complemento de Excel: Modelo de Programación Lineal resuelto con OpenSolver

Rating: 5.0/5. From 1 vote.
Please wait...

, , , , , ,

2 Comentarios para Como resolver un modelo de Programación Lineal con OpenSolver

  1. Mario Valenzuela 17/04/2014 en 9:33 #

    Estimados, utilizamos este complemento para resolver un problema de 3.000 variables, es bastante lento en la lectura de los datos (4 mins) si uno lo compara con What’sBest! y además no sabemos si la solución que encuentra es óptima, dado que en los reportes de salida no lo indica. Uds saben si el solver asegura optimalidad de la solución?
    Agradezco vuestros comentarios.
    Mario V.

    • GEO Tutoriales 17/04/2014 en 14:55 #

      @Mario. Gracias por tu valioso comentario. En abstracto no es sencillo garantizar la optimalidad de una solución obtenida computacionalmente.

      Existen muchos aspectos que influyen en lo anterior: tipo de modelo (lineal, entero, entero-mixto, no lineal), cantidad de variables de decisión y restricciones, convexidad (por ejemplo los modelos lineales son problemas convexos, en cambio los modelos no lineales no necesariamente son convexos, siendo la convexidad una condición deseable al momento de la resolución), lenguaje o plataforma de modelamiento (Excel, Ampl, Gams, etc), algoritmo de resolución, etc.

      Dado el tamaño de tu problema (que de seguro debe corresponder a una aplicación de la vida real o de un trabajo de investigación) te recomendamos probar la implementación del problema con la versión Premium de Solver. Para ello puedes consultar los artículos relacionados que hemos publicado en el Blog, en particular:

      https://www.gestiondeoperaciones.net/programacion_lineal/como-descargar-e-instalar-la-version-de-prueba-de-premium-solver-en-excel-2010/

      Saludos
      El Equipo de Gestión de Operaciones

Deja un comentario