У меня есть таблица с тысячами предметов с множеством атрибутов (около 15+). Я хотел бы выбрать следующие результаты:
- Выбрать все комбинации элементов, чтобы иметь не менее 100% от каждого атрибута? Точно 100% было бы неплохо, но в этом нет необходимости, поэтому оно может go немного больше или немного меньше (возможно, + -2%).
- Все комбинации будут большим набором данных, поэтому я думаю, что это будет Лучше отсортировать их по цене и выбрать только 10 самых дешевых.
- Также, если я хотел бы изменить селекторы раньше, чтобы один или несколько атрибутов не могли получить какое-то значение, например, 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., но отсортируй по цене / выбери самый дешевый.
- Я хочу только комбинации с натрием, а не свыше 30 мг