O simulador desenvolvido visa replicar o funcionamento de uma sistema de duas filas com prioridade e interrupção. O simulador funciona programando apenas dois tipos de eventos de forma simultânea, o fim do próximo serviço e a próxima chegada de um novo cliente, e avança até o evento mais próximo entre esses dois. Ao atingir cada um dos eventos aplicas os tratamentos necessários: caso seja a chegada de um novo freguês verifica se ele deve entrar no servidor ou ser posto na fila de espera, caso seja o fim de um serviço verifica como tratar o freguês que acaba de terminar o serviço e insere, se houver, um novo freguês no servidor. Todo o tratamento de eventos, desde a contagem de tempo até a o tratamento das filas, fregueses e servidor são realizadas pela entidade Manager que está implementada dentro de simulation.py, lá tratamos todas as operações referentes a simulação como avanço do timestep, calculo de estatísticas, mudanças de fila e etc.
Ao ocorrer cada evento as coletas são realizadas registrando o tempo em cada estrutura do sistema(fila de espera e servidor) e o número de indivíduos, por ex: ao fim de um serviço o tempo atual é subtraído do instante em que o cliente entrou em serviço e é calculado seu tempo de serviço e armazenado na sua estrutura de classe, esse processo é análogo para tempos na fila de espera 1 e 2, serviço residual e etc. Por sua vez, as estruturas utilizadas para representar cada uma das entidades foram instancias de classes, logo as filas são instancias que possuem seus próprios atributos como taxa de chegada, número de fregueses presentes e a fila destes, os freguês são instancias com tempo de serviço residual, tempo na fila de espera e assim continua. Cada instancia armazena suas próprias estatísticas que são coletadas no fim de suas vidas(quando o freguês termina o serviço ou a simulação termina), cada uma das classes foi implementada no python com seu nome sendo assim client.py,fila.p,servidor.py.
Para calculo das estatísticas foi usado o método replicativo e armazenamos todos os logs de cada rodada para no fim realizar o calculo das médias por rodada e a média geral. Todos os métodos e rotinas para cálculos das estatísticas estão no arquivo statistics.py. O calculo dos intervalos de confiança foi feito usando a inversa das cdf de cada distribuição, para, assim, a partir do intervalo de confiança obter os valores críticos de cada distruibuição.
Para analise dos números usamos como base
Os intervalos de confiança foram gerados usando amostras das Médias e Variâncias de cada rodada e construindo um intervalo a partir da t-student usando a inversa da cdf para encontrar o ponto crítico.
O cálculo do número de pessoas nas filas foi realizado de forma alternativa. Como não iteramos sobre os instantes de tempo, para dimensionar a quantidade de pessoas que temos de forma correta, para cada vez que havia uma chegada ou partida na fila fazíamos o produto entre o número de fregueses até aquele momento pelo tempo que permaneceu naquele estado (N fregueses * intervalo com N fregueses) gerando assim uma lista do número de pessoas ponderado pelo tempo em que aquela quantidade permaneceu na fila. Ex: se no instante 2 a fila tinha 10 fregueses e no instante 4 acontece uma partida/chegada, então o calculávamos (4-2)*10. Por fim como no final tínhamos na verdade lista de tempos escaladas pelo número de fregueses, para partir de Nq para N, apenas somávamos o tempo em serviço que os fregueses de uma determinada fila ficaram em serviço durante todo o processo, pois matematicamente para calculo da média é equivalente fazermos o calculo dos tempos com 1 freguês ou somarmos essa quantidade posteriormente.
Para a implementação da geração de números aleatórios foi usado as funções nativas da biblioteca numpy que oferece um gerador de números pseudo-aleatórios e a seleção da semente inicial é deixada por padrão, onde a biblioteca usa o tempo atual do sistema operacional para seleciona-la. Como o método utilizado para coleta de estatísticas foi o replicativo, mantemos as estruturas geradoras de números vivas até o fim da execução continuando a simulação de onde ela parou na rodada anterior.
A programação do simulador foi feita usando a linguagem python que é uma linguagem interpretada então significativamente mais lenta que outras alternativas, porém em função da familiaridade e facilidade da linguagem para lidar com operações de dados, arrays e etc foi preferida essa mesmo apesar da sua menor velocidade. Os testes foram realizados em uma máquina Windows 10, com processador Intel i3-9100F e com 16GB de RAM DDR4
Os teste de corretude foram realizados verificando a consistência da simulação com os valores inciais. Como o

