Buscar en este blog

20 de julio de 2016

Solver en Google Drive

En este artículo "SOLVER en LibreOffice" mostré como utilizar solver en LibreOffice y como utilizo Google Drive me he dado a la tarea de buscar que opciones hay de Solver para Google Drive.

Investigando encontré OpenSolver y para obtener, desde la hoja de calculo de Google Drive hacemos clic en el menú en Complementos > Obtener complementos. Desde aquí hacemos clic en + GRATIS con ellos la aplicación nos solicita algunos permisos para poder instalarlos a nuestro Google Drive.


También puedes visitar el sitio de Opensolver en http://opensolver.org/ para descargar opciones para Excel.

Ejercicio de ejemplo
En el siguiente ejemplo necesitamos maximizar los ingresos por la venta de tres productos productos (A,B,C) de tal manera que tengamos el mayor ingreso. En el ejemplo utilizamos el Ingreso Unitario pudiendo debiendo utilizar el Ingreso Marginal, pero por uso didáctico se utilizaron los ingresos.
Datos del problema (antes del usar OpenSolver)

Se necesita maximizar la celda E6 cambiando las celdas C3:C5. En la columna
H tenemos el objetivo que deben tener cada producto t la celda objetivo (celda a maximizar)

Las restricciones son las siguientes
  • La compañía tiene un máximo de producción de 300 unidades, NO puede producir más.
  • Existe una orden de producción obligatoria de 50 unidades del producto A.
  • La empresa tiene un contrato para producir  40 unidades del producto B.
  • Aunque el producto que aporta un margen mayor es el producto C, la empresa cuando mucho 40 unidades del mismo (o menos).
  • Entonces ya tenemos un problema para OpenSolver.

Iniciando la aplicación de OpenSolver



Para iniciar la aplicación hacemos clic en Complementos > OpenSolver > Open Sidebar

Con esto activamos la herramienta de OpenSolver para Google Drive donde empezaremos a capturar los datos y restricciones del problema.




Ingresando los datos del problema

Sheet.- Como estamos en la hoja llamada Solver el sistema toma esta hoja como la hoja con el problema a solucionar.

Objective Cell.- Aquí se captura la celda objetivo la cual es la suma del producto de las Unidades por el Precio Unitario. Para ingresar la celda seleccionamos la celda E6 y hacemos clic en Update

Objetive Sense.- Podemos Minimizar, Maximizar o establecer un importe objetivo específico. En nuestro caso seleccionamos maximise (maximizar).

Variable Cells.- En esta sección introducimos la celda o celdas que contienen la variable a modificar, en nuestro caso es el número de productos a producir por cada producto. En la hoja seleccionamos el rango de celdas C3:C5 y seguido hacemos clic en el botón de Add.

Seleccionar la opción de Unconstrained variable no-negative.
Esta opción asegura que el modelo maneje solo datos positivos, no se aceptan valores menores a cero.


Constraints.- (Restrucciones) Las restricciones son los requerimientos del modelo, situaciones que deben cumplirse. En nuestro modelo las restricciones se agregan en la sección Selected Constraint de abajo.

Producto A Seleccionamos la celda C3 y hacemos clic en Update del primer cuadro. Seleccionamos <= y luego seleccionamos la celda con el valor objetivo, en nuestro caso es la celda H3 (ver el modelo arriba). Clic en Save

Producto B.-Se hace de la misma manera que el producto A y así subsecuentemente.


Solver: Google Linear Solver es el algoritmo utilizado para resolver el problema, haciendo clic en Change podemos seleccionar otro algoritmo para resolver el modelo.

Solve Model.- Iniciamos la resolución del modelo
Rest Model.- Limpiamos los datos para iniciar de nuevo el modelo.

Show progress while solving.- Lo seleccionamos si queremos ver los cambios en la hoja cada vez que OpenSolver está calculando.

Check model is linear.- El sistema verifica que el modelo es linear

El modelo está resuelto


Se obtienen las cantidades optimas a producir para optimizar los ingresos
Si te ha gustado el artículo compártelo con otras personas mediante las redes sociales, con esto me ayudas a seguir escribiendo, saludos.

Ver también: "Solver en LibreOffice Calc"

18 de julio de 2016

Solver con LibreOffice Calc

Solver o Solucionador con LibreOffice Calc 5.1.4.2
El algoritmo Solver es una poderosa herramienta para la optimización y asignación eficiente de recursos escasos (tierra, trabajo, capital, capacidad gerencial, etc.). Permite al Administrador optimizar el uso de sus recursos, de tal manera que se cumplan las metas deseadas, como son la maximización de los beneficios, o la minimización de los costos.
Solver utiliza El método de la Programación Lineal (LP), es una técnica muy potente de asignación de recursos para resolver problemas para negocios y organizaciones.


