public class VehicleUpdatingVariableListener implements PlanningVariableListener<Customer> {}

7.2 फाइनल में उपरोक्त वर्ग को हटा दिया गया है। Optaplanner के अपने कार्यान्वयन में मैंने updateVehicle विधि के अंदर टुकड़ा कोड लिखा है जो उपरोक्त वर्ग के अंदर है।

protected void updateVehicle(ScoreDirector scoreDirector, Customer sourceCustomer) {}

जोड़ा कोड का उपयोग तब किया जाता है जब वाहन ग्राहक में अपडेट हो जाता है, मैं समकक्ष वाहन को भी अपडेट करता था। समकक्ष : एक अतिरिक्त छाया चर जोड़ा गया।

तो, मैं इसे संस्करण 7.2 में कैसे कर सकता हूं?

1 संपादित करें

protected void updateVehicle(ScoreDirector scoreDirector, Customer sourceCustomer) {
        Standstill previousStandstill = sourceCustomer.getPreviousStandstill();
        Vehicle vehicle = previousStandstill == null ? null : previousStandstill.getVehicle();
        Customer shadowCustomer = sourceCustomer;
        while (shadowCustomer != null && shadowCustomer.getVehicle() != vehicle) {
            scoreDirector.beforeVariableChanged(shadowCustomer, "vehicle");
            scoreDirector.beforeVariableChanged(shadowCustomer.getCounterpartCustomer(),"vehicle");
            shadowCustomer.setVehicle(vehicle);
            scoreDirector.afterVariableChanged(shadowCustomer, "vehicle");
            scoreDirector.afterVariableChanged(shadowCustomer.getCounterpartCustomer(),"vehicle");
            shadowCustomer = shadowCustomer.getNextCustomer();
        }
    }
0
Rahul kumar 4 सितंबर 2017, 11:09

1 उत्तर

सबसे बढ़िया उत्तर

इसका नाम बदलकर ArrivalTimeUpdatingVariableListener कर दिया गया

0
Geoffrey De Smet 4 सितंबर 2017, 12:16
तुरंत जवाब के लिए धन्यवाद। ArrivalTimeUpdatingVariableListener आगमन समय अपडेट करने के लिए है, लेकिन मैं वाहन छाया चर को अपडेट करना चाहता हूं। मैंने कोड स्निपेट के साथ प्रश्न संपादित किया है
 – 
Rahul kumar
6 सितंबर 2017, 12:39