جدول ۳-۳- نمایش شماره دروس
نام درس
شماره درس
پس از مشخص شدن اندیسهای متغیر، متغیر صفر و یکی تعریف میگردد که در برگیرنده تمامی موارد فوق باشد.
i: به عنوان اندیس درس وارد مسئله میشود و مقادیر از یک تا تعداد کل دروس را میگیرد.
g: به عنوان اندیس کد بازهزمانی و روزهای هفته وارد مسئله میشود و مقادیر از ۱ تا ۳۰ را شامل می شود.
l: به عنوان اندیس استاد وارد مسئله میشود و مقادیر از یک تا تعداد کل اساتید را میگیرد.
I={{i ،…درس ۲،درس ۱ (۳-۱)
G= {،۲، ۱… ، g } (3-2)
L= {{l ،…استاد ۲،استاد ۱ (۳-۳)
متغیری با نام به صورت زیر تعریف خواهد شد که در ادامه در مدل ریاضی نمایش داده میشود.
(۳-۴)
=
۳-۱۰- روش حل مسئله برنامه ریزی دروس دانشگاهی
در این بخش ابتدا به روش حل کلی توسط الگوریتم ژنتیک اشاره میشود و به تبع آن شبهکد نوشته شده و روند حل مسئله بیان میشود.
۳-۱۰-۱- الگوریتمهای ژنتیک
الگوریتمهای ژنتیک دارای کاربرد گستردهای در زمینه های مختلف هستند. یک نمونه از این کاربردها، مسائل بهینه سازی چندبعدی میباشد که در آنها پارامترهای متفاوتی که قرار است بهینه شوند در قالب رشته کروموزوم سازماندهی میشوند.
در عمل، مدل ژنتیک محاسباتی میتواند با آرایهای از بیتها و یا کاراکترها در قالب کروموزوم پیادهسازی شود. به این ترتیب عملیاتهای ترکیب و جهش با دستکاری این بیتها یا رشته ها ممکن خواهند بود. هر چندتحقیقات زیادی بر روی رشته ها با طول متغیر و سایر ساختارها انجام شد اما عمده کاربران الگوریتمهای ژنتیک از رشتهای با طول ثابت به عنوان کروموزوم استفاده میکنند، به این ترتیب محقق با دو محدودیت یعنی طول ثابت رشته ها و نحوه ارائه مسئله در قالب این رشته ها مواجه است. نحوه کلی عملکرد الگوریتمهای ژنتیک مطابق با چرخه زیر میباشد:
ابتدا کلیه افراد موجود در جمعیت ارزیابی میشوند. سپس افراد جدید با بهره گرفتن از عملگرهای ترکیب و جهش تولید میشوند و افراد قدیمی و تکراری از جمعیت جدید حذف میگردند. یک تکرار از حلقه یاد شده تحت عنوان ایجاد یک نسل شناخته میشود. اولین نسل از این فرایند به صورت تصادفی ایجاد شده و سپس عملگرهای ژنتیک با اندازه گیری میزان شایستگی آنها جمعیت را از نظر کارایی برای حل مسئله مورد ارزیابی قرار میدهند (کیا، ۱۳۹۱).
۳-۱۰-۲- شبه کد الگوریتم در مدل پیشنهادی
برای به وجود آوردن یک رشته با طول ثابت به عنوان کروموزوم، ابتدا گروه های مختلف درسی به چهارگروه تفکیک و برای هر یک کروموزومی تشکیل شد، نحوه کار به این صورت است که با توجه به تعداد درسهای موجود در هر گروه و نیز کد بازههای زمانی که هر درس میتواند اختیار کند، ماتریسی با ابعاد و با اعداد صفر و یک تشکیل گردید. این اعداد صفر و یک با دستوراتی که در کد نوشته شده به صورت تصادفی یک جواب کاملا موجه درست میکنند، دستوراتی مانند اینکه در هر سطر برای دروس دو واحدی فقط یکی از سلولها مقدار یک را داشته باشد و برای دروس سه یا چهار واحدی تعداد دو تا از سلولها مقدار یک را داشته باشد. پس برای هر گروه ماتریسی با این ابعاد در نظر گرفته شده است.
بازههای زمانی
g = 1
فرم در حال بارگذاری ...