def main(): arguments = parse_arguments() normailze_inputs(arguments) first_chanel = Channel(mu1) second_chanel = Channel(mu2) generator = Generator(lmbd) ticks_number = 100000 * accuracy declined_claims = 0 generated_claims = 0 processed_claims = 0 for i in range(0, ticks_number): if generator.is_generated(): generator.start_generate() generated_claims += 1 if first_chanel.is_processed(): first_chanel.add() processed_claims += 1 elif second_chanel.is_processed(): second_chanel.add() processed_claims += 1 else: declined_claims += 1 first_chanel.tick() second_chanel.tick() generator.tick() print('Occupancy of first chanel: ', first_chanel.work_time / ticks_number) print('Occupancy of second chanel: ', second_chanel.work_time / ticks_number) print('Decline probability: ', declined_claims / generated_claims) print('Relative system capacity: ', processed_claims / generated_claims) print('Absolute system capacity: ', processed_claims * normalizing_factor / ticks_number)
i = 0 # время while i < interval: if N and X / N > b: c1.set_service_time(r) c2.set_service_time(r) H += 1 boost.append(2) else: c1.set_service_time(z) c2.set_service_time(z) boost.append(0) if A and A[0][1] == i: new_requests.append(2) c1.add(A[0]) A.pop(0) else: new_requests.append(0) w1 = c1.work(i) if w1: c2.add(w1) w2 = c2.work(i) if w2: N += 1 time_diff = w2[-1] - w2[1] # время передачи пакета if time_diff > 10: X += 1 i += 1