Simulación de Modelos Por Computador
PROFESOR:
John Edward Santana
NOMBRE
Jesús Cuevas Jiménez
MATRICULA
2002-2359
Santo Domingo
21 de Septiembre del 2010
La Herramienta Solver de Excel
Solver es una herramienta para resolver y optimizar ecuaciones mediante el uso de
métodos numéricos.
Solver se utiliza cuando queremos encontrar la mejor manera de hacer algo. O dicho de
un modo más formal: queremos encontrar los valores de determinadas celdas de una
hoja de cálculo que optimicen (aumenten o disminuyan) un determinado objetivo.
Un modelo de optimización consta de tres partes: la celda objetivo, las celdas
cambiantes y las restricciones.
La celda objetivo representa el objetivo como, por ejemplo, aumentar las ganancias
mensuales.
Las celdas cambiantes son las celdas de la hoja de cálculo que podemos cambiar o
ajustar para optimizar la celda objetivo como, por ejemplo, la cantidad de cada
producto fabricada durante un mes.
Las restricciones son delimitaciones que se aplican a las celdas cambiantes como,
por ejemplo, no usar más recursos que los disponibles y no producir más cantidad
de un producto que la que pueda venderse.
Solver se puede utilizar para optimizar funciones de una o más variables, sin o con
restricciones. Microsoft Excel Solver utiliza diversos métodos de solución, dependiendo
de las opciones que se seleccionen. Para los problemas de programación lineal utiliza el
método Simples, para problemas lineales enteros utiliza “Branch and Bound y para
problemas no lineales utiliza el código de optimización no lineal (GRG2).
Con Solver, se puede buscar el valor óptimo para una celda, denominada celda objetivo,
en donde se escribe la fórmula de la función objetivo f(x1 , x2 , ..., xn ). Solver cambia
los valores de un grupo de celdas, denominadas celdas cambiantes, y que estén
relacionadas, directa o indirectamente, con la fórmula de la celda objetivo. En estas
celdas se encuentran los valores de las variables de decisión x1 , x2 , ..., xn.
Los modelos más realistas tienen factores de restricción que es necesario aplicar a
ciertos valores. Estas restricciones se pueden aplicar a las celdas de las variables de
decisión (celdas cambiantes) o a cualquier otra celda que tenga una función (fórmula)
de estas celdas. Se puede agregar restricciones a Solver, escribiendo una fórmula gj(x1 ,
x2 , ..., xn ) en una celda, y especificando que la celda deberá ser mayor o igual, igual, o
menor o igual que otra celda que contiene la constante bj.
También, si fuese el caso, se puede especificar que los valores sean enteros, para evitar
resultados absurdos en algunos problemas.
Algunos ejemplos.
Antes remarquemos ciertos aspectos que pueden suceder al intentar resolver un
problema con Solver:
Si Solver no encuentra los valores, de las variable de decisión y de la función objetivo,
óptimos hay que tener en cuenta que los métodos numéricos para problemas no lineales
encuentran el óptimo sólo si:
Existe, y se parte de una solución inicial "apropiada".
Es conveniente siempre probar con diferentes soluciones iniciales, para confirmar
que la solución de Solver es realmente la mejor, o para evitar que se "atasque" en
puntos de inflexión o en óptimos locales.
Las inestabilidades (por malas soluciones iniciales) del algoritmo de optimización
no lineal no se presentan en casos de Programación Lineal, dado que Solver utiliza
el Método Simplex
Veamos algunos casos de optimización:
Optimizar una función de varias variables: Optimización no lineal con
restricciones
Se va a construir una nave industrial con una capacidad de 1.500 m3. Los costes de
construcción
por m2 son de 4 u.m./m2 para los muros, 6 u.m./ m2 para para el techo y 12
u.m./m2 para el suelo. Por razones estéticas, la anchura del almacén debe ser el doble de
su
longitud. Encontrar las dimensiones óptimas del almacén, si se desea minimizar el coste
de construcción. (problema tomado de Barbolla y otros, 2000; páginas:176 y 222 es
planteado
y resuelto con Lagrange ).
• Dimensiones: ancho, alto y largo; éstas serán las variables de decisión (celdas
cambiantes)
• Superficie de las paredes: 2*largo*alto+2*ancho*alto
• Superficie del suelo: largo*ancho
• Superficie del techo: largo*ancho
• Coste de construcción de las paredes: 4*superficie de los muros
• Coste de construcción del suelo: 12*superficie suelo
• Coste de construcción del techo: 6*superficie techo
• Coste de construcción total: Coste de construcción de las paredes + Coste de
construcción
del suelo+ Coste de construcción del techo
• Restricción estética: ancho-2*largo=0
• Restricción de volumen: largo*ancho*alto=1500
Ejemplo de cómo usar "SOLVER"
Andrés Z. Es presidente de una microempresa de inversiones que se dedica a
administrar las carteras de acciones de varios clientes. Un nuevo cliente ha solicitado
que la compañía se haga cargo de administrar para él una cartera de 100.000$. A ese
cliente le agradaría restringir la cartera a una mezcla de tres tipos de acciones
únicamente, como podemos apreciar en la siguiente tabla.
Formule usted un modelo de Programación Lineal para mostrar cuántas acciones de
cada tipo tendría que comprar Andrés con el fin de maximizar el rendimiento anual total
estimado de esa cartera.
Acciones Precio ($) Rendimiento Anual Inversión Posible ($)
Estimado por Acción
($)
Navesa 60 7 60.000
Telectricidad 25 3 25.000
Rampa 20 3 30.000
Para solucionar este problema debemos seguir los pasos para la construcción de
modelos de programación lineal (PL):
1.- Definir la variable de decisión.
2.- Definir la función objetivo.
3.- Definir las restricciones.
Luego construimos el modelo:
MAX Z = 7X1 + 3X2 + 3X3
S.A.:
60X1 +25X2 + 20X3 <= 100.000
60X1 <= 60.000
25X2 <= 25.000
20X3 <= 30.000
Xi >= 0
A continuación se construye el modelo en una hoja de cálculo de excel de la siguiente
manera:
En la fila 2 se coloca la variable de decisión la cual es el número de acciones y sus
valores desde la B2 hasta la D2.
En la fila 3 el rendimiento anual y sus valores desde B3 hasta D3.
En la celda E3 colocaremos una formula la cual nos va indicar el rendimiento anual
total, =sumaproducto($B$2:$D$2;B3:D3).
Desde la fila B5 hasta la D8 colocaremos los coeficientes que acompañan a las variables
de decisión que componen las restricciones.
Desde la E5 hasta la E8 se encuentra la función de restricción (LI) y no es mas que
utilizar la siguiente formula =sumaproducto($B$2:$D$2;B5:D5) la cual se alojaría en la
celda E5, luego daríamos un copy hasta la E8.
Desde la F5 hasta F8 se encuentran los valores de las restricciones.
Desde la G5 hasta G8 se encuentra la holgura o excedente.
Una vez completada la hoja de cálculo con el modelo respectivo ¡GRABE SU HOJA!, y
seleccione "Solver…" en el menú de "Herramientas", ahí tendrá que especificar dentro
del cuadro de dialogo de Solver:
La celda que va a optimizar
Las celdas cambiantes
Las restricciones
Así tendremos la siguiente pantalla:
Como se puede observar en la celda objetivo se coloca la celda que se quiere optimizar,
en las celdas cambiantes las variables de decisión y por último se debe de complementar
con las restricciones. Una vez realizado estos pasos deben pulsar el icono de "Opciones"
y debe hacer clic en "Asumir modelo lineal" y enseguida el botón de "Aceptar".
Luego haga clic en el botón de "Resolver" para realizar la optimización, lea
detenidamente el mensaje de terminación de Solver y ahí observará si se encontró una
solución o hay que modificar el modelo, en caso de haber encontrado una solución
óptima usted podrá aceptar o no dicha solución, luego tendrá oportunidad de analizar un
informe de análisis de sensibilidad para luego tomar la mejor decisión.
En nuestro ejemplo el máximo rendimiento anual fue de 12750$, y la cantidad de
acciones a comprar serían 750, 1000 y 1500 para Navesa, Electricidad y Rampa
respectivamente. De esta forma podemos observar la potencia que tiene el solver.