You have indexing issues in several constraint declarations. For example, it does not make sense to use "j in SUPPLIERS" and "p in PRODUCTS" in both places here: constraint inv_flow1 {j in SUPPLIERS, m in RAW_MATERIALS, p in PRODUCTS}: sum {j in SUPPLIERS} raw_quantity_1[j,m] + initial_1 = inv_raw1 + sum {p in Products} bill_ratio[m,p]*pro_size1 ; I suspect that you mean instead: constraint inv_flow1 {m in RAW_MATERIALS}: sum {j in SUPPLIERS} raw_quantity_1[j,m] + initial_1 = inv_raw1 + sum {p in Products} bill_ratio[m,p]*pro_size1 ; But you might have meant: constraint inv_flow1 {j in SUPPLIERS, m in RAW_MATERIALS, p in PRODUCTS}: raw_quantity_1[j,m] + initial_1 = inv_raw1 + bill_ratio[m,p]*pro_size1 ; Please correct these and see if that takes care of things. By the way, you might find the EXPAND statement helpful to see whether the model you generated is what you intended: SAS/OR(R) 13.2 User's Guide: Mathematical Programming
... View more