Encontre uma combinação de valores com a soma mais próxima do número

5

Eu tenho uma coluna de números e gostaria de encontrar a melhor combinação de três desses números. No nosso caso, a melhor combinação é uma soma o mais próxima possível do número da nossa meta.

Por exemplo, temos uma meta de 100 e essa coluna de números:

15
70
36
60
30
53
37
17
0
75
100
9

Se eu somar 30+70+0=100 esse grupo de 3 números (30,70,0) é a melhor combinação, pois atinge o número da meta, 100. Também podemos obter outras combinações como 60+30+9=99 e assim por diante. números restantes.

Existe um caminho através do Excel (ou qualquer outra coisa que você tenha em mente) que possa me listar a melhor combinação de três números (algo como a distribuição sumária recursiva)?

    
por Excellll 27.11.2011 / 10:28

1 resposta

13

Um método é usando o Solver

  • Coloque seus dados em A1: A12
  • Em B13, coloque uma fórmula = SUMPRODUCT (A1: A12, B1: B12)
  • Configure o solucionador para que B1: 12 seja binário (ou seja, 1 ou 0)
  • Em B14, coloque uma pontuação "alvo", 100 no seu exemplo
  • em B15 put = ABS (B13-B14)
  • Defina o solucionador para procurar o valor mínimo em B15 (para fornecer uma solução exata sem diferença ou a solução mais próxima com a menor diferença possível)

Nesse caso, a solução mais simples é definir 100 como "on" (ou seja, 1), todos os outros valores es "off" (0)

Screenshot para xl2003 para resolução de 367 abaixo (como isso é mais complexo do que 100)

    
por 27.11.2011 / 11:36