set A := { "a", "b", "c", "d" };

param w[A] := <"a"> 5, <"b"> 3, <"c"> 2, <"d"> 7;
param v[A] := <"a"> 7, <"b"> 3, <"c"> 4, <"d"> 6;
   

var x[A] binary;

maximize knapsack_value:
    sum <i> in A: v[i] * x[i];

subto weight_limit:
    sum <i> in A: w[i] * x[i] <= 10;