Nota
En este artículo se utiliza la versión 5.1.4.2 de LibreOffice Calc en Español con el Entorno de Ejecución de Java JRE (Máquina Virtual) jre-8u91-windows-i586, de no tenerla LibreOffice arroja el error de la imagen, cerrando de manera abrupta el programa.

Solver en LibreOffice Calc
Error por no tener JRE en LibreOffice
Si no tienes instalada la máquina virtual de Java JRE
En mi caso tengo Windows 10 y para que la herramienta de Solver (Solucionador) corra debemos tener instalada la Máquina virtual de Java JRE, para mi versión descargué la versión para 32 bits no la 64 como debería ser pues las últimas versiones no las reconoce LibreOffice. Aquí se puede descargar el archivo 

Como instalar la Máquina Virtual de Java JRE 
  1. Descarga y guarda en una carpeta el archivo para instalar(en mi caso fue el jre-8u91-windows-i586).
  2. Hacer doble clic en el archivo y seguir las instrucciones de instalación.
  3. Listo ya tienes JRE de Java en tu máquina
Configurar la Máquina Virtual de Java JRE en LibreOffice
Cuando ya tenemos instalada la Máquina Virtual de Java JRE hacemos clic en Herramientas > Opciones > LibreOffice > Avanzados. Activamos el cuadro de Usar un entorno de ejecución de Java, Seleccionamos el entorno que vamos a utilizar (puedes tener más de uno, en mi caso solo tengo uno) y finalmente hacemos clic en Aceptar.

Cerramos el programa y volvemos a abrirlo para que los cambios se vean afectados en LibreOffice Calc. 

Solver en LibreOffice Calc


Ejemplo de Solver con LibreOffice Calc
En el siguiente ejemplo tenemos que maximizar la venta de productos de tal manera que tengamos el mayor ingreso. En el ejemplo utilizamos el Ingreso Unitario pudiendo debiendo utilizar el Ingreso Marginal, pero por uso didáctico se utilizaron los ingresos.

Descargar archivo en formato .ods haciendo clic aquí

Solver en LibreOffice Calc
Problema antes de usar Solver

Las restricciones son las siguientes
  • La compañía tiene un máximo de producción de 300 unidades, NO puede producir más.
  • Existe una orden de producción obligatoria de 50 unidades del producto A.
  • La empresa tiene un contrato para producir  40 unidades del producto B.
  • Aunque el producto que aporta un margen mayor es el producto C, la empresa cuando mucho 40 unidades del mismo (o menos).
  • Entonces ya tenemos un problema para Solver.

Iniciando la aplicación de Solver


Solver en LibreOffice Calc
Hacemos clic en Herramientas > Solucionador  con lo que se activa el cuadro de Solver . Explicaré que significa los cuadros que vamos a utilizar.
Celda objetivo.- La celda objetivo es aquella que se va a maximizar o minimizar, siendo siempre la celda con el resultado de la operación, en nuestro caso es el total de ingresos al multiplicar Unidades x Precio Unitario.

Optimizar resultados.- Este cuadro nos da tres opciones de resultado y son las siguientes:
  • Máximo.- Se desea obtener el importe máximo.
  • Mínimo.- Se desea obtener el importe mínimo.
  • Valor de .- Se desea llegar a un importe específico.



Solver en LibreOffice Calc
Solver con datos del problema

Cambiando las celdas.- Se refiere a las celdas que solver debe modificar para llegar al resultado deseado, en nuestro ejemplo son las celdas C3:C5 

Condiciones limitantes
En esta sección se introducen las restricciones del problema.
Ver imagen de la derecha con la celda objetivo, las celdas a cambiar y las restricciones ya introducidas (ver datos del ejemplo para una mejor referencia).










Botón de Opciones
Es importante que el problema solo contemple utilizar enteros, sobre todo en los productos así como valores no negativos.

Hacemos clic en el botón de Opciones...
en Algoritmo del solucionador seleccionamos Solucionador lineal de LibreOffice.
Marcamos las casillas:
- Asumir variables con enteros
- Asumir variables como no negativas. 

Clic en Aceptar y seguido hacemos clic en el botón Solucionar.


El sistema empieza a calcular las opciones hasta dar con un resultado optimo



Solver en LibreOffice Calc
Solver Calculando
Solver en LibreOffice Calc
Solver ha encontrado una solución
Solver ha encontrado una solución y nos da la opción de Mantener el resultado o Restaurar con los datos originales (ver imagen).

Problema Resuelto
Solver en LibreOffice Calc
Problema de Maximización Resuelto

Si te ha gustado el artículo compártelo con los demás, haciendo clic en las herramientas de redes sociales del blog.

Lo Último de mi Blog

LinkWithin

Related Posts with Thumbnails
¡¿Te gusta Capacitate?, recomiéndalo