O número de fregueses de cada simulação era dado pelo número da simulação + 1 * 60
**ex: simulação 25 teve n_fregueses = 26 * 60 = 1560 **
Também foi usado a fila 1 como métrica de corretude, esperamos que o tempo média de espera na fila convirja para um valor especifico e não tenda a explodir (demonstrando equilíbrio) para um cada vez maior número de fregueses. Verificamos também que para cenário com 10

O número de fregueses de cada simulação era dado pelo número da simulação + 1 * 60
**ex: simulação 25 teve n_fregueses = 26 * 60 = 1560 **
Todos os testes foram feitos para diferentes valores de $\rho$ mas para ilustração usamos sempre o caso de $\rho = 0.9$ uma vez que os valores se encaixaram bem para todos os cenários e o procedimento foi o mesmo
Para a estimativa da fase transiente foram realizadas simulações acompanhando a cada rodada o comportamento das métricas e das médias móveis de cada estatísticas e através de uma avaliação empírica estipulamos o momento em que estas pareciam começar a repetir o padrão ou manter uma consistência. Também comparamos a média obtida após o corte de um certo número de fregueses em um intervalo menor de tempo com a obtida para uma simulação bem longa. Foi dado alguma margem para erro na estimativa da fase transiente de forma a garantir que não comecemos a coletar estatísticas de forma equivocada.
Média para simulação com 10000 fregueses:
W1 = 0.424804095012947
W2 = 4.0328801756439985
N = 2.772663644847354
Valores para diferentes fases transientes simulando 500 fregueses


Analisando os resultados aumentando gradativamente a fase transiente, vimos que na maioria das simulações a média fica mais próxima da original a partir da faixa dos 430 fregueses(para o caso do número de pessoas na fila, a partir do instante que o 430° freguês chegar). Logo escolhemos esse threshold como determinante da nossa fase transiente
Todos os testes foram feitos para diferentes valores de $\rho$ mas para ilustração usamos sempre o caso de $\rho = 0.9$ uma vez que os valores se encaixaram bem para todos os cenários e o procedimento foi o mesmo
A simulação para diferentes valores de
Para otimização buscamos o menor número necessário de fregueses a partir do qual a média começa a convergir para diferetes


