Files
arara_oarmp/LOG.md
Cesa-V a34ed6b340 Migra C1 de Set Covering para Set Partitioning e documenta limitacoes (v0.10)
- C1 alterado: z[nid] <= 1 -> z[nid] == 1 para todas as missoes; toda missao
  deve ser coberta por exatamente 1 aeronave (sem missoes descobertas).
- n_missoes padrao reduzido de 50 para 20 (n_evam de 5 para 4): garante
  factibilidade do MIP com Set Partitioning no envelope de 4 aeronaves.
- Time limit padrao do solver CBC fixado em 120 s (era ilimitado): evita
  travamento ao tentar provar infeasibility.
- Corrigido display "Not Solved": status de L1 preservado quando PuLP
  redefine mdl.status apos setObjective() em L2.
- f0_cenario_insp_grande.json revisado: apenas 2803 com f0=595h em INSP 2A
  (F_max=600h, downtime=4 dias); demais matriculas com f0=0.
- Gerado planejamento_insp_grande.html: Gantt exibe INSP 2A visivelmente;
  20/20 missoes cobertas; CBC Optimal em < 15 s.
- changelog.md e LOG.md atualizados com limitacoes detalhadas para
  contribuidores: escopo validado, bugs de display, riscos numericos do
  big-M com LRT < 5h e comportamento de 2811 ociosa.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 11:09:24 -03:00

13 KiB
Raw Permalink Blame History

Log do Projeto

Legenda de autores:

  • VTO: Vitor Cesa.
  • GNR: Generoso.
  • JOM: João Marcos.
