Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. break_intensity = arguments.v
  2. repair_intensity = mean_time_to_erlang_intensity(arguments.T)
  3.  
  4. queue = Queue(1)
  5. channel = Channel(arguments.m, ERLANG_SHAPE,
  6. break_intensity, repair_intensity)
  7. generator = Generator(arguments.l)
  8. ticks_number = 0
  9. declined_claims = 0
  10.  
  11. while ticks_number < 100000:
  12. if not channel.is_processed() and channel.broken:
  13. channel.remove()
  14. try:
  15. queue.enqueue(None)
  16. except Exception as e:
  17. declined_claims += 1
  18.  
  19. if not queue.has_place() and channel.is_processed() and not channel.broken:
  20. queue.dequeue()
  21. channel.add()
  22.  
  23. if generator.is_generated():
  24. generator.start_generate()
  25. generated_claims += 1
  26. if channel.is_processed() and not channel.broken:
  27. channel.add()
  28. else:
  29. try:
  30. queue.enqueue(None)
  31. except Exception as e:
  32. declined_claims += 1
  33. channel.tick()
  34. generator.tick()
  35.  
  36. ticks_number += 0.1
  37.  
  38. worked = channel.work_time / ticks_number
  39. repaired = channel.repair_time / ticks_number
  40.  
  41. print('Вероятность, что канал свободен: ', 1 - repaired - worked)
  42. print('Вероятность, что канал занят: ', worked)
  43. print('Вероятность, что канал ремонтируется: ', repaired)
  44. print('Относительная пропускная способность: ',
  45. channel.processed_claims / generated_claims)
  46. print('Абсолютная пропускная способность: ',
  47. channel.processed_claims / ticks_number)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement