I have a question about what type of algorithm I should be using for a fairly straightforward optimization problem.
I have the following data
id,val,score,id1
1,9,0,64
2,4,0,7
3,11,12,53
4,7,0,8
5,4,35,11
6,14,0,31
7,13,29,2
8,10,11,4
9,2,18,18
10,5,6,38
...
I want to choose 3 “good” id
s and 3 “bad” id
s. Without loss of generality, number these 1,2,3 and 4,5,6 respectively. Choose these 6 id
s to maximize:
objective = score[1]+score[2]+score[3]-score[4]-score[5]-score[6]
subject to
constraint1: val[1]+val[2]+val[3] >= val[4]+val[5]+val[6]
constraint2: id[1] !in [id1[4],id1[5],id1[6]]
constraint3: id[2] !in [id1[4],id1[5],id1[6]]
constraint4: id[3] !in [id1[4],id1[5],id1[6]]
This seems like something JuMP would very easily handle. I’m just not quite sure where to start. Any help would be greatly appreciated!