Grade de CapacitaçãoGrade de CapacitaçãoConhecer a Alliah
Logística de capacitação

A grade de treinamentos, resolvida por um motor de otimização

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.

Regras · catálogo
0
premissas do negócio como regras executáveis
Modos · motor
0
validar, gerar e replanejar
Validação · base real
~0 ms
para radiografar a grade inteira
Matrículas · geração
+1.000
alocadas sem violação dura em cerca de 2 min
O problema

Não é um problema de IA: é uma grade sob restrições

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 planilha manda no processo

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 XLSX

Prompt não garante regra

Uma 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ístico

Mudança não pode desfazer a grade

Quando 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 pin
Recursos

Um motor de grade com o domínio do caso real

Turma, slot, instrutor, curso, pessoa, matrícula e indisponibilidade modelados como no caso real, com telas próprias para a demonstração.

01

Validar

Radiografa uma grade que já existe contra o catálogo de regras, em cerca de 83 ms na base real.

02

Gerar

Constrói a grade do zero: 0 violações duras em cerca de 2 minutos com mais de mil matrículas.

03

Replanejar

Absorve uma mudança preservando o máximo da grade já comunicada, com turmas e matrículas fixadas: "1 mudou, 64 preservadas".

04

Catálogo de regras

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.

05

Importador XLSX

Lê a base real uma única vez. Sem a base, a aplicação sobe com um gerador de dados sintéticos.

06

Ligado ao AlliahFlow

A API dispara e acompanha o solve e serve as telas. É o endpoint que o AlliahFlow chama por uma etapa de integração.

Como funciona

Da base à grade replanejada

O motor fica cercado de um processo governado: cada passo tem regra explícita, e nenhuma resposta depende de um prompt.

Importar

A base real entra uma vez pelo importador XLSX.

Validar

A grade atual é medida contra as 22 regras.

Gerar

O solver monta a grade sem violação dura.

Ajustar regras

Pesos e regras mudam no catálogo, e a grade é revalidada.

Replanejar

A mudança entra e o que foi comunicado fica.

Telas

Seis telas para a demonstração

Regras, Base, Validação, Geração, Replanejamento e Portal do Instrutor, no desenho "Mesa de Despacho".

RegrasO catálogo das 22 premissas, cada uma dura, relaxável com custo ou fora do motor.
BaseO domínio do caso real, carregado da base real ou do gerador sintético.
ValidaçãoA grade que existe hoje, radiografada contra as regras.
GeraçãoO solver constrói a grade inteira e acompanha o progresso até o fim.
ReplanejamentoA mudança absorvida, com o máximo da grade comunicada preservado.
Portal do InstrutorA sexta tela da demonstração, a do instrutor.
O que está por baixo

O que está por baixo

Motor e dados

  • SolverTimefold Solver Community, Apache-2.0
  • DomínioTurma, Slot, Instrutor, Curso, Pessoa, Matrícula e Indisponibilidade
  • ImportaçãoApache POI, para a base em XLSX
  • Testesmotor coberto por TDD com ConstraintVerifier

Aplicação

  • APISpring Boot: dispara e acompanha o solve e serve as telas
  • Telasfrontend React com seis telas
  • Integraçãoetapa de integração do AlliahFlow
  • Sem base realgerador de dados sintéticos
Lições técnicas

O que o Timefold ensinou

Registradas no repositório para a próxima grade.

Corrupção silenciosa do score

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 certo

Carga por instrutor é obrigatória

Sem regra de carga máxima, a construção inicial satura o primeiro instrutor e o replanejamento trava em platô.

Regra de carga no modelo

Faixa de valores por entidade

A matrícula escolhe só entre as turmas do próprio curso. Uma faixa global coloca gente em curso errado.

turmasDoCurso como range
Perguntas frequentes

Antes da apresentação

Já dá para abrir?

Ainda não tem endereço aberto. É uma prova de conceito, com telas próprias para a demonstração.

Por que um motor de otimização e não IA?

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.

Onde entra o AlliahFlow?

O motor fica cercado de um processo governado no AlliahFlow, que chama a API do motor por uma etapa de integração.

E os dados reais?

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.

Veja o motor de grade em ação

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