# DATA (DESCRIPTION) -----------------------------------------------------------

set I;

set J;

set T;


# ------------------------------------------------------------------------------

param S{j in J, t in T} >= 0;

param Q{i in I, t in T} >= 0;

param D{i in I, j in J} >= 0;

param F{j in J} >= 0;


# VARIABLES --------------------------------------------------------------------

var x{i in I, j in J}, binary;


# CONSTRAINTS ------------------------------------------------------------------

s.t. c1{i in I} : sum{j in J} x[i,j] = 1;

s.t. c2{j in J, t in T} : sum{i in I} (Q[i,t] * x[i,j]) <= S[j,t];


# OBJECTIVE FUNCTION -----------------------------------------------------------

minimize obj : sum{i in I, j in J} F[j] * D[i,j] * x[i,j];

end;
