Optimización de costes
Ahora usaremos las funciones que has creado para optimizar nuestro coste de producción. Nos interesa maximizar los beneficios medios. Sin embargo, nuestros beneficios dependen de varios factores, mientras que solo controlamos el coste. Por tanto, podemos simular la incertidumbre en los demás factores y variar el coste para ver cómo afectan a nuestros beneficios.
Como gestionas la pequeña granja de maíz, puedes elegir tu coste, desde 100 \( hasta 5.000 \). Quieres escoger el coste que te dé el beneficio medio máximo. En este ejercicio, simularemos múltiples resultados para cada nivel de coste y calcularemos un promedio. Luego elegiremos el coste que nos proporcione el beneficio medio máximo. Al finalizar, tendrás un marco para seleccionar entradas óptimas en decisiones de negocio.
Este ejercicio forma parte del curso
Simulación estadística en Python
Instrucciones del ejercicio
- Inicializa el diccionario vacío
results. - Para cada nivel de coste, simula beneficios usando la función precargada
profits()y añádelos atmp_profits. - Guarda la media de
tmp_profitspara cada nivel de coste en el diccionarioresults. - Encuentra el nivel de coste
cost_maxque tiene el beneficio medio máximo ejecutandoresultsa través de la lista por comprensión.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize results and cost_levels variables
sims, results = 1000, ____
cost_levels = np.arange(100, 5100, 100)
# For each cost level, simulate profits and store mean profit
for cost in cost_levels:
tmp_profits = []
for i in range(sims):
tmp_profits.append(____)
results[cost] = np.mean(____)
# Get the cost that maximizes average profit
cost_max = [x for x in ____.keys() if ____[x] == max(____.values())][0]
print("Average profit is maximized when cost = {}".format(cost_max))