set C; set S; param alpha{C}; param gamma{C}; param p{S}; param D{C,S}; param K; var x{C} >= 0; var y{C,S} >= 0; maximize Profit: sum{c in C, s in S} p[s] * gamma[c] * y[c,s]; subject to Seats: sum{c in C} alpha[c] * x[c] <= K; subject to SeatsReserved{c in C, s in S}: y[c,s] <= x[c]; subject to Demand{c in C, s in S}: y[c,s] <= D[c,s];