Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buscando Soluciones Óptimas SOLVER
Buscando Soluciones Óptimas SOLVER
El próximo paso es desarrollar las restricciones. La mínima
producción requerida se puede expresar como
Esta condición se expresa como una inecuación y no como
una ecuación real (una igualdad estricta), dado que el
problema establece que al menos se produzcan 1000
unidades por mes. Si el problema exigiría una producción
de exactamente 1000 unidades por mes, la ecuación
anterior debería ser escrita como una igualdad estricta.
Similarmente, la restricción de disponibilidad horaria
mensual se puede expresar como
Finalmente, ser deben restringir las variables de decisión a
ser mayores o iguales a cero; esto es,
Se puedo establecer el problema de optimización de la
siguiente forma concisa: Determinar los valores de x1 y x2
que maximizan la ecuación 6.1, sujeta a las condiciones
auxiliares (restricciones) expresadas por las ecuaciones 2,
3 y 4.
Figura 2
Una vez que las especificaciones han sido ingresadas en la
planilla, se activa la utilidad Solver del menú
Herramientas. La Fig. 3 muestra la caja de dialogo
resultante. Se han ingresado la dirección de la celda
objetivo (B6) en la parte superior, en el área Celda
Objetivo. Para este problema seleccionamos la opción
Máximo de Valor de la celda objetivo.
El rango de celdas con las variables independientes
(B3:B4) se ingresa en el área Cambiando las celdas.
Las restricciones son agregadas una a la vez, presionando
el botón Agregar e ingresando la información requerida.
Las direcciones de celdas, el tipo de restricción, y el valor
del lado derecho son agregadas para cada restricción.
Cuatro restricciones individuales, correspondientes a las
ecuaciones 2 hasta la 4 son especificadas en este
problema.
La ecuación 4 involucra dos restricciones separadas.
Figura 3
Desde la ventana Parámetros de Solver, presionando el
botón Resolver se inicia el cómputo. Los valores óptimos
aparecerán en las celdas dentro de la planilla como se
muestra en la Fig. 4. Se puede ver que le máximo
beneficio es $117333, obtenido por producir 0 unidades de
A y 2667 unidades de B por mes.
Figura 4
Figura 5
Éste es un modelo típico de mercadotecnia que muestra el
crecimiento de las ventas a partir de una cifra base (quizás
debido al personal de ventas) además del incremento en
publicidad, pero con una caída constante en el flujo de
caja. Por ejemplo, los primeros 5.000 $ de publicidad en el
T1 producen aproximadamente un incremento de 1.092
unidades vendidas, pero los 5.000$ siguientes producen
cerca de 775 unidades adicionales.
Figura 6
Puede utilizar Solver para averiguar si el presupuesto
publicitario es escaso y si la publicidad debe orientarse de
otra manera durante algún tiempo para sacar provecho del
factor de cambio de temporada.
En los ejemplos siguientes se muestra la forma de trabajar
con este modelo para resolver uno o varios valores para
maximizar o minimizar otro valor, escribir y cambiar
restricciones y guardar un problema modelo.
Unidades de cada
D4:F4 producto que se van
a construir.
El número de piezas
C6:C9<=B6:B9
utilizadas debe ser
Figura 8
Las fórmulas de beneficio por producto en las celdas
D17:F17 incluyen el factor ^H15 para mostrar que el
beneficio por unidad disminuye con el volumen. H15
contiene 0,9, lo que hace que el problema sea no lineal. Si
cambia H15 a 1,0 para indicar que el beneficio por unidad
permanece constante con relación al volumen y después
vuelve a hacer clic en Resolver, la solución óptima
cambiará.
Este cambio también hace que el problema sea lineal.
La cantidad que se
Celdas a va a enviar desde
C5:G7
cambiar cada planta a cada
almacén.
O igual a la
demanda de los
almacenes.
El número que se va
C5:G7>=0 a enviar debe ser
mayor o igual a 0.
Figura 10
Puede resolver este problema con mayor rapidez
seleccionando la casilla Adoptar modelo lineal en el cuadro
de diálogo Opciones de Solver antes de hacer clic en
Resolver. Este tipo de problema tiene una solución óptima
en la que las cantidades que se van a enviar son números
enteros, si todas las restricciones de la oferta y la
demanda son números enteros.
Los resultados de este modelo de Programación Lineal son los siguientes: Solución Óptima:
X=4, Y=10, Z=36. Valor Óptimo: V(P)=6.620 como se muestra en la siguiente imagen:
Una vez que se obtiene la solución óptima se puede requerir varios informes, sin embargo,
nos concentraremos en el informe de Sensibilidad. La imagen a continuación ha sido
levemente editada y corresponde a dicho informe. La columna en amarillo corresponde al
coeficiente objetivo sumado al aumento permisible (Max) y restado a la disminución
permisible (Min).
Existe una división en cuanto a los informes: "Celdas cambiantes" (o variables de
decisión) y "Restricciones".
Otro aspecto relevante del precio sombra resulta ser su significado económico. Los lados
derechos en el caso de un modelo de maximización generalmente están asociados a la
disponibilidad de recursos escasos, por ejemplo, para la utilización en un proceso productivo
(materiales, horas hombre, recursos financieros, etc.). En este sentido el precio sombra
puede representar una disposición a pagar por unidad adicional de recurso. En el ejemplo
anterior se puede considerar que como máximo se pagará $8 por cada unidad adicional del
recurso (lado derecho) de la primera restricción. Si el precio del recurso es menor al precio
sombra entonces existirá un incentivo a "comprar" más debido a que esto tendrá un impacto
neto positivo en la función objetivo.
EXTENSIONES: El análisis de sensibilidad o postoptimal también se aplica en la
interpretación de resultado de modelos de programación lineal utilizando tanto el método
simplex o en modelos de 2 variables la resolución gráfica. Se recomienda visitar el siguiente
sitio para profundizar los conceptos del análisis de sensibilidad utilizando la tabla final
del método simplex.
En la primera entrada de este blog, había explicado como encontrar la intersección de dos líneas en
un gráfico de Excel. Para hacer esto utilizamos la opción "línea de tendencia" (trendline) y
el SOLVER.
Con Excel podemos, dada una tabla de valores, predecir un valor futuro a partir de valores
existentes utilizando la función PRONOSTICO (FORECAST) (apretar el enlace para descargar el
archivo).
Calcula o pronostica un valor futuro a través de los valores existentes. La predicción del valor es un
valor y teniendo en cuenta un valor x. Los valores conocidos son valores x y valores y existentes, y
el nuevo valor se pronostica utilizando regresión lineal. Esta función se puede utilizar para realizar
previsiones de ventas, establecer requisitos de inventario o tendencias de los consumidores.
En nuestro ejemplo tenemos una tabla que muestra cantidades vendidas a cada nivel de precios:
Finalmente insertamos la función de la línea de tendencia como fórmula en una celda de la hoja de
cálculo.
En nuestro ejemplo en anotamos =-417.86*B16+10771 en la celda B17), donde la celda B16
contiene el valor para el cual queremos pronosticar el resultado.
INTRODUCCIÓN A SOLVER
Para llevara cabo esta introducción utilizaremos un enfoque muy
didáctico explicando esta funcionalidad a partir de un ejemplo. El ejemplo
es el que sigue…
Se quiere calcular cuál debería ser la producción óptima de tres
productos que maximice el beneficio. Nos dan los siguientes datos:
CONFIGURAR SOLVER
Veamos. Ya tenemos instalado en nuestro Excel el add-in Solver y lo
encontramos en la pestaña Datos, grupo Análisis. Hacemos clic en él y
tenemos la siguiente pantalla
… en la que
podemos agregar o cambiar nuestras restricciones al modelo. Una nota:
Solver admite que se rellene el cuadro Restricciones con una referencia
de celda o con un número. (Nota: En algún sitio, he visto que se dice que
admite también fórmulas. Lo he intentado y me da un mensaje de error. Lo he
investigado y nunca he visto fórmulas aquí.)
El botón de opción Convertir variables sin restricciones en no
negativas deberá estar seleccionado para prevenir que la cantidad a
fabricar de algún producto pueda ser negativa. En Método de
resolución elegiremos Simplex LP (Programación Lineal simple).
Ahora, nuestra pantalla Parámetros de Solver se verá como esta:
RESULTADOS DE SOLVER
Al presionar el botón Resolver, Solver nos presenta una ventana…
… y modifica nuestro modelo con los resultados encontrados.
INFORMES
Puedes seleccionar los informes que quieras tener seleccionándolos del
cuadro Informes. Excel añade una hoja por informe a tu libro de trabajo
con la información. Te dejo aquí un archivo con los informes que ha
creado para este modelo y estas restricciones.
SIMPLEX LP
Una palabra siquiera sobre éste método de cálculo en esta introducción a
Solver. Un problema de optimización lineal es uno en el que la celda
objetivo y las restricciones añadiendo términos que tienen la forma celda
cambiante x restricción. La mayoría de los modelos que he visto al utilizar
Solver son este tipo por lo que creo que empezar por aquí puede ser una
buena manera.
Conclusión
Como hemos visto, y ya dijimos al principio de esta entrada, Solver se
basa en el modelo que hemos construido y en las restricciones que le
damos. Este es el archivo que he utilizado para el ejemplo. Solver1.xlsx
Para qué sirve el complemento
SOLVER.
Este es un potente complemento que nos permite resolver problemas de optimización. Cuando se
habla de optimización nos referimos a maximizar o minimizar encontrando puntos de equilibrio por
ejemplo: Podemos Maximizar las utilidades de una empresa o minimizar sus costos.
Esto se conoce como programación lineal ya que la relación entre las distintas variables es de
carácter lineal.
Esto nos permite además de optimizar realizar pronósticos con distintos valores y variables.
Según la cantidad de personas invitadas y según lo que puede comer cada una se determina lo
siguiente:
25 Kilos de Carne
15 Kilos de Chorizo
10 Kilos de Jamón
Si el valor el cual queremos minimizar o maximizar ya lo conocemos o es fijo como en este caso que
son $ 350.000:
Estas celdas son las unidades que necesitamos que Solver las cambie y encuentre un punto de
equilibrio óptimo para ajustarse a nuestro presupuesto.
Restricciones:
De esta forma acotamos nuestras variables para ajustar el modelo los más posible a nuestro
requerimientos.
Definimos cada una de las unidades como entero ya que también podría devolver decimales, 25,5
por ejemplo esto no nos serviría ya que el mayorista vende por unidades completas.
Por último acotamos las unidades $C$4>=25 implica que lo que se calcule en la celda c4 debe ser
mayor o igual a este valor.
Buscar Objetivo
Utilicemos la ley de la capitalización compuesta.
Vamos a contestar a la pregunta siguiente:
¿En cuánto tiempo se doblara un capital en compuesta trabajando al 5%?
Para ello podemos utilizar la función financiera de Excel:
=NPER(tasa; pago; va; vf; tipo)
=NPER(5%;;-1000;2000)
Que arroja un resultado de 14,20669908 años.
Pero en este caso vamos a resolverlo con Buscar Objetivo.
Pasos:
1. Poner unos datos arbitrarios en las celdas C6:C8
6. En ‘Con el valor’ se debe poner a mano (no deja pinchar una celda) el
valor al que se quiere llegar
Solver
Vamos ahora a resolver la siguiente cuestión:
Calcular a qué tipo se ha de trabajar en compuesta para doblar el capital en 10
años.
Se puede responder fácilmente utilizando una función de Excel que calcula el
tipo de interés de este tipo de operaciones. La función es:
=TASA(nper;pago;va;vf;tipo;estimar)
En nuestro caso:
=TASA(10;;-1000;2000)
que da un resultado de: 7,17735% anual.
Podemos resolverlo con Solver al igual que lo haríamos con ‘Buscar Objetivo’.
Aunque Solver es mucho mejor que ‘Buscar Objetivo’, no en vano es una
potente herramienta de optimización.
Nosotros no la vamos a utilizar para calcular máximos y mínimos, sino para
obtener valores a los que puede llegar una celda objetivo.
Solver sólo estará disponible si se activa el Complemento que permite su
utilización. En Excel 2003 se activa en: Herramientas, Complementos, Solver.
En Excel 2007 se activa pulsando el botón del Office (ese botón redonde que
tienes arriba a la izquierda, le denominan The Ribbon), luego elige ‘Opciones de
Excel’, y a la izquierda veras ‘Complementos’, selecciona Solver y activalo.
Cuando actives Solver, de paso marca también ‘Herramientas para Análisis’ que
permite disponer de muchas más funciones en Excel.
Una vez activado el complemento para usarlo en una hoja, en Excel 2003 lo
tiene en Herramientas, y en Excel 2007 está en Datos.
Pasos:
1. Poner unos datos arbitrarios en las celdas C16:C18
4. Se lanza ‘Solver’ que esta en el menú Herramientas (en Excel 2007 está
en Datos).
6. Valor de la Celda Objetivo, marcar la casilla que pone ‘Valor de’ (no
marcar ni Máximo, ni Mínimo) y poner el valor 2000
Esta es una imagen de la versión Starter donde puedes ver los recortados menús de
que disfruta.
Si tienes Excel 2003 o versiones anteriores para habilitar las macros debes hacer
lo siguiente:
Herramientas, Macros, Seguridad, Nivel bajo o Nivel Medio.
Lo recomendable suele ser poner nivel medio de seguridad, de esa forma cuando
abras un fichero de Excel que lleva macros te preguntará que si quieres habilitarlas. Si
te fías de la fuente o has pasado un antivirus le dices que SI quieres habilitar las
macros, y si no te fías no las habilitas, pero entonces no son operativas.
Como todos tenemos antivirus más o menos actualizados y efectivos, puedes poner
el nivel bajo de seguridad, así no te estarán preguntando cada vez que abras un
fichero que lleve macros.
Para obtener la pestaña PROGRAMADOR (en Excel 2007) debes ir al botón redondo
de la esquina superior izquierda (se llama 'el botón de Office' porque es común a todos
los programas de Microsoft Office: Word, PowerPoint,..). Pulsando en ese botón
redondo, verás abajo que pone 'Opciones de Excel'. En la ventana 'Más frecuentes'
verás una opción que esta desmarcada y pone: "Mostrar ficha Programador en la cinta
de opciones". Marca esa opción y pulsa Aceptar. Así conseguirás tener la pestañita
(ficha) PROGRAMADOR.
De esta forma tendremos habilitadas las macros. Para que esto sea efectivo
debemos salirnos del fichero y volver a entrar.
Buscar Objetivo
Puedes usar la función TASA que está disponible en todos los ordenadores con
Excel, sean de la versión que sean. O puedes usar 'Buscar Objetivo' que aunque
menos preciso que Solver, para este ejemplo es más que suficiente. Y también está
disponible en todos los ordenadores. No es necesario instalar nada adicional.