Optimera kostnader
Nu ska vi använda de funktioner du har byggt för att optimera produktionskostnaderna. Målet är att maximera den genomsnittliga vinsten. Vinsten påverkas av flera faktorer, men vi kontrollerar bara kostnaden. Därför kan vi simulera osäkerheten i de övriga faktorerna och variera kostnaden för att se hur vinsten påverkas.
Eftersom du driver den lilla majsfarmen har du möjlighet att välja din kostnad – från 100 till 5 000 dollar. Du vill hitta den kostnadsnivå som ger högst genomsnittlig vinst. I den här övningen simulerar vi flera utfall för varje kostnadsnivå och beräknar ett genomsnitt. Sedan väljer vi den kostnadsnivå som ger högst medelvinst. När du är klar har du ett ramverk för att välja optimala ingångsvärden vid affärsbeslut.
Den här övningen är en del av kursen
Statistisk simulering i Python
Övningsinstruktioner
- Initiera den tomma ordlistan
results. - Simulera vinster för varje kostnadsnivå med den förinstallerade funktionen
profits()och lägg till dem itmp_profits. - Lagra medelvärdet av
tmp_profitsför varje kostnadsnivå i ordlistanresults. - Hitta den kostnadsnivå
cost_maxsom har högst genomsnittlig vinst genom att köraresultsgenom listomfattningen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))