آموزش آرنا از صفر تا صد و نکات کاربردی
انجامِ شبیه سازی های پیچیده توسط اکسل دشوار است. به همین دلیل ما Arena یا بسته نرم افزاری که به طور خاص برای شبیه سازی وقایع گسسته طراحی شده است، انتخاب کرده ایم. در ادامه در مورد این نرم افزار بیشتر توضیح خواهیم داد.
مشکل 1
مشتریان برای کوتاهی مو وارد سالن دَن در محله شان می شوند. هر کوتاهی از 7 تا 15 دقیقه طول می کشد که این زمان به طور یک نواخت توزیع می شود. این زمان شامل احوال پرسی و پرداخت دستمزد در پایان کار است.
آ-1 روز از عملیات دن را شبیه سازی کنید. فرض کنید دن به مدت 8 ساعت در روز به طور مداوم کار می کند.
ب- دن در روز چند مشتری را راه می اندازد؟
ج. تعداد متوسط مشتریانی که منتظر کوتاهی هستند؛ چند تا است؟ حداکثر چند تا است؟
د. میانگین زمان صرف شده توسط مشتری در مغازه چه قدر است؟ حداکثر چه قدر است؟
- ساخت اولین مدل با آرنا
با فلوچارت مدل شروع کنید. - عناصر اصلی مدل
- Locations: مکان ثابت در سیستم که در آن خدمات ارائه می شود.
- Entities: هر چیزی که قابل پردازش باشد (به عنوان مثال مشتریان)
- Arrivals: ورود مشتریان
- Proccessing: عملیاتی که در یک مکان انجام می شود ، مسیریابی اشخاص بین مکان ها.
- برای شروع ایجاد یک مدل جدید File → New را انتخاب کنید.
- با استفاده ازFile → Save as ، مدل تان را با مدل مو و نام ذخیره کنید (به عنوان مثال ‘ phillips haircut ‘)
بهتر از آرنا: آموزش صفر تا صد انسیس فلوئنت
1.1- ماژول
- از جدول Basic Process، نماد Create را به قسمت ناحیه فلوچارت بکشید.
- بعد نماد Process را به منطقه فلوچارت بکشید.
- در آخر، یک نماد Dispose را به منطقه نمودار بکشید.
حالا تمام ماژول های مورد نیاز برای شبیه سازی را دارید. با این حال، شما باید آن ها را به هم ربط دهید. برای انجام این کار، بر روی گزینه Object → Connect کلیک کنید و سمت راست راس را در شی Create انتخاب و به شی Process مرتبط نمایید . مرتبط کردنProcess به شیء Dispose را دوباره تکرار کنید.
1.2- ايجاد كردن
آیکون های Create فرآیند های ورود را برای شبیه سازی نشان می دهد. در اینجا ما نحوه تغییر توزیع زمان بین دو ورودی را شرح می دهیم.
- برای ایجاد کادر گفتگویProperties ، روی Create Object کلیک کنید.
- موارد زیر را انجام دهید:
- نام Create 1 را به چیزی که بهتر مدل را توصیف کند تغییر دهید، به طور مثال Arriving Customers.
- Entity Type را به یک چیز گویاتر مثل Customer تغییر دهید.
- در مورد Type و Value، مطمئن شوید که اصلاح شده به خاطر این که توزیع نمایی با میانگین 9 دقیقه است. Value میانگین توزیع نمایی است.
- Entities را در Arrival مقدار 1 بگذارید، Max Arrivals در Infinite و First Creation را 0.0 قرار دهید.
اگر روی نماد Entities کلیک کنید، خواهید دید که یک Entity با نامی که به آن داده اید، ایجاد شده است.
حتما دانلود کنید: آموزش صفر تا صد متلب
2.3- در حال پردازش
- برای ایجاد کادر محاورهProperties ، روی شیء Process کلیک کنید.
- کار های زیر را انجام دهید:
- نام ‘Process 1 ‘ را به چیزی گویاتر تغییر دهید، به طور مثال Getting a haircut.
- در Action Pulldown ،Seize Delay Release را انتخاب کنید. این پردازش ‘عادی’ است و نشان می دهد گره یک منبع دارد که مورد استفاده قرار می گیرد (توقیف می شود )، زمان خدمات (تأخیر) دارد و سپس این منبع بعد از زمان تأخیر (منتشر شده) در دسترس است . Priority را روی Medium قرار بدهید.
- با کلیک روی دکمه Add… یک منبع اضافه کنید. این منبع را به عنوان ‘Dan’ یا
“Haircutter” بگذارید. حتما Quantity را روی 1 تنظیم کنید . این یعنی ورودی ها باید فقط منبع 1 داشته باشند. - در Delay Type، گزینه Uniform را انتخاب کنید. در Units هم Minutes را انتخاب کرده و به Allocation کاری نداشته باشید . مطمئن شوید که Minimum روی 7 و Maximum روی 15 است.
راه اندازی مدل و سنجش عملکرد آن
- شبیه سازی را روی 8 ساعت تنظیم کنید و همه چیز را در عرض چند دقیقه گزارش دهید.
- Run → Setup را انتخاب کنید.
- Hour per Day را روی 8 تنظیم کنید.
- Base Time Units را روی Minutes تنظیم کنید.
- روی Ok کلیک کنید.
- برای راه اندازی شبیه سازی Play button icon’ را انتخاب کنید.
- می توانید سرعت شبیه سازی را با نوار لغزنده بالای پنجره شبیه سازی تنظیم کنید.
- وقتی از شما پرسیده می شود Do you want to see the results? ، روی گزینه Yes کلیک کنید.
- برخی از نکات جالب در مورد Reports:
- در گزارش اول، باید تعداد مشتریانی که تحت عنوان Number Out به آن ها خدمات داده می شود را مشاهده کنید.
- دن چند مشتری راه انداخته است؟
- در گزارش اول، باید تعداد مشتریانی که تحت عنوان Number Out به آن ها خدمات داده می شود را مشاهده کنید.
- در صفحه دوم گزارش ها، می توانید M را پیدا کنید.
- Category Overview → Entity → Time زمان سنجش متفاوتی دارد. Wait Time زمان در صف بودن و Total Time کل زمان سیستم است.
- Category Overview → Entity → Other ورود ها، خروج ها و کار در حال انجام و تعداد مشتریانی که منتظر هستند را نشان می دهد. حداکثر تعداد مشتریانی که منتظر هستند، چند تا است؟
ویدیوی آموزش آرنا
نکات و ترفندهای تکمیلی و یاداوری
همانطور که گفته شد آرنا یک ابزار یا مفهوم خاص نیست، بلکه بسته به حوزهای که در نظر دارید، میتواند به معانی مختلفی اشاره کند. اگر منظورتان یک پلتفرم خاص، نرمافزار، زبان برنامهنویسی، ابزار یادگیری، یا چارچوبی است که آرنا نام دارد، لطفاً مشخص کنید تا بتوانم دقیقتر کمک کنم.
اگر هدف شما یک حوزه عمومی مانند برنامهنویسی یا مدلی خاص از سیستمهای یادگیری است که "Arena" در آن کاربرد دارد، به طور کلی میتوان مراحل زیر را برای شروع کار پیشنهاد داد:
1. مفاهیم اولیه برای شروع کار با هر پلتفرم یا ابزار
(الف) تحقیق درباره ابزار یا چارچوب
ابتدا مشخص کنید که آرنا چیست و چه کاربردی دارد. سوالات زیر را بررسی کنید:
- آیا این یک ابزار یادگیری ماشین است؟
- آیا این یک چارچوب برای بازیسازی است؟
- آیا در حوزه توسعه نرمافزار یا شبکه کاربرد دارد؟
(ب) مطالعه مستندات رسمی
مستندات رسمی ابزار یا پلتفرم موردنظر بهترین منبع برای شروع یادگیری است. در مستندات معمولاً موارد زیر وجود دارد:
- نصب و راهاندازی
- معرفی مفاهیم پایه
- ارائه مثالهای ساده
(ج) ابزارهای لازم برای شروع
پلتفرمها یا ابزارها معمولاً به یک سری نرمافزارها یا محیطهای توسعه نیاز دارند. برای مثال:
- دانلود و نصب نرمافزار (مثلاً Python برای یادگیری ماشین)
- تنظیم محیط کاری (IDE مناسب مثل PyCharm یا VS Code)
- نصب وابستگیها یا پکیجهای مرتبط
2. اصول و مفاهیم پایهای برای شروع برنامهنویسی
اگر آرنا به نوعی با برنامهنویسی یا سیستمهای تعاملی مرتبط باشد، درک مفاهیم زیر میتواند مفید باشد:
(الف) ساختارهای داده
- متغیرها و انواع دادهها (اعداد، رشتهها، لیستها، دیکشنریها)
- آرایهها و ماتریسها
- ساختارهای شرطی (if/else)
(ب) الگوریتمها و منطق پایهای
- حلقهها (for, while)
- توابع (functions)
- نحوه مدیریت دادهها و الگوریتمهای جستجو و مرتبسازی
(ج) تعامل با محیط کاربری
- نحوه گرفتن ورودی از کاربر
- مدیریت خطاها و دیباگ کردن کدها
3. شروع عملی کار
(الف) نصب و راهاندازی
ابتدا ابزار یا پلتفرم موردنظر (مثلاً Arena) را دانلود و نصب کنید. مراحل نصب معمولاً در مستندات یا آموزشهای اولیه توضیح داده شده است.
(ب) اجرای مثالهای ساده
اولین قدم برای یادگیری، اجرای مثالهای ساده است. مثلاً اگر در زمینه هوش مصنوعی کار میکنید:
- یک مدل ساده برای طبقهبندی دادهها بسازید.
- دادههای ورودی و خروجی را تحلیل کنید.
(ج) تمرین پروژههای کوچک
یک پروژه کوچک ایجاد کنید تا با مفاهیم آشنا شوید. برای مثال:
- اگر آرنا یک ابزار شبیهسازی است، یک شبیهسازی ساده طراحی کنید.
- اگر آرنا در حوزه بازیسازی است، یک بازی ابتدایی طراحی کنید.
4. اصول پیشرفته برای توسعه و یادگیری بیشتر
(الف) مدیریت منابع
- اگر پلتفرم شما به منابع سیستم مانند GPU یا RAM نیاز دارد، نحوه بهینهسازی مصرف منابع را یاد بگیرید.
- استفاده از ابزارهایی مانند Docker برای مدیریت محیط توسعه.
(ب) درک معماری سیستم یا پلتفرم
- اگر آرنا در حوزه شبکه یا شبیهسازی است، معماری پشت آن را مطالعه کنید.
- مفاهیمی مانند معماری سرویسگرا (SOA) یا RESTful APIs را بررسی کنید.
(ج) تسلط بر ابزارهای مرتبط
طبق تجربه بنده برای یادگیری بهتر، ابزارهای مرتبط با پلتفرم را بشناسید:
- اگر برنامهنویسی است، زبانهای پشتیبانیشده را بیاموزید.
- اگر هوش مصنوعی است، کار با کتابخانههای مرتبط مانند TensorFlow یا PyTorch را یاد بگیرید.
تمرین
یک گره پردازشی اضافه کنید که نشان دهنده ” شستشوی مو ” باشد . این باید قبل از کوتاهی مو رخ دهد و توزیع زمان خدمات نمایی اش میانگین 4 دقیقه باشد.
دانلود کنید: آموزش صفر تا صد اکسل
با Arena کار کنید و دو ویژگی جدید را خودتان کشف کنید تا مدل تان پیچیده تر شود. مثلا آیا می توانید انواع موجودیت های مختلف را که به پردازش متفاوتی نیاز دارند اضافه کنید. مثلا مشتریانی که می خواهند فر شش ماهه بزنند با کسانی که فقط می خواهند مو کوتاه کنند ، مقایسه کنید.