У меня есть 5 двумерных массивов, содержащих значение элемента и цену элемента, они выглядят так:
A = [
[1, 1],
[2, 5],
[3, 7],
...
]
...
...
E = [
[4, 15],
[12, 25],
[33, 57],
...
]
Первый столбец - это элемент value
, а второй - price
что яхочу получить окончательный набор из 5 значений, в котором каждый элемент будет из другого начального массива, поэтому конечный результат должен выглядеть, например, как [A[1], B[15], C[46], D[3], E[0]]
, критерии для выбранных элементов являются своего рода стандартом для задачи рюкзака - лучшее значение для всех элементов, в то время какудерживая сумму цен выбранных элементов (второй столбец) под заданным порогом, например, 500
как я могу приблизиться к этому? У меня буквально нет идей, как сделать это должным образом, главная проблема для меня заключается в том, что мне нужно выбрать один предмет из каждого набора и максимизировать результат, или, может быть, есть лучший подход к этому вопросу, чем решение рюкзака? В настоящее время я могу думать только о том, что
1) предварительно вычислить все возможные результаты для данных параметров и кэшировать их
2) создать соотношение цена / производительность и упорядочить по ним элементы, а затем найти способнайти примерное лучшее решение