set PRODUCTOS; set UBICACIONES; param VP{i in PRODUCTOS}; param CapV{j in UBICACIONES}; param TD{j in UBICACIONES}; param TS{j in UBICACIONES}; param TB{j in UBICACIONES}; param O{i in PRODUCTOS}; param CP{i in PRODUCTOS}; var X{i in PRODUCTOS,j in UBICACIONES}>=0 integer; var Y{i in PRODUCTOS,j in UBICACIONES} binary>=0; minimize TIEMPO: sum{i in PRODUCTOS,j in UBICACIONES}((TD[j] + TS[j] + TB[j] )*O[i]*(X[i,j]/CP[i])); subject to R1{i in PRODUCTOS}: sum{j in UBICACIONES}(Y[i,j])>=1; subject to R2{i in PRODUCTOS,j in UBICACIONES}: X[i,j]<=CP[i]*Y[i,j]; subject to R3{j in UBICACIONES}: sum{i in PRODUCTOS}(X[i,j]*VP[i])<=CapV[j]; subject to R4{i in PRODUCTOS}: sum{j in UBICACIONES}(X[i,j])=CP[i];