mirror of
https://github.com/davidalves04/Trabalho-Pratico-SD.git
synced 2025-12-12 06:23:30 +00:00
welp
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
Execução,VeículosGerados,VeículosCompletados,TaxaConclusão,TempoMédioSistema,TempoMédioEspera,TempoMínimoSistema,TempoMáximoSistema
|
||||
1,1836,348,18.95,75.91,72.28,37.96,151.82
|
||||
2,1728,663,38.37,52.10,49.52,26.05,104.21
|
||||
3,1747,539,30.85,116.39,112.54,58.19,232.78
|
||||
4,1769,149,8.42,89.64,85.89,44.82,179.29
|
||||
5,1827,1097,60.04,90.49,86.93,45.25,180.98
|
||||
|
@@ -1,215 +0,0 @@
|
||||
================================================================================
|
||||
ANÁLISE ESTATÍSTICA MULTI-EXECUÇÃO
|
||||
================================================================================
|
||||
Configuração: simulation-high.properties
|
||||
Número de Execuções: 5
|
||||
Data da Análise: 2025-12-08 08:20:40
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MÉTRICAS GLOBAIS
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Veículos Gerados:
|
||||
Média: 1781.40 Desvio Padrão: 48.09
|
||||
Mediana: 1769.00 IC 95%: [1712.97, 1849.83]
|
||||
Mín: 1728.00 Máx: 1836.00
|
||||
|
||||
Veículos Completados:
|
||||
Média: 559.20 Desvio Padrão: 358.22
|
||||
Mediana: 539.00 IC 95%: [49.44, 1068.96]
|
||||
Mín: 149.00 Máx: 1097.00
|
||||
|
||||
Taxa de Conclusão (%):
|
||||
Média: 31.33 Desvio Padrão: 19.70
|
||||
Mediana: 30.85 IC 95%: [3.30, 59.36]
|
||||
Mín: 8.42 Máx: 60.04
|
||||
|
||||
Tempo Médio no Sistema (segundos):
|
||||
Média: 84.91 Desvio Padrão: 23.46
|
||||
Mediana: 89.64 IC 95%: [51.52, 118.29]
|
||||
Mín: 52.10 Máx: 116.39
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 81.43 Desvio Padrão: 23.02
|
||||
Mediana: 85.89 IC 95%: [48.68, 114.19]
|
||||
Mín: 49.52 Máx: 112.54
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR TIPO DE VEÍCULO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- BIKE ---
|
||||
Contagem de Veículos:
|
||||
Média: 111.60 Desvio Padrão: 69.43
|
||||
Mediana: 105.00 IC 95%: [12.80, 210.40]
|
||||
Mín: 29.00 Máx: 215.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 78.89 Desvio Padrão: 20.87
|
||||
Mediana: 89.97 IC 95%: [49.20, 108.59]
|
||||
Mín: 49.27 Máx: 98.23
|
||||
|
||||
|
||||
--- LIGHT ---
|
||||
Contagem de Veículos:
|
||||
Média: 333.80 Desvio Padrão: 221.25
|
||||
Mediana: 332.00 IC 95%: [18.95, 648.65]
|
||||
Mín: 90.00 Máx: 669.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 83.83 Desvio Padrão: 24.74
|
||||
Mediana: 86.14 IC 95%: [48.63, 119.03]
|
||||
Mín: 51.94 Máx: 120.26
|
||||
|
||||
|
||||
--- HEAVY ---
|
||||
Contagem de Veículos:
|
||||
Média: 113.80 Desvio Padrão: 68.36
|
||||
Mediana: 102.00 IC 95%: [16.53, 211.07]
|
||||
Mín: 30.00 Máx: 213.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 76.79 Desvio Padrão: 21.46
|
||||
Mediana: 81.20 IC 95%: [46.26, 107.33]
|
||||
Mín: 43.10 Máx: 102.14
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR INTERSEÇÃO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- Cr1 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 221.40 Desvio Padrão: 226.21
|
||||
Mediana: 128.00 IC 95%: [-100.50, 543.30]
|
||||
Mín: 61.00 Máx: 616.00
|
||||
|
||||
|
||||
--- Cr2 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 3.60 Desvio Padrão: 5.90
|
||||
Mediana: 2.00 IC 95%: [-4.79, 11.99]
|
||||
Mín: 0.00 Máx: 14.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 3.60 Desvio Padrão: 5.90
|
||||
Mediana: 2.00 IC 95%: [-4.79, 11.99]
|
||||
Mín: 0.00 Máx: 14.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 228.60 Desvio Padrão: 211.41
|
||||
Mediana: 126.00 IC 95%: [-72.24, 529.44]
|
||||
Mín: 93.00 Máx: 593.00
|
||||
|
||||
|
||||
--- Cr3 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 1.20 Desvio Padrão: 2.68
|
||||
Mediana: 0.00 IC 95%: [-2.62, 5.02]
|
||||
Mín: 0.00 Máx: 6.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 1.20 Desvio Padrão: 2.68
|
||||
Mediana: 0.00 IC 95%: [-2.62, 5.02]
|
||||
Mín: 0.00 Máx: 6.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 263.80 Desvio Padrão: 240.18
|
||||
Mediana: 128.00 IC 95%: [-77.98, 605.58]
|
||||
Mín: 57.00 Máx: 604.00
|
||||
|
||||
|
||||
--- Cr4 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.60 Desvio Padrão: 0.89
|
||||
Mediana: 0.00 IC 95%: [-0.67, 1.87]
|
||||
Mín: 0.00 Máx: 2.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.60 Desvio Padrão: 0.89
|
||||
Mediana: 0.00 IC 95%: [-0.67, 1.87]
|
||||
Mín: 0.00 Máx: 2.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 95.00 Desvio Padrão: 78.43
|
||||
Mediana: 62.00 IC 95%: [-16.60, 206.60]
|
||||
Mín: 43.00 Máx: 231.00
|
||||
|
||||
|
||||
--- Cr5 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 2.80 Desvio Padrão: 3.63
|
||||
Mediana: 1.00 IC 95%: [-2.37, 7.97]
|
||||
Mín: 0.00 Máx: 9.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 2.80 Desvio Padrão: 3.63
|
||||
Mediana: 1.00 IC 95%: [-2.37, 7.97]
|
||||
Mín: 0.00 Máx: 9.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 207.60 Desvio Padrão: 166.31
|
||||
Mediana: 139.00 IC 95%: [-29.06, 444.26]
|
||||
Mín: 76.00 Máx: 493.00
|
||||
|
||||
|
||||
--- ExitNode ---
|
||||
Tamanho Máximo da Fila: Sem dados
|
||||
|
||||
Tamanho Médio da Fila: Sem dados
|
||||
|
||||
Veículos Processados:
|
||||
Média: 559.20 Desvio Padrão: 358.22
|
||||
Mediana: 539.00 IC 95%: [49.44, 1068.96]
|
||||
Mín: 149.00 Máx: 1097.00
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
RESUMOS INDIVIDUAIS DAS EXECUÇÕES
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Execução #1 [simulation-high.properties]:
|
||||
Gerados: 1836, Completados: 348 (19.0%)
|
||||
Tempo Médio no Sistema: 75.91s
|
||||
Tempo Médio de Espera: 72.28s
|
||||
|
||||
Execução #2 [simulation-high.properties]:
|
||||
Gerados: 1728, Completados: 663 (38.4%)
|
||||
Tempo Médio no Sistema: 52.10s
|
||||
Tempo Médio de Espera: 49.52s
|
||||
|
||||
Execução #3 [simulation-high.properties]:
|
||||
Gerados: 1747, Completados: 539 (30.9%)
|
||||
Tempo Médio no Sistema: 116.39s
|
||||
Tempo Médio de Espera: 112.54s
|
||||
|
||||
Execução #4 [simulation-high.properties]:
|
||||
Gerados: 1769, Completados: 149 (8.4%)
|
||||
Tempo Médio no Sistema: 89.64s
|
||||
Tempo Médio de Espera: 85.89s
|
||||
|
||||
Execução #5 [simulation-high.properties]:
|
||||
Gerados: 1827, Completados: 1097 (60.0%)
|
||||
Tempo Médio no Sistema: 90.49s
|
||||
Tempo Médio de Espera: 86.93s
|
||||
|
||||
================================================================================
|
||||
FIM DO RELATÓRIO
|
||||
================================================================================
|
||||
11
main/analysis/HIGH_LOAD_20251210-184757.csv
Normal file
11
main/analysis/HIGH_LOAD_20251210-184757.csv
Normal file
@@ -0,0 +1,11 @@
|
||||
Execução,VeículosGerados,VeículosCompletados,TaxaConclusão,TempoMédioSistema,TempoMédioEspera,TempoMínimoSistema,TempoMáximoSistema
|
||||
1,1826,916,50.16,75.54,72.08,37.77,151.08
|
||||
2,1829,878,48.00,72.94,69.66,36.47,145.88
|
||||
3,1827,1142,62.51,91.24,87.56,45.62,182.48
|
||||
4,1899,1118,58.87,82.59,78.98,41.30,165.19
|
||||
5,1807,897,49.64,71.29,67.94,35.65,142.59
|
||||
6,1779,917,51.55,85.43,81.86,42.71,170.86
|
||||
7,1738,1242,71.46,96.85,92.86,48.43,193.70
|
||||
8,1806,968,53.60,108.15,104.83,54.08,216.31
|
||||
9,1863,1003,53.84,103.36,99.80,51.68,206.72
|
||||
10,1864,1210,64.91,80.43,76.84,40.22,160.86
|
||||
|
240
main/analysis/HIGH_LOAD_20251210-184757.txt
Normal file
240
main/analysis/HIGH_LOAD_20251210-184757.txt
Normal file
@@ -0,0 +1,240 @@
|
||||
================================================================================
|
||||
ANÁLISE ESTATÍSTICA MULTI-EXECUÇÃO
|
||||
================================================================================
|
||||
Configuração: simulation-high.properties
|
||||
Número de Execuções: 10
|
||||
Data da Análise: 2025-12-10 18:47:57
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MÉTRICAS GLOBAIS
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Veículos Gerados:
|
||||
Média: 1823.80 Desvio Padrão: 45.73
|
||||
Mediana: 1826.50 IC 95%: [1786.62, 1860.98]
|
||||
Mín: 1738.00 Máx: 1899.00
|
||||
|
||||
Veículos Completados:
|
||||
Média: 1029.10 Desvio Padrão: 136.93
|
||||
Mediana: 985.50 IC 95%: [917.77, 1140.43]
|
||||
Mín: 878.00 Máx: 1242.00
|
||||
|
||||
Taxa de Conclusão (%):
|
||||
Média: 56.45 Desvio Padrão: 7.72
|
||||
Mediana: 53.72 IC 95%: [50.18, 62.73]
|
||||
Mín: 48.00 Máx: 71.46
|
||||
|
||||
Tempo Médio no Sistema (segundos):
|
||||
Média: 86.78 Desvio Padrão: 12.78
|
||||
Mediana: 84.01 IC 95%: [76.39, 97.18]
|
||||
Mín: 71.29 Máx: 108.15
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 83.24 Desvio Padrão: 12.72
|
||||
Mediana: 80.42 IC 95%: [72.90, 93.58]
|
||||
Mín: 67.94 Máx: 104.83
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR TIPO DE VEÍCULO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- BIKE ---
|
||||
Contagem de Veículos:
|
||||
Média: 195.20 Desvio Padrão: 28.50
|
||||
Mediana: 200.50 IC 95%: [172.03, 218.37]
|
||||
Mín: 155.00 Máx: 233.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 89.54 Desvio Padrão: 21.45
|
||||
Mediana: 87.12 IC 95%: [72.10, 106.98]
|
||||
Mín: 63.40 Máx: 124.41
|
||||
|
||||
|
||||
--- LIGHT ---
|
||||
Contagem de Veículos:
|
||||
Média: 620.70 Desvio Padrão: 79.79
|
||||
Mediana: 583.50 IC 95%: [555.83, 685.57]
|
||||
Mín: 521.00 Máx: 750.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 79.59 Desvio Padrão: 9.85
|
||||
Mediana: 78.40 IC 95%: [71.58, 87.60]
|
||||
Mín: 65.73 Máx: 100.20
|
||||
|
||||
|
||||
--- HEAVY ---
|
||||
Contagem de Veículos:
|
||||
Média: 213.20 Desvio Padrão: 35.14
|
||||
Mediana: 206.00 IC 95%: [184.63, 241.77]
|
||||
Mín: 174.00 Máx: 280.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 87.58 Desvio Padrão: 17.39
|
||||
Mediana: 79.82 IC 95%: [73.44, 101.72]
|
||||
Mín: 68.86 Máx: 118.10
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR INTERSEÇÃO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- Cr1 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 6.00 Desvio Padrão: 8.47
|
||||
Mediana: 2.50 IC 95%: [-0.89, 12.89]
|
||||
Mín: 0.00 Máx: 24.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 6.00 Desvio Padrão: 8.47
|
||||
Mediana: 2.50 IC 95%: [-0.89, 12.89]
|
||||
Mín: 0.00 Máx: 24.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 550.00 Desvio Padrão: 99.71
|
||||
Mediana: 580.50 IC 95%: [468.93, 631.07]
|
||||
Mín: 363.00 Máx: 628.00
|
||||
|
||||
|
||||
--- Cr2 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 1.40 Desvio Padrão: 2.27
|
||||
Mediana: 0.00 IC 95%: [-0.45, 3.25]
|
||||
Mín: 0.00 Máx: 7.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 1.40 Desvio Padrão: 2.27
|
||||
Mediana: 0.00 IC 95%: [-0.45, 3.25]
|
||||
Mín: 0.00 Máx: 7.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 542.30 Desvio Padrão: 101.15
|
||||
Mediana: 586.50 IC 95%: [460.06, 624.54]
|
||||
Mín: 319.00 Máx: 629.00
|
||||
|
||||
|
||||
--- Cr3 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.42
|
||||
Mediana: 0.00 IC 95%: [-0.14, 0.54]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.42
|
||||
Mediana: 0.00 IC 95%: [-0.14, 0.54]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 566.20 Desvio Padrão: 75.22
|
||||
Mediana: 589.00 IC 95%: [505.05, 627.35]
|
||||
Mín: 397.00 Máx: 645.00
|
||||
|
||||
|
||||
--- Cr4 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 1.50 Desvio Padrão: 1.27
|
||||
Mediana: 1.00 IC 95%: [0.47, 2.53]
|
||||
Mín: 0.00 Máx: 4.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 1.50 Desvio Padrão: 1.27
|
||||
Mediana: 1.00 IC 95%: [0.47, 2.53]
|
||||
Mín: 0.00 Máx: 4.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 246.10 Desvio Padrão: 95.50
|
||||
Mediana: 207.00 IC 95%: [168.45, 323.75]
|
||||
Mín: 154.00 Máx: 402.00
|
||||
|
||||
|
||||
--- Cr5 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 6.90 Desvio Padrão: 3.84
|
||||
Mediana: 7.00 IC 95%: [3.78, 10.02]
|
||||
Mín: 1.00 Máx: 13.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 6.90 Desvio Padrão: 3.84
|
||||
Mediana: 7.00 IC 95%: [3.78, 10.02]
|
||||
Mín: 1.00 Máx: 13.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 429.00 Desvio Padrão: 126.58
|
||||
Mediana: 388.00 IC 95%: [326.09, 531.91]
|
||||
Mín: 270.00 Máx: 673.00
|
||||
|
||||
|
||||
--- ExitNode ---
|
||||
Tamanho Máximo da Fila: Sem dados
|
||||
|
||||
Tamanho Médio da Fila: Sem dados
|
||||
|
||||
Veículos Processados:
|
||||
Média: 1029.10 Desvio Padrão: 136.93
|
||||
Mediana: 985.50 IC 95%: [917.77, 1140.43]
|
||||
Mín: 878.00 Máx: 1242.00
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
RESUMOS INDIVIDUAIS DAS EXECUÇÕES
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Execução #1 [simulation-high.properties]:
|
||||
Gerados: 1826, Completados: 916 (50.2%)
|
||||
Tempo Médio no Sistema: 75.54s
|
||||
Tempo Médio de Espera: 72.08s
|
||||
|
||||
Execução #2 [simulation-high.properties]:
|
||||
Gerados: 1829, Completados: 878 (48.0%)
|
||||
Tempo Médio no Sistema: 72.94s
|
||||
Tempo Médio de Espera: 69.66s
|
||||
|
||||
Execução #3 [simulation-high.properties]:
|
||||
Gerados: 1827, Completados: 1142 (62.5%)
|
||||
Tempo Médio no Sistema: 91.24s
|
||||
Tempo Médio de Espera: 87.56s
|
||||
|
||||
Execução #4 [simulation-high.properties]:
|
||||
Gerados: 1899, Completados: 1118 (58.9%)
|
||||
Tempo Médio no Sistema: 82.59s
|
||||
Tempo Médio de Espera: 78.98s
|
||||
|
||||
Execução #5 [simulation-high.properties]:
|
||||
Gerados: 1807, Completados: 897 (49.6%)
|
||||
Tempo Médio no Sistema: 71.29s
|
||||
Tempo Médio de Espera: 67.94s
|
||||
|
||||
Execução #6 [simulation-high.properties]:
|
||||
Gerados: 1779, Completados: 917 (51.5%)
|
||||
Tempo Médio no Sistema: 85.43s
|
||||
Tempo Médio de Espera: 81.86s
|
||||
|
||||
Execução #7 [simulation-high.properties]:
|
||||
Gerados: 1738, Completados: 1242 (71.5%)
|
||||
Tempo Médio no Sistema: 96.85s
|
||||
Tempo Médio de Espera: 92.86s
|
||||
|
||||
Execução #8 [simulation-high.properties]:
|
||||
Gerados: 1806, Completados: 968 (53.6%)
|
||||
Tempo Médio no Sistema: 108.15s
|
||||
Tempo Médio de Espera: 104.83s
|
||||
|
||||
Execução #9 [simulation-high.properties]:
|
||||
Gerados: 1863, Completados: 1003 (53.8%)
|
||||
Tempo Médio no Sistema: 103.36s
|
||||
Tempo Médio de Espera: 99.80s
|
||||
|
||||
Execução #10 [simulation-high.properties]:
|
||||
Gerados: 1864, Completados: 1210 (64.9%)
|
||||
Tempo Médio no Sistema: 80.43s
|
||||
Tempo Médio de Espera: 76.84s
|
||||
|
||||
================================================================================
|
||||
FIM DO RELATÓRIO
|
||||
================================================================================
|
||||
@@ -1,6 +0,0 @@
|
||||
Execução,VeículosGerados,VeículosCompletados,TaxaConclusão,TempoMédioSistema,TempoMédioEspera,TempoMínimoSistema,TempoMáximoSistema
|
||||
1,368,329,89.40,78.34,74.19,39.17,156.67
|
||||
2,368,218,59.24,60.44,56.64,30.22,120.89
|
||||
3,349,235,67.34,53.51,49.44,26.76,107.03
|
||||
4,332,243,73.19,69.63,65.50,34.82,139.27
|
||||
5,322,221,68.63,47.52,43.77,23.76,95.05
|
||||
|
@@ -1,215 +0,0 @@
|
||||
================================================================================
|
||||
ANÁLISE ESTATÍSTICA MULTI-EXECUÇÃO
|
||||
================================================================================
|
||||
Configuração: simulation-low.properties
|
||||
Número de Execuções: 5
|
||||
Data da Análise: 2025-12-08 08:19:33
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MÉTRICAS GLOBAIS
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Veículos Gerados:
|
||||
Média: 347.80 Desvio Padrão: 20.81
|
||||
Mediana: 349.00 IC 95%: [318.18, 377.42]
|
||||
Mín: 322.00 Máx: 368.00
|
||||
|
||||
Veículos Completados:
|
||||
Média: 249.20 Desvio Padrão: 45.76
|
||||
Mediana: 235.00 IC 95%: [184.08, 314.32]
|
||||
Mín: 218.00 Máx: 329.00
|
||||
|
||||
Taxa de Conclusão (%):
|
||||
Média: 71.56 Desvio Padrão: 11.17
|
||||
Mediana: 68.63 IC 95%: [55.66, 87.46]
|
||||
Mín: 59.24 Máx: 89.40
|
||||
|
||||
Tempo Médio no Sistema (segundos):
|
||||
Média: 61.89 Desvio Padrão: 12.34
|
||||
Mediana: 60.44 IC 95%: [44.33, 79.45]
|
||||
Mín: 47.52 Máx: 78.34
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 57.91 Desvio Padrão: 12.21
|
||||
Mediana: 56.64 IC 95%: [40.54, 75.28]
|
||||
Mín: 43.77 Máx: 74.19
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR TIPO DE VEÍCULO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- BIKE ---
|
||||
Contagem de Veículos:
|
||||
Média: 48.20 Desvio Padrão: 12.38
|
||||
Mediana: 47.00 IC 95%: [30.59, 65.81]
|
||||
Mín: 36.00 Máx: 68.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 51.22 Desvio Padrão: 16.62
|
||||
Mediana: 46.02 IC 95%: [27.56, 74.87]
|
||||
Mín: 40.06 Máx: 80.31
|
||||
|
||||
|
||||
--- LIGHT ---
|
||||
Contagem de Veículos:
|
||||
Média: 151.00 Desvio Padrão: 22.64
|
||||
Mediana: 146.00 IC 95%: [118.78, 183.22]
|
||||
Mín: 133.00 Máx: 189.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 58.33 Desvio Padrão: 11.58
|
||||
Mediana: 53.58 IC 95%: [41.85, 74.80]
|
||||
Mín: 45.31 Máx: 74.17
|
||||
|
||||
|
||||
--- HEAVY ---
|
||||
Contagem de Veículos:
|
||||
Média: 50.00 Desvio Padrão: 13.77
|
||||
Mediana: 47.00 IC 95%: [30.41, 69.59]
|
||||
Mín: 35.00 Máx: 72.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 60.73 Desvio Padrão: 34.92
|
||||
Mediana: 44.79 IC 95%: [11.04, 110.42]
|
||||
Mín: 40.26 Máx: 122.51
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR INTERSEÇÃO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- Cr1 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 5.00 Desvio Padrão: 4.47
|
||||
Mediana: 4.00 IC 95%: [-1.36, 11.36]
|
||||
Mín: 0.00 Máx: 12.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 5.00 Desvio Padrão: 4.47
|
||||
Mediana: 4.00 IC 95%: [-1.36, 11.36]
|
||||
Mín: 0.00 Máx: 12.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 87.00 Desvio Padrão: 29.01
|
||||
Mediana: 93.00 IC 95%: [45.72, 128.28]
|
||||
Mín: 56.00 Máx: 123.00
|
||||
|
||||
|
||||
--- Cr2 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 95.20 Desvio Padrão: 24.86
|
||||
Mediana: 100.00 IC 95%: [59.82, 130.58]
|
||||
Mín: 61.00 Máx: 125.00
|
||||
|
||||
|
||||
--- Cr3 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 91.40 Desvio Padrão: 28.68
|
||||
Mediana: 103.00 IC 95%: [50.58, 132.22]
|
||||
Mín: 56.00 Máx: 126.00
|
||||
|
||||
|
||||
--- Cr4 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.80 Desvio Padrão: 0.84
|
||||
Mediana: 1.00 IC 95%: [-0.39, 1.99]
|
||||
Mín: 0.00 Máx: 2.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.80 Desvio Padrão: 0.84
|
||||
Mediana: 1.00 IC 95%: [-0.39, 1.99]
|
||||
Mín: 0.00 Máx: 2.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 63.00 Desvio Padrão: 21.11
|
||||
Mediana: 62.00 IC 95%: [32.96, 93.04]
|
||||
Mín: 38.00 Máx: 87.00
|
||||
|
||||
|
||||
--- Cr5 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 2.20 Desvio Padrão: 2.59
|
||||
Mediana: 1.00 IC 95%: [-1.48, 5.88]
|
||||
Mín: 0.00 Máx: 5.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 2.20 Desvio Padrão: 2.59
|
||||
Mediana: 1.00 IC 95%: [-1.48, 5.88]
|
||||
Mín: 0.00 Máx: 5.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 126.40 Desvio Padrão: 45.39
|
||||
Mediana: 111.00 IC 95%: [61.81, 190.99]
|
||||
Mín: 86.00 Máx: 203.00
|
||||
|
||||
|
||||
--- ExitNode ---
|
||||
Tamanho Máximo da Fila: Sem dados
|
||||
|
||||
Tamanho Médio da Fila: Sem dados
|
||||
|
||||
Veículos Processados:
|
||||
Média: 249.20 Desvio Padrão: 45.76
|
||||
Mediana: 235.00 IC 95%: [184.08, 314.32]
|
||||
Mín: 218.00 Máx: 329.00
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
RESUMOS INDIVIDUAIS DAS EXECUÇÕES
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Execução #1 [simulation-low.properties]:
|
||||
Gerados: 368, Completados: 329 (89.4%)
|
||||
Tempo Médio no Sistema: 78.34s
|
||||
Tempo Médio de Espera: 74.19s
|
||||
|
||||
Execução #2 [simulation-low.properties]:
|
||||
Gerados: 368, Completados: 218 (59.2%)
|
||||
Tempo Médio no Sistema: 60.44s
|
||||
Tempo Médio de Espera: 56.64s
|
||||
|
||||
Execução #3 [simulation-low.properties]:
|
||||
Gerados: 349, Completados: 235 (67.3%)
|
||||
Tempo Médio no Sistema: 53.51s
|
||||
Tempo Médio de Espera: 49.44s
|
||||
|
||||
Execução #4 [simulation-low.properties]:
|
||||
Gerados: 332, Completados: 243 (73.2%)
|
||||
Tempo Médio no Sistema: 69.63s
|
||||
Tempo Médio de Espera: 65.50s
|
||||
|
||||
Execução #5 [simulation-low.properties]:
|
||||
Gerados: 322, Completados: 221 (68.6%)
|
||||
Tempo Médio no Sistema: 47.52s
|
||||
Tempo Médio de Espera: 43.77s
|
||||
|
||||
================================================================================
|
||||
FIM DO RELATÓRIO
|
||||
================================================================================
|
||||
@@ -1,6 +0,0 @@
|
||||
Execução,VeículosGerados,VeículosCompletados,TaxaConclusão,TempoMédioSistema,TempoMédioEspera,TempoMínimoSistema,TempoMáximoSistema
|
||||
1,891,202,22.67,69.75,66.09,34.87,139.50
|
||||
2,871,340,39.04,68.73,64.73,34.37,137.46
|
||||
3,953,541,56.77,68.64,65.24,34.32,137.28
|
||||
4,888,501,56.42,60.85,57.48,30.42,121.69
|
||||
5,869,387,44.53,58.29,55.37,29.15,116.58
|
||||
|
@@ -1,209 +0,0 @@
|
||||
================================================================================
|
||||
ANÁLISE ESTATÍSTICA MULTI-EXECUÇÃO
|
||||
================================================================================
|
||||
Configuração: simulation-medium.properties
|
||||
Número de Execuções: 5
|
||||
Data da Análise: 2025-12-08 08:20:05
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
MÉTRICAS GLOBAIS
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Veículos Gerados:
|
||||
Média: 894.40 Desvio Padrão: 34.20
|
||||
Mediana: 888.00 IC 95%: [845.73, 943.07]
|
||||
Mín: 869.00 Máx: 953.00
|
||||
|
||||
Veículos Completados:
|
||||
Média: 394.20 Desvio Padrão: 134.99
|
||||
Mediana: 387.00 IC 95%: [202.11, 586.29]
|
||||
Mín: 202.00 Máx: 541.00
|
||||
|
||||
Taxa de Conclusão (%):
|
||||
Média: 43.89 Desvio Padrão: 14.12
|
||||
Mediana: 44.53 IC 95%: [23.80, 63.97]
|
||||
Mín: 22.67 Máx: 56.77
|
||||
|
||||
Tempo Médio no Sistema (segundos):
|
||||
Média: 65.25 Desvio Padrão: 5.28
|
||||
Mediana: 68.64 IC 95%: [57.73, 72.77]
|
||||
Mín: 58.29 Máx: 69.75
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 61.78 Desvio Padrão: 4.97
|
||||
Mediana: 64.73 IC 95%: [54.71, 68.86]
|
||||
Mín: 55.37 Máx: 66.09
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR TIPO DE VEÍCULO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- BIKE ---
|
||||
Contagem de Veículos:
|
||||
Média: 83.60 Desvio Padrão: 28.80
|
||||
Mediana: 88.00 IC 95%: [42.62, 124.58]
|
||||
Mín: 42.00 Máx: 112.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 64.62 Desvio Padrão: 9.80
|
||||
Mediana: 65.07 IC 95%: [50.67, 78.57]
|
||||
Mín: 53.82 Máx: 77.73
|
||||
|
||||
|
||||
--- LIGHT ---
|
||||
Contagem de Veículos:
|
||||
Média: 234.80 Desvio Padrão: 86.82
|
||||
Mediana: 221.00 IC 95%: [111.26, 358.34]
|
||||
Mín: 119.00 Máx: 328.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 60.49 Desvio Padrão: 4.15
|
||||
Mediana: 61.41 IC 95%: [54.58, 66.39]
|
||||
Mín: 53.78 Máx: 65.19
|
||||
|
||||
|
||||
--- HEAVY ---
|
||||
Contagem de Veículos:
|
||||
Média: 75.80 Desvio Padrão: 21.70
|
||||
Mediana: 78.00 IC 95%: [44.93, 106.67]
|
||||
Mín: 41.00 Máx: 101.00
|
||||
|
||||
Tempo Médio no Sistema (segundos): Sem dados
|
||||
|
||||
Tempo Médio de Espera (segundos):
|
||||
Média: 62.90 Desvio Padrão: 13.27
|
||||
Mediana: 63.80 IC 95%: [44.01, 81.79]
|
||||
Mín: 42.19 Máx: 78.56
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ANÁLISE POR INTERSEÇÃO
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--- Cr1 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 2.00 Desvio Padrão: 2.55
|
||||
Mediana: 1.00 IC 95%: [-1.63, 5.63]
|
||||
Mín: 0.00 Máx: 6.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 2.00 Desvio Padrão: 2.55
|
||||
Mediana: 1.00 IC 95%: [-1.63, 5.63]
|
||||
Mín: 0.00 Máx: 6.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 106.20 Desvio Padrão: 62.26
|
||||
Mediana: 72.00 IC 95%: [17.60, 194.80]
|
||||
Mín: 56.00 Máx: 208.00
|
||||
|
||||
|
||||
--- Cr2 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 1.40 Desvio Padrão: 3.13
|
||||
Mediana: 0.00 IC 95%: [-3.05, 5.85]
|
||||
Mín: 0.00 Máx: 7.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 1.40 Desvio Padrão: 3.13
|
||||
Mediana: 0.00 IC 95%: [-3.05, 5.85]
|
||||
Mín: 0.00 Máx: 7.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 123.60 Desvio Padrão: 90.00
|
||||
Mediana: 102.00 IC 95%: [-4.47, 251.67]
|
||||
Mín: 49.00 Máx: 275.00
|
||||
|
||||
|
||||
--- Cr3 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 0.20 Desvio Padrão: 0.45
|
||||
Mediana: 0.00 IC 95%: [-0.44, 0.84]
|
||||
Mín: 0.00 Máx: 1.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 102.60 Desvio Padrão: 50.09
|
||||
Mediana: 104.00 IC 95%: [31.32, 173.88]
|
||||
Mín: 55.00 Máx: 181.00
|
||||
|
||||
|
||||
--- Cr4 ---
|
||||
Tamanho Máximo da Fila: Sem dados
|
||||
|
||||
Tamanho Médio da Fila: Sem dados
|
||||
|
||||
Veículos Processados:
|
||||
Média: 68.80 Desvio Padrão: 27.10
|
||||
Mediana: 60.00 IC 95%: [30.24, 107.36]
|
||||
Mín: 47.00 Máx: 113.00
|
||||
|
||||
|
||||
--- Cr5 ---
|
||||
Tamanho Máximo da Fila:
|
||||
Média: 1.20 Desvio Padrão: 2.17
|
||||
Mediana: 0.00 IC 95%: [-1.89, 4.29]
|
||||
Mín: 0.00 Máx: 5.00
|
||||
|
||||
Tamanho Médio da Fila:
|
||||
Média: 1.20 Desvio Padrão: 2.17
|
||||
Mediana: 0.00 IC 95%: [-1.89, 4.29]
|
||||
Mín: 0.00 Máx: 5.00
|
||||
|
||||
Veículos Processados:
|
||||
Média: 125.80 Desvio Padrão: 51.69
|
||||
Mediana: 96.00 IC 95%: [52.24, 199.36]
|
||||
Mín: 84.00 Máx: 193.00
|
||||
|
||||
|
||||
--- ExitNode ---
|
||||
Tamanho Máximo da Fila: Sem dados
|
||||
|
||||
Tamanho Médio da Fila: Sem dados
|
||||
|
||||
Veículos Processados:
|
||||
Média: 394.20 Desvio Padrão: 134.99
|
||||
Mediana: 387.00 IC 95%: [202.11, 586.29]
|
||||
Mín: 202.00 Máx: 541.00
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
RESUMOS INDIVIDUAIS DAS EXECUÇÕES
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Execução #1 [simulation-medium.properties]:
|
||||
Gerados: 891, Completados: 202 (22.7%)
|
||||
Tempo Médio no Sistema: 69.75s
|
||||
Tempo Médio de Espera: 66.09s
|
||||
|
||||
Execução #2 [simulation-medium.properties]:
|
||||
Gerados: 871, Completados: 340 (39.0%)
|
||||
Tempo Médio no Sistema: 68.73s
|
||||
Tempo Médio de Espera: 64.73s
|
||||
|
||||
Execução #3 [simulation-medium.properties]:
|
||||
Gerados: 953, Completados: 541 (56.8%)
|
||||
Tempo Médio no Sistema: 68.64s
|
||||
Tempo Médio de Espera: 65.24s
|
||||
|
||||
Execução #4 [simulation-medium.properties]:
|
||||
Gerados: 888, Completados: 501 (56.4%)
|
||||
Tempo Médio no Sistema: 60.85s
|
||||
Tempo Médio de Espera: 57.48s
|
||||
|
||||
Execução #5 [simulation-medium.properties]:
|
||||
Gerados: 869, Completados: 387 (44.5%)
|
||||
Tempo Médio no Sistema: 58.29s
|
||||
Tempo Médio de Espera: 55.37s
|
||||
|
||||
================================================================================
|
||||
FIM DO RELATÓRIO
|
||||
================================================================================
|
||||
217
main/graphing_single.py
Normal file
217
main/graphing_single.py
Normal file
@@ -0,0 +1,217 @@
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
import glob
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Find CSV files using glob
|
||||
def load_latest_csv(pattern):
|
||||
"""Load the most recent CSV file matching the pattern"""
|
||||
files = glob.glob(pattern)
|
||||
if not files:
|
||||
print(f"Warning: No files found matching '{pattern}'")
|
||||
return None
|
||||
# Sort by modification time, get the latest
|
||||
latest_file = max(files, key=os.path.getmtime)
|
||||
print(f"Loading: {latest_file}")
|
||||
return pd.read_csv(latest_file)
|
||||
|
||||
# Determine which load to analyze
|
||||
if len(sys.argv) > 1:
|
||||
load_type = sys.argv[1].upper()
|
||||
else:
|
||||
print("Usage: python graphing_single.py [LOW|MEDIUM|HIGH]")
|
||||
print("Defaulting to LOW_LOAD...")
|
||||
load_type = "LOW"
|
||||
|
||||
# Validate load type
|
||||
if load_type not in ["LOW", "MEDIUM", "HIGH"]:
|
||||
print(f"Error: Invalid load type '{load_type}'. Must be LOW, MEDIUM, or HIGH.")
|
||||
exit(1)
|
||||
|
||||
# Load the specified data
|
||||
print(f"Looking for {load_type}_LOAD analysis files...")
|
||||
pattern = f'analysis/{load_type}_LOAD_*.csv'
|
||||
data = load_latest_csv(pattern)
|
||||
|
||||
if data is None:
|
||||
print(f"\nError: No {load_type}_LOAD analysis files found!")
|
||||
print("Please run the batch analysis first.")
|
||||
exit(1)
|
||||
|
||||
# Print available columns for debugging
|
||||
print(f"\nAvailable columns in {load_type}_LOAD CSV:")
|
||||
print(data.columns.tolist())
|
||||
|
||||
# Create output directory for graphs
|
||||
os.makedirs('graphs', exist_ok=True)
|
||||
|
||||
# Determine the run column name (could be 'Run' or 'Execução')
|
||||
run_col = 'Run' if 'Run' in data.columns else 'Execução'
|
||||
|
||||
# Load name for titles
|
||||
load_name = load_type.capitalize()
|
||||
colors = {'LOW': 'green', 'MEDIUM': 'orange', 'HIGH': 'red'}
|
||||
color = colors[load_type]
|
||||
|
||||
# 1. Gráfico: Run-by-Run Dwelling Time
|
||||
plt.figure(figsize=(12, 6))
|
||||
plt.plot(data[run_col], data['TempoMédioSistema'], marker='o', color=color, linewidth=2, markersize=6)
|
||||
plt.fill_between(data[run_col], data['TempoMínimoSistema'], data['TempoMáximoSistema'], alpha=0.2, color=color)
|
||||
plt.ylabel('Tempo no Sistema (s)')
|
||||
plt.xlabel('Run Number')
|
||||
plt.title(f'Tempo no Sistema por Execução - Carga {load_name}')
|
||||
plt.grid(alpha=0.3)
|
||||
plt.legend(['Média', 'Min-Max Range'])
|
||||
plt.savefig(f'graphs/{load_type.lower()}_dwelling_time_runs.png', dpi=300, bbox_inches='tight')
|
||||
print(f"\nGraph saved: graphs/{load_type.lower()}_dwelling_time_runs.png")
|
||||
plt.close()
|
||||
|
||||
# 2. Gráfico: Run-by-Run Completion Rate
|
||||
plt.figure(figsize=(12, 6))
|
||||
plt.plot(data[run_col], data['TaxaConclusão'], marker='o', color=color, linewidth=2, markersize=6)
|
||||
plt.axhline(y=data['TaxaConclusão'].mean(), color='black', linestyle='--', label=f'Média: {data["TaxaConclusão"].mean():.1f}%')
|
||||
plt.ylabel('Taxa de Conclusão (%)')
|
||||
plt.xlabel('Run Number')
|
||||
plt.title(f'Taxa de Conclusão por Execução - Carga {load_name}')
|
||||
plt.ylim(0, 105)
|
||||
plt.grid(alpha=0.3)
|
||||
plt.legend()
|
||||
plt.savefig(f'graphs/{load_type.lower()}_completion_rate_runs.png', dpi=300, bbox_inches='tight')
|
||||
print(f"Graph saved: graphs/{load_type.lower()}_completion_rate_runs.png")
|
||||
plt.close()
|
||||
|
||||
# 3. Gráfico: Run-by-Run Waiting Time
|
||||
plt.figure(figsize=(12, 6))
|
||||
plt.plot(data[run_col], data['TempoMédioEspera'], marker='o', color=color, linewidth=2, markersize=6)
|
||||
plt.ylabel('Tempo de Espera (s)')
|
||||
plt.xlabel('Run Number')
|
||||
plt.title(f'Tempo Médio de Espera por Execução - Carga {load_name}')
|
||||
plt.grid(alpha=0.3)
|
||||
plt.savefig(f'graphs/{load_type.lower()}_waiting_time_runs.png', dpi=300, bbox_inches='tight')
|
||||
print(f"Graph saved: graphs/{load_type.lower()}_waiting_time_runs.png")
|
||||
plt.close()
|
||||
|
||||
# 4. Gráfico: Vehicles Generated vs Completed
|
||||
plt.figure(figsize=(10, 6))
|
||||
x = range(len(data))
|
||||
width = 0.35
|
||||
plt.bar([i - width/2 for i in x], data['VeículosGerados'], width, label='Gerados', color='lightblue', alpha=0.8)
|
||||
plt.bar([i + width/2 for i in x], data['VeículosCompletados'], width, label='Concluídos', color=color, alpha=0.8)
|
||||
plt.ylabel('Número de Veículos')
|
||||
plt.xlabel('Run Number')
|
||||
plt.title(f'Veículos Gerados vs Concluídos - Carga {load_name}')
|
||||
plt.xticks(x, data[run_col])
|
||||
plt.legend()
|
||||
plt.grid(axis='y', alpha=0.3)
|
||||
plt.savefig(f'graphs/{load_type.lower()}_vehicles_comparison.png', dpi=300, bbox_inches='tight')
|
||||
print(f"Graph saved: graphs/{load_type.lower()}_vehicles_comparison.png")
|
||||
plt.close()
|
||||
|
||||
# 5. Gráfico: Summary Statistics (4-panel)
|
||||
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14, 10))
|
||||
|
||||
# Panel 1: Dwelling Time Statistics
|
||||
metrics = ['Média', 'Mínimo', 'Máximo', 'Desvio\nPadrão']
|
||||
values = [
|
||||
data['TempoMédioSistema'].mean(),
|
||||
data['TempoMínimoSistema'].min(),
|
||||
data['TempoMáximoSistema'].max(),
|
||||
data['TempoMédioSistema'].std()
|
||||
]
|
||||
ax1.bar(metrics, values, color=[color, 'lightblue', 'darkblue', 'gray'])
|
||||
ax1.set_title('Estatísticas de Tempo no Sistema')
|
||||
ax1.set_ylabel('Tempo (s)')
|
||||
ax1.grid(axis='y', alpha=0.3)
|
||||
for i, v in enumerate(values):
|
||||
ax1.text(i, v + 0.5, f'{v:.2f}s', ha='center', va='bottom')
|
||||
|
||||
# Panel 2: Waiting Time Statistics
|
||||
values = [
|
||||
data['TempoMédioEspera'].mean(),
|
||||
data['TempoMédioEspera'].min(),
|
||||
data['TempoMédioEspera'].max(),
|
||||
data['TempoMédioEspera'].std()
|
||||
]
|
||||
ax2.bar(metrics, values, color=[color, 'lightblue', 'darkblue', 'gray'])
|
||||
ax2.set_title('Estatísticas de Tempo de Espera')
|
||||
ax2.set_ylabel('Tempo (s)')
|
||||
ax2.grid(axis='y', alpha=0.3)
|
||||
for i, v in enumerate(values):
|
||||
ax2.text(i, v + 0.5, f'{v:.2f}s', ha='center', va='bottom')
|
||||
|
||||
# Panel 3: Completion Rate Distribution
|
||||
ax3.hist(data['TaxaConclusão'], bins=10, color=color, alpha=0.7, edgecolor='black')
|
||||
ax3.axvline(data['TaxaConclusão'].mean(), color='red', linestyle='--', linewidth=2, label='Média')
|
||||
ax3.set_title('Distribuição da Taxa de Conclusão')
|
||||
ax3.set_xlabel('Taxa de Conclusão (%)')
|
||||
ax3.set_ylabel('Frequência')
|
||||
ax3.legend()
|
||||
ax3.grid(axis='y', alpha=0.3)
|
||||
|
||||
# Panel 4: Key Metrics Summary
|
||||
summary_metrics = ['Veículos\nGerados', 'Veículos\nConcluídos', 'Taxa de\nConclusão (%)']
|
||||
summary_values = [
|
||||
data['VeículosGerados'].mean(),
|
||||
data['VeículosCompletados'].mean(),
|
||||
data['TaxaConclusão'].mean()
|
||||
]
|
||||
bars = ax4.bar(summary_metrics, summary_values, color=[color, color, color], alpha=[0.5, 0.7, 0.9])
|
||||
ax4.set_title('Resumo de Métricas-Chave')
|
||||
ax4.grid(axis='y', alpha=0.3)
|
||||
for i, v in enumerate(summary_values):
|
||||
ax4.text(i, v + max(summary_values)*0.02, f'{v:.1f}', ha='center', va='bottom', fontweight='bold')
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig(f'graphs/{load_type.lower()}_summary_statistics.png', dpi=300, bbox_inches='tight')
|
||||
print(f"Graph saved: graphs/{load_type.lower()}_summary_statistics.png")
|
||||
plt.close()
|
||||
|
||||
# Print detailed summary statistics
|
||||
print("\n" + "="*60)
|
||||
print(f"{load_name.upper()} LOAD - DETAILED STATISTICS")
|
||||
print("="*60)
|
||||
|
||||
print(f"\nTIME IN SYSTEM:")
|
||||
print(f" Mean: {data['TempoMédioSistema'].mean():.2f}s")
|
||||
print(f" Std Dev: {data['TempoMédioSistema'].std():.2f}s")
|
||||
print(f" Min: {data['TempoMínimoSistema'].min():.2f}s")
|
||||
print(f" Max: {data['TempoMáximoSistema'].max():.2f}s")
|
||||
print(f" Median: {data['TempoMédioSistema'].median():.2f}s")
|
||||
|
||||
print(f"\nWAITING TIME:")
|
||||
print(f" Mean: {data['TempoMédioEspera'].mean():.2f}s")
|
||||
print(f" Std Dev: {data['TempoMédioEspera'].std():.2f}s")
|
||||
print(f" Min: {data['TempoMédioEspera'].min():.2f}s")
|
||||
print(f" Max: {data['TempoMédioEspera'].max():.2f}s")
|
||||
print(f" Median: {data['TempoMédioEspera'].median():.2f}s")
|
||||
|
||||
print(f"\nCOMPLETION RATE:")
|
||||
print(f" Mean: {data['TaxaConclusão'].mean():.2f}%")
|
||||
print(f" Std Dev: {data['TaxaConclusão'].std():.2f}%")
|
||||
print(f" Min: {data['TaxaConclusão'].min():.2f}%")
|
||||
print(f" Max: {data['TaxaConclusão'].max():.2f}%")
|
||||
print(f" Median: {data['TaxaConclusão'].median():.2f}%")
|
||||
|
||||
print(f"\nVEHICLE COUNTS:")
|
||||
print(f" Mean Generated: {data['VeículosGerados'].mean():.0f}")
|
||||
print(f" Mean Completed: {data['VeículosCompletados'].mean():.0f}")
|
||||
print(f" Mean Lost: {data['VeículosGerados'].mean() - data['VeículosCompletados'].mean():.0f}")
|
||||
|
||||
print(f"\nRUNS ANALYZED: {len(data)}")
|
||||
|
||||
# Check for config file column - could be ArquivoConfig or ConfigFile
|
||||
config_col = None
|
||||
if 'ArquivoConfig' in data.columns:
|
||||
config_col = 'ArquivoConfig'
|
||||
elif 'ConfigFile' in data.columns:
|
||||
config_col = 'ConfigFile'
|
||||
|
||||
if config_col:
|
||||
print(f"CONFIGURATION FILE: {data[config_col].iloc[0]}")
|
||||
else:
|
||||
print(f"CONFIGURATION FILE: N/A")
|
||||
|
||||
print("\n" + "="*60)
|
||||
print(f"All graphs saved in 'graphs/' directory with prefix '{load_type.lower()}_'")
|
||||
print("="*60)
|
||||
BIN
main/graphs/high_completion_rate_runs.png
Normal file
BIN
main/graphs/high_completion_rate_runs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 119 KiB |
BIN
main/graphs/high_dwelling_time_runs.png
Normal file
BIN
main/graphs/high_dwelling_time_runs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 176 KiB |
BIN
main/graphs/high_vehicles_comparison.png
Normal file
BIN
main/graphs/high_vehicles_comparison.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 94 KiB |
BIN
main/graphs/high_waiting_time_runs.png
Normal file
BIN
main/graphs/high_waiting_time_runs.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 147 KiB |
@@ -189,9 +189,9 @@ public class ExitNodeProcess {
|
||||
while (running) {
|
||||
SimulationEvent event = eventQueue.poll();
|
||||
if (event == null) {
|
||||
// No events currently, wait before checking again
|
||||
// Minimal sleep to reduce latency (especially important on Linux where Thread.sleep is less precise)
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
Thread.sleep(1);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
break;
|
||||
|
||||
@@ -120,7 +120,8 @@ public class IntersectionProcess {
|
||||
this.statsExecutor = Executors.newSingleThreadScheduledExecutor();
|
||||
this.departureExecutor = Executors.newScheduledThreadPool(4);
|
||||
this.running = false;
|
||||
this.trafficCoordinationLock = new ReentrantLock(true); // Fair lock to prevent starvation
|
||||
// Unfair lock for better performance (fair locks have 10x worse performance on Linux)
|
||||
this.trafficCoordinationLock = new ReentrantLock(false);
|
||||
this.currentGreenDirection = null;
|
||||
this.timeScale = config.getTimeScale();
|
||||
|
||||
@@ -159,9 +160,9 @@ public class IntersectionProcess {
|
||||
while (running) {
|
||||
SimulationEvent event = eventQueue.poll();
|
||||
if (event == null) {
|
||||
// Backoff exponencial ou sleep curto para evitar busy-waiting em idle
|
||||
// Minimal sleep to reduce latency (especially important on Linux where Thread.sleep is less precise)
|
||||
try {
|
||||
Thread.sleep(50);
|
||||
Thread.sleep(1);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
break;
|
||||
@@ -315,21 +316,24 @@ public class IntersectionProcess {
|
||||
|
||||
// Algoritmo de esvaziamento de fila baseado em Time Budget
|
||||
while (light.getQueueSize() > 0) {
|
||||
// Estimativa inicial (optimista)
|
||||
double crossingTime = config.getLightVehicleCrossingTime();
|
||||
// Peek at the next vehicle to get accurate crossing time WITHOUT removing it yet
|
||||
Vehicle vehicle = light.peekVehicle();
|
||||
if (vehicle == null)
|
||||
break;
|
||||
|
||||
// Calculate ACTUAL crossing time based on vehicle type
|
||||
double crossingTime = getCrossingTimeForVehicle(vehicle);
|
||||
|
||||
// Verificação de limite de tempo (Hard Deadline do sinal vermelho)
|
||||
// Now using ACTUAL crossing time, not optimistic estimate
|
||||
if (timeOffset + crossingTime > greenDuration) {
|
||||
break; // Veículo não cabe no ciclo atual
|
||||
}
|
||||
|
||||
// Commit: Remove da fila
|
||||
Vehicle vehicle = light.removeVehicle(currentTime + timeOffset);
|
||||
// Only NOW commit: Remove da fila (we know it fits)
|
||||
vehicle = light.removeVehicle(currentTime + timeOffset);
|
||||
if (vehicle == null)
|
||||
break;
|
||||
|
||||
// Recálculo preciso baseado no tipo real do veículo
|
||||
crossingTime = getCrossingTimeForVehicle(vehicle);
|
||||
break; // Should not happen, but safety check
|
||||
|
||||
// Agendamento do evento futuro de término de travessia
|
||||
double crossingStartTime = currentTime + timeOffset;
|
||||
@@ -434,7 +438,30 @@ public class IntersectionProcess {
|
||||
*/
|
||||
private void handleSimulationEndEvent(SimulationEvent event) {
|
||||
eventLogger.log(sd.logging.EventType.SIMULATION_STOPPED, intersectionId,
|
||||
String.format("Simulation ended at time %.2f", event.getTimestamp()));
|
||||
String.format("Simulation end signal received at time %.2f", event.getTimestamp()));
|
||||
|
||||
// Don't stop immediately - let pending crossing events complete
|
||||
// Count how many crossing events are still scheduled
|
||||
int pendingCrossings = 0;
|
||||
SimulationEvent nextEvent;
|
||||
while ((nextEvent = eventQueue.peek()) != null) {
|
||||
if (nextEvent.getType() == DESEventType.VEHICLE_CROSSING_END) {
|
||||
pendingCrossings++;
|
||||
// Process this crossing event
|
||||
SimulationEvent crossingEvent = eventQueue.poll();
|
||||
clock.advanceTo(crossingEvent.getTimestamp());
|
||||
handleVehicleCrossingEndEvent(crossingEvent);
|
||||
} else {
|
||||
// Skip non-crossing events (like light changes)
|
||||
eventQueue.poll();
|
||||
}
|
||||
}
|
||||
|
||||
System.out.printf("[%s] Drained %d pending crossing events before shutdown%n",
|
||||
intersectionId, pendingCrossings);
|
||||
eventLogger.log(sd.logging.EventType.SIMULATION_STOPPED, intersectionId,
|
||||
String.format("Simulation ended at time %.2f after draining %d vehicles",
|
||||
clock.getCurrentTime(), pendingCrossings));
|
||||
running = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,14 @@ public class SocketClient {
|
||||
public void connect() throws IOException {
|
||||
try {
|
||||
socket = new Socket(host, port);
|
||||
|
||||
// TCP optimizations for low latency (critical for Linux performance)
|
||||
socket.setTcpNoDelay(true); // Disable Nagle's algorithm
|
||||
socket.setKeepAlive(true); // Enable TCP keep-alive
|
||||
socket.setSendBufferSize(65536); // 64KB send buffer
|
||||
socket.setReceiveBufferSize(65536); // 64KB receive buffer
|
||||
socket.setPerformancePreferences(0, 2, 1); // latency > bandwidth > connection time
|
||||
|
||||
outputStream = socket.getOutputStream();
|
||||
System.out.println("Connected to " + intersectionId + " at " + host + ":" + port);
|
||||
} catch (IOException e) {
|
||||
|
||||
@@ -26,7 +26,7 @@ public class TrafficLight {
|
||||
private final String direction;
|
||||
|
||||
/** Estado atual do semáforo (VERDE ou VERMELHO) */
|
||||
private TrafficLightState state;
|
||||
private volatile TrafficLightState state;
|
||||
|
||||
/** Fila de veículos à espera neste semáforo */
|
||||
private final Queue<Vehicle> queue;
|
||||
@@ -102,6 +102,21 @@ public class TrafficLight {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Peek at the next vehicle in queue without removing it.
|
||||
* Used to check vehicle type for accurate scheduling before committing to removal.
|
||||
*
|
||||
* @return the next vehicle in queue, or null if queue is empty
|
||||
*/
|
||||
public Vehicle peekVehicle() {
|
||||
lock.lock();
|
||||
try {
|
||||
return queue.peek();
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove um veículo da fila para travessia.
|
||||
*
|
||||
@@ -144,14 +159,14 @@ public class TrafficLight {
|
||||
* @param newState novo estado (VERDE ou VERMELHO)
|
||||
*/
|
||||
public void changeState(TrafficLightState newState) {
|
||||
lock.lock();
|
||||
try {
|
||||
this.state = newState;
|
||||
if (newState == TrafficLightState.GREEN) {
|
||||
this.state = newState; // volatile write, no lock needed
|
||||
if (newState == TrafficLightState.GREEN) {
|
||||
lock.lock();
|
||||
try {
|
||||
lightGreen.signalAll();
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,17 +212,12 @@ public class TrafficLight {
|
||||
|
||||
/**
|
||||
* Obtém o estado atual do semáforo.
|
||||
* Método thread-safe.
|
||||
* Método thread-safe (lock-free via volatile).
|
||||
*
|
||||
* @return estado atual (VERDE ou VERMELHO)
|
||||
*/
|
||||
public TrafficLightState getState() {
|
||||
lock.lock();
|
||||
try {
|
||||
return state;
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
/** @return duração configurada do sinal verde em segundos */
|
||||
|
||||
@@ -87,6 +87,13 @@ public class SocketConnection implements Closeable {
|
||||
// Try to establish the connection (SYN -> SYN-ACK -> ACK)
|
||||
tempSocket = new Socket(host, port);
|
||||
|
||||
// TCP optimizations for low latency (critical for Linux performance)
|
||||
tempSocket.setTcpNoDelay(true); // Disable Nagle's algorithm
|
||||
tempSocket.setKeepAlive(true); // Enable TCP keep-alive
|
||||
tempSocket.setSendBufferSize(65536); // 64KB send buffer
|
||||
tempSocket.setReceiveBufferSize(65536); // 64KB receive buffer
|
||||
tempSocket.setPerformancePreferences(0, 2, 1); // latency > bandwidth > connection time
|
||||
|
||||
// If successful, break out of the retry loop
|
||||
System.out.printf("[SocketConnection] Connected successfully on attempt %d.%n", attempt);
|
||||
lastException = null; // Clear last error on success
|
||||
@@ -140,6 +147,14 @@ public class SocketConnection implements Closeable {
|
||||
*/
|
||||
public SocketConnection(Socket acceptedSocket) throws IOException {
|
||||
this.socket = acceptedSocket;
|
||||
|
||||
// TCP optimizations for low latency (critical for Linux performance)
|
||||
socket.setTcpNoDelay(true); // Disable Nagle's algorithm
|
||||
socket.setKeepAlive(true); // Enable TCP keep-alive
|
||||
socket.setSendBufferSize(65536); // 64KB send buffer
|
||||
socket.setReceiveBufferSize(65536); // 64KB receive buffer
|
||||
socket.setPerformancePreferences(0, 2, 1); // latency > bandwidth > connection time
|
||||
|
||||
this.outputStream = socket.getOutputStream();
|
||||
this.inputStream = socket.getInputStream();
|
||||
this.serializer = SerializerFactory.createDefault();
|
||||
|
||||
Reference in New Issue
Block a user