I don't really know where to begin with solving this problem. I think I'll probably have to use some code but I'm not even sure how to approach the code.
I have two categories and from category 1, I have to pick 5 options and from category 2, I have to pick 1 option. My total budget is 100.0 and each option has a price and an expected value shown below:
Category 1 (Expected Value/Price/EV per unit price):
- 50.5/33.5/1.51
- 37.5/24.8/1.51
- 28.5/23.6/1.21
- 24.5/18.4/1.33
- 26.5/17.3/1.53
- 17.5/13.1/1.28
- 19/16.8/1.13
- 16/16.2/0.99
- 14.5/15.6/0.93
- 6/14.4/0.42
- 3/13.9/0.22
- 3/10.1/0.30
- 8/11.7/0.68
- 3/8.8/0.34
- 8/9.6/0.83
- 7/6.2/1.13
- 2/7.9/0.25
- 2/6.5/0.31
- 7/5.5/1.27
- 2/5.8/0.34
Category 2 (Expected Value/Price):
- 71/38.0/1.87
- 59/25.9/2.28
- 37/18.9/1.98
- 20/18.1/1.10
- 14/17.6/0.80
- 11/15.4/0.71
- 6/12.7/0.47
- 5/8.9/0.56
- 4/6.3/0.63
- 4/6.1/0.66
Is there any strategy I should follow to optimise my expected value while sticking to the budget. There is no reason not to use my entire budget.
Would appreciate it if anyone had any ideas!
This is a variant of the 0-1 knapsack problem.
You can solve it via integer linear programming as follows. Let binary decision variable $x_i$ indicate whether option $i$ is selected. You want to maximize $\sum_i v_i x_i$ subject to linear constraints \begin{align} \sum_{i \in \text{category 1}} x_i &= 2 \\ \sum_{i \in \text{category 2}} x_i &= 1 \\ \sum_i p_i x_i &\le 100 \\ \end{align}
You can also solve it via dynamic programming.