High-speed analytical C++ engine to solve the subset sum problem with exact cardinality constraint (k-Subset Sum). Instantly processes massive instances with giant integers of up to 1000 bits in a constant time of 3 seconds with absolute zero error. Perfect for logistics payload optimization, indexed portfolio balancing, and manufacturing stock-cutting waste reduction.
{"less":{"a":["8","50"],"e":0,"error":"0","sum":"58"},"greater":{"a":["8","50"],"e":0,"error":"0","sum":"58"},"execution_miliseconds":0,"status":"success"}
curl --location --request POST 'https://zylalabs.com/api/13201/k-subset+sum+optimization+api/26939/find+the+elements+with+sum+closest+to+a+target' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"a": [ "1", "2", "4", "8", "50" ],
"target": "58",
"nelem": 2,
"timeoutinmiliseconds": 3000
}'
Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a k-Subset Sum Optimization API basta incluir seu token Bearer no cabeçalho Authorization.
| Cabeçalho | Descrição |
|---|---|
Authorization
|
Obrigatório
Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.
|
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
(Economize 2 meses com cobrança anual 🎉)
Empresas líderes confiam em nós
A API retorna um objeto JSON contendo dois subconjuntos ótimos: "menor" e "maior" Cada subconjunto inclui um array de strings representando os elementos que somam mais próximos de, mas menores ou iguais a, e maiores ou iguais ao alvo, respectivamente
Os campos principais na resposta incluem "menor" e "maior", cada um contendo um array "a" de elementos selecionados, "e" para o número de elementos, "erro" para quaisquer erros de processamento e "soma" para o total do subconjunto. Além disso, "execucao_milisegundos" indica o tempo de processamento
Os dados da resposta estão estruturados como um objeto JSON com duas seções principais: "menor" e "maior" Cada seção contém o subconjunto de elementos sua contagem quaisquer erros encontrados a soma dos elementos e o tempo de execução permitindo fácil análise e utilização
O endpoint aceita quatro parâmetros: "a" (array de strings para números de entrada), "target" (string para a soma alvo), "nelem" (inteiro para o número necessário de elementos) e "timeoutinmiliseconds" (inteiro para o limite de tempo de execução) Cada parâmetro personaliza a solicitação para necessidades específicas
Os usuários podem personalizar suas solicitações ajustando o valor "target" para especificar a soma desejada configurando "nelem" para definir o número exato de elementos no subconjunto e usando "timeoutinmiliseconds" para controlar o tempo máximo de execução garantindo resultados personalizados
Casos de uso típicos incluem logística para balanceamento de carga, finanças para reequilíbrio de portfólio e manufatura para otimização de corte de estoque para reduzir desperdício A API lida eficientemente com grandes conjuntos de dados, tornando-a adequada para problemas complexos de otimização nesses domínios
A precisão dos dados é mantida através do uso de precisão arbitrária para entradas inteiras garantindo que nenhum estouro ocorra O mecanismo C++ emprega algoritmos de poda avançados e processamento paralelo o que aprimora a confiabilidade dos resultados retornados pela API
Se a API não conseguir encontrar um subconjunto válido que atenda aos critérios, ela retornará as melhores soluções descobertas até o timeout. Os usuários devem verificar o campo "erro" na resposta para entender quaisquer problemas e utilizar os subconjuntos "menor" e "maior" para as correspondências mais próximas disponíveis
A API pode processar tanto inteiros positivos quanto negativos de precisão arbitrária permitindo entradas com 10 100 ou até mais de 1000 dígitos Essa capacidade garante que os usuários possam trabalhar com números muito grandes sem encontrar problemas de estouro
Se o tempo de execução exceder o "timeoutinmiliseconds" especificado a API interromperá o processamento e retornará as melhores soluções encontradas até aquele momento Os usuários podem verificar o campo "error" para entender se ocorreu um timeout e utilizar os subconjuntos "less" e "greater" disponíveis
A API opera exclusivamente com inteiros. Para usar números decimais, os usuários devem escalar suas entradas por uma potência de 10 para convertê-las em números inteiros antes da submissão, garantindo a compatibilidade com os requisitos da API
O parâmetro "nelem" especifica o número exato de elementos necessários no subconjunto resultante Isso permite que os usuários personalizem suas solicitações para atender a restrições de cardinalidade específicas garantindo que a saída esteja alinhada com suas necessidades de otimização
A API utiliza um motor C++ de alta velocidade que emprega algoritmos de poda avançados e execução multithread. Esse design permite que ela processe grandes conjuntos de dados rapidamente, alcançando resultados em um tempo constante de aproximadamente 3 segundos
Os usuários devem verificar o campo "erro" na resposta para identificar quaisquer problemas encontrados durante o processamento Esse campo fornece insights sobre o que deu errado permitindo que os usuários ajustem seus parâmetros de entrada ou dados de acordo
O campo "execution_miliseconds" indica o tempo que a API leva para processar a solicitação Essa métrica ajuda os usuários a avaliar o desempenho e a eficiência especialmente ao trabalhar com grandes conjuntos de dados ou prazos apertados
O subconjunto "menor" fornece elementos que somam mais próximos do que não excedem o alvo útil para cenários como restrições orçamentárias O subconjunto "maior" oferece elementos que atendem ou superam o alvo ideal para maximizar a alocação de recursos em logística e finanças