برای دیدن نحوه کار مدل، یک افق زمانی را انتخاب کنید که میخواهید رفتار پویایی مدل را آزمون کنید. طول بازههای زمانی که متغیرهای حالت به روز میشوند و محاسبات عددی که متغیرهای جریان محاسبه میشوند را تعیین کنید. یک نمودار بوجود آورید و سعی کنید قبل از اجرا کردن مدل روند متغیر حالت را حدس بزنید.
مدل را اجرا کنید. و آزمون کنید که آیا نمودار متغیرهای موجود از سلامت برخودار است. یک آزمون دیگر در مورد افق زمانی انجام دهید و بازههای زمانی را تغییر دهید مثلاً DT را اینبار نصف DT قبلی انتخاب کنید و آزمون کنید که آیا نتایج قبلی تکرار می شود یا خیر؟
متغیرها را تا بیشترین حد ممکن تغییر دهید و مشاهده کنید که آیا هنوز نتایج در روی نمودار تغییر میکنند. مدل را در صورت وجود اشتباه یا ناسازگاری بازبینی کنید.
نتایج را با دادههای موجود که بصورت تجربی بدست آمدهاند مقایسه کنید. این بدین معناست که شاید لازم باشد قسمتهایی از مدلتان را از بین ببرید تا نتایج تجربی را تقلید کنید.
پارامترها و حتی مدل را بازبینی کنید تا مسائل پیچیدهتری را منعکس کند و حالات خاص دنیای واقعی را نیز ارائه دهد، قدمهای ۱ تا ۱۰ را تکرار کنید تا مدلتان هر چه بیشتر پیشرفت کند.
نگران انجام تمامی مراحل ذکر شده برای مدلسازی نباشید. اما همانطور که مدل را توسعه میدهید هر از چندگاهی به این مراحل مراجعه کنید در آن هنگام خواهید فهمید که این مرحله چه اندازه دقیق و مفید هستند.
به خاطر بیاورید که مدلسازی میتواند سه استفاده داشته باشد. اول اینکه، میتوانید با بهره گرفتن از مدلها تجربه کسب کنید. یک مدل خوب میتواند به شما این امکان را بدهد که با تغییر دادن یکی از اجزای آن مشاهده کنید که سایر بخشهای مدل چه عکسالعملی از خود نشان میدهند. دوم اینکه، یک مدل خوب به شما این امکان را میدهد که آینده را پیشبینی کنید. سوم اینکه، یک مدل خوب پرسشهای آینده در مورد رفتار مدل و قابلیت اجرای اصول کشف شده در روال مدلسازی در سایر سیستمها را شبیهسازی میکند.
چهار روش کلی برای مدلسازی در ithink
در این بخش، به بررسی مدلهای اساسی میپردازیم که زمینه ساخت مدلهای متفاوتی هستند که در بخش بعد ارائه خواهند شد. به منظور ادامه بحثمان، شما باید نرمافزار ithinkرا در رایانهتان اجرا کنید و مدلها را همانطور که توضیح خواهیم داد بسازید.
چهار حالت کلی برای مدلها وجود دارد که در خلال مدلسازی از این چهار حالت استفاده خواهید کرد. در این قسمت این روشها را به دو منظور آشنایی بیشتر با نرمافزار ithinkو مهارت در مدلسازی بیان خواهم کرد. در این مثالها ما از جمعیت به عنوان متغیر حالت استفاده میکنیم.
مدلهای محرک ـ واکنش[۱۴۴]
اولین دسته از این مدلها مدلهای محرک ـ واکنش هستند. به عنوان مثال فرض کنید جمعیت مهاجر (به عنوان متغیر جریان) یک تحریک جهت تغییر در جمعیت میزبان (به عنوان متغیر حالت) محسوب شود. این تحریک به رشد جمعیت جذب کننده مهاجران می انجامد. مدل ithinkبرای مدلهای محرک ـ واکنش در شکل (٨-١٣) نشان داده شده است.
Net Immigration=Immigration Factor (3)
افزایش جمعیت بدلیل مهاجرت
Population با تعداد افراد اندازهگیری میشود. Net Immigration براساس تعداد افراد بر واحد زمان اندازهگیری میشود Immigration Factor دارای واحدی مانند Net Immigration است.
جریان Net Immigration با بهره گرفتن از Immigration Factor مدل میشود که خود ضریب مهاجرت تابعی از زمان است. زمان تابع درونی[۱۴۵] نرمافزار ithinkاست. ضریب مهاجرت را باز کنید و TIME را به عنوان قسمت سمت راست معادله تایپ کنید یا اینکه TIME را از فهرست توابع درونی نرمافزار انتخاب کنید. (این توابع در پنجره باز شده فهرست شدهاند) ما از رابطه گرافیکی استفاده میکنیم تا تغییر در Immigration Factor را با توجه به زمان تعیین کنیم. (نمودار ٨-۵)
تابع گرافیکی نرخ مهاجرت
طریقه ارتباط برقرار کردن ضریب مهاجرت با زمان بصورت گرافیکی نمایش داده شده است. ممکن است بجای آن یک رابطه ساده ریاضی نیز بنویسیم. ضریب مهاجرت در زمان صفر، صفر در نظر گرفته شده است و در زمان ۱۰۰ مقدار آن ۶/۱ فرض شده است. در نتیجه ضریب مهاجرت به آرامی زیاد میشود و جمعیت با سرعت بیشتری زیاد خواهد شد. حال اگر مدل را اجرا کنیم و جمعیت ۱۰۰ واحد زمانی مانند نمودار (٨-۶) رشد خواهد داشت. مقدار اولیه جمعیت ۱۰ فرض شده است.
رشد جمعیت بوسیله مهاجرت
قبل از آنکه به معرفی سایر مدلها بپردازیم باید این نکته را متذکر شویم که همخوانی واحد متغیرها مهم است. تناسب واحدها در مدلسازی و کاربرد آن اهمیت فراوانی دارد. در جدول ذیل متغیرهای مدل و واحد آنها ذکر شده است.
با توجه به این واحدها، میتوانیم سازگاریشان را با محاسبه واحدهای جمعیت از رابطه زیر بدست آوریم:
Population=Population (t-dt) + (net Immigration)*DT (4)
Net immigration=Immigration Factor (5)
در نتیجه خواهیم داشت:
Number of individuals= Number of individuals Number of Individuals per Time Period*Time Period= Number of individuals (6)
از آنجا که “Time Period” برابر است با DT در نتیجه واحدها با هم سازگار خواهند شد.
بیان ریاضی رشد جمعیت بدیل مهاجرت
مدل خود بارگشت[۱۴۶]
دومین دسته از مدلها مدلهای خود بازگشت هستند مثلاً وقتی جمعیت به عنوان یک متغیر حالت بر نرخ رشد جمعیت به عنوان یک متغیر جریان اثر بگذارد. مدل خود بازگشت خواهد بود. در این مورد، سطح جمعیت، در نقطه بیشینه خود متوقف میشود. این نقطه بیشینه از قبل تعیین شده است. همچنین مسیر رشد جمعیت در این سازوکار مشخص شده است. مدلهای خود بازگشت ممکن است محدودیتهای داشته باشند.
محدودیت ما در اینجا، نرخ خالص تولد برابر با صفر است وقتی که جمعیت به آن سطح خاص میرسد. ما ممکن است این محدودیتها به عنوان هدف جمعیت معرفی کنیم وقتی که جمعیت به عدد ۱۰۰ یعنی بیشینه خود برسد، نرخ خالص تولد برابر با صفر در نظر گرفته میشود. مدل نشان خواهد داد که جمعیت به ۱۰۰ رسیده است اما مدل از محاسبه خارج نمیشود و همینطور به رشد خودش ادامه میدهد.
مدل خود بازگشت را در شکل (٨-١۵) میتوانید مشاهده کنید. Net Births به عنوان جریان ورودی به متغیر حالت Population به سطح جمعیت در دوره قبل بستگی دارد. جمعیت در هر سال برابر است با جمعیت سال قبل بعلاوه متولدین امسال. نرخ تولد برابر است با میزان افراد متولد شد. در هر دوره زمانی که در آن اثر خالص تولدها و مرگها بر روی جمعیت با هم محاسبه میشوند. حال Net Birth Rate را در جمعیت ضرب میکنیم.
مدل خود بازگشت
واحد Net Birth Rate در مدلمان یک عدد ثابت نیست و بستگی دارد به میزان جمعیت. همانطور که قبلاً بیان شده است. این وابستگی برای سادگی بصورت گرافیکی تعیین شده است. به عنوان جایگزین انسان شناسان ممکن است به ما رابطه آماری بین Population وNet Birth Rate را بصورت تابعی بیان کنند. در آن مرقع خواهیم توانست بجای استفاده از نمودار با بهره گرفتن از تابع فوق اثر جمعیت بر میزان Net Birth Rate را بیان نماییم. رابطه Population با Net Birth Rate که بصورت نموداری بیان شده است.
تابع گرافیکی نرخ خالص تولد
پویاییهای جمعیت در نمودار (٨-٨) نشان داده شده است. رشد سطح جمعیت وقتی که نرخ خالص تولد صفر شود متوقف خواهد شد که در آن جمعیت به ۱۰۰ میرسد.
رشد جمعیت در حالت ارتباط بین نرخ خالص تولد و سطح جمعیت
قبل از آنکه به این مدل ادامه دهید مطئمن شوید که واحد هر یک از متغیرها را در مدل میدایند. مطئمن شوید که واحدها با هم سازگاری دارند. روشی که در بخش قبل گفته شد را جهت سازگاری واحدها استفاده کنید.
حال خوب به مدل نگاه کنید، خوب توجه کنید که نرخ خالص تولد در حالت نموداری یک خط مستقیم بود بین نقاط اول و انتهایی. جمعیت نتیجه شده با توجه به روال منطقی خود رشد میکند. معادله دیفرانسیل بدست آمده غیر خطی است و یک راه حل تحلیلی دارد. اکثر معادلههای دیفرانسیل غیر خطی بصورت تحلیلی قابل حل نیستند، لذا مدل ما یک حالت خاص است. اگر به هر دلیلی نرخ خالص تولد بصورت غیر خطی به جمعیت وابسته شود مثلاً Net Birth Rate یک منحنی باشد، معادله دیفرانسیل بدست آمده هیچ راه حلی تحلیلی ندارد.
مدل هدفجو[۱۴۷]
سومین دسته مدلها هدف جو نامیده میشوند. یک مقدار خاص جمعیت هدف قرار داده میشود و اختلاف بین جمعیت فعلی و جمعیت هدف، جمعیت را به سوی هدف هدایت میکند. بر خلاف مدلهای قبل، روندی که در مدلهای هدفجو استفاده میشود ساده است. مثالهای زیادی میتوان برای این نوع مدلها آورد. نابود شدن منابع رادیو اکتیوی (هدف رادیو اکتیوی صفر است) یا انتشار گاز در محیط اتاق (هدف اشباع فضای اتاق است).
مدل هدف جو در نمودار (٨-١۶) نشان داده شده است. در اینجا جریان Net Births نه تنها به مقدار جمعیت بلکه به متغیر برونزاری Target Population نیز بستگی دارد.
Net Births=Net Birth Rate*(Target Population-Population) (8)
مدل هدفجو
در اینجا ما مقدار جمعیت هدف را بصورت قراردادی برابر با ۱۰۰ قرار میدهیم و جمعیت اولیه را ۱۰ فرض میکنیم و NET Births از ابتدای مدل عددی مثبت فرض میکنیم و همچنان مثبت فرض میشود تا هنگامی که جمعیت از مقدار جمعیت هدف کمتر باشد. همانطور که جمعیت رشد میکند، تفاوت آن با جمعیت هدف کم میشود و به صفر میرسد. مقادیر اضافه شده به جمعیت در طول زمان کوچکتر میشوند و جمعیت را به سوی مقدار جمعیت هدف ۱۰۰ نفر پیش میبرند.
دوباره به واحد متغیرها و پارامترها توجه کنید و از سازگاری آنها با هم مطمئن شوید. وقتی این که را انجام دادید سعی کنید رفتار مدل را حدس بزنید. رفتار جمعیت با مقدار اولیه مورد نظر ما و مقدار هدف آن در نمودار(٨-٩) نشان داده شده است.