Это может показаться простой проблемой, но я не могу получить хорошее решение. Проблема похожа на проблему с рюкзаком, но слегка изменена.Как выбрать взвешенные предметы, чтобы максимизировать прибыль?
У меня есть сумка с фиксированной емкостью, скажем С. У нас есть список предметов и их вес. Общий вес всех предметов больше, чем C. Как я могу подобрать максимальное количество предметов в сумке (также пытаясь наилучшим образом заполнить сумку)?
Я подумал о сортировке списка и выбора пунктов, пока мешок не будет полностью заполнен, но в приведенном ниже примере опровергают идею
С = 100 и L = 50, 40, 20, 30.
При Я получаю 20, 30, 40, 50, следовательно, мое распределение будет (20 + 30 + 40) = 90. Но мы можем получить лучшую комбинацию (20 + 30 + 50) = 100.
Проблема может быть решен путем преобразования этой проблемы в рюкзак, придавая весам для каждого элемента, эквивалентного его весу. Есть ли другой алгоритм?
Вы хотите увеличить количество предметов, или вы хотите сделать сумку максимально полной? –
@AbhishekBansal: Я хочу сделать сумку максимально полной. – Neo
Существует [метод симплекс] (http://en.wikipedia.org/wiki/Simplex_algorithm). – neeKo