2010-01-29 16 views
10

मैं फैक्ट्री फ्लोर का सिमुलेशन बनाना चाहता हूं, और मैं इस बारे में विचारों की तलाश में हूं कि यह कैसे करें। मेरे विचार अब तक हैं:फैक्ट्री फ्लोर सिमुलेशन

• एक कारखाना प्रक्रियाओं का एक समूह बन गया है, इनमें से कुछ प्रक्रियाएं श्रृंखला में हैं और कुछ समानांतर हैं। प्रत्येक प्रक्रिया तो उससे संपर्क हैं उन्हें पता है की डाल

प्रत्येक प्रक्रिया • के माध्यम से है यह बताने के लिए अपस्ट्रीम और डाउनस्ट्रीम और समानांतर पड़ोसियों है होगा यह अधिकतम प्रवाह की तरह खुद बुनियादी विशेषताओं, के माध्यम से

डाल जाहिर की वजह से रखरखाव की लागत है मैंने पूरी तरह से यह नहीं सोचा है, लेकिन मैं उम्मीद कर रहा था कि कोई मुझे कुछ विचार या शायद एक लाइन संसाधन

अद्यतन: यह प्रोजेक्ट केवल मेरे मनोरंजन के लिए है, और शायद सीख सकता है रास्ते से थोड़ा सा लंबा। मैं प्रोग्रामर के रूप में नियोजित नहीं हूं, प्रोग्रामिंग सिर्फ मेरे लिए एक शौक है। मैंने इसे सी # में लिखने का फैसला किया है।

+2

+1 दिलचस्प सवाल। ऐसा लगता है कि आप एक गणितीय मॉडलिंग चाहते हैं ताकि आप कुछ चर (मूल्य, क्षमता, आदि) को अनुकूलित कर सकें। मुझे यकीन नहीं है कि आप _really_ "सिमुलेशन" चाहते हैं। – dss539

+0

मैं काम करता हूं एक कारखाना है और कभी-कभी हम डालकर बढ़ाते हैं। इस वृद्धि में अन्य विभागीय बजट जैसे बिजली की लागत में वृद्धि, रखरखाव लागत में वृद्धि और उपकरणों के जीवनकाल को कम करने के कई नकारात्मक प्रभाव पड़ते हैं। हालांकि, थ्रूपुट और इसकी लागत में बदलावों को आजमाने और अनुकरण करना मजेदार होगा। मैं एक पेशेवर प्रोग्रामर नहीं हूं लेकिन मैं थोड़ा सा डब करता हूं और मैंने सोचा कि यह एक मजेदार परियोजना होगी। – fishhead

+0

आपकी टिप्पणी मेरे विचार को मजबूत करती है कि आप एक गणितीय मॉडल चाहते हैं। मैं मानता हूं, यह एक मजेदार परियोजना की तरह लगता है। जब आप कुछ मानकों के लिए अनुकूलित करना शुरू करते हैं तो यह और भी मजेदार हो जाएगा। ;) आप केवल स्प्रेडशीट का उपयोग करके इस चर के बहुत सारे मॉडल का मॉडल कर सकते हैं ... निश्चित रूप से ऐसा करने के लिए एक प्रोग्राम लिखना अधिक मजेदार हो सकता है। – dss539

उत्तर

3

एक पूरे कारखाने को सटीक रूप से सिमुलेट करना एक बड़ी नौकरी है।

सबसे पहले आपको यह पता लगाना होगा: आप सिमुलेशन क्यों बना रहे हैं? यह किसके लिए है? यह उन्हें क्या मूल्य देगा? सिमुलेशन के कौन से हिस्से दिलचस्प हैं? यह कितना सटीक होना चाहिए? प्रक्रिया के किस हिस्से को सटीक अनुकरण करने की आवश्यकता नहीं है?

इन सवालों के जवाब जानने के लिए, आपको जो भी सिमुलेशन लिखा है, उससे बात करने की आवश्यकता होगी।

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

आप घटकों को तोड़ने की संभावनाओं पर भी विचार करना चाहेंगे, और इससे क्या असर हो सकता है। हड़ताल पर चल रहे श्रमिकों के बारे में क्या? कच्चे माल की अनुपलब्धता? मशीनरी के साथ धीरे-धीरे कम उत्पादन के कारण मशीनरी पहनें और फाड़ें? फिर आप इन विवरणों पर विचार नहीं करना चाहेंगे, यह इस बात पर निर्भर करता है कि ग्राहक क्या चाहता है।

यदि आपके सिमुलेशन में यादृच्छिक घटनाएं शामिल हैं, तो आप इसे कई बार चलाने और औसत परिणाम प्राप्त करना चाहेंगे, उदाहरण के लिए Monte Carlo सिमुलेशन का उपयोग करना।

एक बेहतर उत्तर देने के लिए, हमें आपको अनुकरण करने और जो हासिल करना है, उसके बारे में और जानने की आवश्यकता है।

