← Últimos artigos
💻 computer science

Compact SAT and MaxSAT Encodings for Business-to-Business Meeting Scheduling with Idle-Time Balancing

Este artigo introduz codificações compactas de SAT e MaxSAT para o agendamento de reuniões entre empresas que utilizam filtragem de domínio e variáveis compartilhadas para reduzir significativamente a contagem de cláusulas e o uso de memória, ao mesmo tempo em que minimiza os intervalos de tempo de ociosidade dos participantes, superando tanto uma formulação MaxSAT publicada quanto o solver comercial Gurobi em eficiência de resolução.

Autores originais: Long Duc Nguyen, Tuyen Van Kieu, Khanh Van To

Publicado 2026-08-04
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Long Duc Nguyen, Tuyen Van Kieu, Khanh Van To

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você é o organizador de festas definitivo para uma convenção de negócios massiva e de alto nível. Você tem centenas de pessoas que precisam ter reuniões individuais, mas todos têm horários diferentes, algumas salas são minúsculas enquanto outras são enormes, e certas reuniões devem acontecer antes que outras possam começar. Seu objetivo não é apenas conseguir uma reunião para todos; é garantir que ninguém fique sentado entediado por muito tempo entre seus compromissos. Este é o quebra-cabeça caótico do "agendamento de reuniões Business-to-Business (B2B)".

Para resolver isso, cientistas da computação usam um tipo especial de jogo lógico chamado SAT (Satisfatibilidade). Pense no SAT como um detetive superinteligente que verifica se um conjunto de regras pode ser verdadeiro ao mesmo tempo. Se você disser ao detetive: "A Reunião A deve ocorrer antes da Reunião B, mas a Reunião B deve ocorrer antes da Reunião A", o detetive dirá instantaneamente: "Impossível!". Mas se as regras forem complicadas, porém possíveis, o detetive encontra um cronograma válido. Outra versão, o MaxSAT, é como um detetive que não apenas encontra um cronograma válido, mas também tenta torná-lo perfeito ao minimizar quanto tempo as pessoas passam esperando. Este trabalho mergulha em como podemos tornar esses detetives lógicos mais rápidos e inteligentes ao organizar esses eventos de negócios complexos.

O Problema: Uma Teia Emaranhada de Reuniões

No mundo das reuniões de negócios, as coisas ficam bagunçadas rapidamente. Você tem uma lista de reuniões, uma lista de intervalos de tempo e uma lista de salas. As regras são rígidas:

  1. Sem Sobreposição: Uma pessoa não pode estar em dois lugares ao mesmo tempo.
  2. Limites de Sala: Uma sala não pode comportar mais reuniões do que sua capacidade.
  3. Precedência: Algumas reuniões devem acontecer antes de outras (como um briefing matinal antes de um workshop à tarde).
  4. O Problema do "Tempo Ocioso": O verdadeiro pesadelo é o "tempo ocioso". Se um participante tem uma reunião às 9:00 e a próxima não é até as 11:00, ele tem duas horas de "tempo ocioso". O objetivo desta pesquisa é equilibrar isso para que ninguém fique esperando por horas enquanto outros esperam apenas alguns minutos. Trata-se de justiça e eficiência.

O Jeito Antigo vs. O Jeito Novo

Os pesquisadores analisaram um método existente (chamado ORG-MAXSAT) que já era muito bom. No entanto, eles notaram que era como tentar organizar uma festa escrevendo cada combinação possível de convidados e horários, mesmo aqueles que eram obviamente impossíveis. Era volumoso, lento e consumia muita memória do computador.

A equipe da VNU University of Engineering and Technology, no Vietnã, decidiu construir uma versão "compacta". Eles introduziram três truques principais para encolher o problema:

  1. O Filtro de "Pré-Verificação" (Filtragem de Domínio): Antes mesmo de pedir ao detetive de computador para resolver o quebra-cabeça, eles adicionaram um filtro inteligente. Este filtro analisa as regras e imediatamente descarta opções impossíveis. Por exemplo, se uma reunião deve acontecer após outra que termina às 14:00, o filtro remove instantaneamente quaisquer intervalos de tempo antes das 14:00 da lista de possibilidades. Isso é como limpar a bagunça de uma mesa antes de tentar encontrar uma caneta específica. Eles provaram que este filtro nunca descarta uma solução válida; ele apenas remove o lixo.
  2. A "Escada Compartilhada" (Codificação de Sufixo Compartilhado Esparso): Ao lidar com as regras de "deve acontecer antes de", o método antigo escrevia uma nota separada para cada par de reuniões. Se você tivesse 100 reuniões, seriam milhares de notas. O novo método percebeu que muitas dessas notas diziam a mesma coisa. Em vez de escrever "Reunião A antes de B", "Reunião A antes de C" e "Reunião A antes de D" separadamente, eles criaram uma "escada" de lógica compartilhada. Eles reutilizam variáveis para situações semelhantes, como usar uma chave mestra para várias portas em vez de fazer uma chave nova para cada fechadura.
  3. A Pontuação de "Justiça" (Equilíbrio do Tempo Ocioso): Em vez de apenas contar quantas pausas as pessoas têm, eles criaram uma nova maneira de medir o "tempo ocioso". Eles olharam para o tempo entre a primeira reunião de uma pessoa e sua última reunião. Se alguém tem reuniões às 9:00 e às 11:00, seu "intervalo" é de duas horas. Se a pessoa tivesse apenas uma reunião, ela teria zero tempo ocioso. O objetivo é garantir que a diferença entre o tempo ocioso da pessoa mais ocupada e o da pessoa menos ocupada seja a menor possível.

O Que Eles Descobriram

Os pesquisadores testaram seu novo método "Compacto" contra o método antigo e contra alguns softwares comerciais muito poderosos (como Gurobi e CPLEX) em 126 casos de teste oficiais e 100 casos extras de "teste de estresse" com ainda mais reuniões.

Aqui estão os resultados, que são bastante impressionantes:

  • Tamanho Menor: O novo método reduziu o número de "cláusulas" lógicas (as regras que o computador precisa verificar) em 40,3% em média.
  • Menos Memória: Ele usou 55,9% menos memória de pico. Imagine precisar de metade da RAM para resolver o mesmo quebra-cabeça.
  • Velocidade Maior: O tempo total para resolver os problemas caiu 14,0%.
  • O Poder da Filtragem: O uso apenas do filtro de "Pré-Verificação" cortou o número de variáveis em 24,1% e as regras em 16,2%.
  • O Poder do Compartilhamento: O truque da "Escada Compartilhada" reduziu em mais 0,5% a 5,5% o número de regras, dependendo de quão lotado estava o cronograma.

O Veredito

A parte mais emocionante é que seus novos métodos compactos de SAT e MaxSAT foram capazes de resolver todos os 126 casos de teste oficiais. Melhor ainda, eles fizeram isso mais rápido do que o principal solver comercial, o Gurobi, em termos de tempo mediano. Enquanto outras ferramentas comerciais (como CPLEX e CP Optimizer) tiveram dificuldade para resolver todos os casos dentro do limite de tempo, a nova abordagem baseada em SAT lidou com todos eles.

O artigo não afirma ter resolvido os problemas de agendamento do universo para sempre, mas certamente mostrou que, ao limpar as regras e compartilhar o trabalho de forma mais inteligente, podemos tornar os computadores muito melhores em organizar nossas vidas ocupadas. Eles transformam um nó enorme e emaranhado de reuniões em um cronograma organizado e equilibrado, onde todos têm sua parte justa de tempo e ninguém fica esperando no corredor por muito tempo.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →