simulation 4

Download Report

Transcript simulation 4

‫شبیه سازی کامپیوتری‬
‫‪Computer simulation‬‬
‫بخش ‪ 4‬ام‬
‫مدرس ‪ :‬زهره زرین قلمی‬
‫پاییز ‪93‬‬
‫‪1‬‬
‫‪Prepared By Zarringhalami‬‬
‫نوع اول‪ :‬یک صف و یک سرویس دهنده‬
‫‪ ‬ساده ترین نوع سیستمهای صفی است که بدان سیستم تک مجرایی صف نیز گویند‪.‬‬
‫‪ ‬در این سیستم اشیایی که آنها را مشتری می نامیم وارد سیستم شده و تقاضای انجام‬
‫یک خدمت یا سرویس را از سرویس دهنده می نمایند‪.‬‬
‫‪ ‬سرویس دهنده در صورت ممکن(آزاد بودن) بالفاصله انجام سرویس تقاضا شده را‬
‫شروع می کند‪ .‬در غیر اینصورت‪ ،‬مشتری در یک صف انتظار قرار می گیرد تا سرویس‬
‫دهی به او میسر گردد‪.‬‬
‫‪ ‬وضعیت یک سیستم را تعداد مشتریهایی که در هر لحظه درون سیستم می باشند‬
‫مشخص می کنند‪ :‬تعداد افراد درون صف ‪ +‬یک مشتری در حال سرویس گیری‬
‫‪2‬‬
‫‪Prepared By Zarringhalami‬‬
‫گامهای اساس ی شبیه سازی‬
‫ تعیین ویژگیهای هر یک از ورودیها و مدلسازی آنها در قالب توزیع های گسسته یا‬‫پیوسته‬
‫ ایجاد جدول شبیه سازی با ‪ p‬ورودی ‪ xij‬و به ازای هر تکرار یک خروجی ‪yi‬‬‫‪i=1,…,n‬‬
‫‪j=1,…,p‬‬
‫ تولید مقدار برای هر ورودی در هر تکرار و ارزیابی تابع محاسبه کننده پاسخ با‬‫استفاده از نمونه گیری از توزیع های تعیین شده در گام اول‬
‫‪3‬‬
‫‪Prepared By Zarringhalami‬‬
‫نمونه جدول شبیه سازی‬
Prepared By Zarringhalami
4
‫متغیرهای شبیه سازی‬
‫از مشخصه های مرتبط با شبیه سازی اینست که آیا انها در طی زمان شبیه سازی تغییری می کنند یا نه؟‬
‫بر این اساس متغیرها دو دسته اند‪:‬‬
‫‪:Exogenous )1 ‬متغیرهایی که در طی فرآیند شبیه سازی تحت تاثیر هیچ عاملی قرار نمی گیرند‪ .‬یعنی مربوط‬
‫به متغیرهایی هستند که به طور واقعی در سیستم وجود دارند‪ .‬مانند‪:‬‬
‫‪ )1‬فاصله زمانی سرویس ها (‪ )interval‬برای ورود مشتریان (سرویس گیرنده)‬
‫‪ )2‬مدت زمانی که مشتریان سرویس می گیرند‬
‫‪ )3‬تعداد سرویس دهنده ها‬
‫‪ )4‬قوانین حاکم بر صف‬
‫‪ :Exdogenous )2 ‬متغیری از شبیه سازی که در طی شبیه سازی مقدارش با توجه به متغیرهای دیگر تعیین‬
‫شود را گویند‪ ،‬یعنی متغیرهایی اند که در سیستم وجود واقعی (خارجی ) ندارند اما باید توسط سازنده‬
‫سیموالتورتولید گردند‪ .‬مانند‪:‬‬
‫‪ )1‬میانگین زمان انتظار در صف‬
‫‪ )2‬میانگین تعداد مشتریانی که در صف وجود دارند‬
‫‪5‬‬
‫‪Prepared By Zarringhalami‬‬
‫وضعیت های سیستم شبیه سازی‬
‫‪ ‬سیستم شبیه سازی مانند یک سیستم واقعی همیشه در دو وضعیت کار می کند‪:‬‬
‫‪(operational )1‬سیستم در وضعیت عملیاتی قرار دارد)‬
‫‪(Dull ,Bare ,Broke ,Down )2‬ازکارافتاده است)‬
‫‪ ‬دو صف برای حل مشکل وضعیت دوم معرفی می گردد‪:‬‬
‫‪ )1‬صف انتظار برای تعمیر قطعه (بخش خراب شده)‬
‫‪ )2‬قرار دادن یک جایگزین مناسب برای ادامه کار سیستم‬
‫‪6‬‬
‫‪Prepared By Zarringhalami‬‬
‫زمانهای اساس ی در سیستم صف‬
‫‪ ‬دو ‪ Time‬اساس ی در سیستم صف جهت شبیه سازی وجود دارد‪:‬‬
‫‪(Wait time)1‬زمان انتظار )‬
‫‪( Service time)2‬زمان سرویس یا خدمت)‬
‫‪ :Wait time ‬مدت زمانی که مشتری در صف قرار می گیرد تا سرویس او آغاز‬
‫شود‪.‬‬
‫‪ :Service time ‬زمان سرویس زمانی است که مشتری به ابتدای صف رسیده و‬
‫سرویس دهنده آزاد است‪ ،‬یعنی از زمان شروع سرویس تا زمان پایان یافتن سرویس‬
‫می باشد‪.‬‬
‫‪7‬‬
‫‪Prepared By Zarringhalami‬‬
‫یک صف و یک سرویس دهنده‬
‫پیشامدهایی که وضعیت سیستم را تغییر می دهند‪:‬‬
‫‪ ‬ورود مشتری‬
‫‪ ‬خروج یا پایان سرویس دهی‬
‫این پیشامدها در طول زمان مستقل از پیشامدهای دیگر سیستم رخ می دهند‪ ،‬لذا‬
‫پیشامدهای اصلی را تشکیل می دهند‪.‬‬
‫پیشامدهای فرعی در سیستم‪،‬‬
‫‪ ‬مشغول شدن وآزاد شدن سرویس دهنده و یا وضعیت سرویس دهنده می باشد‪.‬‬
‫‪8‬‬
‫‪Prepared By Zarringhalami‬‬
‫فلوچارت مراحل شبیه سازی مربوط به ورود متقاض ی به سیستم‬
‫‪9‬‬
‫‪Prepared By Zarringhalami‬‬
‫عملکرد سیستم صف به هنگام ورود یک متقاض ی‬
‫‪10‬‬
‫‪Prepared By Zarringhalami‬‬
‫فلوچارت مراحل شبیه سازی زمانیکه خدمت دهی تازه تکمیل شده باشد‬
‫‪11‬‬
‫‪Prepared By Zarringhalami‬‬
‫وضعیت خدمت دهنده پس از تکمیل فرایند خدمت دهی‬
‫‪12‬‬
‫‪Prepared By Zarringhalami‬‬
‫متغیرهای سیستم و مقدار اولیه آنها‬
‫‪13‬‬
‫متغیر‬
‫شرح‬
‫مقدار اولیه‬
‫‪Clock‬‬
‫ساعت شبیه سازی‬
‫‪0‬‬
‫‪Code‬‬
‫کد تعیین شده و نوع پیشامد‬
‫کد ‪ :1‬پیشامد ورود‬
‫کد ‪ :2‬پیشامد خروج‬
‫کد ‪ :3‬پیشامد پایان شبیه سازی‬
‫‪---‬‬
‫)‪Q (Queue‬‬
‫طول صف در لحظه فعلی‬
‫‪0‬‬
‫)‪SRVR (Server‬‬
‫کد سرویس دهنده‬
‫کد ‪ :0‬آزاد بودن‬
‫کد ‪ :1‬مشغول بودن‬
‫‪0‬‬
‫)‪ST (System Time‬‬
‫مدت شبیه سازی‬
‫دلخواه‬
‫‪Prepared By Zarringhalami‬‬
‫پیشامدهای اصلی و اعمال مربوط به پیشامدهای‬
‫فرعی‬
‫پردازش پیشامدهای فرعی‬
‫پیشامدهای اصلی‬
‫ورود مشتری (کد ‪)1‬‬
‫وضعیت سرویس دهنده‬
‫پایان سرویس (کد ‪)2‬‬
‫تست وضعیت صف‬
‫بیکار‪ :‬تغییر وضعیت سرویس دهنده به مشغول‪ ،‬تست تعیین‬
‫زمان پایان سرویس شروع شده‬
‫مشغول‪ :‬قرار گرفتن مشتری در صف‬
‫خالی‪ :‬تغییر وضعیت سرویس دهنده از مشغول به بیکار‬
‫غیر خالی‪ :‬انتخاب مشتری از صف و کم نمودن طول صف‬
‫‪14‬‬
‫‪Prepared By Zarringhalami‬‬
‫شروع‬
‫فلوچارت شبیه سازی سیستم‬
‫یک صف و یک سرویس دهنده‬
‫تعیین مقدار اولیه متغیرها‬
‫تعیین زمان وقوع کد اولین پیشامد بعدی با‬
‫استفاده از جدول زمانبندی‬
‫افزایش ساعت شبیه سازی )‪ (Clock‬به زمان تعیین‬
‫شده‬
‫پایان‬
‫‪yes‬‬
‫‪Clock >= ST‬‬
‫‪No‬‬
‫‪Code = 1‬‬
‫‪yes‬‬
‫پیشامد ورود‬
‫‪No‬‬
‫پیشامد خروج‬
‫‪15‬‬
‫‪Prepared By Zarringhalami‬‬
‫شبیه سازی سیستم‬
‫باجه پرداخت پول یک بانک‬
‫فرضیات‪:‬‬
‫‪ ‬زمان بین ورود مشتريان روي ‪ 1‬تا ‪ 10‬دقيقه بطور يكنواخت توزيع شده باشد‪.‬‬
‫‪ ‬زمان الزم براي خدمت به هر مشتري روي ‪ 1‬تا ‪ 6‬دقيقه به طوريكنواخت توزيع شده‬
‫است‪.‬‬
‫‪ ‬برای ‪ 15‬مشتری شبیه سازی صورت گیرد‪.‬‬
‫حکم‪:‬‬
‫‪ ‬متوسط مدت زماني را كه مشتري در سيستم صرف مي كند‪ ،‬اعم از زمان‬
‫انتظارمشتري و زمان خدمت و درصد مدت زماني را كه صندوقدار مشغول‬
‫به كار نيست را محاسبه كنيد؟‬
‫‪16‬‬
‫‪Prepared By Zarringhalami‬‬
‫شبیه سازی سیستم‬
‫باجه پرداخت پول یک بانک‬
‫براي شبيه سازي كردن اين سيستم نياز داريم آزمايش ي ساختگي كه معرف وضعيت‬
‫باال باشد‪ ،‬بوجود آوريم‪.‬‬
‫بدين منظور بايد روش ي براي توليد مراجعة ساختگي گروهي از مشتريان و زمان الزم‬
‫براي خدمت به هر يك از آنها را ايجاد كنيم‪ .‬در يكي از روشهايي كه مي تواند مورد‬
‫استفاده قرار گیرد كار را با ‪ 10‬مهره و يك تاس آغازمي كنيم‪.‬‬
‫سپس مهره ها را از يك تا ده شماره گذاري كرده‪ ،‬آنها را داخل ظرفي مي گذاريم‬
‫و با تكان دادن ظرف آنها را قاطي مي کنيم ‪.‬‬
‫‪17‬‬
‫‪Prepared By Zarringhalami‬‬
‫شبیه سازی سیستم‬
‫باجه پرداخت پول یک بانک‬
‫با استخراج يك مهره از داخل ظرف و خواندن عدد روي آن مي توان زمان بین‬
‫ورودي مشتري فعلي و قبلي را مشخص كرد‪.‬‬
‫زمان خدمت به اين مشتري را نیز مي توان با پرتاب تاس و خواندن تعداد نقطه هاي‬
‫روي وجه فوقاني آن به دست آورد‪.‬‬
‫با تكرار اين عمليات (با جايگذار ي مهره ها در داخل ظرف وتكان دادن آن بعد از‬
‫هر بار استخراج ) ما ورود و زمان هاي خدمت يك گروه از مشتريان فرض ي را توليد‬
‫كرده ايم‪.‬‬
‫‪18‬‬
‫‪Prepared By Zarringhalami‬‬
‫جدول زير نشا ن مي دهد كه نمونه اي با ‪ 15‬مشتري چه شكلي خواهد داشت ‪.‬‬
‫‪19‬‬
‫‪Prepared By Zarringhalami‬‬
‫ادامه جدول‬
‫‪5‬‬
‫‪20‬‬
‫لینک‬
‫مجموع مدت زمان انتظار‬
‫مشتری در سیستم‬
‫‪Prepared By Zarringhalami‬‬
‫مجموع مدت زمان انتظار‬
‫مشتری در صف‬
‫‪ ‬زمان ورود – زمان شروع خدمت = مدت زمان انتظار مشتری در صف‬
‫‪ ‬زمان ورود – زمان پایان خدمت = مدت زمان انتظار مشتری در سیستم‬
‫یا‬
‫‪ ‬مدت زمان انتظار مشتری در صف ‪ +‬مدت زمان خدمتدهی = مدت زمان انتظار مشتری در سیستم‬
‫‪21‬‬
‫‪Prepared By Zarringhalami‬‬
‫نتایج شبیه سازی‬
‫‪ 0/33‬دقیقه=‪=5/15‬متوسط مدت انتظار هر مشتری در صف‬
‫‪=3/15=0/2*100=%20‬احتمال انتظار‬
‫‪=41/91=0/45=%45‬احتمال بیکاری خدمت دهنده‬
‫‪5‬‬
‫‪22‬‬
‫‪Prepared By Zarringhalami‬‬
‫نتایج شبیه سازی‬
‫‪ 3/4‬دقیقه=‪=51/15‬متوسط خدمت دهی‬
‫‪ 6/28‬دقیقه=‪=88/14‬متوسط مدت بین دو ورود‬
‫‪23‬‬
‫‪Prepared By Zarringhalami‬‬
‫نتایج شبیه سازی‬
‫‪ 1/67‬دقیقه=‪=5/3‬متوسط مدت انتظار مشتریان منتظر‬
‫‪ 3/73‬دقیقه=‪=56/15‬متوسط مدت ماندن مشتریان در سیستم‬
‫‪ 3/73‬دقیقه = ‪= 0/33 +3/4‬متوسط مدت ماندن مشتریان در سیستم‬
‫‪5‬‬
‫‪24‬‬
‫‪Prepared By Zarringhalami‬‬
‫نتایج شبیه سازی‬
‫‪ 0/33‬دقیقه=‪=5/15‬متوسط مدت انتظار هر مشتری در صف‬
‫‪ 3/4‬دقیقه=‪=51/15‬متوسط خدمت دهی‬
‫‪25‬‬
‫‪Prepared By Zarringhalami‬‬
‫نتایج شبیه سازی‬
‫‪ 6/28‬دقیقه=‪=88/14‬متوسط مدت بین دو ورود‬
‫می توان این نتیجه را با یافتن میانگین توزیع یکنواخت گسسته ای که نقاط شروع و پایان آن ‪ a=1‬و‬
‫‪b=10‬است‪ ،‬مقایسه کرد‪ .‬میانگین از رابطه زیر بدست می آید‪:‬‬
‫دقیقه ‪E(A)= (a + b) / 2 =) 1+10(/ 2 = 5/5‬‬
‫امید ریاض ی مدت ورودها کمی کمتر از مقدار متوسط است‪ .‬اما در شبیه سازیهای طوالنیتر مقدار متوسط‬
‫این ورودها باید به میانگین تئوریک‪ ،E(A) ،‬میل کند‪.‬‬
‫‪26‬‬
‫‪Prepared By Zarringhalami‬‬
‫تمرین (سری سوم)‪:‬‬
‫مسئله صف يك فروشگاه با مشخصات ذيل را شبيه سازي كنيد‬
‫ـ مشتريان بطور تصادفي با فواصل زماني بین ‪ 1‬تا ‪ 4‬و با احتمال يكسان وارد مي شوند‪.‬‬
‫ مدت خدمت دهی از ‪ 1‬تا ‪ 7‬دقیقه و با احتمال يكسان می باشند‪.‬‬‫ شبیه سازی برای خرید ‪ 20‬مشتری اجرا شود‪ .‬اولین مشتری در زمان صفر وارد می شود‪.‬‬‫تعيین پيشامدها‪ ،‬جدول شبيه سازي و تجزيه و تحليل نتايج الزامي است‪.‬‬
‫‪27‬‬
‫‪Prepared By Zarringhalami‬‬