+0

मैं प्रोग्रामर के रूप में काम नहीं करता हूं। यह सिर्फ एक मजेदार परियोजना की तरह लगता है, और शायद प्रोग्रामिंग के बारे में थोड़ा और सीखो। मुझे उम्मीद नहीं है कि एप्लिकेशन किसी के लिए किसी भी रुचि के लिए होगा। – fishhead

+1

इस प्रकार का आवेदन निश्चित रूप से उन लोगों के लिए दिलचस्प है जो उत्पादन प्रक्रिया का प्रबंधन करते हैं, और इस तरह के अनुप्रयोगों को विकसित करने में बहुत समय और पैसा जाता है। यह एक आसान प्रोजेक्ट नहीं है, लेकिन यदि आप अपनी प्रक्रियाओं को अनुकूलित करने, विफलता दर को कम करने के लिए अपने सिमुलेशन का उपयोग कर सकते हैं, तो यह बहुत अच्छा भुगतान करता है। यदि आप सिर्फ प्रोग्राम सीखना सीखना चाहते हैं, तो शायद यह सीखने के लिए एक आदर्श परियोजना नहीं है जटिल है और आपके पास शायद काम करने के लिए कोई वास्तविक डेटा नहीं होगा। –

+0

हो मेरे पास असली डेटा है - सभी औद्योगिक SQL सर्वर और डेटा के सभी पिछले 4 वर्षों के लिए सीधा कनेक्शन। मेरे पास रखरखाव डेटाबेस से कनेक्शन भी हैं और श्रम, ठेकेदारों और भागों सहित इसकी लागत – fishhead

0

ऑटोमॉड जाने का रास्ता है। http://www.appliedmaterials.com/products/automod_2.html

सीखने के लिए बहुत कुछ है, और यह सस्ता नहीं होगा।

एएसआई का ऑटोमॉड फैक्ट्री सिमुलेशन व्यवसाय में लगभग 30 वर्षों से रहा है। यह अब एप्लाइड सामग्री के स्वामित्व में है। वेयरहाउस में भौतिक हैंडलिंग के साथ काम करने वाले बड़े खिलाड़ी ऑटोमॉड का उपयोग करते हैं क्योंकि यह सिद्ध नेता है।

+0

यह क्यों कम किया गया था? मुझे ऑटोमोड के बारे में कुछ भी पता नहीं है, लेकिन क्या कोई डाउनवोट समझा सकता है? – dss539

+0

मैंने डाउनवॉटेड किया क्योंकि यह ऑटोमोड का उपयोग क्यों किया जाना चाहिए इसके लिए कोई समर्थन नहीं देता है, और आम तौर पर कारखाने को अनुकरण करने के बारे में कोई सलाह नहीं देता है। –

+0

@ स्कोटी मेला पर्याप्त है, लेकिन यह उत्तर जिम सी के जवाब के समान लगता है। – dss539

0

यह हो सकता है कि आप जो भी खोज रहे हैं, लेकिन visual components एक अच्छा औद्योगिक सिमुलेशन टूल है।

स्पष्ट होने के लिए मैं उनके लिए काम नहीं करता हूं और न ही कंपनी जो मैं वर्तमान में उनका उपयोग करने के लिए काम करता हूं, लेकिन हमने उन्हें देखा है।

3

चूंकि आपका ग्राहक स्वयं है, इसलिए आपको Mark Byers से पूछे गए सभी सवालों के जवाब का निर्णय लेना होगा। हालांकि, मैं आपको कुछ सुझाव दूंगा और उम्मीद है कि वे आपको एक शुरुआत देंगे।

मान लीजिए कि आपका कारखाना कुछ अलग-अलग हिस्सों को लेता है और उन्हें केवल एक तैयार उत्पाद में इकट्ठा करता है। विधानसभा प्रक्रिया का एक प्रवाह संचित्र इस प्रकार दिखाई देंगे:

Factory Flowchart http://img62.imageshack.us/img62/863/factoryflowchart.jpg

पहले हीरा, जहां ए और बी इकट्ठे होते हैं विजेट लिए, मान लें कि यह इस चरण को पूरा करने के लिए औसत 30 सेकंड पर ले जाता है। हम अनुमान लगाएंगे कि दो विजेट्स को इकट्ठा करने के लिए वास्तविक समय लगता है, normally वितरित किया गया है, जिसका अर्थ है 30 एस और भिन्नता 5 एस। दूसरे हीरे के लिए, मान लीजिए कि यह औसत 30 सेकंड भी लेता है, लेकिन अधिकांश समय में यह लगभग इतना लंबा नहीं लगता है, और दूसरी बार इसमें बहुत अधिक समय लगता है। यह exponential distribution द्वारा अनुमानित रूप से अनुमानित है, 30 पैरा के साथ रेट पैरामीटर के रूप में, अक्सर लैम्ब्डा द्वारा समीकरणों में दर्शाया जाता है।

