Excel 2020: encuentre soluciones óptimas con Solver - Consejos de Excel

Tabla de contenido

Excel no fue el primer programa de hojas de cálculo. Lotus 1-2-3 no fue el primer programa de hoja de cálculo. El primer programa de hoja de cálculo fue VisiCalc en 1979. Desarrollado por Dan Bricklin y Bob Frankston, VisiCalc fue publicado por Dan Fylstra. Hoy, Dan dirige Frontline Systems. Su empresa escribió el Solver utilizado en Excel. Frontline Systems también ha desarrollado un conjunto completo de software de análisis que funciona con Excel.

Si tiene Excel, tiene Solver. Puede que no esté habilitado, pero lo tiene. Para habilitar Solver en Excel, presione Alt + T seguido de I.Agregue una marca de verificación junto al Complemento Solver.

Para utilizar Solver con éxito, debe crear un modelo de hoja de trabajo que tenga tres elementos:

  • Tiene que haber una sola celda de Objetivo. Esta es una celda que desea minimizar, maximizar o establecer en un valor particular.
  • Puede haber muchas celdas de entrada. Esta es una mejora fundamental con respecto a Goal Seek, que puede tratar con una sola celda de entrada.
  • Puede haber limitaciones.

Su objetivo es establecer los requisitos de programación para un parque de atracciones. Cada empleado trabajará cinco días seguidos y luego tendrá dos días libres. Hay siete formas diferentes de programar a alguien para cinco días seguidos y dos días libres. Estos se muestran como texto en A4: A10 en la figura siguiente. Las celdas azules en B4: B10 son las celdas de entrada. Aquí es donde especifica cuántas personas tiene trabajando en cada horario.

La celda Objetivo es Nómina total / Semana, que se muestra en B17. Esto es pura matemática: Personas totales de B11 multiplicado por $ 68 de salario por persona por día. Le pedirá a Solver que encuentre una manera de minimizar la nómina semanal.

El cuadro rojo muestra valores que no cambiarán. Esta es la cantidad de personas que necesita para trabajar en el parque cada día de la semana. Necesita al menos 30 personas en los ajetreados días de fin de semana, pero tan solo 12 los lunes y martes. Las celdas naranjas usan SUMPRODUCT para calcular cuántas personas se programarán cada día, según las entradas de las celdas azules.

Los iconos de la fila 15 indican si necesita más personas o menos personas o si tiene exactamente el número correcto de personas.

Primero, traté de resolver este problema sin Solver. Fui con 4 empleados cada día. Eso fue genial, pero no tuve suficiente gente el domingo. Entonces, comencé a aumentar los horarios para tener más empleados los domingos. Terminé con algo que funciona: 38 empleados y $ 2,584 de nómina semanal.

Por supuesto, existe una forma más sencilla de resolver este problema. Haga clic en el icono de Solver en la pestaña Datos. Dígale a Solver que está tratando de establecer la nómina en B17 al mínimo. Las celdas de entrada son B4: B10.

Las restricciones se clasifican en categorías obvias y no tan obvias.

La primera restricción obvia es que D12: J12 tiene que ser >= D14:J14.

Pero, si intentara ejecutar Solver ahora, obtendría resultados extraños con un número fraccionario de personas y posiblemente un número negativo de personas trabajando en ciertos horarios.

Si bien le parece obvio que no puede contratar a 0.39 personas, debe agregar restricciones para decirle a Solver que B4: B10 son >= 0y que B4: B10 son números enteros.

Elija Simplex LP como método de resolución y haga clic en Resolver. En unos momentos, Solver presenta una solución óptima.

Solver encuentra una manera de cubrir la dotación de personal del parque de diversiones utilizando 30 empleados en lugar de 38. El ahorro por semana es de $ 544, o más de $ 7000 durante el verano.

Observe las cinco estrellas debajo de Empleados necesarios en la figura anterior. El programa propuesto por Solver satisface sus necesidades exactas durante cinco de los siete días. El subproducto es que tendrá más empleados los miércoles y jueves de los que realmente necesita.

Puedo entender cómo se le ocurrió a Solver esta solución. Necesita mucha gente los sábados, domingos y viernes. Una forma de hacer que la gente esté allí ese día es dándoles libres los lunes y martes. Es por eso que Solver dio a 18 personas el lunes y martes libres.

Pero el hecho de que Solver haya creado una solución óptima no significa que no haya otras soluciones igualmente óptimas.

Cuando solo estaba adivinando la dotación de personal, realmente no tenía una buena estrategia.

Ahora que Solver me ha dado una de las soluciones óptimas, puedo ponerme mi sombrero de lógica. Tener 28 empleados en edad universitaria los miércoles y jueves cuando solo necesita 15 o 18 empleados va a generar problemas. No habrá suficiente para hacer. Además, con exactamente el recuento de personas correcto en cinco días, tendrá que llamar a alguien para horas extras si alguien más llama para informar que está enfermo.

Confío en Solver que necesito tener 30 personas para que esto funcione. Pero apuesto a que puedo reorganizar a esas personas para igualar el horario y proporcionar un pequeño búfer en otros días.

Por ejemplo, dar a alguien el miércoles y el jueves libres también garantiza que la persona esté en el trabajo el viernes, sábado y domingo. Por lo tanto, muevo manualmente algunos trabajadores de la fila de lunes, martes a la fila de miércoles y jueves. Sigo conectando manualmente diferentes combinaciones y se me ocurre la solución que se muestra a continuación, que tiene el mismo gasto de nómina que Solver pero mejores intangibles. La situación de exceso de personal existe ahora en cuatro días en lugar de dos. Eso significa que puede manejar las ausencias de lunes a jueves sin tener que llamar a alguien de su fin de semana.

¿Es malo que pude encontrar una solución mejor que Solver? No. El hecho es que no habría podido llegar a esta solución sin usar Solver. Una vez que Solver me dio un modelo que minimizaba los costos, pude usar la lógica sobre intangibles para mantener la misma nómina.

Si necesita resolver problemas que son más complejos de lo que Solver puede manejar, consulte los solucionadores de Excel premium disponibles en Frontline Systems.

Gracias a Dan Fylstra y Frontline Systems por este ejemplo. Walter Moore ilustró la montaña rusa XL.

Articulos interesantes...