Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as n
- import statistics
- import matplotlib.pyplot as plt
- from scipy.stats import norm
- #lets define profit and loss
- cost_of_fish = 7.5;
- price_in_dish = 12.0;
- cost_residual = 6.0;
- #кг продано каждый день
- sold = n.random.normal(loc = 60.0, scale = 10.0, size = 10);
- #проверим, что выводится
- print(n.max(sold), n.min(sold))
- #считаем издержки потери от нереализованных продаж и издержки избытка.
- loss_cost = cost_of_fish - cost_residual;
- loss_def = price_in_dish - cost_of_fish;
- #риск дефицита
- def_risk = loss_cost / (loss_cost + loss_def);
- #вероятность избытка
- extra = norm.ppf(1 - def_risk);
- #зададим оптимальный размер заказа на склад
- Stock_opt = 60 + extra*10
- print('Нужно заказывать каждый день, кг: ', Stock_opt)
- #зададим генератор случайной последовательности заказов на каждый день
- n.random.seed(100)
- n=1000
- n_bins = 2
- order = 0;
- #для каждого дня
- for i in range(n):
- sold_fish = sold.round(1)
- print('Заказали: ', sold_fish)
- bins = 2
- sold_fish_hist = plt.hist(sold_fish, bins, color = 'blue')
- plt.figure(0)
- plt.xlabel('Продано ежедневно, кг')
- plt.ylabel("Дискретизация")
- plt.title('Диаграмма проданной рыбы')
- plt.show(sold_fish_hist)
- plt.savefig('soldbybin.png')
- #прибыль
- total_cost = sold_fish * cost_of_fish
- total_revenue = sold_fish * price_in_dish
- #подсчет прибыли от количества рыбы на складе (переизбыток и оптимально)
- sold_fish_opt = sold_fish[sold_fish > Stock_opt]
- profit_opt = total_revenue - total_cost
- sold_fish_extra = sold_fish[sold_fish < Stock_opt]
- profit_extra = total_revenue - total_cost + (extra - sold_fish) * cost_residual
- #расчет среднего прибыли
- total_profit = list(profit_opt) + list(profit_extra)
- print('Оптимальный склад рыбы: средняя прибыль ', statistics.mean(total_profit).round(1))
- #расчет медиана прибвли
- print('Оптимальный склад рыбы: медиана прибыли ', statistics.median(total_profit).round(1))
- #постоить гистограмму распределения
- total_profit_hist = plt.hist(total_profit, bins, color = "green")
- plt.figure(1)
- plt.xlabel('Прибыль')
- plt.ylabel("Дискретизация")
- plt.title('Диаграмма распределения прибыли')
- plt.savefig('total_profit_hist.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement