یک روش بهینه سازی ترکیبی بر مبنای الگوریتم pso برای حل مسئله زمان بندی خالصه: مسئله هاي زمان بندي و برنامه ريزي سازگارسازي و هماهنگ نمودن مجموعه اي از نهادها مانند رخدادها فعاليتها افراد ابزار و دستگاهها مکانها و مانند اينها در يك الگوي مکان زمان است. يك الگوريتم جديد که بر پايه قوانين بهينه سازي انبوه ذرات (PSO) براي مسئله زمان بندي آموزشی پيشنهاد شده است. همچنين در الگوريتم pso اصلی ذرات راه حل ها را در يك فضاي حل پيوسته جستجو می کنند چون فضاي حل مسئله زمان بندي دروس دانشگاهی گسسته است يك سازو کار. جستجوي محلی با PSO به منظور بررسی بهبود يك راه حل بهتر پيشنهاد شده است. نتايج تجربی نشان می دهند که الگوريتم ترکيبی پيشنهاد شده باعث ايجاد يك حل موثر با يك رضايت بهينه از زمان بندي دوره آموزشی براي اساتيد و ترتيب زمان بندي کالس ها شده است. کلمات کلیدی: زمان بندی الگوریتمهای فرا اکتشافی الگوریتم بهینه سازی انبوه ذرات 1. مقدمه مسئله زمان بندي دوره آموزشی دانشگاهی يکی از مسائل زمان بندي است که در 52 سال اخير بطورگسترده مورد مطالعه قرار گرفته اند [1]. در بسياري از تحقيقات مسائل زمان بندي دوره آموزشی را با استفاده از الگوريتمهاي فرا اکتشافی حل کرده اند. شبيه سازي تبريد الگوريتم هاي ژنتيك بهينه سازي مورچگان و... الگوريتمهاي فرا اکتشافی ترکيبی شامل چهار روش (GA,SA,TS,ACO) را براي مسئله برنامه زمانی بکاربردندکه نتايج حاصل نشان دادند که ACO بهترين حل را ايجاد کرده و سپس TS و. GA و از همه بدتر نتايج SA بوده است[ 2 ]. استفاده می کنند. اغلب الگوريتمهاي فرااکتشافی به يك تابع شايستگی براي تخمين کيفيت و اجرا نياز دارند. و همچنين يك تکنيك اضافی براي فرار از همگرايی زودرس 1
2. توصیف مسئله و فرض ها مسائل توليد زمان بندي دوره هاي آموزشی يك مثال ساده از يك مسئله رضايت مقيد است [3]. که در اين مسئله شامل يك دسته از دوره هاي آموزشی براي زمان بندي 04 فاصله زمانی در طول 2 روز و 8 دوره است. در شروع نيسمال تحصيلی چندين دوره آموزشی به دانشجويان پيشنهاد می شود و در هر دوره آموزشی می تواند متناظر با تعداد دانشجويان ثبت نام کرده و به چند بخش گوناگون تقسيم شود. مسئله زمان بندي دوره هاي آموزشی دانشگاهی به دو دسته از قيدها دسته بندي می شوند: قيدهاي سخت و قيدهاي نرم. قيدهاي سخت بايد به منظور توليد راه حل هاي قابل اجرا حتما برآورده شوند و قيدهاي نرم برخی از اوقات نشان دهنده اولويت ها هستند که اگر نياز باشد ميتوان آنها را نقض کرد. اين زمانبندي با پيدا کردن راه حل هايی که تعداد کمينه اولويت ها براي اساتيد و کالس ها را نقض کند می تواند بهينه شود. قیدهای سخت هر استاد می تواند فقط يك بخش از دوره آموزشی رادر هر زمان آموزش دهد. هر بخش از دوره آموزشی فقط توسط يك استاد آموزش داده می شود. دانشجويان در هر زمان فقط می توانند در يك بخش از دوره آموزشی شرکت کنند. هر کالس درس براي بيشتر از يك بخش از دوره آموزشی در هر دوره زمانی نمی تواند استفاده شود. دوره هاي زمانی قطعی براي فعاليت هاي غير دانشگاهی مثل ساعات ناهاريا ورزش نمی توانند برنامه ريزي شوند. برخی از بخش هاي دوره آموزشی بايد براي يك کالس خاص برنامه ريزي شوند مثل آزمايشگاه يا کامپيوتر 1 5 3 0 2 6. 1. 2. 2. 2 قیدهای نرم اساتيد و دانشجويان می توانند اولويت هايشان را با در نظر گرفتن روزهاي ارجح و دوره هاي زمانی در 04 بازه زمانی در طول 2 روز و 8 دوره ارائه دهند. اساتيد می توانند تعداد دوره هاي زمانی بدون تدريس را به حداکثر برسانند يعنی اساتيد می توانند به زمانی که ترجيح می دهند تدريس نکنند يك دوره زمانی تخصيص دهند. دهند. يك بخش از دوره آموزشی در سه ساعت آموزش بايد در دوره هاي زمانی پشت سر هم زمان بندي شود و اگر نياز باشد نمی تواند به دوره هاي زمانی متفاوت تقسيم شود يعنی اساتيد می توانند يك قالب بندي تدريس ارجح براي يك بخش از دوره آموزشی خاص اختصاص به حداقل رساندن جابه جايی دانشجويان بين کالس هاي درس 1 5 3 0 3. تابع شایستگی)برازندگی( براي حل هر مسئله بهينه سازي بايد يك تابع شايستگی طراحی و ابداع شود. تابع شايستگی بايد از خصوصيات خاصی برخوردار باشد. اين تابع بايد به ازاي هر جواب )مجموعه اي از مقادير ورودي( که توسط ذرات ارائه میشود جواب را برمی گرداند. به عبارت ديگر اين تابع شايستگی همان تابع 2
هدف است و به گونه اي بايد طراحی شود که هر چه جواب ارائه شده به جواب بهينه نزديكتر باشد عدد شايستگی بزرگتري برگرداند که نشان دهنده شايستگی بيشتر آن ذره است. [ ] [ ] رابطه) 1 ( شايستگی [i] Tpv = که pv lt جمع مقادير حق تقدم براي آن دسته از دوره هاي زمانی است که تدريس بخشی از دوره آموزشی l براي استاد t را نشان می دهد. Pv hk جمع مقادير حق تقدم براي آن دوره هاي زمانی است که بخشی از دوره آموزشی h براي کالس k پيشنهاد می دهد. هدف دستيابی به يك رضايت بهينه براي هر استاد و کالس بر اساس مقادير حق تقدم اولويت هاست. دو عامل وزنی α و β به حق تقدم نسبی که براي مرتبه رضايت براي اساتيد و کالس ها در فرايند بهينه سازي داده ميشود اختصاص داده شده اند. مرتبه رضايت براي اساتيد ميتواند با اختصاص يك مقدار باال مورد تاکيد قرار گيرد. α باضافه β برابر با 1 است. هدف کلی پيداکردن يك جدول زمانی قابل اجراست که همه قيدهاي سخت را براي به حداکثر رساندن مقادير حق تقدم کل Tpv را براي هر استاد و کالس که وزن مجموع مقادير حق تقدم است برآورده کند. 4. الگوریتم بهینه سازی انبوه ذرات( pso ) جيمز ک ندي روانشناس اجتماعی و راس ل سی ا ب رهارت مهندس برق صاحبان اصلی ايدهي الگوريتم PSO میباشند. آنها در ابتدا قصد داشتند که با بهره گيري از مدلهاي اجتماعی و روابط موجود اجتماعی نوعی از هوش محاسباتی را به وجود بياورند که به توانايیهاي فردي ويژه نيازي نداشته باشد. اولين شبيه سازي آنها که در سال 1992[4,5] انجام گرديد آنها را به سمت شبيه سازي رفتار پرندگان براي يافتن دانه رهنمون کرد. اين کار تحت تأثير کار ه پن ر و گر ناند ر بود که در سال 1994 براي شبيه سازي رفتار پرندگان به صورت يك سيستم غير خطی انجام گرفته بود. کار کندي و ابرهارت منجر به ايجاد الگوريتمی قوي براي بهينه سازي به نام الگوريتم بهينه سازي گروه ذرات يا PSO شد [6,7,8]. در الگوريتم PSO تعدادي از موجودات وجود دارند که به آنها ذره گفته میشود و در فضاي جستجوي تابعی که قصد کمينه کردن )و يا بهينه کردن( مقدار آن را داريم پخش شدهاند. هر ذره مقدار تابع هدف را در موقعيتی از فضا که در آن قرار گرفته است محاسبه میکند. سپس با استفاده از ترکيب اطالعات محل فعلیاش و بهترين محلی که در گذشته در آن بوده است میکند. همهي ذرات جهتی براي حرکت انتخاب میکنند میشوند تا آن که جواب مورد نظر به دست بيايد. در واقع انبوه ذرات که میکنند که به دنبال غذا میگردند [9,10,11]. و هم چنين اطالعات يك يا چند ذره از بهترين ذرات موجود در جمع جهتی را براي حرکت انتخاب و پس از انجام حرکت يك مرحله از الگوريتم به پايان میرسد. اين مراحل چندين بار تکرار مقدار کمينهي يك تابع را جستجو میکنند همانند دسته اي از پرندگان عمل 5. مراحل الگوریتم pso مقدار دهی اوليه : دادن مقدار اوليه به يك جمعيت از ذرات با موقعيت ها و سرعت هاي تصادفی در ابعاد D در فضاي جستجو تخمين : زدن تخمين براي شايستگی هر ذره در اين جمعيت به روز رسانی: محاسبه سرعت هر ذره با رابطه 5 و حرکت به موقعيت بعدي بر اساس رابطه 3 i v j i, best t 1 wv t c r x j t x t i gbest i j c2r x t x j t i j 1 1 2 j رابطه )5( 1 5 3 3
i x j t 1 x t v t 1 i j i j رابطه) 3 ( 0 خاتمه: متوقف کردن الگوريتم اگر به يك معيار توقف معين شده برسد در غير اينصورت رفتن به مرحله 5 6. ویزگیهای الگوریتم ترکیبی PSO ارتباط دادن موقعيت يك ذره به جدول زمانی اساتيد و درس ها اجازه دادن به اساتيدي که متمايل به تدريس بر اساس اولويت هايشان هستند به کار گرفتن يك فرايند ترميم براي همه جداول زمانی غير قابل اجرا چون فضاي راه حل زمان بندي دوره هاي آموزشی دانشگاهی گسسته است يك ساز و کار جستجوي محلی به الگوريتم براي بررسی ذرات در موقعيت بهتراضافه شده است. 7. جزئیات الگوریتم ترکیبی PSO PSO اندازه جمعيت : P P به تعداد بخش هاي دوره آموزشی که توسط مسئله پيشنهاد شده اشاره می کند : t تعداد اساتيد Pso[i] : به موقعيت ذره i در جمعيت pso که بصورت يك بردار p بعدي اشاره می کند که مقادير آن متعلق به مجموعه ( 1,2, 40*m )است. Pso[i][j] : نشان دهنده تعداد بازه هاي زمانی شروع کننده است که به j امين بخش دوره آموزشی در i امين ذره نسبت داده شده Fitness[i] : نشان دهنده مقدار شايستگی ذره i بر اساس رابطه 1 است. Pbest[i] : موقعيت بهترين موقعيت محلی براي ذره i است. Gbest[i] : ضريب بهترين عمومی است. Fitness[i] : Pbest نشان دهنده بهترين شايستگی محلی ذره i است. V[i] : سرعت ذره i است که بصورت يك بردار حقيقی رمز گذاري شده p بعدي است. 4
8. جستجوی محلی برای الگوریتم ترکیبی وقتی يك ذره در يك فضاي حل پيوسته حرکت می کند بعلت اينرسی سرعت ذره ذره را به يك موقعيت بهتر حرکت ميدهد. از آنجايی که زمان بندي دوره هاي آموزشی دانشگاهی گسسته است يعنی مقادير حق تقدم براي هر استاد پشت سر هم نيستند يا غير متوالی اند يك ساز و کار جستجوي محلی را به pso پيشنهاد شده و موقعيت ذره را توسط بازنويسی رابطه 3 بصورت زير تعريف می شود. ( ) رابطه )0( که rand نشان دهنده يك عدد صحيح تصادفی است 9. مسایل مقید[ 15] حل بسياري از مسايل دنياي واقعی بايد در حضور مجموعه اي از قيود و محدوديتها انجام شود. به اين قبيل مسايل مسايل بهينه سازي میشود. در اين دسته از مسايل بهينه سازي يك تابع در حضور مجموعه اي از قيدها يا محدوديتها انجام میشود. 1 مقيد گفته در سالهاي اخير روشهاي متعددي براي حل مسايل مقيد با استفاده از الگوريتمهاي ابتکاري پيشنهاد شده است که مهمترين آنها عبارتند از: الف( روش حذف اعضاي غير عملی ب( روش ترميم اعضاي غير عملی ج( روش اصالح عملگرهاي وراثتی د( روش جريمه از ميان روشهاي مذکور روشهاي حذف و جريمه کردن )روشهاي الف و د( از جمله روشهايی هستند که به نوع مسئله چندان وابسته نبوده و قابل اعمال به مسئله هاي مقيد در هر زمينه اي هستند. اين در حالی است که روش حذف به واسطه نقاط ضعفی که دارد چندان مورد توجه و استقبال واقع نشده است. از سوي ديگر روشهاي ترميم اعضاي غير عملی و اصالح عملگرهاي وراثتی وابسته به مسئلهاند و براي هر مسئله بايد فرآيند و الگوريتمی خاص طراحی و پيشنهاد شود.. 1. 9 روش حذف در روش حذف کليه ذراتی که به جوابهاي غيرعملی منجر میشوند حذف میشوند. اين روش نوع خاصی از روش جريمه است که در آن به افرادي که به نقاط غير عملی اشاره میکنند اجازه مشارکت در تکامل داده نمیشود. روش حذف اگر چه روشی به ظاهر منطقی است اما در عمل با مشکالت فراوانی روبرو است. شرايطی را در نظر بگيريد که در حل يك مسئله اکثر ذرات به جوابهايی از مجموعه جوابهاي غير عملی اشاره کنند. در اين حالت روش حذف منجر به کاهش تعداد ذرات شرکت کننده در مرحله توليد مثل يا به عبارتی افزايش فشار انتخاب خواهد شد. اين موضوع کاهش غناي ژنی جمعيت را به دنبال دارد و به تبع آن احتمال گير افتادن الگوريتم در بهينه هاي محلی افزايش میيابد. 1 Constrained problems 5
. 2. 9 روش ترمیم در اين روش راه حل غير عملی توليد شده توسط ذرات با اعمال يك فرآيند مشخص و از پيش تعريف شده به جوابهاي عملی تبديل میشود. از مشکالت اين روش میتوان به مسئله گرا بودن آن اشاره کرد به گونه اي که فرآيند ترميم جوابهاي غير عملی و تبديل آنها به جوابهاي عملی از يك مسئله به مسئله ديگر متفاوت است. به عبارتی فرآيند ترميم بايد براي هر مسئله طراحی و پيشنهاد شود. بسياري از مسايل ترکيباتی با استفاده از روش ترميم حل میشوند.. 3. 9 روش اصالح عملگرهای وراثتی در اين روش با تعريف عملگرهاي وراثتی خاص همواره ذرات در محدودهي جوابهاي عملی توليد میشود. از معايب اين روش وابسته بودن آن به نوع مسئله است. اما با تعريف عملگرهاي مناسب میتوان الگوريتم وراثتی کارآمدي براي حل مسايل خاص طراحی و ارايه کرد. ارائه شيوه هاي رمزگذاري 5 خاص از جمله ابزاري است که میتوان در اين روش از آن استفاده کرد. در بعضی از تحقيقات نشان داده شده است که استفاده از اين روش در مسايل خاص اغلب مفيدتر از روش جريمه است.. 4. 9 روش جریمه هستند کند. در تمام روشهايی که تا کنون گفته شد از توليد جوابهاي غير عملی جلوگيري به عمل میآيد. عيب اين روشها اين است که در مسايل با قيود سخت نسبت بزرگی از فضاي جستجو به نواحی غير عملی تعلق دارد. در اين حالت چنان چه نواحی عملی در کل ناحيه پخش شده باشند يافتن اين نواحی در فضاي جستجو به واسطه عدم توليد جوابهاي عملی دشوار است. بنابراين در اين قبيل شرايط يافت پاسخ بهينه با استفاده از اين روشها زمان بر خواهد شد. چنان چه در چنين وضعيتی به الگوريتم اجازه داده شود تا هم نواحی عملی و هم نواحی غير عملی را جستجو کند زمان جستجو کاهش میيابد ضمن آن که امکان يافتن پاسخی بهتر نسبت به ساير روشها ميسر میشود. روش جريمه بر پايهي چنين ايده اي شکل گرفته است. اساس کار اين روش اين است که يك مسئله بهينه سازي مقيد را با اعمال يك تابع جريمه به نواحی غير عملی به يك مسئله بهينه سازي نامقيد تبديل میکند. نحوه کار اين گونه است که براي جوابهاي غيرعملی يك تابع جريمه به تابع هدف افزوده میشود. براي توابعی که شامل چندين قيد به ازاي برآورده نشدن هر قيد يك جريمه در نظر گرفته میشود و براي هر ذره جريمه کل از جمع وزن دار جرايم قيود ارضا نشده به دست میآيد. در اين روش طراح اين قابليت را پيدا میکند که با تخصيص وزنهاي مناسب به قيود بر اساس درجه اهميت آنها جستجو را به خوبی هدايت اين روش با وجود محاسن زياد داراي معايبی نيز هست. مهمترين ايراد اين روش در برگرداندن يك مقدار به ازاي هر جواب عملی يا غيرعملی است. بنابراين کليه اطالعات مفيد مربوط به ميزان ارضا قيود از بين میرود. 11. استفاده از فرایند ترمیم است(. الگوريتم بطور تصادفی فرايند توليد را براي جمعيت اوليه pso آغاز می کند. هر بردار ابعادي در ذره يك بخش دوره آموزشی که با يك استاد خاص تدريس شده را بيان می کند. )اختصاص هر بخش دوره آموزشی تا همه بخش هاي دوره آموزشی به دوره هاي زمانی در دسترس به ترتيب انجام شده 2 Special representation or coding 6
هر ذره جداول زمانی اساتيد را ارائه می کند که اطمينان می دهد هر جدول زمانی بايد قيدهاي سخت را برآورده کند و جدول زمانی درس و جدول زمانی کالس هاي درس را هم ترسيم کند. ادامه دارد. مرحله بعدي: استفاده از الگوريتم پيشنهاد شده براي تنظيم موقعيت ذرات است اين الگوريتم در آغاز اولين بعد شروع می شود و تا آخرين ذره الگوريتم از سرعت جديد مطابق با رابطه 5 استفاده می کند تا موقعيت فعلی ذره را به يك موقعيت جديد بر طبق رابطه 3 به روز کند. )البته موقعيت جديد بايد در جدول زمانی اساتيد قابل اجرا باشد( 11. نتایج براي تعيين پارامترهاي مناسب چهار اندازه براي اساتيددر نظر گرفته شد. )54 (=t 0 8 15 پارامترهاي داده است. c1, c2 بين /1 و 4 1 با رشد 4/1 در نظر گرفته شده که با سعی و خطا مقدار 0.4=c1 و 0.6=c2 از بقيه مقادير نتايج بهتري را وزن اينرسی wبطور خطی از 4/9 به 4/5 در بين اجراي برنامه کاهش يافت Lmax=10,Vmax=3 GN= (80, 160, 240, 320, 400) تعداد درس 8=N نتیجه گیری پارامترهاي روش تحقيق pso کمتر از سايرالگوريتمهاي فرااکتشافی است..12 7
تعداد بسيار زيادي از ذرات نيازي به بدست آوردن مقادير باالتر شايستگی را ندارند ولی تعداد کمی از ذرات دچار حل هاي ناپايدار هستند. تعداد GN در طول فرايند PSO يك مقدار متوسط از 544 توليد براي همگرايی به يك حل بهتر و باثبات نياز بود. 8
13. مراجع [1] AlvarezValdes, R., Crespo, E., Tamarit, j. M, Desin and imple mentation of a course scheduling system using tabu search. European journal of operational research, 512523, 2002 [2]Azimi, Z. N, Hybrid heuristics for examination timetabling problem. Applied mathematics and computation, 705733. 2005. [3] Marriott, K, Stuckey, p. j, Programming with constraints: An introduction. Cambridge, Massachusetts: The mit press, 1998 [4] B. Bullnheimer, R. Hartel and C. Strauss, A new rankbased version of the ant system: A computational study, Central european journal of operations research and economics, no. 7, pp.2538, 1999. [5]M.Dorigo, V. Maniezzo and A. Colorni, The ant system: optimization by a colony of cooperating agents, IEEE Transactions on systems, Man and cybernetics, Part B, no. 26, PP. 2941, 1996. [6] S. Olariu and A.Y. Zomaya, Handbook of bioinspired algorithms and applications, Taylor & FrancisGroup, LLC press, 2006. [7]P. Siarry, Metaheuristics for hard optimizations, SpringerVerlag berlin heidelberg, 2006. [8]M. Clerc J. Kennedy, The particle swarm: Explosion, stability and convergence in multidimensional complex space, IEEE Transactions on evolutionary computation, Vol 20, no. 6, PP. 5873, 2002. [9] A. Hoorfar, Evolutionary programming in electromagnetic optimization, IEEE transactions on antennas and propagation, vol 55, no. 3, March 2007. [10] A. Qing, Electromagneticinverse scattering of multiple Twodimensional perfectly conducting objects by the differential evolution strategy, IEEE transactions on antennas and propagation, vol 51, no. 6, June 2003. [11]F.Glover and G. A. Kochenberger, Hanbook of metaheuristics, Kluwer academic publishers, 2003.. [ ] 9