Imagens para $\rho=0.9$
Assim realizamos as simulações para diferentes valores de
Para
Soluções Analíticas
W1: 0.11111111111111112
T1: 1.1111111111111112
W2 0.5277777777777777
T2 1.5277777777777777
Nq1: 0.011
N1: 0.111
Nq2: 0.05277777777777777
N2: 0.1527777777777778
Estatisticas a respeito de T1:
\ esperança: 1.112304781275521
\ variancia: 1.2317265756019842
\ desvio padrão: 1.1098317780645786
\ intervalo de confiança para média: (1.1090012469426778, 1.11560844669289), valor médio 1.1123048468177839, precisão: 0.002970048979429899
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.11171551158671816
\ variancia: 0.2346208841874424
\ desvio padrão: 0.4843767998030484
\ intervalo de confiança para média: (0.11011397710902261, 0.11331686048309846), valor médio 0.11171541879606053, precisão: 0.014335010370962275
\ intervalo de confiança para variancia: (0.22833624699893945, 0.2406404471282056) valor médio 0.23448834706357252, precisão:0.026236272043681404
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.11119244831896304
\ variancia: 1.0148561895270875e-05
\ desvio padrão: 0.003185680758530408
\ intervalo de confiança para média: (0.11074824214057426, 0.11163665449735181), valor médio 0.11119244831896304, precisão: 0.00399493117657184
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.011173032234439741
\ variancia: 1.4903605351445507e-06
\ desvio padrão: 0.0012208032335903074
\ intervalo de confiança para média: (0.011002805403799, 0.011343259065080482), valor médio 0.011173032234439741, precisão: 0.015235508774067078
------------------------------
Estatisticas a respeito de T2:
\ esperança: 1.5260894000453549
\ variancia: 2.713041883935662
\ desvio padrão: 1.6471314106456905
\ intervalo de confiança para média: (1.5189624802180377, 1.5332140164103227), valor médio 1.5260882483141802, precisão: 0.004669302777224134
------------------------------
Estatisticas a respeito de W2:
\ esperança: 0.5270924752893164
\ variancia: 1.4946733640020187
\ desvio padrão: 1.222568347374501
\ intervalo de confiança para média: (0.5210702015540681, 0.5331133364104198), valor médio 0.527091768982244, precisão: 0.011424134813948652
\ intervalo de confiança para variancia: (1.4505818535438328, 1.5350209500114256) valor médio 1.4928014017776292, precisão:0.028282093105969283
------------------------------
Estatisticas a respeito de N2:
\ esperança: 0.15257025237484856
\ variancia: 3.877188076306215e-05
\ desvio padrão: 0.006226707056146303
\ intervalo de confiança para média: (0.15170201040240647, 0.15343849434729065), valor médio 0.15257025237484856, precisão: 0.005690768409485976
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 0.05270842541266129
\ variancia: 2.1469183655479775e-05
\ desvio padrão: 0.0046334850442706485
\ intervalo de confiança para média: (0.05206233974364826, 0.05335451108167432), valor médio 0.05270842541266129, precisão: 0.012257730409412523
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.19988124304671054
\ variancia: 1.731890029794212e-05
\ desvio padrão: 0.004161598286469048
------------------------------
Para
Soluçoes analíticas
W1: 0.25
T1: 1.25
W2 1.5
T2 2.5
N1: 0.25
Nq1: 0.05
Nq2: 0.30000000000000004
N2: 0.5
Estatisticas a respeito de T1:
\ esperança: 1.254441019264655
\ variancia: 1.5673514095731955
\ desvio padrão: 1.2519390598480404
\ intervalo de confiança para média: (1.2494322788436354, 1.2594506557261922), valor médio 1.2544414672849138, precisão: 0.003993162353059151
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.25138629849897476
\ variancia: 0.5669486483262148
\ desvio padrão: 0.7529599247810037
\ intervalo de confiança para média: (0.2483630015940181, 0.25440989429437266), valor médio 0.2513864479441954, precisão: 0.012027085687803035
\ intervalo de confiança para variancia: (0.550524452624005, 0.5824351260851399) valor médio 0.5664797893545724, precisão:0.028165765187750904
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.2506908571117251
\ variancia: 8.319395621744987e-05
\ desvio padrão: 0.009121072098029369
\ intervalo de confiança para média: (0.24941902955379264, 0.2519626846696576), valor médio 0.2506908571117251, precisão: 0.005073290556287289
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.05025076329690185
\ variancia: 2.1464726145802216e-05
\ desvio padrão: 0.004633004008826478
\ intervalo de confiança para média: (0.04960474470269402, 0.050896781891109674), valor médio 0.05025076329690185, precisão: 0.012855896146112003
------------------------------
Estatisticas a respeito de T2:
\ esperança: 2.5067679949739805
\ variancia: 7.878502962041384
\ desvio padrão: 2.806867108012309
\ intervalo de confiança para média: (2.489905881016413, 2.523627730586571), valor médio 2.506766805801492, precisão: 0.006726164055650199
------------------------------
Estatisticas a respeito de W2:
\ esperança: 1.5070085994691464
\ variancia: 6.383661906787819
\ desvio padrão: 2.5265909654686527
\ intervalo de confiança para média: (1.4907972588639942, 1.5232181957084376), valor médio 1.507007727286216, precisão: 0.010756725482365751
\ intervalo de confiança para variancia: (6.185041508324702, 6.555250132854204) valor médio 6.370145820589453, precisão:0.02905809654568041
------------------------------
Estatisticas a respeito de N2:
\ esperança: 0.5010255390837931
\ variancia: 0.0007780092082516651
\ desvio padrão: 0.02789281642738261
\ intervalo de confiança para média: (0.49713620982299694, 0.5049148683445892), valor médio 0.5010255390837931, precisão: 0.007762736542149936
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 0.30125201844222815
\ variancia: 0.0006396452130866299
\ desvio padrão: 0.025291208217217104
\ intervalo de confiança para média: (0.2977254532272668, 0.3047785836571895), valor médio 0.30125201844222815, precisão: 0.011706362112350998
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.40021361445638814
\ variancia: 7.782414705700427e-05
\ desvio padrão: 0.008821799536205993
------------------------------
Para
Soluções analíticas
T1: 1.4285714285714286
W1: 0.4285714285714286
N1: 0.426
Nq1: 0.126
W2 3.6428571428571432
T2 4.642857142857143
Nq2: 1.092857142857143
N2: 1.392857142857143
Estatisticas a respeito de T1:
\ esperança: 1.4281108743141613
\ variancia: 2.0449516764995357
\ desvio padrão: 1.4300180685919797
\ intervalo de confiança para média: (1.4214418721848248, 1.4347806310597189), valor médio 1.4281112516222718, precisão: 0.004670069947191391
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.42728826731923114
\ variancia: 1.0453860170384024
\ desvio padrão: 1.0224412046853366
\ intervalo de confiança para média: (0.4221710298962791, 0.43240602161082486), valor médio 0.427288525753552, precisão: 0.011976675124256717
\ intervalo de confiança para variancia: (1.0166610361857598, 1.0714194839048718) valor médio 1.0440402600453158, precisão:0.0262242989157982
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.42805287683648496
\ variancia: 0.00030563064490489217
\ desvio padrão: 0.017482295184125342
\ intervalo de confiança para média: (0.4256151738392809, 0.43049057983368905), valor médio 0.42805287683648496, precisão: 0.005694864184116391
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.12810853048734824
\ variancia: 0.0001394106389244882
\ desvio padrão: 0.011807228249021369
\ intervalo de confiança para média: (0.12646214965530236, 0.12975491131939412), valor médio 0.12810853048734824, precisão: 0.012851453574424328
------------------------------
Estatisticas a respeito de T2:
\ esperança: 4.643232768548803
\ variancia: 27.76840720821034
\ desvio padrão: 5.269573721679045
\ intervalo de confiança para média: (4.5887080276895595, 4.697763695185042), valor médio 4.643235861437301, precisão: 0.011743498580505524
------------------------------
Estatisticas a respeito de W2:
\ esperança: 3.642244793016531
\ variancia: 25.920126320486833
\ desvio padrão: 5.091181230371478
\ intervalo de confiança para média: (3.588674400477554, 3.695820459790863), valor médio 3.6422474301342085, precisão: 0.014708783706844572
\ intervalo de confiança para variancia: (24.746688814862296, 26.798421086990096) valor médio 25.772554950926196, precisão:0.03980459593615236
------------------------------
Estatisticas a respeito de N2:
\ esperança: 1.3925524280210617
\ desvio padrão: 0.13071460544434924
\ intervalo de confiança para média: (1.374325794612001, 1.4107790614301223), valor médio 1.3925524280210617, precisão: 0.013088651487945947
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 1.0925529489786365
\ variancia: 0.01577999515439588
\ desvio padrão: 0.12561845069254707
\ intervalo de confiança para média: (1.0750369151551478, 1.1100689828021253), valor médio 1.0925529489786365, precisão: 0.01603220588975891
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.5999438253915621
\ variancia: 0.00018514897792136321
\ desvio padrão: 0.013606945943942132
------------------------------
`
Para
Soluções analíticas
W1: 0.6666666666666667
T1: 1.6666666666666667
W2 10.66666666666667
T2 11.66666666666667
Nq1: 0.264
N1: 0.664
Nq2: 4.266666666666668
N2: 4.666666666666668
Estatisticas a respeito de T1:
\ esperança: 1.6678778462980837
\ variancia: 2.783915205176451
\ desvio padrão: 1.6685068789718702
\ intervalo de confiança para média: (1.6579729462554622, 1.6777827687324194), valor médio 1.6678778574939408, precisão: 0.005938631053811786
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.665724435475754
\ variancia: 1.7787987384674362
\ desvio padrão: 1.3337161386394918
\ intervalo de confiança para média: (0.6577815637901692, 0.6736671539713406), valor médio 0.6657243588807549, precisão: 0.011931056727351069
\ intervalo de confiança para variancia: (1.7332850137461835, 1.8178227224076167) valor médio 1.7755538680769, precisão:0.02380601067119294
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.666455515142272
\ variancia: 0.0011302500353323778
\ desvio padrão: 0.033619191473507774
\ intervalo de confiança para média: (0.6617677093962069, 0.6711433208883371), valor médio 0.666455515142272, precisão: 0.007033936458706259
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.2660865334218988
\ variancia: 0.0006077904850840902
\ desvio padrão: 0.024653407169884047
\ intervalo de confiança para média: (0.26264890215458725, 0.26952416468921037), valor médio 0.2660865334218988, precisão: 0.012919223017802834
------------------------------
Estatisticas a respeito de T2:
\ esperança: 11.670774706435216
\ variancia: 175.15949349556234
\ desvio padrão: 13.234783469916021
\ intervalo de confiança para média: (11.356632756929447, 11.984908188479928), valor médio 11.670770472704687, precisão: 0.02691662187256087
------------------------------
Estatisticas a respeito de W2:
\ esperança: 10.672418307273777
\ variancia: 172.79146516201965
\ desvio padrão: 13.145016742553798
\ intervalo de confiança para média: (10.358966710552956, 10.985861954325003), valor médio 10.67241433243898, precisão: 0.029369888773273577
\ intervalo de confiança para variancia: (151.79902177530684, 183.67902717596522) valor médio 167.73902447563603, precisão:0.09502858830948109
------------------------------
Estatisticas a respeito de N2:
\ esperança: 4.670974530322657
\ desvio padrão: 0.9531335063226977
\ intervalo de confiança para média: (4.538071134022137, 4.803877926623177), valor médio 4.670974530322657, precisão: 0.02845303382361616
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 4.272113258203035
\ variancia: 0.8967745961725733
\ desvio padrão: 0.9469818351861736
\ intervalo de confiança para média: (4.1400676409875485, 4.4041588754185215), valor médio 4.272113258203035, precisão: 0.03090873514693016
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.7992302538399959
\ variancia: 0.00036090054476696964
\ desvio padrão: 0.018997382576738556
------------------------------
Para
Soluções analíticas
W1: 0.8181818181818181
T1: 1.8181818181818181
W2 25.363636363636367
T2 26.363636363636367
Nq1: 0.3645
N1: 0.8145
Nq2: 11.413636363636366
N2: 11.863636363636365
Estatisticas a respeito de T1:
\ esperança: 1.8137254477085647
\ variancia: 3.2612591610412403
\ desvio padrão: 1.8058956672635438
\ intervalo de confiança para média: (1.802254901077593, 1.825194871510294), valor médio 1.8137248862939435, precisão: 0.0063239939546661525
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.8135322623390598
\ variancia: 2.263582338682241
\ desvio padrão: 1.5045206341829416
\ intervalo de confiança para média: (0.8036481481491278, 0.8234157580122241), valor médio 0.8135319530806759, precisão: 0.012149252274751174
\ intervalo de confiança para variancia: (2.1990980872639936, 2.3180229475169005) valor médio 2.258560517390447, precisão:0.02632757885768617
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.8153975799998017
\ variancia: 0.0018522487594576547
\ desvio padrão: 0.04303775969375793
\ intervalo de confiança para média: (0.8093964643171373, 0.821398695682466), valor médio 0.8153975799998017, precisão: 0.007359741836204407
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.3658324246750498
\ variancia: 0.0011815501614175503
\ desvio padrão: 0.03437368414088822
\ intervalo de confiança para média: (0.36103941369035497, 0.3706254356597446), valor médio 0.3658324246750498, precisão: 0.013101657101478084
------------------------------
Estatisticas a respeito de T2:
\ esperança: 25.529641973351307
\ variancia: 678.5456409648167
\ desvio padrão: 26.048908632893177
\ intervalo de confiança para média: (24.586025401054016, 26.473264149838975), valor médio 25.529644775446496, precisão: 0.03696171187231008
------------------------------
Estatisticas a respeito de W2:
\ esperança: 24.53078762835707
\ variancia: 675.8900098475694
\ desvio padrão: 25.99788471871451
\ intervalo de confiança para média: (23.58788096708892, 25.473700085170393), valor médio 24.530790526129657, precisão: 0.03843779751151392
\ intervalo de confiança para variancia: (579.1522522423685, 681.1762765314883) valor médio 630.1642643869284, precisão:0.08095034108953837
------------------------------
Estatisticas a respeito de N2:
\ esperança: 11.504086347059555
\ variancia: 10.117211435611214
\ desvio padrão: 3.1807564250679765
\ intervalo de confiança para média: (11.060566809773336, 11.947605884345775), valor médio 11.504086347059555, precisão: 0.03855321699663554
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 11.05513197472921
\ variancia: 10.073918642122567
\ desvio padrão: 3.1739437049391044
\ intervalo de confiança para média: (10.612562392131569, 11.497701557326852), valor médio 11.05513197472921, precisão: 0.040032953347757964
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.8985195276550982
\ variancia: 0.00036836911673367807
\ desvio padrão: 0.019192944451898935
------------------------------
Analisando os resultados obtidos é evidente o aumento de algumas métricas com o aumento da utilização do servidor, alinhado com o esperado, uma vez que mais tempo ocupado significa mais tempos de espera e mais pessoas no sistema. Em contra partida o tempo de serviço como independe do tempo ocupado permanece estável para todas as simulações. Também observamos o aumento da variâncias e desvio padrão das métricas corroborando com nossa análise anterior.
Também fica claro que todos os tempos estimados compactuam com os da solução analíticas e estão contidos nos intervalos de confiança estimados, comprovando a corretude e funcionamento das nossas simulações para esse cenário conhecido.
Porém em função do controle do intervalo de confiança que perdia precisão com um número menor de fregueses por rodada para estabilidade encontramos o valor de 2000 fregueses que satisfaz o intervalo para todos os valores de


Imagens para $\rho=0.6$
Tendo as médias atingindo estabilidade por volta da x=30 ou da 1500° coleta. A repseito da fase transiente observando as métricas de W1, W2 e N para diferentes quantidades de rodadas descartadas podemos observar que para uma amostra de 500 coletas, percebemos que as médias se aproximas das médias de longo prazo em torno da 350° coleta, logo as primeiras 350 podem ser descartadas para melhor avaliação das métricas


Por fim simulando uma fila com
Estatisticas a respeito de T1:
\ esperança: 1.4363801801121192
\ variancia: 2.091920997847153
\ desvio padrão: 1.4463474678814745
\ intervalo de confiança para média: (1.4236437192310742, 1.4491223338871222), valor médio 1.4363830265590982, precisão: 0.008869018285840786
------------------------------
Estatisticas a respeito de W1:
\ esperança: 0.43229351231260765
\ variancia: 1.0789685917878795
\ desvio padrão: 1.0387341294998829
\ intervalo de confiança para média: (0.42222995448526385, 0.4423620092996388), valor médio 0.43229598189245133, precisão: 0.023285035782941322
\ intervalo de confiança para variancia: (1.0190564042434713, 1.1337736537937546) valor médio 1.076415029018613, precisão:0.05328671862509811
------------------------------
Estatisticas a respeito de N1:
\ esperança: 0.4284801073862725
\ variancia: 0.0006192418330340846
\ desvio padrão: 0.02488457017981393
\ intervalo de confiança para média: (0.4235424687880931, 0.43341774598445193), valor médio 0.4284801073862725, precisão: 0.011523612212242474
------------------------------
Estatisticas a respeito de Nq1:
\ esperança: 0.12905039428152523
\ variancia: 0.00027916143592844817
\ desvio padrão: 0.01670812484776338
\ intervalo de confiança para média: (0.1257351398264397, 0.13236564873661077), valor médio 0.12905039428152523, precisão: 0.025689611206094174
------------------------------
Estatisticas a respeito de T2:
\ esperança: 4.541640391610515
\ variancia: 25.875150036188895
\ desvio padrão: 5.086762235075362
\ intervalo de confiança para média: (4.433563849282104, 4.649777281512257), valor médio 4.5416705653971805, precisão: 0.02380329320641129
------------------------------
Estatisticas a respeito de W2:
\ esperança: 3.5419881913559372
\ variancia: 24.061328022824338
\ desvio padrão: 4.905234757157331
\ intervalo de confiança para média: (3.4352848256206356, 3.6487498125061815), valor médio 3.5420173190634086, precisão: 0.03013325001781625
\ intervalo de confiança para variancia: (21.981385353436604, 25.563827704275997) valor médio 23.7726065288563, precisão:0.07534811856854774
------------------------------
Estatisticas a respeito de N2:
\ esperança: 1.3567362700263212
\ variancia: 0.034760749120453134
\ desvio padrão: 0.18644234798042297
\ intervalo de confiança para média: (1.3197420632921377, 1.3937304767605048), valor médio 1.3567362700263212, precisão: 0.027267058124321994
------------------------------
Estatisticas a respeito de Nq2:
\ esperança: 1.058623419979999
\ variancia: 0.032122987635588796
\ desvio padrão: 0.17922886942562796
\ intervalo de confiança para média: (1.0230605238885924, 1.0941863160714058), valor médio 1.058623419979999, precisão: 0.03359352855813319
------------------------------
Estatisticas a respeito de rho:
\ esperança: 0.5975425631510694
\ variancia: 0.000355710101681182
\ desvio padrão: 0.01886027840942922
Obtendo assim o Fator Mínimo= 1500*50 + 320 = 75320 e levando 6.685999393463135 segundos para execução do programa em uma máquina Windows com Intel Core i3-9100F e 16Gb de ram.
Por fim, o desenvolvimento do simulador deu bastante trabalho principalmente para implementação da segunda fila e realização da corretude. Ter certeza do funcionamento perfeito sem o auxilio de formulas analíticas é bem complicado principalmente pela grande volatilidade da fila 2, o fator velocidade da linguagem também foi um empecilho pois gerava demora para alguns testes, sendo esse talvez uma melhora óbvia que poderia ser feita, implementar o programa em uma linguagem mais rápida como java ou C++.
Fiquei bem satisfeito com o método de coleta dentro das rodadas e achei bem eficiente em questão de número de coletas, porém a manutenção de uma instancia em memória para cada freguês com suas próprias estatísticas com certeza é sacrifício de eficiência em nome de uma implementação mais limpa e fácil, apesar de limparmos os fregueses entre rodadas para liberar memória de forma automática graças aos mecanismos da linguagem, uma possivel melhora era também a remoção de fregueses durante o processo na medida que eles deixam o sistema. Além disso a forma de coleta de estatísticas entre rodadas provavelmente pode ser melhorada, fazer a iteração completa por todos os resultados da rodada adiciona uma complexidade n ao algoritmo que talvez se fosse feito de forma simultânea à simulação da rodada ou de forma acumulativa não geraria essa complexidade.
Por fim foi um trabalho bem interessante de se desenvolver e muito bom de ver as aplicações práticas do conteúdo aprendido, uma ótima forma de realmente exercitar as competências desenvolvidas durante o curso.