Correções ao modelo: - Adiciona conservação de fluxo em nós de inspeção (bug que permitia criação/destruição de unidades de fluxo, inflando cobertura para 50/50 sem atribuição real de rotas) - Remove restrição C6 simplificada que somava horas totais sem respeitar resets de inspeção, tornando 2809/2811 artificialmente ociosos Nomenclatura alinhada ao Al-Thani (2016): - InspecaoParam.lrt_h → f_max (F do artigo: batente máximo legal) - Aeronave.horas_iniciais → f0 (f_k: horas acumuladas no início) - orcamento_h() → lrt_inicial() (LRT = F_max − f0) - horas_iniciais_aleatorias() → gerar_f0_aleatorio() - carregar_horas_iniciais() → carregar_f0() - CLI --horas-iniciais → --f0 Novos arquivos: - software/gerar_ofrag.py: gera tabela de OFRAGs com prioridades 1-5 - software/visualizar_resultado.py: mapa Folium interativo de rotas - db/processed/ofrag.csv: 50 OFRAGs sintéticas (seed 42) - db/processed/mapa_rotas.html: mapa gerado da última rodada Resultado com --sintetico --aleatorio --ofrag: 50/50 missões cumpridas (antes: 30/50 sem ferry, 7/50 com bug de fluxo) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
| 1 | id_ofrag | missao_id | om | orig | dest | prioridade | tipo_missao | observacao |
|---|---|---|---|---|---|---|---|---|
| 2 | OFRAG-2025-001 | SIM_001_SBMN_SBMY | 1 | SBMN | SBMY | 1 | Reabastecimento | |
| 3 | OFRAG-2025-002 | SIM_002_SBBE_SBTT | 2 | SBBE | SBTT | 1 | Pessoal | |
| 4 | OFRAG-2025-003 | SIM_003_SBMN_SBPV | 3 | SBMN | SBPV | 1 | Médico | EVAM — execução obrigatória |
| 5 | OFRAG-2025-004 | SIM_004_SBMN_SBUA | 4 | SBMN | SBUA | 1 | Logística | EVAM — execução obrigatória |
| 6 | OFRAG-2025-005 | SIM_005_SBSN_SBTS | 5 | SBSN | SBTS | 2 | Reabastecimento | |
| 7 | OFRAG-2025-006 | SIM_006_SBSN_SBBE | 6 | SBSN | SBBE | 2 | Pessoal | |
| 8 | OFRAG-2025-007 | SIM_007_SBTS_SBMN | 7 | SBTS | SBMN | 2 | Reconhecimento | |
| 9 | OFRAG-2025-008 | SIM_008_SBBE_SBTS | 8 | SBBE | SBTS | 4 | Reconhecimento | |
| 10 | OFRAG-2025-009 | SIM_009_SBMY_SBTS | 9 | SBMY | SBTS | 2 | Logística | |
| 11 | OFRAG-2025-010 | SIM_010_SBTT_SBMN | 10 | SBTT | SBMN | 1 | Logística | |
| 12 | OFRAG-2025-011 | SIM_011_SBBE_SBSN | 11 | SBBE | SBSN | 1 | Logística | |
| 13 | OFRAG-2025-012 | SIM_012_SWBC_SBSN | 12 | SWBC | SBSN | 3 | Logística | |
| 14 | OFRAG-2025-013 | SIM_013_SBMN_SBBV | 13 | SBMN | SBBV | 2 | Reconhecimento | |
| 15 | OFRAG-2025-014 | SIM_014_SBMN_SBTS | 14 | SBMN | SBTS | 1 | Logística | |
| 16 | OFRAG-2025-015 | SIM_015_SBMN_SBPV | 15 | SBMN | SBPV | 1 | Médico | EVAM — execução obrigatória |
| 17 | OFRAG-2025-016 | SIM_016_SBPV_SBMN | 16 | SBPV | SBMN | 1 | Logística | |
| 18 | OFRAG-2025-017 | SIM_017_SBSN_SBMN | 17 | SBSN | SBMN | 4 | Reabastecimento | |
| 19 | OFRAG-2025-018 | SIM_018_SBSN_SBBV | 18 | SBSN | SBBV | 1 | Reconhecimento | |
| 20 | OFRAG-2025-019 | SIM_019_SBBV_SBMN | 19 | SBBV | SBMN | 2 | Logística | |
| 21 | OFRAG-2025-020 | SIM_020_SWBC_SBTS | 20 | SWBC | SBTS | 4 | Pessoal | |
| 22 | OFRAG-2025-021 | SIM_021_SBMN_SBPV | 21 | SBMN | SBPV | 1 | Médico | EVAM — execução obrigatória |
| 23 | OFRAG-2025-022 | SIM_022_SBMN_SBBV | 22 | SBMN | SBBV | 1 | Reabastecimento | |
| 24 | OFRAG-2025-023 | SIM_023_SBBV_SWBC | 23 | SBBV | SWBC | 3 | Reconhecimento | |
| 25 | OFRAG-2025-024 | SIM_024_SBMY_SBBV | 24 | SBMY | SBBV | 1 | Pessoal | |
| 26 | OFRAG-2025-025 | SIM_025_SWBC_SBMN | 25 | SWBC | SBMN | 3 | Logística | |
| 27 | OFRAG-2025-026 | SIM_026_SBUA_SBTT | 26 | SBUA | SBTT | 3 | Reabastecimento | |
| 28 | OFRAG-2025-027 | SIM_027_SBTS_SBMY | 27 | SBTS | SBMY | 1 | Pessoal | |
| 29 | OFRAG-2025-028 | SIM_028_SBMN_SBTT | 28 | SBMN | SBTT | 2 | Logística | |
| 30 | OFRAG-2025-029 | SIM_029_SBTT_SBSN | 29 | SBTT | SBSN | 2 | Reconhecimento | |
| 31 | OFRAG-2025-030 | SIM_030_SWBC_SBSN | 30 | SWBC | SBSN | 2 | Logística | |
| 32 | OFRAG-2025-031 | SIM_031_SBMN_SBTT | 31 | SBMN | SBTT | 2 | Reabastecimento | |
| 33 | OFRAG-2025-032 | SIM_032_SBMN_SBBE | 32 | SBMN | SBBE | 5 | Reabastecimento | |
| 34 | OFRAG-2025-033 | SIM_033_SBBV_SBSN | 33 | SBBV | SBSN | 1 | Reconhecimento | |
| 35 | OFRAG-2025-034 | SIM_034_SBTS_SBMN | 34 | SBTS | SBMN | 2 | Logística | |
| 36 | OFRAG-2025-035 | SIM_035_SBTT_SBMN | 35 | SBTT | SBMN | 1 | Logística | |
| 37 | OFRAG-2025-036 | SIM_036_SBPV_SWBC | 36 | SBPV | SWBC | 3 | Logística | |
| 38 | OFRAG-2025-037 | SIM_037_SBBV_SBMN | 37 | SBBV | SBMN | 3 | Logística | |
| 39 | OFRAG-2025-038 | SIM_038_SBBV_SBBE | 38 | SBBV | SBBE | 2 | Pessoal | |
| 40 | OFRAG-2025-039 | SIM_039_SBSN_SBMN | 39 | SBSN | SBMN | 1 | Logística | |
| 41 | OFRAG-2025-040 | SIM_040_SBSN_SBMN | 40 | SBSN | SBMN | 4 | Reconhecimento | |
| 42 | OFRAG-2025-041 | SIM_041_SBBE_SBTS | 41 | SBBE | SBTS | 1 | Reabastecimento | |
| 43 | OFRAG-2025-042 | SIM_042_SBBE_SBSN | 42 | SBBE | SBSN | 5 | Reconhecimento | |
| 44 | OFRAG-2025-043 | SIM_043_SBMN_SBPV | 43 | SBMN | SBPV | 4 | Médico | |
| 45 | OFRAG-2025-044 | SIM_044_SBBE_SBPV | 44 | SBBE | SBPV | 3 | Pessoal | |
| 46 | OFRAG-2025-045 | SIM_045_SBTS_SBMN | 45 | SBTS | SBMN | 4 | Reabastecimento | |
| 47 | OFRAG-2025-046 | SIM_046_SBMN_SBUA | 46 | SBMN | SBUA | 3 | Reconhecimento | |
| 48 | OFRAG-2025-047 | SIM_047_SWBC_SBTS | 47 | SWBC | SBTS | 2 | Reabastecimento | |
| 49 | OFRAG-2025-048 | SIM_048_SBSN_SBUA | 48 | SBSN | SBUA | 1 | Médico | |
| 50 | OFRAG-2025-049 | SIM_049_SBMN_SBMY | 49 | SBMN | SBMY | 4 | Pessoal | |
| 51 | OFRAG-2025-050 | SIM_050_SBTT_SBPV | 50 | SBTT | SBPV | 1 | Logística | EVAM — execução obrigatória |