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!