पहली प्रक्रिया के लिए, टाइम विजेट ए और बी के रूप में इकट्ठा करने के लिए गणना:

timeB = rand()/lambda; // Assuming C# has a function for a uniformly distributed 
         // random number 
: के रूप में विधानसभा के लिए विजेट सी जोड़ने के लिए

timeA = randn(mean, sqrt(variance)); // Assuming C# has a function for a normally 
            // distributed random number with mean and 
            // sigma as inputs 

दूसरी प्रक्रिया के लिए, गणना समय

अब प्रत्येक iGadget के लिए आपका कुल असेंबली समय timeA + timeB + waitingTime होगा। प्रत्येक असेंबली बिंदु पर, इकट्ठा होने की प्रतीक्षा कर रहे विजेट्स की एक कतार स्टोर करें। यदि दूसरा असेंबली बिंदु एक बाधा है, तो यह कतार भर जाएगी। आप अपनी कतार के लिए अधिकतम आकार को लागू कर सकते हैं, और उस अधिकतम आकार तक पहुंचने पर चीजों को आगे बढ़ा सकते हैं। यदि कोई आइटम कतार में है, तो असेंबली लाइन में इसके सभी आईजीएजीज से पहले असेंबली का समय बढ़ जाता है। इसे कोड करने के तरीके को समझने के लिए मैं इसे आपके पास छोड़ दूंगा, और आप यह देखने के लिए कई परीक्षण चला सकते हैं कि औसत असेंबली का समय औसतन होगा। परिणामस्वरूप वितरण कैसा दिखता है?

तरीके करने के लिए "मसाला इस अप":

  • हर एक विजेट के लिए 3 बी विगेट्स आवश्यकता होती है। सूची के साथ खेलें। यादृच्छिक अंतराल पर सूची दोबारा बदलें।
  • एक गुणवत्ता आश्वासन जांच जोड़ें (घातीय वितरण यहां उपयोग करने के लिए अच्छा है), और कुछ समाप्त iGadgets को अस्वीकार करें। मैं कम अस्वीकृति दर का उपयोग करने का सुझाव देते हैं।
  • मैंने सुझाए गए मुकाबले अलग संभावना वितरण का उपयोग करने का प्रयास करें। देखें कि वे आपके सिमुलेशन को कैसे प्रभावित करते हैं। हमेशा यह पता लगाने का प्रयास करें कि संभाव्यता वितरण के इनपुट पैरामीटर वास्तविक दुनिया के मूल्यों में कैसे मैप करेंगे।

आप इस सरल सिमुलेशन के साथ बहुत कुछ कर सकते हैं। अगला चरण आपके कोड को सामान्यीकृत करना होगा ताकि आप विजेट और असेंबली चरणों की मनमानी संख्या प्राप्त कर सकें। यह काफी आसान नहीं है। operations research नामक लागू गणित का एक पूरा क्षेत्र है जो इस प्रकार के अनुकरण और विश्लेषण के लिए समर्पित है।

+0

+1 अच्छा उदाहरण – dss539

1

जो आप वर्णन कर रहे हैं वह एक शास्त्रीय समस्या है जो अलग घटना सिमुलेशन द्वारा संबोधित किया गया है। इन प्रकार की समस्याओं के मॉडल के लिए सामान्य उद्देश्य और विशेष उद्देश्य सिमुलेशन भाषाओं दोनों की एक किस्म विकसित की गई है।जबकि मैं "असली" समस्या के लिए स्क्रैच से कुछ भी प्रोग्रामिंग की अनुशंसा नहीं करता, लेकिन यह एक छोटी सी क्यूइंग समस्या के लिए अपना कोड लिखना एक अच्छा अभ्यास हो सकता है ताकि आप ईवेंट शेड्यूलिंग, यादृच्छिक संख्या पीढ़ी, कैलेंडर का ट्रैक रखने आदि को समझ सकें। एक बार ऐसा करने के बाद, एक सामान्य उद्देश्य सिमुलेशन भाषा आपके लिए वह सारी चीज़ें करेगी ताकि आप बड़ी तस्वीर पर ध्यान केंद्रित कर सकें।

एक अच्छा संदर्भ Law & Kelton है। एरिया एक मानक पैकेज है। इसका व्यापक रूप से उपयोग किया जाता है और, आईएमएचओ, इस तरह के सिमुलेशन के लिए बहुत व्यापक है। एरियाना पुस्तक सिमुलेशन पर एक सभ्य पुस्तक भी है और यह सॉफ्टवेयर के साथ आता है जिसे छोटी समस्याओं पर लागू किया जा सकता है। बड़ी समस्याओं का मॉडल करने के लिए, आपको लाइसेंस प्राप्त करने की आवश्यकता होगी। आप ARENA here का परीक्षण संस्करण डाउनलोड करने में सक्षम होना चाहिए।

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