Volver a la página principal

Optimizar con Solver

La herramienta Solver permite optimizar el valor de una celda que se llamará celda objetivo y que depende linealmente de las celdas de un rango determinado que puede estar sometido a restricciones.

Vemos su funcionamiento con un ejemplo.

Ejemplo 6. Supongamos que tenemos el siguiente problema:" Un autobús Madrid-París ofrece plazas para fumadores al precio de 60 € y a no fumadores al precio de 100 €. Al no fumador se le deja llevar 50 kg de peso y al fumador 20 kg. Si el autobús tiene 90 plazas y admite un equipaje de hasta 3000 kg, ¿cuál debería ser la oferta de la compañía si se quiere obtener el máximo beneficio? "

En este caso se trata de encontrar cuánto deben valer:

  • x=número de viajeros fumadores
  • y=número de viajeros no fumadores

para que el valor de P=100x+60y sea máximo. Estos valores x, y no son cualesquiera, tienen que cumplir unas restricciones:

  • x e y deben ser mayor o igual que 0 (el número de viajeros no puede ser un número negativo)
  • el peso que lleven los viajeros no puede ser mayor de 3000 kg, es decir, 50x+20y debe ser menor o igual que 3000
  • el número de viajeros no puede exceder del número máximo de plazas del autobús, es decir, x+y debe ser menor o igual a 90

Resolveremos este problema con ayuda de Ooo Calc. El primer paso es construir una hoja de cálculo como la siguiente en la que en C3 y C4 se identificarán con las variables x e y anteriormente definidas.

Las fórmulas que se han incluido son las siguientes

  • Celda C5: =C3+C4 (permite calcular el número total de viajeros)
  • Celda E3: =C3*D3 (permite calcular el equipaje de los viajeros fumadores)
  • Celda E4: =C4*D4 (permite calcular el equipaje de los viajeros no fumadores)
  • Celda E5: =E3+E4 (permite calcular el equipaje de total de todos los viajeros)
  • Celda F3: =C3*60 (permite calcular el beneficio asociado a los viajantes fumadores)
  • Celda F4: =C4*100 (permite calcular el beneficio asociado a los viajantes no fumadores)
  • Celda F5: =F3+F4 (permite calcular el beneficio total por la venta de todos los billetes).

Observa que si vas poniendo valores en C3 y C4, con la única condición de que sumen 90, puede ocurrir que la otra restricción que tiene el problema respecto al equipaje a veces no se cumpla (por ejemplo para C3=20, C4=70 la cantidad de equipaje sería 3900kg).

ATENCIÓN: Puedes ver haciendo clic aquí una escena interactiva en la que se representa gráficamente la región D en la que deben estar los valores x e y para que cumplan las restricciones que se exigen en este ejercicio. Además, mediante una animación, puedes ver cómo obtener la solución gráfica del problema.

Calculando con Calc la solución

En primer lugar debemos observar que lo que tratamos de hacer máximo es el valor de la celda F5, esta celda es la celda objetivo. La solución del problema pasa por elegir unos valores de C3 y C4 para conseguir que la celda objetivo sea máxima. Como hemos comentado anteriormente, estos valores no son libres ya que deben cumplir ciertas condiciones que ahora se expresarán como:

  • C3 y C4 deben ser positivos o nulos
  • C5, el número de viajeros, no debe ser superior a 90
  • E5, el equipaje total, no debe superar a 3000 kg

Para resolver este problema con OOo Calc elegimos la opción Solver del menú Herramientas incluyendo en el cuadro la función objetivo y las restricciones que hemos indicado y que se muestran en la figura siguiente:

Cuando se haga clic en el botón Solucionar, OOo Calc nos dará la solución de este problema; en el ejemplo seguido se obtendrá que el beneficio es 7000€ admitiendo 50 viajeros fumadores y 40 no fumadores.

El botón Opciones... del cuadro de diálogo Solver puede ayudar, en algunos casos, a encontrar la solución. Los cuatro ajustes que se pueden hacer es:

  • Asume variables como no negativo En nuestro ejemplo esta opción tendría sentido ya que el número de viajeros no puede ser nunca negativo.
  • Asumir variables como enteros. También es claro que en nuestro caso el número de viajeros fumadores o no deben ser números enteros por lo que podríamos elegir esta opción antes de hacer clic en el botón Solucionar.
  • Nivel épsilon Al hacer doble clic sobre este botón se puede cambiar el grado de aproximación a la solución.
  • Límite de tiempo. Aunque para ejemplos sencillos el valor que tiene asignado por defecto es suficiente, 100 segundos, también se puede cambiar.

Práctica 1: Resuelve con la herramienta solver el siguiente problema:

"Un veterinario aconseja a un granjero dedicado a la cría de aves una dieta

mínima que consiste en 3 unidades de hierro y 4 unidades de vitaminas diarias.

El granjero sabe que cada kilo de maíz proporciona 2,5 unidades de hierro y 1 de vitaminas y que cada kilo de pienso compuesto proporciona 1 de hierro y 2 de vitaminas. Sabiendo que el kilo de maíz vale 0,3 € y el de pienso compuesto 0,52 €, ¿cuál es la composición de la dieta diaria que minimiza los costes del granjero? "

Nota: La solución es 2kg de maíz y 1 kg de pienso compuesto.

Fuente: http://web.educastur.princast.es/ies/pravia/carpetas/recursos/mates/anaya2B/bach2soc/04%20Sol%20Soc.pdf

1

Autoevaluación

A la hora de modelizar un problema lineal a optimizar con la herramienta Solver he de pensar en...

a)
b)
c)
Exacto, eso es lo que hay que tener en cuenta... Experimenta un poco más con la herramienta Solver y te darás cuenta de que pasaste por alto algún aspecto importante.Tu respuesta ha sido guardada.
Comprueba tu respuesta