Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. import numpy as n
  2.  
  3. import statistics
  4. import matplotlib.pyplot as plt
  5. from scipy.stats import norm
  6. #lets define profit and loss
  7. cost_of_fish = 7.5;
  8. price_in_dish = 12.0;
  9. cost_residual = 6.0;
  10.  
  11. #кг продано каждый день
  12. sold = n.random.normal(loc = 60.0, scale = 10.0, size = 10);
  13.  
  14. #проверим, что выводится
  15. print(n.max(sold), n.min(sold))
  16.  
  17.  
  18.  
  19. #считаем издержки потери от нереализованных продаж и издержки избытка.
  20. loss_cost = cost_of_fish - cost_residual;
  21. loss_def = price_in_dish - cost_of_fish;
  22.  
  23. #риск дефицита
  24. def_risk = loss_cost / (loss_cost + loss_def);
  25. #вероятность избытка
  26. extra = norm.ppf(1 - def_risk);
  27.  
  28. #зададим оптимальный размер заказа на склад
  29. Stock_opt = 60 + extra*10
  30. print('Нужно заказывать каждый день, кг: ', Stock_opt)
  31. #зададим генератор случайной последовательности заказов на каждый день
  32. n.random.seed(100)
  33. n=1000
  34. n_bins = 2
  35. order = 0;
  36.  
  37. #для каждого дня
  38. for i in range(n):
  39. sold_fish = sold.round(1)
  40. print('Заказали: ', sold_fish)
  41.  
  42. bins = 2
  43. sold_fish_hist = plt.hist(sold_fish, bins, color = 'blue')
  44. plt.figure(0)
  45. plt.xlabel('Продано ежедневно, кг')
  46. plt.ylabel("Дискретизация")
  47. plt.title('Диаграмма проданной рыбы')
  48. plt.show(sold_fish_hist)
  49. plt.savefig('soldbybin.png')
  50.  
  51. #прибыль
  52. total_cost = sold_fish * cost_of_fish
  53. total_revenue = sold_fish * price_in_dish
  54.  
  55.  
  56.  
  57. #подсчет прибыли от количества рыбы на складе (переизбыток и оптимально)
  58. sold_fish_opt = sold_fish[sold_fish > Stock_opt]
  59. profit_opt = total_revenue - total_cost
  60. sold_fish_extra = sold_fish[sold_fish < Stock_opt]
  61. profit_extra = total_revenue - total_cost + (extra - sold_fish) * cost_residual
  62.  
  63. #расчет среднего прибыли
  64. total_profit = list(profit_opt) + list(profit_extra)
  65. print('Оптимальный склад рыбы: средняя прибыль ', statistics.mean(total_profit).round(1))
  66. #расчет медиана прибвли
  67. print('Оптимальный склад рыбы: медиана прибыли ', statistics.median(total_profit).round(1))
  68.  
  69. #постоить гистограмму распределения
  70. total_profit_hist = plt.hist(total_profit, bins, color = "green")
  71. plt.figure(1)
  72. plt.xlabel('Прибыль')
  73. plt.ylabel("Дискретизация")
  74. plt.title('Диаграмма распределения прибыли')
  75. plt.savefig('total_profit_hist.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement