set I; set J; set K; set L; param BE{I}; # Right hand side of equality constraint inequalities param BL{J}; # RHS of less than constraints param BG{K}; # RHS of greater than constraints param C{L}; # Objective function coefficients param AE{I,L}; # Left hand side variable coefficients of equality constraints param AL{J,L}; param AG{K,L}; var X{L} >= 0; # Variables with positivity constraints # uncomment either minimize or maximize minimize Z: # maximize Z: sum {l in L} C[l]*X[l]; subject to eqconstraints {i in I}: sum {l in L} AE[i,l]*X[l]=BE[i]; subject to leconstraints {j in J}: sum {l in L} AL[j,l]*X[l]<=BL[j]; subject to geconstraints {k in K}: sum {l in L} AG[k,l]*X[l]>=BG[k];