cplex java api modelling 1-sum_j 2d array -
मैंने अभिव्यक्ति मॉडलिंग की कोशिश की है Sum_j (1- (Sum_i z [i] [j])) * c [I] [j]
, जहां z [i] [j]
मेरे obj फ़ंक्शन का बुलियन चर है मैंने यह कोशिश की है कि सरणी के प्रत्येक स्तंभ के रूप में एक अभिव्यक्ति के रूप में मॉडलिंग करें और फिर 1-योग की कॉलम के लिए एक अभिव्यक्ति और आगे। कुछ जैसे राशि (प्रोड (राशि (1, ऋणात्मक (sum_j)), c [ij]))
। लेकिन इसे नहीं बनाया मुझे थोड़ी मदद चाहिए धन्यवाद
मेरे उद्देश्य फ़ंक्शन "Sum_i Sum_j c [ij] * z [ij] + Sum_j (1- (Sum_i z [i] [j])) होगा * यूके [j]" , जहां z (ij) निर्णय चर हैं और अन्य ज्ञात हैं मेरी समस्या यह है कि मैं अभिव्यक्ति को छोटे subwepressions में विघटित करने की कोशिश कर रहा हूँ। तो बाद में मैं उन्हें किसी तरह मर्ज करना चाहता हूं।
<पूर्व> IloNumExpr [] colexpr = नया इलोलाइनर न्यूएक्सएप्रप्र। [यात्रियों]; IloNumExpr [] colexpr2 = नया IloLinearNumExpr [यात्रियों]; IloNumExpr [] colprod = नया IloLinearNumExpr [यात्रियों]; IloNumExpr [] firstpart = नया इलोलाइनर न्यूएक्सप्र। [यात्रियों]; IloNumExpr [] finalobj = नया IloLinearNumExpr [यात्रियों]; IloNumExpr [] obj = नया IloLinearNumExpr [यात्रियों]; (I) के लिए उद्देश्य का पहला हिस्सा (इंट i = 0; i & lt; 2; i ++) {for (int j = 0; j & lt; 4; j ++) {firstpart [j] = cplex.prod (डॉ [i] [j] , जेड [आई] [जे]); }} के लिए उद्देश्य का दूसरा हिस्सा (इंट जे = 0; जे एंड एलटी; 4; जे ++) {के लिए (इंट आई = 0; आई & lt; 2; i ++) {cplex.sum (कोलेक्सप्र [जे], 1); } Colexpr2 [j] = cplex.sum (1, cplex.negative (colexpr [j])); } के लिए (इंट जम्मू = 0; जम्मू & lt; 4; j ++) {colprod [j] = cplex.prod (colexpr2 [j], लागत [j]); } // के लिए उद्देश्य फ़ंक्शन के पहले और दूसरे भाग को मर्ज करने की कोशिश कर रहा है (int j = 0; j & lt; 4; j ++) {finalobj [j] = cplex.sum (प्रथम भाग [j], colprod [j]); } के लिए (इंट जे = 0; जे एंड एलटी; 4; जे ++) {//obj[j].addTerm(1.0,finalobj[j]); cplex.addMaximize (finalobj [जे]); }
यह हिस्सा जो मुझे और अधिक भ्रमित करता है वह एक अभिव्यक्ति में सरणी के स्तंभों के योग को कैसे पारित करना है, और कैसे दो भावों को मर्ज करने के लिए और इसे cplex.addMaximize में पास करें। IloNumVar और IlolinearNumVar के कारण कई बार मुझे संकलक त्रुटि मिलती है ArrayStoreException
Comments
Post a Comment