Алгоритм или псевдокод для поиска комбинаций из таблицы - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть таблица с тысячами предметов с множеством атрибутов (около 15+). Я хотел бы выбрать следующие результаты:

  1. Выбрать все комбинации элементов, чтобы иметь не менее 100% от каждого атрибута? Точно 100% было бы неплохо, но в этом нет необходимости, поэтому оно может go немного больше или немного меньше (возможно, + -2%).
  2. Все комбинации будут большим набором данных, поэтому я думаю, что это будет Лучше отсортировать их по цене и выбрать только 10 самых дешевых.
  3. Также, если я хотел бы изменить селекторы раньше, чтобы один или несколько атрибутов не могли получить какое-то значение, например, 50%?
| ----------- | ------------ | ----------- | ----------- | ----- |
|  item name  |  attribute 1 | attribute 2 | attribute 3 | price |
|   item 1    |     25%      |     1%      |     5%      |   1€  |
|   item 2    |     10%      |    10%      |    10%      |   2€  |
|   item 3    |      5%      |    20%      |     5%      |   3€  |
|   item 4    |     20%      |    15%      |    50%      |  12€  |

Я не знаю, существует ли существующий алгоритм для моей проблемы (я надеюсь, что так), или у моей проблемы есть имя, которое я могу найти в Google, но я был бы благодарен за любые советы, как мне следует поступить .

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

Количество предметов, цена и значения атрибутов могут меняться со временем. Если бы они были stati c, я бы просто запустил опцию bruteforce и покончил бы с этим.

Извините, если этот вопрос уже задавался.

EDIT:

As Например, я могу предоставить информацию о питании пищи (все цифры составлены):

ежедневное потребление углеводов / жиров / белков составляет 225 г / 30 г / 65 г

| ----------- | --------------- | ------- | --------- | ------ | ----- |
|  item name  |  carbohydrates  |   fat   |  protein  | sodium | price |
|    apple    |       10g       |   1g    |    5g     |   1mg  |   1€  |
|    banana   |       20g       |   2g    |   10g     |   1mg  |   2€  |
|    pear     |       15g       |   3g    |    5g     |   5mg  |   3€  |
| ----------- | --------------- | ------- | --------- | ------ | ----- |
  1. найди мне комбинацию продуктов, которая будет достигать ежедневного потребления.
  2. Теперь я хочу то же самое, что и в 1., но отсортируй по цене / выбери самый дешевый.
  3. Я хочу только комбинации с натрием, а не свыше 30 мг
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...