Motor de grade de treinamentos corporativos sob restrições negociadas: valida a grade que existe, gera uma do zero e replaneja quando algo muda, sob um catálogo de 22 regras reais, dentro de um processo governado no AlliahFlow.
Hoje a grade sai de uma planilha e de uma cadeia de prompts num chat de IA. É um problema clássico de grade horária sob restrições (CSP), e a resposta certa é um motor de otimização de verdade.
A base vive em Excel. O importador lê essa base uma única vez; a partir daí o Excel não existe mais no processo.
Resposta · importador XLSXUma cadeia de prompts não mostra quais restrições a grade respeita. O solver é determinístico e mede a grade contra cada regra do catálogo.
Resposta · solver determinísticoQuando algo muda, a grade já comunicada precisa ficar de pé. O replanejamento fixa o que não deve mexer e absorve só a mudança.
Resposta · replanejar com pinTurma, slot, instrutor, curso, pessoa, matrícula e indisponibilidade modelados como no caso real, com telas próprias para a demonstração.
Radiografa uma grade que já existe contra o catálogo de regras, em cerca de 83 ms na base real.
Constrói a grade do zero: 0 violações duras em cerca de 2 minutos com mais de mil matrículas.
Absorve uma mudança preservando o máximo da grade já comunicada, com turmas e matrículas fixadas: "1 mudou, 64 preservadas".
As 22 premissas do negócio como regras duras, relaxáveis com custo ou declaradas fora do motor. Editar uma regra revalida a grade em milissegundos.
Lê a base real uma única vez. Sem a base, a aplicação sobe com um gerador de dados sintéticos.
A API dispara e acompanha o solve e serve as telas. É o endpoint que o AlliahFlow chama por uma etapa de integração.
O motor fica cercado de um processo governado: cada passo tem regra explícita, e nenhuma resposta depende de um prompt.
A base real entra uma vez pelo importador XLSX.
A grade atual é medida contra as 22 regras.
O solver monta a grade sem violação dura.
Pesos e regras mudam no catálogo, e a grade é revalidada.
A mudança entra e o que foi comunicado fica.
Regras, Base, Validação, Geração, Replanejamento e Portal do Instrutor, no desenho "Mesa de Despacho".
Registradas no repositório para a próxima grade.
Restrição que seleciona a matrícula mas lê a turma de forma transitiva corrompe o score incremental. A turma tem de entrar no join explicitamente.
FULL_ASSERT só acusa no cenário certoSem regra de carga máxima, a construção inicial satura o primeiro instrutor e o replanejamento trava em platô.
Regra de carga no modeloA matrícula escolhe só entre as turmas do próprio curso. Uma faixa global coloca gente em curso errado.
turmasDoCurso como rangeAinda não tem endereço aberto. É uma prova de conceito, com telas próprias para a demonstração.
Porque o problema é de grade horária sob restrições. Um solver determinístico diz exatamente quais regras a grade cumpre e quais viola, e chega ao mesmo resultado toda vez.
O motor fica cercado de um processo governado no AlliahFlow, que chama a API do motor por uma etapa de integração.
Nunca entram no repositório, por LGPD. Quem precisa da base real recebe o arquivo por canal seguro; sem ela, a aplicação sobe com dados sintéticos.
A Grade de Capacitação ainda não tem endereço aberto. Fale com a Alliah e peça uma demonstração.
Conhecer a Alliah