simulation 3
Download
Report
Transcript simulation 3
شبیه سازی کامپیوتری
Computer simulation
بخش سوم
مدرس :زهره زرین قلمی
پاییز 93
1
Prepared By Zarringhalami
یادآوری
اکثر مدلهای شبیه سازی از دسته مدلهای ریاض ی-پویا-عددی می باشند.
در یک سیستم پویا ،وضعیت اشیا سیستم یا مشخصات آنها و یا بطور کلی وضعیت
یک سیستم پویا ،همراه با گذراندن زمان تغییر می یابد.
هدف از یک مدل شبیه سازی ،تولید و یا تکرار فعالیتهای محرکهایی است که بگونه
ای در این تغییر وضعیت ها موثر می باشند.
لذا در مدل سازی یک سیستم ،تشخیص چگونگی تغییر وضعیت ها حائز اهمیت
است.
2
Prepared By Zarringhalami
انواع مدل ها
ریاض ی
فیزیکی
ایستا
عددی
پویا
تحلیلی
قطعی
قطعی
3
ایستا
احتمالی
عددی
احتمالی
قطعی
تحلیلی
قطعی
احتمالی
احتمالی
Prepared By Zarringhalami
پویا
یادآوری
در سیستمهای پیوسته ،تغییر وضعیت به صورت مداوم و تدریجی است ،یعنی تغییر
وضعیت بر حسب گذر زمان متصل است.
مدلهای اینگونه سیستم ها شامل معادالتی است که میزان و جهت تغییر وضعیت و
یا تغییرات متغیرهای پیوسته سیستم را بر حسب زمان و یا دیگر پارامترها تعیین می
کند .به عنوان معادالت رفتاری سیستم نامیده می شود و ممکن است به صورت
معادالت ساده و یا دیفرانسیل ظاهر شود.
در سیستم های گسسته تغییر وضعیت ها به صورت آنی و در نقاط منفصلی از زمان
رخ می دهد و در فواصل این نقاط وضعیت سیستم و یا به عبارت دیگر مقدار
مشخصه های سیستم به صورت ثابت باقی می ماند.
4
Prepared By Zarringhalami
یادآوری
مدلهای شبیه سازی کامپیوتری برنامه هایی هستند که
تغییر وضعیت یک سیستم را برحسب یک متغیر مستقل (زمان) محاسبه و
بر ساختارهای برنامه ای یا داده ای)(Program / Data Structure
که مشابه اشیا سیستم و مشخصات آنها هستند اعمال می کنند.
5
Prepared By Zarringhalami
پارامتر های شبیه سازی
در شبیه سازی سیستم دو پارامتر اساس ی برای تعیین سیستم در نظر گرفته می شود :
) 1پیشامدهای سیستم
)2ساعت شبیه سازی
6
Prepared By Zarringhalami
پیشامد
پیشامد ،محرک یا فعالیتهایی اند که در سیستم باعث تغییر وضعیت آنی می گردند.
پیشامدهای سیستم به دو دسته اند :
الف ) پیشامدهای اصلی :که وقوعشان مستقل از دیگر پیشامدها هستند .مانند در
بیمارستان ،ورود بیمار یا بهبود و مرخص شدن او و مشتری در بانک
ب ) پیشامدهای وابسته یا فرعی :پیشامدهایی هستند که در صورت وجود یا ورود
پیشامد اصلی به وجود می آید یعنی وقوعشان بستگی به وقوع پیشامد دیگری دارند .به
بیان دیگر پیشامدهای فرعی نتیجه وقوع پیشامدهای اصلی می باشد .مانند در
بیمارستان ،بیکار شدن پزشک یا اشغال یک تختخواب و یا انجام کار دستگاه رادیولوژی
و مشغول یا بیکار بودن صندوق دار در بانک
7
Prepared By Zarringhalami
ساعت شبیه سازی و گذر زمان در شبیه سازی
با توجه به اینکه ،اکثر مدلهای شبیه سازی از دسته مدل های ریاض ی-پویا-عددی
هستندکه پویایی آنها مستلزم وجود متغیر زمان در مدل است ،این متغیر اصطالحا
ساعت شبیه سازی ) (Clockنامیده می شود.
تفاوت ساعت شبیه سازی و ساعت واقعی در گذر زمان آنهاست که ممکن است
کندتر و یا تندتر شود و این تفاوت به علت دو خصوصیت فشردن و گسترش زمان در
مدل شبیه سازی است.
8
Prepared By Zarringhalami
ساعت شبیه سازی و گذر زمان در شبیه سازی
هر وقت بخواهید یک سیستم را مدل کنید باید برای یک مدت معینی آنرا مدل کنید
که به این مدت معین ،زمان سیستم یا ) (System Time=STگویند.
ساعت شبیه سازی Clockیا Cدر یک مدل کامپیوتری بوسیله یک متغیر و گذر
زمان بوسیله تغییر این متغیر ،شبیه سازی می شود.مقدار اولیه این متغیر همان
لحظه شروع شبیه سازی می باشد و به دو روش مقدار آن افزایش می یابد:
الف) افزایش زمان با مقدار ثابت یا فاصله گرا)(Interval-Oriented
ب) افزایش زمان با مقدار متغیر یا واقعه گرا )(Event-Oriented
9
Prepared By Zarringhalami
افزایش زمان با مقدار ثابت
در این روش ساعت شبیه سازی هر بار به یک مقدار ثابت که اصطالحا بدان قدم یا گام زمانی
) ( Time Slice, TSگویند ،افزایش می یابد.
آنگاه مدل را مرور کرده تا تغییر و تحوالتی که در این روش رخ داده اند مشخص گردد .تغییرات
و فعالیتهای مشخص شده انجام می گردند و آنگاه یک گام زمانی دیگر برداشته می شود .این
مراحل آنقدر تکرار می شود تا ساعت شبیه سازی دارای مقداری بیشتر یا مساوی مدت شبیه
سازی از قبل تعیین شده گردد.
مقدار ثابت افزایش ی گام زمانی در این روش بستگی به فواصل زمانی وقوع پیش آمدها و
تغییرات در سیستم دارد.
برای سیستم های پیوسته است و بدان مدل فاصله گرا یا Interval -Oriented
گویند.
10
Prepared By Zarringhalami
Interval -Orientedمدل
C
C+TS
C>=ST
yes
yes
Exit
No
No
Do you have
any event?
yes
Prepared By Zarringhalami
Change should be
Registered and
Process do
11
افزایش زمان با مقدار متغیر
در روش قبلی ممکن است مواردی پیش آید که بعد از برداشتن یک گام زمانی ،مدل بررس ی شود و
هیچ پیشامدی در آن لحظه رخ ندهد .بنابراین یک قدم دیگر برداشته شود .یعنی بررس ی مدل
جهت تعیین و تشخیص پیشامدهای قابل وقوع گاه ممکن است شامل جستجوها و اعمال طوالنی
در کامپیوتر گردد.
جهت احتراز از اینگونه موارد ،فاصله های زمانی که وضعیت سیستم در طول آنها ثابت می ماند
به صورت جهش ی پیموده می شود .یعنی بعد از انجام کلیه تغییرات حاصل از وقوع یک پیشامد،
Clockبه زمان وقوع اولین پیشامد بعدی که پیش بینی شده افزایش داده می شود ،تغییرات
الزم انجام و دوباره افزایش Clockتا پیشامد بعدی تکرار می شود.
این تکرار افزایش Clockواعمال اثرات پیشامدها تا پایان مدت شبیه سازی ادامه می یابد.
برای سیستم های گسسته است و بدان مدل پیشامد گرا یا واقعه گراEvent -Oriented
گویند.
12
Prepared By Zarringhalami
Event -Orientedمدل
Do you have any event ?
Declare the time of event
And increase Clock with time of event
C>= ST
Yes
Exit
No
Process
Prepared By Zarringhalami
13
روشهای مدلسازی سیستم های گسسته
روش زمانبندی پیشامدها )(Event Scheduling
روش پردازش فرآیندها
روش کاوش در فعالیتها
14
Prepared By Zarringhalami
روش زمانبندی پیشامدها )(Event Scheduling
این مدلها شامل جدولی به نام جدول زمانبندی می باشند که زمان وقوع پیشامدهای اصلی را که
در آینده به وقوع می پیوندند در آن ثبت می کنیم .عمل پیش بینی زمان یک پیشامد و درج آن در
جداول مربوطه را اصطالحا زمانبندی پیشامدها گوییم.
بعد از پردازش هر پیشامد ،این جدول جستجو شده و زمان وقوع نزدیکترین پیشامد آتی تعیین
می گردد.
آنگاه مقدار Clockاز زمان فعلی به این زمان تعیین شده افزایش داده می شود یعنی یک گام
زمانی به گونه ای برداشته می شود که در پایان آن حداقل یک پیشامد رخ داده باشد.
بعد از تعیین نوع پیشامد ،عملیات الزم برای پردازش آن صورت میگیرد تا زمانی که مقدار ساعت
شبیه سازی از مدت شبیه سازی بیشتر گردد که در این موقع شبیه سازی متوقف می گردد.
نکته :زبانهای شبیه سازی GASP , SIMIScriptاین روش را بکار می برند.
15
Prepared By Zarringhalami
Prepared By Zarringhalami
16
سیستمهای صفی
سیستمهایی که در آن اشیایی وارد شده و تقاضای انجام حداقل یک خدمت
) (Serviceرا می کنند (اشیای موقت) و اشیای دیگری (اشیای دائم) از سیستم
وظیفه انجام سرویسهای تقاضا شده را بر عهده دارند و در صورت امکان خدمات را
بالفاصله انجام داده و یا بعلت اشتغال به امر دیگری ،مشتریان را تازمانی که انجام
خدمات تقاضا شده میسر شود ،منتظر نگه می دارند ،سیستمهای صفی گویند.
نکته :چگونگی یا قانون انتخاب از بین اعضای صف برای سرویس دهی دارای اهمیت
است ،سرویس دهنده بر طبق قانونی باید یکی از منتظرین سرویس را انتخاب نماید.
مثل(FIFO):
17
Prepared By Zarringhalami
شبیه سازی سیستم های صفی
فرض ها:
نا محدود بودن جمعیت متقاض ی( یعنی اگر یک نفر جمعیت متقاض ی را ترک کند و به صف انتظار ملحق شود یا به محلدریافت خدمت برود ،هیچگونه تغییری در آهنگ ورود سایر متقاضیان نیازمند خدمت روی نخواهد داد).
هر بار یک ورود و به صورت تصادفی رخ می دهد وارد شدگان به صف قطعا خدمت می گیرند مدت های خدمت دهی تصادفی و در قالب توزیع احتمالی تعیین می شوند رشد انفجارآمیز صورت نمی گیرد( ورودها و خدمتدهی ها با توزیع های مدت بین دو ورود و مدت های خدمتدهی مشخص میشوند و آهنگ موثر ورود باید از ماکسیمم آهنگ خدمتدهی کمتر باشد وگرنه طول صف بطور نامحدود افزایش می یابد).
-متقاضیان از یک خدمت دهنده یا مجرا خدمت می گیرند.
حالت سیستم :تعداد حاضران در سیستم و وضعیت خدمت دهنده از لحاظ مشغول بودن یا بیکار بودن است.
پیشامد :مجموعه شرایطی که موجب تغییر لحظه ای در حالت سیستم می گردد
18
Prepared By Zarringhalami
انواع سیستم های صفی در شبیه سازی
19
یک صف و یک سرویس دهنده
چند صف و یک سرویس دهنده
یک صف و چند سرویس دهنده
چند صف و چند سرویس دهنده
Prepared By Zarringhalami
Queue
Prepared By Zarringhalami
Server
20
نوع اول :یک صف و یک سرویس دهنده
مثال :امور مشترکین
21
Prepared By Zarringhalami
نوع دوم :چند صف و یک سرویس دهنده
مثال :صف
22
نانوایی( صف یکی ،دو تایی و چند تایی )
Prepared By Zarringhalami
نوع سوم :یک صف و چند سرویس دهنده
مثال :باجه های بانک
23
Prepared By Zarringhalami
نوع چهارم :چند صف و چند سرویس دهنده
مثال :مترو
24
Prepared By Zarringhalami