Data Hora Autor Ação Arquivos Observações
2026-06-15 15:41 VTO Criou repositório Git do projeto .gitignore; .gitattributes Projeto versionado na branch main.
2026-06-15 15:41 VTO Organizou estrutura inicial de dados raw/; pre_process/; processed/ Documentos originais movidos para raw/; pastas vazias preservadas com .gitkeep.
2026-06-15 15:41 VTO Pré-processou PDF de inspeções raw/documento joaomarcos.pdf; pre_process/documento_joaomarcos_texto.txt; pre_process/documento_joaomarcos_inspecoes.json; pre_process/documento_joaomarcos_inspecoes.csv; pre_process/preprocess_pdf.py 18 inspeções extraídas; grafias originais preservadas, inclusive INPEÇÃO.
2026-06-15 15:41 VTO Separou orientações permanentes do histórico CONTEXTO.md; LOG.md Orientações movidas para CONTEXTO.md; LOG.md passou a usar data, hora e tag de autor.
2026-06-15 15:47 VTO Renomeou PDF e artefatos derivados com nome descritivo raw/relatorio_ciclo_inspecoes_c105_2805_2026-06-15.pdf; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_texto.txt; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv; pre_process/preprocess_pdf.py Nome antigo removia contexto técnico; novo padrão usa tipo do documento, modelo, matrícula e data do relatório.
2026-06-15 15:54 VTO Separou campos de controle e duração no pré-processamento pre_process/preprocess_pdf.py; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv Criadas colunas tso, letra, nivel, var_media, duracao, duracao_valor e duracao_unidade; D tratado como dias e H como horas.
2026-06-15 16:00 VTO Criou guia inicial do repositório README.md Explica o objetivo do projeto OAMRP, a estrutura de pastas, o uso básico do GitHub/Git e os cuidados de rastreabilidade.
2026-06-15 16:03 VTO Corrigiu interpretação da coluna Zera TSO pre_process/preprocess_pdf.py; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv Zera TSO passou a ser coluna única zera_tso; níveis B, P e O mapeados para Base, Parque e Orgânico; controle_original mantido para rastreabilidade.
2026-06-15 16:08 VTO Separou valores numéricos dos intervalos de inspeção pre_process/preprocess_pdf.py; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.json; pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15_inspecoes.csv Criadas colunas discretas para horas de voo, meses contínuos e pousos, mantendo os campos textuais originais.
2026-06-15 16:43 VTO Renomeou o projeto e trocou o repositório remoto README.md; CONTEXTO.md; .git/config Projeto passou a se chamar arara_oarmp; remoto atualizado para https://git.ppgao.ita.br/vitorcesavc/arara_oarmp.git.
2026-06-15 17:57 VTO Criou documentação técnica no padrão docs/ docs/about.md; docs/authors.md; docs/changelog.md; README.md; CONTEXTO.md; LOG.md Estrutura inspirada no módulo meteorologia_aeroportos: documentação técnica, autoria e changelog separados do log operacional.
2026-06-15 18:11 VTO Agrupou artefatos do relatório de ciclo em subpasta própria pre_process/relatorio_ciclo_inspecoes_c105_2805_2026-06-15/; README.md; docs/about.md Removido .gitkeep de pre_process/ porque a pasta deixou de estar vazia; .gitkeep de processed/ foi mantido.
2026-06-15 18:33 VTO Comparou ICA 66-31/2023 com relatório de ciclo C-105 2805 raw/ICA 66-31 2023.pdf; pre_process/comparacao_ica_66_31_c105_2023/ A comparação usou o Anexo D textual do PDF completo da ICA.
2026-06-15 19:01 VTO Reorganizou dados em db/ e adicionou protótipo OAMRP db/; software/oamrp_v1.py; .gitignore; README.md; CONTEXTO.md; docs/about.md; docs/authors.md; docs/changelog.md Commit 1131267; diretórios raw/, pre_process/ e processed/ movidos para db/; modelo MIP inicial em PuLP adicionado em software/.
2026-06-15 19:56 VTO Pre-processou a Planilha 2025 para registro de voo db/raw/Planilha 2025.xlsx; db/pre_process/registro_voo_2025/; db/processed/registro_voo_2025.csv Extraidos 1421 registros; colunas REAL ate COM2 descartadas; 53 linhas cruzam 00Z; 1 registro sem OM e 9 sem pousos preservados para revisao.
2026-06-15 19:56 VTO Consolidou transicoes ROTA do registro de voo 2025 db/pre_process/registro_voo_2025/preprocess_planilha_2025.py; db/processed/registro_voo_2025_consolidado.csv ROTA tratado como marcador de transicao; 1421 linhas originais viraram 1268 trechos consolidados; 135 trechos com ROTA foram convertidos para origem/destino reais.
2026-06-15 19:56 VTO Validou o registro de voo 2025 consolidado db/pre_process/registro_voo_2025/validacao_registro_voo_2025.md; db/processed/registro_voo_2025_consolidado.csv Sem duplicidades, sem divergencias de duracao e sem sobreposicoes temporais; pendentes 1 registro sem OM, 1 trecho com pousos zero e 3 quebras de continuidade espacial.
2026-06-15 19:56 VTO Removeu registro isolado da aeronave 2806 db/pre_process/registro_voo_2025/preprocess_planilha_2025.py; db/processed/registro_voo_2025.csv; db/processed/registro_voo_2025_consolidado.csv Linha original 793 excluida dos artefatos processados; registro final passou para 1420 linhas e consolidado para 1267 trechos; nao ha mais registro sem OM.
2026-06-15 19:56 VTO Criou modelo OAMRP v2 com dados reais de 2025 software/oamrp_v2.py; db/processed/resultado_oamrp_jan_2025.csv; README.md; docs/about.md; docs/changelog.md Rodada inicial de janeiro/2025 resolvida como otima pelo CBC; prioridade uniforme 1; base de manutencao SBMN; 50 de 61 missoes cumpridas.
2026-06-15 21:00 VTO Criou modelo OAMRP v3 — Fase 1: rede espaço-tempo software/oamrp_v3.py; db/processed/resultado_oamrp_v3.csv Reescrita do zero com abstrações No/Arco e variável unificada y[k,arco]; C1C6; TAT=1,5h; f0_{k,i} editável; top-10 bases por frequência; missões EVAM hard; 50/50 missões cobertas em jan/2025.
2026-06-15 22:00 VTO Calibrou inspeções válidas (Q1) e respondeu Q2Q4 software/oamrp_v3.py Removidas seq 18 e 23 do catálogo; EVAM marcado como M_obr (cobertura=1); L2 definido como minimizar folga de horas ao fim do horizonte; 10 bases por frequência.
2026-06-15 22:30 VTO Implementou Fase 2: inspeções na rede espaço-tempo software/oamrp_v3.py Adicionados nós INSP_{k}{seq} e arcos missao_insp/insp_missao; variáveis H{k,i,nid} para rastreamento de horas com reset; C9 downtime; C11 slot único via disjuntivas.
2026-06-15 23:00 VTO Substituiu dados reais por missões sintéticas cross-base software/oamrp_v3.py; db/processed/resultado_oamrp_sintetico.csv Dados reais de jan/2025 eram todos SBMN→SBMN (voos locais), não exercitando roteamento; gerador sintético cria 50 missões cross-base entre 10 bases com distâncias reais (haversine) e velocidade C-105; flag --sintetico na CLI.
2026-06-15 23:30 VTO Implementou Fase 3: arcos de ferry (C3 relaxado) software/oamrp_v3.py Arcos inicio/missao_missao/missao_insp/insp_missao agora permitem bases diferentes com tempo de ferry (haversine/430 km/h); ferry consome horas de célula no relógio de inspeção (C6); relatório imprime segmentos de ferry na linha do tempo.
2026-06-16 10:00 VTO Corrigiu bug de conservação de fluxo em nós de inspeção software/oamrp_v3.py Nós INSP_{k}_{seq} não tinham restrição entrada_k==saida_k; solver criava/destruía unidades de fluxo nesses nós, inflando cobertura para 50/50 no relatório com apenas 16 missões reais nas rotas; corrigido adicionando C2 para nós de inspeção.
2026-06-16 10:05 VTO Removeu restrição C6 Fase 1 simplificada software/oamrp_v3.py Restrição somava horas totais sem respeitar resets de inspeção, tornando EVAMs 2809/2811 artificialmente ociosas; variáveis H[k,seq,nid] já cobrem isso corretamente com reset nos nós de inspeção.
2026-06-16 10:10 VTO Adicionou horas iniciais aleatórias e prioridades via OFRAG software/oamrp_v3.py; software/gerar_ofrag.py; db/processed/ofrag.csv Flag --aleatorio sorteia f0 entre 10%90% de F_max por aeronave; gerar_ofrag.py cria tabela com id_ofrag, missao_id, prioridade (15), tipo_missao; --ofrag na CLI carrega prioridades ao gerar missões sintéticas.
2026-06-16 10:20 VTO Alinhou nomenclatura com Al-Thani (2016) software/oamrp_v3.py lrt_h→f_max (batente fixo F); horas_iniciais→f0 (acumulado inicial f_k); orcamento_h()→lrt_inicial() (LRT=F_maxf0); horas_iniciais_aleatorias()→gerar_f0_aleatorio(); carregar_horas_iniciais()→carregar_f0(); CLI --horas-iniciais→--f0.
2026-06-16 10:30 VTO Criou visualização interativa de rotas software/visualizar_resultado.py; db/processed/mapa_rotas.html Mapa Folium com rotas por aeronave (cor distinta), missões não cumpridas tracejadas em cinza, popup com detalhes, legenda de prioridades.
2026-06-16 10:35 VTO Rodada sintética validada: 50/50 missões cumpridas db/processed/resultado_oamrp_sintetico.csv Comando: --sintetico --seed 42 --aleatorio --ofrag; solver CBC retornou Optimal; todas as 4 EVAMs voaram com ferry; commit f0d72f8 enviado ao remote.
2026-06-16 14:00 VTO Criou visualização combinada (Gantt + mapa + tabela) software/visualizar_resultado.py; db/processed/planejamento_cenario_esquadrao.html HTML único com título "Planejamento de Diagonal de Manutenção"; Gantt via go.Scatter lines (renderização garantida); mapa Folium em iframe; tabela de voos com filtros JS; commit 3756f96.
2026-06-16 15:00 VTO Criou cenários JSON de f0 para testes com inspeções db/processed/f0_cenario_esquadrao.json; db/processed/f0_cenario_insp_grande.json f0_cenario_esquadrao simula dados reais do esquadrão (LRT 32h/215h/12h/28h); f0_cenario_insp_grande força aeronaves próximas ao limite.
2026-06-16 20:00 VTO Migrou modelo de Set Covering para Set Partitioning (C1) software/oamrp_v3.py Restrição C1 alterada de z<=1 para z==1 para todas as missões; eliminada distinção entre missões hard/opcionais; toda missão deve ser coberta por exatamente 1 aeronave.
2026-06-16 20:05 VTO Reduziu missões sintéticas padrão de 50 para 20 software/oamrp_v3.py Set Partitioning com 50 missões tornava o MIP inviável ou muito lento (travamento do solver); 20 missões garantem factibilidade no envelope de 4 aeronaves em janeiro; n_evam reduzido de 5 para 4.
2026-06-16 20:10 VTO Adicionou time limit padrão de 120 s ao solver CBC software/oamrp_v3.py Solver travava indefinidamente sem time limit ao tentar provar infeasibility; limite de 120 s garante retorno com melhor solução encontrada.
2026-06-16 20:15 VTO Corrigiu display do status do solver (Not Solved) software/oamrp_v3.py PuLP redefine mdl.status para 0 ("Not Solved") ao chamar setObjective() antes de L2; status de L1 agora preservado quando L2 reporta 0.
2026-06-16 20:20 VTO Revisou f0_cenario_insp_grande.json db/processed/f0_cenario_insp_grande.json Apenas 2803 com f0=595h em INSP 2A (F_max=600h, downtime=4 dias, LRT_ini=5h); demais matrículas com f0=0; configuração anterior com 4 aeronaves apertadas simultaneamente tornava o MIP inviável.
2026-06-16 20:30 VTO Gerou visualização do cenário inspeção grande (v0.10) db/processed/planejamento_insp_grande.html; db/processed/resultado_oamrp_v3.csv 20/20 missões cobertas; Gantt exibe INSP 2A (4 dias) visivelmente; 2 inspeções no horizonte de janeiro; solver CBC retornou Optimal em < 15 s.
2026-06-16 16:00 VTO Corrigiu Gantt: FAB 2800 invisível e barras não renderizavam software/visualizar_resultado.py yaxis range=[-0.5, n-0.5] para FAB 2800 (y=0) visível; shapes substituídas por go.Scatter mode="lines" width=64 (renderização garantida); largura mínima de 2h por barra.
2026-06-16 16:30 VTO Adicionou parser de Escala de Voo Modelo 1 e bases extras software/oamrp_v3.py; db/raw/ESCALA DE VOO MODELO 1.csv Flag --escala carrega missões reais do CSV com separador ";"; coordenadas de 26 bases (era 10); time-limit default alterado para 300s; imports timedelta/date consolidados; commit 83a2dac.