2013-07-30 2 views
9

के लिए हैलो वर्ल्ड उदाहरण मैं अपाचे कॉमन्स का उपयोग करके ऑप्टिमाइज़ेशन समस्या को हल करने का प्रयास कर रहा हूं। मैं कॉमन्स मठ 2. के लिए एक "नमस्ते विश्व" उदाहरण के here पाया लेकिन, मुझे कॉमन्स मठ 3.2 उपयोग करना चाहते हैं और मैं कैसे कोड के इस हिस्से का उपयोग करने पर कोई उदाहरण नहीं मिल सकता है:SimplexSolver

PointValuePair solution = null; 
SimplexSolver solver = new SimplexSolver(); 
solution = solver.optimize(optData); 

specificaly , मुझे नहीं पता कि ऑप्टडाटा क्या है और जहां मैंने बाधा डाली। अगर कोई मुझे org.apache.commons.math3.optim लाइब्रेरी का उपयोग करने के तरीके के बारे में एक "हैलो वर्ल्ड" उदाहरण इंगित करता है तो मैं सराहना करता हूं।

शुभकामनाएं!

उत्तर

9

यह मेरे लिए काम किया:

http://mail-archives.apache.org/mod_mbox/commons-user/201307.mbox/%[email protected].com%3E

अधिकतम cx के लिए मेरे संस्करण: कुल्हाड़ी < = बी, एक्स> = 0. शायद नहीं "हैलो दुनिया" लेकिन मुझे आशा है कि यह मदद करता है:

 LinearObjectiveFunction f = new LinearObjectiveFunction(c, 0); 
     Collection<LinearConstraint> constraints = new 
       ArrayList<LinearConstraint>(); 
     for(int i=0; i<A.length; i++) { 
      double[] Av = new double[A[i].length]; 
      for(int j=0; j<A[i].length; j++) { 
       Av[j] = A[i][j]; 
      } 
      constraints.add(new LinearConstraint(Av, Relationship.LEQ, b[i])); 
     } 

     SimplexSolver solver = new SimplexSolver(); 
     PointValuePair optSolution = solver.optimize(new MaxIter(100), f, new 
       LinearConstraintSet(constraints), 
       GoalType.MAXIMIZE, new 
       NonNegativeConstraint(true)); 


     double[] solution; 
     solution = optSolution.getPoint(); 
+0

क्या आप कह सकते हैं कि यह विधि कार्यान्वयन दो चरण या किसी अन्य का उपयोग करता है? –

संबंधित मुद्दे