You are on page 1of 10

Departamento de Estadı́stica

Asignatura: Optimización y Simulación para la Empresa


Curso: 2011/2012

PRÁCTICA 1: Optimización con Excel 2010

1. Modelización mediante hojas de cálculo

Tarde o temprano, el analista debe informar al cliente acerca del modelo y dar sus
recomendaciones sobre el mismo. Debe tenerse en cuenta la diferencia de lenguaje y cono-
cimientos matemáticos que existe entre el técnico analista y el gestor de la organización:
los directivos conocen su negocio, pero, a menudo, no entienden demasiado de modelos
matemáticos o de cómo éstos se implementan en hojas de cálculo. Es tarea de quien ha
realizado el análisis presentar el modelo en unos términos que la gente “sin educación
matemática” pueda entender.

En general, al trabajar con un modelo matemático en una hoja de cálculo, distingui-


remos tres tipos de valores:

datos de entrada (inputs): valores dados (fijos);

variables de decisión: valores sobre los que se tiene control;

datos de salida (outputs): valores finales de interés, determinados por los datos de
entrada y las variables de decisión.

La modelización con hojas de cálculo consiste en introducir datos de entrada y variables


de decisión que, mediante fórmulas adecuadas, den lugar a los datos de salida.

Puesto que es muy frecuente que varias personas tengan que trabajar sobre una misma
hoja de cálculo, es conveniente adquirir buenos hábitos de modelización que faciliten su
legibilidad:

Estructura el modelo de forma clara y lógica.

Si te es necesario, separa las diferentes partes del modelo mediante varias hojas de
cálculo.

1
Pon encabezamientos a las diferentes secciones del modelo. En especial, a los datos
de entrada, variables de decisión y datos de salida.

Usa formatos que permitan distinguir los datos y las secciones con claridad (negrita,
itálica, fuentes de mayor tamaño, colores. . . ).

2. Primer ejemplo y primeros consejos

Usaremos la herramienta Solver del programa Microsoft Excel 2010. Para ello, hay
que seleccionar Archivo → Opciones. A continuación, en Complementos, elegimos
Administrar → Complementos de Excel, seleccionaremos Solver y haremos clic en
Aceptar.

Figura 1: Menú Solver.

Una vez instalado, el comando Solver estará disponible en el grupo Análisis de la


ficha Datos.

Para aprender cómo trabajar con esta herramienta y cómo modelizar un problema,
resolveremos un ejemplo paso a paso.

Un fabricante de bebidas produce semanalmente 955, 1412 y 205 litros de las bebidas
Aghwa, Zerbessa y Visky, respectivamente. Estos lı́mites son consecuencia de los recursos
de los que dispone y de que, fruto de sus largos años en el negocio, sabe que es imposible
vender semanalmente más de 1000, 1500 y 300 litros de estas bebidas, respectivamente. En

2
la elaboración de las bebidas, intervienen cuatro ingredientes que, por razones de espionaje
industrial, denominaremos A, B, C y D. Los dos primeros son sólidos y los dos segundos
son lı́quidos. Para obtener un litro de cada una de las bebidas, se usan los siguientes
recursos, respectivamente:

300 gramos de producto A, 500 gramos de producto B, 250 mililitros de producto C


y 350 mililitros de producto D;

200 gramos de producto A, 700 gramos de producto B, 450 mililitros de producto C


y 250 mililitros de producto D;

400 gramos de producto A, 600 gramos de producto B, 350 mililitros de producto C


y 550 mililitros de producto D.

La venta de un litro de Aghwa, Zerbessa y Visky, reporta un beneficio de 1.2, 1.7 y


2.6 euros, respectivamente. Los recursos semanales disponibles son 750 kilos de producto A,
1800 kilos de producto B, 1050 litros de producto C y 800 litros de producto D.

Un buen dı́a, el hijo de nuestro fabricante, que se encuentra cursando la asignatura


de Optimización, le comenta a su padre que esa polı́tica de producción está lejos de ser
óptima. El padre, sin dejarse amilanar por la “impertinencia” de su hijo, ignorante de los
negocios, le reta a que, si encuentra una solución mejor, le dará el incremento neto de
beneficios de una semana. ¿Consigue algún beneficio el muchacho? En caso afirmativo, ¿a
cuánto asciende?

En primer lugar, debemos encontrar un modelo matemático que nos permita represen-
tar nuestro problema.

Comenzaremos con las variables de decisión, que en este caso son bastante intuitivas:

x1 = “número de litros de Aghwa”,


x2 = “número de litros de Zerbessa”,
x3 = “número de litros de Visky”.

