Rebalancer é uma biblioteca de alto desempenho que resolve problemas de alocação de recursos. A ferramenta separa especificação, armazenamento, resolução e depuração de problemas. Resolve diariamente 40 milhões de casos.

Rebalancer é uma biblioteca de alto desempenho desenvolvida para resolver problemas de alocação de recursos. A ferramenta separa especificação, armazenamento, resolução e depuração de problemas, transformando-os em grafos direcionados acíclicos. Resolve diariamente 40 milhões de casos, com tempo médio de 12 segundos para problemas com 265 mil objetos e 3,2 mil bins.

A biblioteca utiliza algoritmos de busca local ou programação inteira mista (MIP), com solvers como FICO Xpress, Gurobi ou HiGHS. Foi desenvolvida e utilizada por mais de nove anos, sendo aplicada em cenários como alocação de tarefas, servidores e tráfego. A versão offline do solver é usada para otimizar soluções locais, medindo escalabilidade.

A ferramenta é liberada como código aberto, permitindo que outros desenvolvam e adaptam suas funcionalidades. Rebalancer também suporta diversos solvers, incluindo FICO Xpress, Gurobi e HiGHS, permitindo flexibilidade na resolução de problemas.

Agora, usuários que lidam com alocação de recursos ganham mais eficiência.

A biblioteca também suporta diversos algoritmos e solvers, o que amplia as possibilidades de uso. A separação entre especificação, armazenamento e resolução torna o processo mais claro. Isso reduz erros e aumenta a confiabilidade.

A biblioteca é publicada com licença aberta, permitindo que outros a utilizem e melhorem. A publicação de um artigo sobre o tema mostra o impacto da ferramenta. A liberação como código aberto pode acelerar inovações no campo.

Rebalancer também consegue resolver 40 milhões de problemas diários, o que mostra sua escala e eficácia. A capacidade de transformar problemas em grafos direcionados acíclicos é um recurso que simplifica a depuração e a análise. Isso ajuda quem trabalha com alocação de recursos a identificar gargalos mais rapidamente.

Rebalancer troca a forma de resolver problemas de alocação com uma abordagem baseada em grafos e algoritmos de busca local. Isso gera ganhos de eficiência em cenários de alta complexidade. A biblioteca transforma problemas em grafos direcionados acíclicos, permitindo uma representação mais flexível.

Rebalancer usa a versão offline do solver para otimizar soluções locais, aumentando a eficiência em processos repetitivos. A separação entre especificação, armazenamento, resolução e depuração permite maior controle sobre cada etapa do problema. Essa abordagem é aplicada em cenários como alocação de servidores e tráfego, onde a precisão e a velocidade são críticas.

Ficha técnica

Ficha técnica
ItemEspecificação
Resolução de problemasdiariamente 40 milhões de problemas
Número de objetos265k
Número de bins3.2k
LicençaApache 2.0
Publicação de artigoOSDI’24

Sem confirmação

  • Preço e data no Brasil não informados
  • Desempenho em cenários com mais de 1 milhão de objetos e 5k bins não informado

Fontes

  1. Rebalancer generic high performance library assignment problemsengineering.fb.com