تشریح فرایند شبیه سازی1 ـ تدوین مسئله : آلبرت انیشتین بیان داشت که تدوین صحیح مسئله، حتی از حل آن اساسیتر است .برای یافتن جواب مسئله ، ابتدا باید فهمید که مسئله چیست . این نکته ممکن است ساده به نظر آید اما بسیاریاز دانشمندان علم مدیریت ، آن را کاملاً نادیده میگیرند. هر ساله در جهان جهت یافتن جوابهای عالی و جامعبرای سؤالات اشتباه، سرمایه های گزافی هزینه میشوند . در بسیاری از موارد ممکن است مدیریت نتواند یاقادر نباشد مشکل خود را بطور صحیح تشخیص دهد . آنها میدانند که مشکل وجود دارد اما ممکن استمشکل حقیقی را تشخیص ندهند . بنابراین پروژه تحلیل سیستم ، معمولاً با انجام مطالعهای جهت آشنا شدن باسیستم تحت کنترل تصمیم گیرنده ، آغاز میشود . تجربه نشان میدهد که تدوین مسئله در طول مطالعه وبررسی ، فرایندی پیوسته است . بنابراین اولین قدم در هر آزمایش ، منجمله یک آزمایش شبیه سازی ، تعیینهدف آزمایشی است . چون این هدف است که نحوه آزمایش، جزئیات لازم و نتایج نهایی را تعیین میکند .
شانون در کتاب خود به نقل از بارتی مسئله را این چنین عنوان میکند «میتوان مسئله را به عنوان حالتیاز خواست برآورده نشده ، تعریف کرد» . زمانی که نتایج دلخواه از عملیات سیستم حاصل نشوند، وضعیتسیستم به یک مسئله تبدیل میشود . وقتی که نتایج مورد نظر به دست نیایند، نیاز به اصلاح سیستم یا محیطیکه سیستم در آن عمل میکند ، به وجود میآید . مسئله را میتوان بصورت ریاضی این چنین تعریف کرد :
که در این فرمول Pt = [Dt -At]
Pt : وضعیت مسئله در زمان t است .
Dt: حالت مطلوب در زمان t است .
At: حالت واقعی (وضعیت سیستم) در زمان t است .
2 ـ تعریف سیستم : قسمت مهمی از فرایند تحلیل سیستم ، تعریف سیستمی است که باید مورد مطالعه قرارگیرد . وقتی که هدف مطالعه و بررسی مشخص گردید، آنگاه باید به شناخت سیستم و تعریف قسمتهائی از آنکه بطور مستقیم یا غیر مستقیم به هدف بستگی دارند پرداخت . البته این به آن معنی نیست که شناختقسمتهای دیگر یا کسب اطلاعات بیشتر در مورد سیستم مخرب بوده و مسیر آزمایش را تغییر میدهد . بلکهتنها اشکالی که ممکن است ایجاد گردد این است که وجود جزئیات زیاد و اطلاعات اضافی باعث سردرگمیمدلساز و یا پیچیدگی مدل گردد . تعریف سیستم شامل تعیین جزء سیستم، اشیاء و عوامل داخلی و خارجی ،محیط سیستم ، اشیاء آن و بالاخره پارامترها و متغییرهای سیستم میباشد . بعد از تعیین دقیق بخشها واطلاعات مذکور، مشخصاتی از اشیاء سیستم که در ارتباط با هدف مطالعه و بررسی هستند تعریف و روابط وقوانین حاکم بین آنها و بین اشیاء سیستم مشخص یا فرموله میگردند . آنگاه چگونگی رفتار سیستم موردبررسی قرار گرفته و جزئیات تغییر وضعیت ها و اثر پیش آمدها در سیستم معلوم میگردند .
3 ـ آیا از شبیه سازی استفاده شود؟ تاکنون سیستم ، بررسی و مشکل سیستم مشخص شد . حال باید با انتخابروشی صحیح و منطقی سیستم را مورد مطالعه و بررسی قرار داده و مشکل را حل کرد . در این مرحله بایدمشخص کرد که از چه روشها و تکنیکهایی میتوان برای این منظور استفاده کرد . اگر فقط از شبیه سازیمیتوان استفاده کرد و دیگر روشها کاربرد ندارند و یا کاربرد آنها چندان مطلوب نیست ، قطعاً از شبیه سازیاستفاده میکنیم . اما اگر هم از شبیه سازی و هم از روشهای دیگر بتوان استفاده کرد باید به تجزیه و تحلیلروشها از دیدگاههای مختلف مانند هزینه ، میزان دقت نتایج و غیره و همچنین امکانات در دسترس و دیگرعواملی که برای مسئولان مهم است پرداخت و سپس به انتخاب روش صحیح و منطقی برای بررسی سیستمپرداخت . با فرض اینکه مشخص شده که از شبیه سازی باید استفاده کرد ، به تشریح قدمهای بعدی این فرایندمیپردازیم.
4 ـ تدوین مدل : چهارمین مرحله از فرایند شبیه سازی ساختن مدل است . باید خاطرنشان ساخت کهمدلسازی یک هنر است و لذا میزان مطلوبیت مدل بستگی زیاد به فردی دارد که مدل را تهیه کرده است . روشساخت موفقیت آمیز مدلها بر اساس تکمیل و توسعة آنها استوار است . کار را با مدلی بسیار ساده شروع کرده، به نحوی تکاملی سعی میشود که کار به سوی مدلی پیش رود که کاملتر بوده و وضعیت پیچیده را روشنترمنعکس کند . هنر مدلسازی عبارت است از توانایی تحلیل مسئله ، چکیده سازی خصایص اساسی آن،انتخاب مفروضات و سپس تکمیل و توسعه مدل تا وقتی که تقریبی مفید از واقعیت بدست آید . شانون درکتاب خود به نقل از موریس برای مدلسازی هفت رهنمود زیر را پیشنهاد میکند :
1 ـ سیستم مورد سؤال را به مسائل سادهتر تقسیم کنید.
2 ـ بیان روشنی از اهداف ارائه دهید .
3 ـ شباهتها را جستجو کنید .
4 ـ یک مثال عددی مشخص از مسئله را در نظر بگیرید .
5 ـ چند نماد فراهم کنید .
6 ـ بدیهیات را مشخص کنید .
7 ـ اگر مدل قابل کنترل بود آن را توسعه دهید ، در غیر این صورت آن را ساده کنید .
بطور کلی ، ساده سازی را میتوان با یکی از روشهای زیر انجام داد ، در حالی که درست عکس موارد زیربرای غنیسازی صورت میپذیرد:
1 ـ تبدیل متغیرها به مقادیری ثابت
2 ـ حذف یا ترکیب متغیرها
3 ـ خطی فرض کردن روابط
4 ـ افزودن فرضها و محدودیت های مؤثرتر
5 ـ محدود کردن حدود سیستم
یکی از عواملی که سرعت و جهت تکاملی مدلسازی به آن بستگی دارد ، رابطة بین سازندة مدل و استفادهکنندة آن است . با همکاری نزدیک در فرایند تکاملی ، سازنده مدل و استفاده کننده آن میتوانند محیطی ازاعتماد و تفاهم متقابل به وجود آورند که به کمک آن ، متناسب بودن نتیجة نهایی با اهداف ، مقاصد ومعیارهای مورد نظر تأمین میشود . به هنگام تلاش برای مدل کردن سیستم حتماً باید اهداف یا مقاصد آنرابیان داشت و از آنها منحرف نشد تا مدل مناسبی حاصل شود . چون شبیه سازی با حل مسائل جهان واقعیسروکار دارد ، باید اطمینان یافت که نتیجة نهایی مدل، وضعیت حقیقی را دقیقاً به تصویر میکشد . در نتیجهمدلی که جوابهای بیمعنی میدهد باید فوراً مورد سوء ظن قرار گیرد. مدل باید همچنین قادر باشد بهسؤالهای «چه میشود اگر...» پاسخ گوید زیرا این گونه سؤالها هستند که در درک مسئله و کوشش برای ارزیابیگزینهها بر ایمان بسیار مفیدند. شانون در کتاب خود معیارهای خاصی که هر مدل خوب شبیه سازی باید بهآنها برسد را چنین تعیین میکند :
1 ـ درک آن برای استفاده کننده آسان باشد .
2 ـ در جهت هدف یا مقصود باشد .
3 ـ قوی بوده، بدین مفهوم که جوابهای بیمعنی ندهد .
4 ـ برای استفاده کننده ، کنترل و کار کردن با آن راحت بوده ، یعنی ارتباط با آن آسان باشد .
5 ـ در مورد موضوعات مهم کامل باشد .
6 ـ اصلاح یا به هنگام کردن مدل به آسانی انجام شود.
7 ـ تکاملی باشد ، بدین مفهوم که به طور ساده شروع و سپس پیچیدهتر شود.
5 ـ تدارک دادهها: هر مطالعهای مستلزم جمعآوری دادههاست . معمولاً جمعآوری دادهها را به مفهومجمعآوری اعداد تعبیر میکنند در صورتی که جمعآوری اعداد ، تنها جنبهای از کار جمعآوری دادههاست.تحلیلگر سیستم باید دادهها مربوط به ورودیها و خروجیهای سیستم و نیز با اطلاعات مربوط به اجزاءمختلف سیستم و ارتباطهای بین آنها ارتباط نزدیک داشته باشد . بنابراین تحلیلگر به جمعآوری دادههای کمّیو کیفی علاقهمند بوده و باید تصمیم بگیرد که چه دادههایی مورد نیازند، آیا دادهها مناسباند ، آیا دادههایموجود برای اهداف او قابل قبولاند، و چگونه این اطلاعات را باید تهیه کرد . طراحی یک مدل شبیه سازیتصادفی ، همیشه مستلزم این انتخاب است که آیا دادههای تجربی مستقیماً در مدل به کار روند یا از توزیعهاینظری احتمال با فراوانی استفاده شود. به سه دلیل این انتخاب مهم و بنیادی است . اول آنکه استفاده ازدادههای تجربی خام ، به این مطلب اشاره میکند که تمام آنچه را که یک مدل انجام میدهد شبیه سازی حالتگذشته است . حال آنکه ، استفاده از دادههای یک سال ، تنها عملکرد همان سال را تکرار کرده و لزوماً در موردعملکرد مورد انتظار سیستم در آینده ، چیزی به ما نمیگوید . دوم آنکه برای تولید متغیرهای تصادفی که درعملیات مدل لازماند، از لحاظ وقت کامپیوتر و حافظه مورد نیاز ، کاربرد توزیع نظری احتمال عموماً نسبت بهکاربرد شیوههای مراجعه به جدول، کارایی بیشتری دارند. سوم آنکه اگر الزامی در کار نباشد ، بسیار مطلوباست که تحلیلگر ، حساسیت مدلش را نسبت به شکل دقیق توزیعهای احتمالی که به کار رفتهاند و نسبت بهمقادیر پارامترها ، تعیین کند . به عبارت دیگر ، آزمونهای حساسیت نتایج، نسبت به دادههای ورودی بسیارمهماند .
بنابراین ، تصمیمهای مربوط به دادههایی که به کار میروند ، اعتبار و شکل آنها ، نیکویی بر ارزش آنها وعملکرد گذشته آنها برای موفقیت آزمایش شبیه سازی حیاتی بوده و فقط در سطح علمی و نظری مطرحنیستند.
6 ـ برگردان مدل : در این مرحله باید مدلی که از سیستم تهیه شده برای کامپیوتر توصیف کنیم . پذیرش سریعشبیه سازی کامپیوتری موجب توسعة بسیاری از زبانهای خاص برنامه نویسی شده که برای آسان کردن اینبرگردان ، طرح ریزی شدهاند . عملاً اکثر زبانهای پیشنهاد شده تنها روی تعداد محدودی از کامپیوترها پیادهشدهاند . مدلهای شبیه سازی از لحاظ منطقی معمولاً بسیار پیچیده بوده ، دارای فعل و انفعالهای متقابلبسیاری در بین عناصر سیستم اند ، که اکثر این فعل و انفعالها در حین برنامه به طور پویا تغییر میکنند . اینوضعیت موجب شدهاست که محققان ، زبانهای برنامه نویسی را ایجاد و توسعه دهند تا مشکل برگردان راآسان کنند . در اینجا برخی از زبانهای شبیه سازی را همراه با توصیف مختصری درباره آنها معرفی میکنیم .