Con estas variables, es muy fácil ver que el beneficio que nosotros queremos maximizar
(nuestra función objetivo) es

z = 1.2x1 + 1.7x2 + 2.6x3 .

Observa que en Optimización es muy frecuente usar la letra “z” para representar la función
objetivo.

Finalmente, ahora queda representar las condiciones que rigen nuestro problema, es
decir, definir el conjunto de restricciones.

En primer lugar, tenemos cantidades de recurso disponible limitadas. Por ejemplo, no


podemos usar semanalmente más de 750 kilos de producto A. Como los kilos de producto A
usados se representan como 0.3x1 + 0.2x2 + 0.4x3 , entonces una restricción es

0.3x1 + 0.2x2 + 0.4x3 ≤ 750.

3
Del mismo modo, deducimos que las restricciones sobre los lı́mites disponibles de pro-
ducto B, C y D son
0.5x1 + 0.7x2 + 0.6x3 ≤ 1800,
0.25x1 + 0.45x2 + 0.35x3 ≤ 1050,
y
0.35x1 + 0.25x2 + 0.55x3 ≤ 800,
respectivamente.

Por otra parte, sabemos que hay unos lı́mites de producción que no vamos a sobrepasar
porque no vamos a poder vender los productos que fabriquemos de más. Por lo tanto,
establecemos las restricciones
x1 ≤ 1000,
x2 ≤ 1500
y
x3 ≤ 300.

Finalmente, no debemos olvidar indicar algo que puede parecer trivial pero que hay
que indicar siempre: qué tipo de variables tenemos. En este caso, los litros de bebida es
una magnitud positiva y continua. Por lo tanto, escribiremos

x1 , x2 , x3 ≥ 0.

El último paso es escribir el modelo entero:




 Max. 1.2x1 + 1.7x2 + 2.6x3
s.a 0.3x1 + 0.2x2 + 0.4x3 ≤ 750,




0.5x1 + 0.7x2 + 0.6x3 ≤ 1800,




0.25x1 + 0.45x2 + 0.35x3 ≤ 1050,



0.35x1 + 0.25x2 + 0.55x3 ≤ 800,
x1 ≤ 1000,




x2 ≤ 1500,




x3 ≤ 300,




x1 , x2 , x3 ≥ 0.

Podemos distinguir las siguientes partes en la hoja de cálculo que vamos a crear:

1. Datos de entrada. Todos los datos de entrada numéricos (es decir, los valores nece-
sarios para calcular la función objetivo y las restricciones) deben aparecer en la hoja
de cálculo. Usaremos la convención de enmarcar estos valores con borde azul y fondo
sombreado. Trataremos de situarlos en la sección superior izquierda de la hoja de
cálculo.
2. Celdas cambiantes. En lugar de usar nombres de variables (por ejemplo, x1 ), los
modelos en hojas de cálculo emplean un conjunto de celdas que desempeña el papel de
las variables de decisión. Los valores de estas celdas pueden cambiarse para optimizar
el objetivo. En Excel estas celdas se denominan celdas cambiantes. Enmarcaremos
estas celdas con borde rojo.

4
3. Celda (función) objetivo. Una celda, denominada celda objetivo, contiene la función
objetivo. La herramienta Solver varı́a los valores de las celdas cambiantes para opti-
mizar el valor de la función objetivo. Enmarcaremos la celda objetivo con un borde
doble negro.

4. Restricciones. En Excel, las restricciones no se muestran directamente en la hoja


de cálculo. En su lugar, especificamos las restricciones en el menú de Solver. Por
ejemplo, podrı́amos establecer un conjunto de restricciones que fuese

B15 : D15 ≤ B16 : D16.

Esta declaración implica tres restricciones separadas: el valor de la celda B15 debe
ser menor o igual que el valor de B16, el valor de la celda C15 debe ser menor o igual
que el valor de C16 y el valor de la celda D15 debe ser menor o igual que el valor
de D16. Otra manera de trabajar es mediante rangos, etiquetando conjuntos de celdas
(podemos ver una lista de los rangos definidos en Fórmulas → Administrador
de nombres). De este modo, una restricción podrı́a ser

Usado ≤ Disponible.

5. No negatividad. Normalmente, queremos que las variables de decisión sean positi-


vas. Esta restricción se incluye seleccionando el submenú Opciones de Solver y
marcando Convertir variables sin restricciones en no negativas.

En la hoja Practica1 Ejemplo solver2010.xlsx (disponible en Aula Global) apa-


rece cada paso en una hoja distinta del fichero para que puedas ver la evolución de la
construcción del modelo.

