در این مدل ساده، پیکان ورودی به متغیر حالت یک جریان ورودی[۱۳۱] را نشان میدهد. در هنگامی که مورد نیاز باشد پیکان میتواند از هر دو جهت جریان داشته باشد بدین منظور بر روی دایرهای که به بردار چسبیده است دوبار کلیک کنید و در پنجره باز شده گزینه “Blflow” را انتخاب کنید خواهید دید که پیکان دارای دو طرف خواهد شد. ولی در مثال ما متغیر کنترل “Births” یک بردار “Uniflow” است که جمعیت اضافی سالانه را وارد متغیر “Population” میکند. شکل (٨-۵) شما را راهنمایی میکند.
انتخاب نوع متغیر جریان
قدم بعدی این است که بدانیم این افراد جدید چگونه و به چه اندازهای بوجود میآیند، به جنبه واقعی موضوع توجه کنید که ما میخواهیم با دقت مورد نظر به میزان افراد متولد شده در سال دست یابیم. یک راه این است که به آمارهای سرشماری مراجعه کنیم. ممکن است به این رقم برسیم که ۳ نفر در سال به هر ۱۰۰ نفر اضافه شدهاند. این عدد متغیر سوم ما یعنی متغیر انتقالی[۱۳۲] یا مبدل[۱۳۳] (یک دایره تنها) از نوار ابزار خواهد بود. مانند متغیر قبلی این متغیر را نیز که سومین شکل از نوار ابزار است انتخاب کنید و در صفحه مدل کلیک نمایید. روی آن دوباره کلیک کنید و عدد ۳% را وارد نمایید.
آخرین ابزار، بردار اطلاعات[۱۳۴] یا ارتباط دهنده[۱۳۵] است. این بردار اطلاعات را از یک دایره (متغیر کنترل) به یک مستطیل (متغیر حالت) یا بر عکس انتقال میدهد. در این مورد ما میخواهیم اطلاعات نرخ تولد “Birth Rate” را به متغیر تولد “Births” انتقال دهیم و همچنین اطلاعات سطح جمعیت “Population” را به متغیر تولد “Births” برسانیم. دو بردار باید اضافه شوند حال نمودارمان باید شبیه شکل (٨-۶) باشد.
ابزار مبدل و ابزار ارتباط دهنده
آخرین قدم مدلسازی این است که متغیر “Births” را تعیین کنیم. آن را باز کنید و به فهرست نهادههای آن توجه کنید. هر متغیری که با بردار به این متغیر وصل شده باشد در این فهرست نشان داده شدهاند. لذا متغیرهایی که نشان داده شدهاند عبارتند از “Population” و “Birth Rate” به معنی و واحد این در متغیر توجه کنید:
Births= Birth Rate*Population (2)
قدم بعدی در ساخت مدل این است که بازههای زمانی DT را مشخص کنیم. متغیرهای حالت در این زمانها تغییر میکنند. در مثال خودمان DT را برابر یک سال و طول زمان مدل را ۱۰۰ سال تعیین میکنیم. جهت انجام این کار از منوی Run گزینه Run Specs را انتخاب کنید. در پنجره گفتگوی باز شده میتوانید بازههای زمانی و تعداد آنها را انتخاب کنید.
بازههای زمانی جهت اجرای مدل
به منظور نمایش نتایج مدلتان بصورت نموداری بر روی نماد نمودار کلیک کنید و آن را به صفحه مدل بکشید. به همین شکل میتوانید نتایج کارتان را بصورت یک جدول بیان نمایید. نمادهای نمودار و جدول در شکل (٨-٨) نشان داده شدهاند.
نمادهای نمودار و جدول
با دوبار کلیک کردن بر روی نماد گرافیکی نمودار، پنجره گفتگوی آن باز میشود. که در آن فهرستی از متغیرهای جریان و کنترل و سایر پارامترها دیده میشوند.
تنها Population را انتخاب کنید تا در نمودار نمایش داده شود. بازه متغیر را بین ۰ و ۲۰۰ قرار داده و OK را فشار دهید. یک لحظه صبر کنید و از خود سؤال کنید: نتیجه مورد نظر مدل من چیست؟ حالا Run را از منوی Run انتخاب کنید یا Ctrl+r را با هم بگیرید. نتیجه کارتان در نمودار نمایش داده خواهد شد. که در نمودار (٨-٢) نشان داده شده است.
نمودار رشد جمعیت
نمودار رشد بالایی را نشان خواهد داد، همانطور که انتظار داشتیم. همیشه باید قبل از Run شدن مدل، نظرتان را در مورد نتایج مدل بگویید. این نوع گمانهزنیها بینش شما را در مورد نحوه رفتار مدل تقویت میکند و کمک میکند تا خطاهای برنامهریزی را اصلاح کنید. وقتی برخی چیزها برخلاف انتظار شما رفتار کند، نشانه آن است که چیزی اشتباه بوده است و شما باید آن را اصلاح کنید.
ithink چگونه این کار را انجام میدهد؟ ساده است، در ابتدای هر بازه زمانی، ithink با توجه به دایرهها و مستطیلها محاسبات را انجام میدهد. لذا برای آنکه مقدار صحیح تولدها محاسبه شود ithink 3% را در مقدار اولیه جمعیت Population که ۱۰ است ضرب میکند که مقدار ۳% بدست خواهد آمد. در قدم بعد مقدار ۳/۰ که مقدار جدید تولدها است را با مقدار جمعیت جمع میکند و مقدار جدید جمعیت که عدد ۳/۱۰ است در Population قرار میدهد. در بازه زمانی بعدی که زمان از ۱ به ۲ منتقل میشود همین روال و محاسبات انجام خواهد گردید و تا زمان نهایی ادامه خواهد یافت.
شما باید به نقش مهم متغیر حالت دقت کنید. این تنها اطلاعاتی است که رایانه از انتهای یک بازه زمانی تا شروع بازه زمانی بعدی داراست، به همین خاطر است که معتقدیم متغیر حالت شرایط[۱۳۶] سیستم را بیان میکند.
مدلی که بیان شد آنقدر ساده بود که میشد با قلم و کاغذ آن را انجام داد. یک مدل خطی و غیر واقعی. لذا برای آنکه یک جنبه واقعی دیگر به مدل اضافه کنیم و قابلیت ithink را بیشتر نشان دهیم، یک ارتباط در جهت عکس[۱۳۷] از جمعیت به نرخ تولد میدهیم. وقتی این ارتباط داده شد یک علامت سؤال بر روی دایره نرخ تولد ظاهر میشود ـ شکل(٨-٩) ـ چون جمعیت به عنوان یک نهاده برای نرخ تولد اضافه شده است.
ارتباط در جهت عکس
حال متغیر نرخ تولد را باز کنید. رابطه این دو یا بصورت ریاضی مشخص است یا اینکه میتوانیم یک حدس کارشناسانه در مورد رابطه این دو متغیر بزنیم. حدس کارشناسانه برای فهم رابطه بین دو متغیر ممکن است چنین تعیین شود که روند یکی از متغیرها را بصورت گرافیکی (که در این مورد نرخ تولد است) با توجه به ارزش متغیر دیگر بیان میکنیم. این خصوصیت را تابع گرافیکی[۱۳۸] مینامند. (یعنی یک متغیر را وابسته و دیگری را متغیر توصیفی قرار میدهیم.)
پس از آنکه متغیر نرخ تولد را دوبار کلیک کردید و Population را انتخاب کردید. گزینه"Become Graphical Function” را انتخاب کنید تا بصورت گرافیکی رابطه بین نرخ تولد و جمعیت را بیان کنید، جمعیت را بین ۲ و ۲۰۰ تعیین کنید و نرخ تولد را بین صفر و ۰۶/۰. حال با بهره گرفتن از ماوس یک محنی بکشید که از (۰۶/۰ و ۲) شروع شود و به (۰و۲۰۰) برسد.
اگر تصور کنید ما اطلاعاتی داریم که سه نقطه را برای ما بیان میکند میتوانیم روند نمودار را حدس زده و آن را بصورت ملایم رسم کنیم نمودار (٨-٣) این اطلاعات برای ما کافی هستند روی OK کلیک کنید.
تشکیل یک تابع گرافیکی
حال شما آماده هستید تا مدل را دوباره اجرا (Run) کنید اما ابتدا شکل کلی نمودار متغیر جمعیت را در طول زمان حدس بزنید. در درجه اول باید صعودی باشد. همچنین ابتدا باید سریع رشد کند چون جمعیت کم است و در نتیجه نرخ تولد اولیه بسیار بالا است، بعد جمعیت با سرعت کمتری رشد خواهد کرد. نهایتاً در نقطهای که جمعیت برابر ۲۰۰ میشود بعلت تراکم بالا، نرخ تولد صفر میشود. حال مدل را اجرا کنید خواهید دید که درست پیشبینی کردهاید. نمودار (٨-۴)
رشد جمعیت پس از اعمال ارتباط در جهت عکس
هیچ راه حلی تحلیلی برای تعیین رابطه بین حجم جمعیت و نرخ تولد وجود ندارد. این مشکل با تنها روش موجود حل شده است. که به آن روش حل عددی[۱۳۹] میگویند. ما باید آزمایش کنیم که مدل چقدر نسبت به تغییرات در نمودار ساخته شده و تغییرات در بازههای زمانی DT حساس است. بازههای زمانی نباید یک سال باشند. معمولاً هر چه بازههای زمانی کوچکتر باشند روش حل عددی در تجدید کردن مقادیر متغیر حالت دقیقتر خواهد شد و در نتیجه پاسخ مدل نیز دقیقتر میشود. بازههای زمانی را همواره کوچکتر کنید تا وقتی که تغییرات در متغیرهای حیاتی[۱۴۰] اندک شوند.
بطور کلی سعی کنید مدلتان را ساده طراحی کنید، مخصوصاً در اوایل کارتان. تا جایی که امکان دارد نتایج کارتان را با مقادیر اندازهگیری شده مقایسه کنید. تنها وقتی مدلتان را پیچیده کنید که نتایج مورد انتظار و تجربه شده را در حیطه مورد نظرتان ارائه نکند.
همانطور که مدلتان پیچیدهتر میشود، شما باید تلاش کنید تا ساختاری را در ithink بدست آورید که استقلال قسمتهای مختلف مدل را حفظ کند. رویکرد تصویری نرمافزار ithink قدرت زیادی در مدل سازی به آن داده است. اجزای مدل را با بهره گرفتن از ابزار خاصی که به شکل دست است جابجا کنید یا رنگ شکلها را با ابزار فرچه رنگ عوض کنید. شکل (٨-١٠) کافی است روی این شکلها کلیک کنید تا آنها را فعال کنید. از دینامیت وقتی استفاده کنید که میخواهید اجزای غیر مفید را منفجر کنید.
نمادهای جابجایی، تغییر رنگ و پاک کردناجزای مدل
وقتی مدل بزرگتر شد و شامل تعدادی ماجول[۱۴۱] یا زیر مدل شد، شما ممکن است تصمیم بگیرید. از تغییر در برخی از قسمتهای مدلتان جلوگیری کنید. روی ابزار بخش[۱۴۲] کلیک کنید (شکل سمت چپ شکل (٨-١١)) و آن را دور قسمتی از مدل که میخواهید بکشید. این قسمت مجزا شده است. حال اگر منوی Run را باز کنید خواهید دید که میتوانید بخشها را مجزا اجرا کنید یا آنکه همه را با هم اجرا نمایید. اجرای یک بخش مجزا تغییری در ارزش متغیرهای سایر بخشها ایجاد نمیکند.
حاشیه نویس مدل به شما و سایرین این امکان را میدهد که فروض مدل را در خاطر داشته باشند و یا زیر مدلها و بخشها را بشناسند. برای آنکه این کار را انجام دهید روی نماد متن[۱۴۳] که با حرف A نمایش داده شده است کلیک کنید و آن را به صفحه مدلسازی بکشید و متن مورد نظرتان را بنویسید.
نماد ابزارهای متن و بخش
وقتی مدل توسعه یافت یا وقتی بخواهید مدلهایتان و نتایج مدلها را به دیگران ارائه دهید. این ابزارها بسیار مفید خواهند بود. ما شما را تشویق میکنیم تا هر آنچه میتوانید از ابزارهایی که ithink در اختیارتان قرار میدهد استفاده کنید.
ithink مراحل تحلیل حساسیت بسیار خوبی دارد. شما باید از اول به آخر مدلتان تمرین کنید، بارها با بصیرت خود نتایج را بررسی کنید. بارها مدل را اجرا کنید و شرایط اولیه را تغییر دهید.
بیان ریاضی مدل رشد جمعیت
اصول مدلسازی
در این قسمت حاصل تجربه چند ساله مدلسازی را بصورت اصولی کلی ارائه مینماییم. در اینجا ۱۰ قدم برای روند مدلسازی ارائه میکنیم. بهترین کار این است که شما هر چند وقت یکبار در طول مدلسازی این اصول را مرور کنید و آنها را در ذهن خود بپرورانید.
مسأله و اهداف مدل را تعریف کنید. سؤالاتی را که با مدلسازی میخواهید پاسخ دهید تعیین کنید اگر مسأله بزرگ است، زیر بخشهای مدل و اهداف هر یک از آن زیر بخشها را مشخص کنید. حال فکر کنید آیا مدل من توصیفی است یا پیشگویی خواهد کرد.
متغیرهای حالت را مشخص کنید (این متغیرها حالت سیستم را مشخص خواهند کرد) مدل را ساده طراحی کنید. علیالخصوص در ابتدای کار آن را پیچیده نکنید. به واحد متغیرهای حالت توجه داشته باشید.
متغیرهای کنترل را انتخاب کنید، متغیرهای جریان که وارد متغیرهای حالت میشوند یا از آنها خارج میگردند را تعیین نمایید. (متغیرهای کنترل از طریق متغیرهای حالت محاسبه میشوند و پس از گذشت هر بازه زمانی متغیر حالت را تغییر میدهند.) دقت کنید که متغیرهای حالت هم به متغیرهای کنترل مقداری را میدهند و هم از آنها مقدار جدید را میگیرند. همچنین به واحد متغیرهای کنترل توجه کنید. در ابتدا ساده بگیرید و سعی کنید قسمتهای اساسی را مورد توجه قرار دهید.
اجزای متغیرهای کنترل را انتخاب کنید، به واحد این اجزا و متغیر کنترل دقت کنید. از خود سؤال کنید: تابع این متغیر کنترل چیست؟
مدل را از جنبه اشتباهات احتمالی شکلی و اقتصادی و… آزمون کنید. همچنین سازگاری واحدها را آزمون کنید. احتمال تقسیم بر صفر را ملاحظه کنید. اعداد یا قیمتهای منفی و… را آزمون کنید. از دستورهای شرطی در صورت لزوم استفاده کنید تا از این اشتباهات بپرهیزید.