5

У меня есть столбец чисел, и я хотел бы найти лучшую комбинацию из трех из этих чисел. В нашем случае лучшая комбинация - это сумма, максимально приближенная к нашему целевому числу.

Например, у нас есть цель 100 и этот столбец чисел:

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

Если я суммирую 30+70+0=100 эта группа из 3 чисел (30,70,0) является лучшей комбинацией, поскольку она достигает нашего целевого числа, 100. Мы также можем получить другие комбинации, например, 60+30+9=99 и так далее с оставшимися числами.

Есть ли способ через Excel (или что-нибудь еще, если вы имеете в виду), который может перечислить мне лучшую комбинацию из трех чисел (что-то вроде рекурсивного распределения суммы)?

1 ответ1

13

Одним из методов является использование Солвера

  • Поместите свои данные в A1:A12
  • В B13 введите формулу = SUMPRODUCT(A1:A12, B1:B12)
  • Настройте решатель так, чтобы B1:12 был двоичным (то есть 1 или 0)
  • В B14 поставьте "целевой" счет, 100 в вашем примере
  • в B15 положить = ABS (B13-B14)
  • Установите для решателя поиск минимального значения в B15 (чтобы получить точное решение без различий или ближайшее решение с наименьшей возможной разницей)

В этом случае простейшим решением является установка 100 на "вкл" (т. Е. 1), все остальные значения "выкл" (0)

Снимок экрана для xl2003 для решения для 367 ниже (как это сложнее, чем 100)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .