我並不完全確定問這個問題的最佳方法(或者做研究以查看它是否已經被回答過)。預算內最高值的算法
給定的數據集,其中的每一項都有一個點值和一美元的價值,我期待生成產生最高總點值,而預算B.
例內停留長度爲N項的列表數據集:
Item Points Dollars
Apple 3.0 $1.00
Pear 2.5 $0.75
Peach 2.8 $0.88
而與此(小)的數據集,說我的預算(B)是$ 2.25,和列表長度(N)必須2.您必須使用固定列表的長度,但不需要使用所有的預算。
很明顯,提供的例子很容易做到,但是如果給定一個更大的數據集,並且N和B的值都更高,那麼我正在尋找一個可以生成列表的算法。困難的時光纏繞着我的頭。
只是尋找一個僞算法,但如果你喜歡任何給定的語言隨時迴應!
這是揹包問題。 https://en.wikipedia.org/wiki/Knapsack_problem – 2015-11-04 22:45:17
它似乎是揹包問題。非常感謝鏈接! –
請注意,就困難問題而言,揹包非常容易。如果點數/美元比率存在顯着變化,那麼整數程序求解器可能會合理快速地找到最優解。 –