For some reason, when I use the min function, I get errors asking for a set at the start of the bracket: min[,… even though i and j are controlled. I’m not sure exactly what it wants.

Not clear what happens, you probably should upload your entire model to allow us to see what’s going on. The following (non-sense) model compile just fine:

set i /1/; alias (i,j)
parameter x(i) /1 1/, U(i) /1 1/, y(i) /1 1/, t(i,j) /1.1 1/;
variable z(i,j),obj;
equation defobj, e(i, j);
e(i, j).. t(i, j) =l= min[x(i) * U(i), y(j) * U(j)] * z(i, j);
defobj.. obj =e= 0;
model m /all/;
solve m min obj us lp;

After playing around with the sample you posted I figured out the issue I was having: I had declared an identifier called “min” as a variable elsewhere in the model. I changed this identifier’s name and the min function is working properly again.