Inicialmente, como resultará obvio, la hoja está vacı́a (Hoja 1).

Después, le damos un tı́tulo y añadimos los primeros datos (Hoja 2). En concreto,
hemos introducido los beneficios unitarios y el bloque constituido por los tres beneficios
(B7:B9) lo hemos definido como el rango Beneficios.

De modo análogo, vamos añadiendo los demás datos (Hoja 3). Observemos que hemos
definido los nuevos rangos Disponibles y Lı́mites.

A continuación (Hoja 4), establecemos las celdas cambiantes que serán las variables.
Como valores iniciales, podemos establecer cualquier valor, incluso aunque no sea factible.
Establecemos el rango Variables (C27:C29).

El siguiente paso es definir la función objetivo: en la celda C31, escribimos

= SUMAPRODUCTO(Beneficios; Variables).

También podrı́amos haber escrito

= SUMAPRODUCTO(B7 : B9; C27 : C29),

5
Figura 2: Hoja 2.

pero el usar rangos nos facilita tanto la escritura como la lectura del modelo.

Finalmente, antes de pasar a introducir las variables en el menú Solver, escribimos unas
lı́neas que nos calculan el consumo de los distintos materiales. En realidad, este paso no es
necesario, pero nos permite visualizar mejor los datos y estar preparados para responder a
preguntas como “¿cuántos kilos del producto A se usan?”. Para ello, calculamos la cantidad
de recurso utilizado para cada uno de los cuatro productos.

Escribimos

= B19 ∗ C$27 + C19 ∗ C$28 + D19 ∗ C$29.

en la celda H27 y después la copiamos en las tres inferiores (Hoja 5). Observa el uso
que se hace de celdas relativas y celdas absolutas en la fórmula (el sı́mbolo dólar antes
del número de fila bloquea la fila, mientras que antes de la letra de columna bloquea
bloquea la columna). Estas cuatro fórmulas, de hecho, van a ser luego las restricciones que
necesitamos declarar.

Ahora ya lo tenemos todo preparado para poder introducir el modelo en el menú Solver :

6
Figura 3: Hoja 3.

Establecer objetivo: la celda en donde hemos declarado la función objetivo.

Para: elegiremos Máx. o Mı́n según estemos maximizando o minimizando, respec-


tivamente.

Cambiando las celdas de variables: seleccionamos las celdas cambiantes que actúan
como variables de decisión.

Sujeto a las restricciones: aquı́ introducimos las restricciones. Podemos hacerlo me-
diante el uso de rangos, si los hemos ido declarando, o mediante fórmulas concretas.
En la imagen, vemos que se ha usado la primera opción, pero, por ejemplo, la primera
familia de restricciones,

Usados ≤ Disponibles,

equivale a

H27 : H30 ≤ C12 : C15.

7
Figura 4: Hoja 4.

Por supuesto, también podrı́amos haber escrito las restricciones de esta familia una
a una:

H27 ≤ C12,
H28 ≤ C13,
H29 ≤ C14,
H30 ≤ C15.

Método de resolución: elegiremos Simplex LP.

Finalmente, y tras no olvidarnos de seleccionar la opción de que los valores sean no


negativos, resolvemos el modelo.

Vemos que la solución óptima, producir 742.8571 litros de Aghwa, 1500 litros de Zer-
bessa y 300 litros de Visky da un beneficio de 4221.29 euros.

Fácilmente, comprobamos que la producción propuesta inicialmente por el fabricante


reporta un beneficio de 4079.4 euros. Es decir, gracias al análisis del problema, ha habido
un incremento del 3.48 %. El hijo gana, con escaso esfuerzo, 141.89 euros.

En las celdas que usamos para escribir el uso de las restricciones, podemos ver las
distintas cantidades de recursos utilizados. En particular, podemos observar que no pro-
ducimos más porque hemos agotado un recurso (producto D). Si no hubiésemos agotado

8
Figura 5: Hoja 5.

completamente ninguno de los cuatro, la solución no podrı́a ser óptima, pues seguirı́amos
produciendo hasta agotar alguno. Este breve análisis es la parte más importante en la
resolución del modelo para un analista: la interpretación del modelo y la extracción de
conclusiones.

3. Ejercicios:

1. Modifica la cantidad disponible de uno o más productos y observa si varı́a la polı́tica


de producción. Haz lo mismo pero modificando ahora los beneficios.

2. Resuelve el Ejemplo 1 de clase (problema de la dieta).

3. Resuelve el Ejemplo 2 de clase (planificación de la producción).

9
Figura 6: Declaración del modelo.

Figura 7: Solución óptima.

10

You might also like