# Optimise number of points scored with a fixed budget

Here is my problem:

• I have 50 pounds to spend
• There are 445 players available at various prices
• Each player has scored a random number of points

Is there a formula that will give me the the optimal combination of 11 players in terms of total points scored, where the amount I spend is less than or equal to £50?

I have been working on this programatically. My method would be to first select the top 11 point-scorers (which results in a total cost that is way over budget), and then iterate through to substitute the top scoring player that isn't in my team with the lowest scoring player that is in my team - so long as the incoming player is less expensive than the outgoing player - until my budget condition is met.

I'm unsure whether or not I need to focus on the points per pound value - wouldn't this lead me to the most efficient team, but not necessarily a team optimised for points scored?

• This is call a "Knapsack Problem". You find an overview here. A 200 page thesis with Knapsack algoritms. – Axel Kemper Aug 22 '16 at 20:39
• Thanks very much. Now to solve. – Callum Aug 22 '16 at 20:44