एक प्रोजेक्ट के लिए मैं सही आउटपुट चुनने का प्रयास कर रहा हूं यदि बनाए गए एजेंट का पैरामीटर सत्य है। एजेंट मुख्य में बनाया जाता है लेकिन आउटपुट के चयन के लिए एक अलग एजेंट में चला जाता है। यदि मैं मुख्य में चयन का उपयोग करता हूं और पैरामीटर के लिए कथन का उपयोग शर्त के रूप में करता हूं तो यह ठीक काम करता है। जब भी यह एजेंट में प्रवेश करता है और मैं उसी कथन का उपयोग करता हूं तो यह एक त्रुटि देता है (विवरण: उत्पाद 1 को हल नहीं किया जा सकता है या कोई फ़ील्ड नहीं है। स्थान: टेस्टकेस 5/परिवहन/चयन आउटपुट - चयन आउटपुट)।

मैंने main.agent.product1 जैसी विभिन्न स्थितियों का उपयोग करने का प्रयास किया। मामला सुलझता नजर नहीं आ रहा है। मुझे पता है कि इसे शायद घोषणा के साथ कुछ करना है, लेकिन मैं इस समय अनजान हूं।

// उस स्थिति के लिए जो काम करता है अगर मैं चयन आउटपुट को मुख्य में डालता हूं

एजेंट.उत्पाद1

// एजेंट में शर्त के लिए मैंने वही कोशिश की लेकिन काम नहीं किया। कोशिश भी की

Main.agent.product1 // वही त्रुटि देता है लेकिन के लिए (विवरण: एजेंट को हल नहीं किया जा सकता है या कोई फ़ील्ड नहीं है।)

(मुख्य)एजेंट.उत्पाद1 //और कुछ और

0
ThirdEchelon 27 मई 2019, 10:23

1 उत्तर

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

AnyLogic में प्रोजेक्ट प्रवाह के प्रत्येक ब्लॉक (चाहे प्रक्रिया मॉडलिंग लाइब्रेरी, पैदल यात्री पुस्तकालय या किसी अन्य से) में एजेंट का प्रकार होता है जो इसके गुणों में परिभाषित होता है। आप इस सेटिंग को एजेंट प्रकार के रूप में ब्लॉक की प्रॉपर्टी में उन्नत के अंतर्गत पा सकते हैं।

block agent type definition

यदि आप इसे सही ढंग से सेट करने में विफल रहते हैं (मतलब यह सेटिंग उस प्रकार के एजेंटों के बराबर होती है जिसे आप इसके माध्यम से प्रवाहित होने देते हैं), तो यह अभी भी प्रवाहित होगा, लेकिन: आप एजेंट प्रकार के विशिष्ट गुणों तक नहीं पहुंच सकते।

उस ने कहा, आमतौर पर आपको इसके बारे में सोचने की ज़रूरत नहीं है, क्योंकि AnyLogic में एक स्वचालितता है: आपके प्रक्रिया प्रवाह का पहला ब्लॉक, आमतौर पर एक स्रोत-ब्लॉक या एंटर-ब्लॉक एकमात्र ऐसा ब्लॉक है जहां आपको सही सेटिंग करनी है , सभी संलग्न ब्लॉक इसे स्वचालित रूप से प्राप्त करते हैं!

source agent type settings

हालांकि यह काम नहीं करता है जब:

  • आपके पास अलग-अलग प्रवाह हैं (उदाहरण के लिए आप एक निकास-ब्लॉक के माध्यम से एक प्रवाह छोड़ते हैं और एक एंटर द्वारा दूसरे में प्रवेश करते हैं)। आपको दूसरी प्रक्रिया प्रवाह के पहले ब्लॉक के लिए भी मैन्युअल रूप से सही सेटिंग डालनी होगी।

  • आपका प्रक्रिया प्रवाह दूसरे एजेंट/कस्टम ब्लॉक के अंदर जारी है, जैसा कि आपके उदाहरण में है। AnyLogic को पता नहीं है कि आपके कस्टम ब्लॉक के अंदर प्रक्रिया प्रवाह तार्किक रूप से मुख्य रूप से बाहरी प्रक्रिया प्रवाह से जुड़ा है। आपको अपने कस्टम ब्लॉक के अंदर अपनी प्रक्रिया के पहले ब्लॉक में प्रवाहित होने वाले एजेंट प्रकार को मैन्युअल रूप से फिर से निर्दिष्ट करना होगा।

0
Florian 27 मई 2019, 11:41