You are on page 1of 9

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

SOLVER UNA HERRAMIENTA PARA OPTIMIZACIN


Juan Espinoza jspinoza@gmail.com

Facultad de Agronoma Universidad de Concepcin

Para la Real Academia de la Lengua Espaola (http://www.rae.es) optimizar es buscar la mejor manera de realizar una actividad. En muchas actividades econmicas se requiere optimizar por ejemplo un agricultor podra estar interesado es determinar la cantidad ptima de semilla y abono que debera utilizar en una superficie para maximizar su produccin. Un experto en transportes podra estar interesado en optimizar la frecuencia de sus buses para brindar un mejor servicio. Solver es un programa de fcil uso que viene incluido junto a las herramientas de Excel, la empresa que desarrolla este programa se llama Frontline Systems Inc. Tambin existen versiones de Solver que funcionan bajo otros sistemas operativos y son complementos de programas como Matlab, Quattro Pro y Lotus. Puede encontrar mayor informacin en la pgina web http://www.solver.com/. Solver es un complemento de Excel que permite resolver una gran cantidad de problemas de optimizacin, utilizando para ello el algoritmo Gradiente Reducido Generalizado (GRG o GRG2), el algoritmo Bound and Branch y el Simplex. En este trabajo nos limitaremos a dar algunos ejemplos de optimizacin usando funciones lineales y no lineales de una o ms variables con y sin restricciones. En un problema de optimizacin podemos distinguir las variables, lo que hay que optimizar esto es la funcin objetivo (en problemas complejos puede ser ms de una) y las restricciones (pueden ser varias restricciones, pueden ser lineales y no lineales, incluso pueden no existir). Llamaremos celdas cambiantes a las celdas que incluyan las variables, llamaremos celda objetivo a la celda que contenga la funcin que se va a maximizar o minimizar. A partir de valores iniciales proporcionados por el usuario, el algoritmo GRG se mueve en la regin factible definida intercambiando los valores de las celdas cambiantes, si el valor de la celda objetivo mejora, se da un nuevo salto en esa direccin; si el valor de la celda objetivo no mejora se da un salto en otra direccin, volviendo a repetir el proceso, el algoritmo finaliza cuando la celda objetivo no puede ser mejorada, o bien cuando se cumple el nmero iteraciones definida por el usuario. El valor de la celda objetivo en ese momento es un valor ptimo local (mximo local o mnimo local) y por tanto no necesariamente es un valor ptimo global, es importante destacar que la solucin obtenida depende de los valores iniciales y por tanto puede no ser la solucin buscada. Sin embargo, muchos programas no lineales tienen ptimos locales nicos que, por definicin, necesariamente deben ser globales. Por ejemplo, las siguientes condiciones garantizan, si existe, que el ptimo es global:

82

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

1. La funcin objetivo de mximo y cncava, o el logaritmo de la funcin objetivo cncava, con restricciones lineales. 2. La funcin objetivo de mnimo y convexa, con restricciones lineales. No obstante, en general, no conoceremos si la solucin obtenida es un ptimo global. Como consecuencia, se suele intentar la prueba de iniciar el algoritmo desde diferentes puntos para determinar si el problema tiene diferentes soluciones ptimas.

Uso de Solver Para acceder a Solver desde Excel 97 2003, seleccione en el men principal la opcin Herramientas y luego Solver aparecer la ventana Parmetros de Solver, que se utiliza para describir el problema de optimizacin en Excel

En el campo Celda Objetivo se debe ingresar la celda donde se encuentra la funcin objetivo, esta es la funcin que va a maximizar o minimizar. Si se desea hallar el mximo o el mnimo, seleccione la casilla correspondiente. Si la casilla Valores de est seleccionada, Solver tratar de hallar un valor de la celda igual al valor de la celda que se encuentra a la derecha de la seleccin. El cuadro de dialogo Cambiando las celdas se debe anotar el rango que contiene las variables del problema. En el cuadro Sujetas a las siguientes restricciones y usando el botn Agregar se deben definir las restricciones, el botn Cambiar permite modificar las restricciones, mientras que Eliminar sirve para borrar la restriccin seleccionada. El botn Resolver sirve para resolver el problema una vez que se ha definido el problema. Con Solver es posible resolver problemas que tengan hasta 200 variables y 100 restricciones explcitas y 400 restricciones simples (una restriccin simple es cuando se indican cotas inferior y superior o restricciones enteras a las variables que intervienen en el problema).
83

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

Al hacer un clic sobre el botn Agregar, aparece la ventana Agregar restriccin.

Al hacer clic en el cuadro Referencia de la celda podemos especificar la ubicacin de una celda que por lo general contiene una frmula, a continuacin, haciendo clic en la flecha del campo desplegable central, se introduce el tipo de restriccin seleccionando una de las siguientes opciones (<=, >=, =, int o bin) int se refiere a variable entera y bin se refiere a variable binaria. En el cuadro restriccin puede contener una frmula de celdas, una referencia a una celda o un valor numrico, haciendo clic en el botn Agregar se aade la restriccin especificada al modelo, y nuevamente aparece la ventana Agregar restriccin, para ingresar una nueva restriccin. Si no hay ms restricciones, se presiona el botn Aceptar para volver a la ventana Solver. Solver no asume la no negatividad de las variables de decisin, en la ventana Opciones de Solver, puede especificar que las variables han de ser no negativas.

Los valores predeterminados que aparecen en el cuadro anterior son vlidos en una gran cantidad de problemas. Los cuadros Tiempo e Iteraciones permiten especificar el nmero de segundos y el nmero de pasos del algoritmo (iteraciones) que deben ocurrir antes que el programa se detenga. Precisin se refiere al grado de exactitud del algoritmo. El cuadro Tolerancia se
84

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

utiliza para programas enteros, se debe especificar un porcentaje dentro del cual se garantiza que se obtuvo la solucin ptima. Si se ha de buscar el valor ptimo escriba 0 (cero %) en el cuadro tolerancia. Seleccione la opcin Adoptar modelo lineal si su problema es de programacin lineal, de esta forma Solver utiliza el algoritmo Simplex en lugar del algoritmo GRG o GRG2. Si sus variables definidas en las celdas cambiantes deben ser mayores o iguales que cero, seleccione la casilla Asumir no negativos. Si los rdenes de magnitud de sus variables son muy diferentes, seleccione la opcin Usar escala automtica. La opcin Mostrar resultado de iteraciones no es recomendable en equipos lentos, ya que hace ms lento el proceso de bsqueda de la solucin ptima. Las opciones Estimacin, Derivadas y Hallar que aparecen en la parte inferior de la ventana contiene las opciones para algoritmo no lineal, como calculan las tasas de cambio y el tipo de tcnica de bsqueda empleado.

Problema 1: Cuntos contenedores se deben contratar para realizar una exportacin? La empresa exportadora Chilean Tomato Company (CTC), contrata dos tipos de contenedores para realizar sus exportaciones de tomates, tiene una funcin de coste en unidades monetarias (u. m.) dada por: C ( x, y ) = 2 x 2 + y 2 2 x 3 y , donde x e y son el nmero de contenedores contratados de cada tipo. La empresa sabe que por cada contenedor del primer tipo tiene un ingreso de 40 u. m. y que por cada uno del segundo tipo tiene un ingreso de 50 u. m. Si los contenedores deben ir completamente llenos y su nmero total ha de ser de 37. Hallar todas las posibles combinaciones del nmero de contenedores de cada tipo que puede contratar el empresario para que su beneficio sea mximo calcular el beneficio mximo en cada caso. Indicacin el nmero de contenedores x e y debe ser entero El objetivo es maximizar el beneficio 40x + 50y C(x, y) sujeto a la restriccin x + y = 37. A continuacin se muestran las tablas para resolver el problema usando Solver, la primera tabla incluye las frmulas y los valores iniciales de las variable x e y. La segunda tabla es el resultado obtenido despus de aplicar Solver.

85

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

Tabla 1. Formulas y valores iniciales


A 25 26 27 28 B C D E F

Tipo de contenedor
Tipo 1

Tipo 2

Ingresos 40x 50y

Costos C(x, y)

Beneficio 40x+50y - C(x, y)


=C28 + D28-E28

x
20

Y
17

=40*A28 =50*B28 =2*A28^2 + B28^2-2*A28-3*B28

En la ventana se pueden observar los parmetros del Solver definido en la tabla 1.

La celda objetivo es F28 debemos hallar un mximo, las celdas cambiantes estn en el rango A28:B28. La restriccin B28 = 37 A28, indica que la suma de los contenedores debe ser 37. Recuerde que los signos $, permiten fijar una celda o un rango de celdas.
86

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

Haciendo clic en el botn Resolver se obtienen los siguientes resultados. En la tabla 2 se resumen los resultados.

Se puede optar por utilizar la solucin propuesta por Solver o restaurar los valores originales. Adems se pueden obtener informes de Respuestas, Sensibilidad y Lmites. Tabla 2. Resultados del Solver
Tipo de contenedor
Tipo 1

Tipo 2

Ingresos 40x 420,00 50y 1325,00

Costos C(x, y) 822,25

Beneficio 40x+50y - C(x, y) 922,75

x
10,50

y
26,50

Restricciones: x + y = 37

En este problema debemos considerar que los contenedores deben ir llenos, es decir x e y son nmeros enteros. Un anlisis de la tabla 2, nos indica que para optimizar el beneficio, el empresario debe contratar 10 contenedores del tipo 1 y 27 contenedores del tipo 2, o

87

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

bien, 11 contenedores del tipo 1 y 26 contenedores del tipo 2, de esta forma obtendr un beneficio de 922 dlares. A continuacin se muestran los informes para el problema de los contenedores, de la compaa CTC.
Microsoft Excel 10.0 Informe de respuestas Hoja de clculo: [Solver de excel.xls]Problema 1 Informe creado: 15-07-2008 21:10:47 Celda objetivo (Mximo) Celda Nombre Valor original $F$28 40x+50y - C(x, y) 652 Celdas cambiantes Celda Nombre Valor original $A$28 x 20 $B$28 Y 17 Restricciones Celda Nombre Valor de la celda frmula $B$28 y 26,49999987 $B$28=37-$A$28

Valor final 922,75 Valor final 10,50000013 26,49999987 Estado Opcional Divergencia 0

Microsoft Excel 10.0 Informe de sensibilidad Hoja de clculo: [Solver de excel.xls]Problema 1 Informe creado: 15-07-2008 21:10:47 Celdas cambiantes Celda $A$28 $B$28 Restricciones Celda $B$28 Nombre Y Valor Igual 26,49999987 Multiplicador de Lagrange -2,15139E-05 Nombre X Y Valor Igual 10,50000013 26,49999987 Gradiente reducido 0 0

Problema 2: Cunta semilla y cuanto abono utilizar para maximizar el beneficio en la produccin de trigo? La produccin de trigo que se obtiene en una cosecha depende de la cantidad de abono y de semilla que se utilizan en la siembra, segn la relacin:
88

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

z = f ( x, y ) = 10 x + 20 y 2 x 2 2 y 2 + xy donde z es el nmero de kilos de trigo recogidos por metro cuadrado, x es el nmero de kilos de semilla que se siembra por metro cuadrado e y es el nmero de kilos de abono que se utiliza por metro cuadrado. Una vez recolectado, el trigo puede venderse en el mercado a un precio de 5 u.m./kg. Por su parte, los precios del kilo de semilla y de abono son 10 y 20 u.m. respectivamente. a) Si en cada metro cuadrado de terreno se utilizan en total 6 kilos, entre semilla y

abono. Usando Solver determina cuntos kilos de semilla y de abono, debe utilizar el agricultor para que el beneficio sea mximo? b) Calcular el beneficio mximo.

Solucin Si x e y son el nmero de kilos de semilla y abono, que se usarn en cada metro cuadrado de terreno, para obtener el beneficio mximo por la venta del trigo. El objetivo es optimizar: Max B(x, y) = I(x, y) - C(x) - C(y) = 5z - 10x - 20y Sujeto a la restriccin: x + y = 6

89

CienciaAhora, N 22, ao 11, septiembre 2008 marzo 2009

Tabla 3. Formulas y valores iniciales


A x (kilos de semilla)
B y (kilos de abono)

B(x, y) =5*(10*A78+20*B78-2*A78^2-2*B78^2+A78*B78)-10*A7820*B78

Beneficio

Mximo

Tabla 4. Solucin propuesta por Solver x (kilos de semilla) 2,20 y (kilos de abono) 3,80

B(x, y) 241

Beneficio Mximo

a) b)

El agricultor debe usar 2,2 kilos de semilla y 3,8 kilos de abono por metro cuadrado. El beneficio mximo es de 241 u.m.

Bibliografa 1. 2. http://office.microsoft.com/es-es/excel/HA011245953082.aspx http://www2.ubu.es/econapli/profesores/jfalegre/archivos/textos/uso%20de%20solv er.pdf Clculo Optimizacin e Integracin. Caballero Pintado, Maria Victoria. 2006.

3.

90

You might also like