ّ َ ِبسم الل ِه الرحمن َ الرحیم برنامه ریزی زمانی با الگوریتم ژنتیک محمد آقائی مجتبی شهریاری 1385 اسفند - موسسه آموزش عالی سجاد مشهد 2
Download
Report
Transcript ّ َ ِبسم الل ِه الرحمن َ الرحیم برنامه ریزی زمانی با الگوریتم ژنتیک محمد آقائی مجتبی شهریاری 1385 اسفند - موسسه آموزش عالی سجاد مشهد 2
ّ
َ
ِبسم الل ِه الرحمن
َ
الرحیم
برنامه ریزی زمانی با الگوریتم ژنتیک
محمد آقائی
مجتبی شهریاری
1385اسفند -موسسه آموزش عالی سجاد مشهد
2
فهرست مطالب
• مقدمه ای بر Time Tabling
•
•
•
•
•
دیدگاه های کلی حل
مراحل حل یک نمونه مسئله Timetablingتوسط GA
فرآیند اداری تهیه برنامه کالسی مدارس
شرایط یک جدول زمانی
پیاده سازی
اطالعات پایه
مدلسازی مسئله
تولید جمعیت اولیه
عملگرهای GA
شرط پایان
1385اسفند -موسسه آموزش عالی سجاد مشهد
3
مقدمه ای بر Time Tabling
• تعریف :زمانبندی یک مجموعه از جلسات برای چندین گروه از
دانشجویان در زمانهای خاص با استفاده از یکسری از منابع و مورد
توجه قرار دادن یک مجموعه محدودیت ها.
• اهمیت Timetabling
• تقسیم بندی کلی :برنامه هفتگی کالسها و برنامه امتحانات
• جزء مسائل مشکل بهینه سازی محدودیت ها
• راه حل کلی :هنوز تکنیک خودکار کلی مورد قبولی وجود ندارد.
1385اسفند -موسسه آموزش عالی سجاد مشهد
4
دیدگاه های کلی حل
• دیدگاه های تحقیق در عملیات ،هوش مصنوعی و ...
• دستی
• رنگ آمیزی گراف ( : )Graph Coloringهر جلسه یک راس
گراف.
– جلسه :سه تایی (درس +دبیر +کالس)
• رئوس متصل :دارای استاد یا کالس مشترک
• مسائل روند ()Flow Problems
• برنامه نویسی ریاضی ( Mathematical
)Programming
1385اسفند -موسسه آموزش عالی سجاد مشهد
• الگوریتم های ژنتیک ()5GAs
مراحل حل یک نمونه مسئله TimeTablingتوسط GA
.1
.2
.3
.4
.5
.6
.7
.8
.9
شرح دقیق مسئله
استخراج دقیق شرایط یک جدول زمانی (لیست محدودیت ها و اولویتها)
مرتب کردن شرایط بر حسب اهمیت (اختصاص وزن به هر یک)
:Decodeانتخاب و طراحی نحوه کد گذاری (مدلسازی
کروموزومها و ژنها)
طراحی مکانیزم صحیح ارزیابی شایستگی کروموزوم ها
()Fitness Function
تولید جمعیت اولیه (تصمیم گیری :شرایط اعمال شوند؟)
نحوه اعمال عملگرهای GA
شرط یا شروط پایان
:Encodeنمایش نتایج به کاربر
1385اسفند -موسسه آموزش عالی سجاد مشهد
6
زمانبندی کالسهای دوره راهنمایی و دبیرستان
درس
دبیر
منابع
کالس
ساعت
1385اسفند -موسسه آموزش عالی سجاد مشهد
7
فرآیند اداری تهیه برنامه کالسی مدارس
.1
.2
.3
.4
.5
.6
.7
مشخص کردن تعداد کالسها در هر پایه
مشخص کردن تعداد ساعات مورد نیاز هر درس
دریافت اطالعات دبیران و موظفی آنها
دریافت و بررسی محدودیت ها و اولویت های مربوط به
هر دبیر
تهیه برنامه هفتگی بر اساس اطالعات موجود و منابع
استخراج برنامه هر دبیر از جدول زمانی اصلی
استخراج برنامه هر کالس از جدول زمانی اصلی
1385اسفند -موسسه آموزش عالی سجاد مشهد
8
شرایط یک جدول زمانی
•محدودیت ها ()Constraints
– اعمال حداقل نیازها
– نتیجه :جدول زمانی قابل اجرا ()Feasible Timetable
•اولویت ها
()Priorities
– به سمت جدول زمانی بهینه
1385اسفند -موسسه آموزش عالی سجاد مشهد
9
محدودیت ها در برنامه جاری
.1
.2
.3
.4
.5
یک دبیر نمی تواند کمتر یا بیشتر از موظفی تدریس داشته
باشد.
تعداد ساعات یک درس نمی تواند بیشتر یا کمتر از مقدار
مشخص شده باشد.
(ساعت +کالس) یکتا باشد .برنامه کالس تداخل نداشته
باشد.
(ساعت +دبیر) یکتا باشد :برنامه دبیر تداخل نداشته باشد.
(کالس+درس) تعیین کننده دبیر باشند.
مدل
1385اسفند -موسسه آموزش عالی سجاد مشهد
10
اولویت ها در برنامه جاری
.1
.2
.3
.4
.5
.6
.7
.8
.9
بیش از یک ساعت در روز :دو تک زنگ متوالی
هر درس حداکثر 2تک زنگ در روز
دروس سنگین در ساعات اولیه روز
دروس سنگین در روزهای اولیه هفته
دروس سبک در ساعات پایانی روز
دروس سبک در روزهای پایانی هفته
بیشترین فاصله بین ساعات یک درس در طول هفته
تعادل بین دروس حفظی ،عملی و یاد گرفتنی
یک یا دو روز خالی برای هر دبیر
1385اسفند -موسسه آموزش عالی سجاد مشهد
11
اولویت ها در برنامه جاری ...
.10اولویت با ساعات انتخابی دبیر
.11برای یک کالس دروس ادبیات ،امالء و انشاء توسط یک
دبیر تدریس شود.
.12پراکندگی ساعات دبیران برابر (عدالت)
.13حداقل تعداد حفره ها در برنامه دبیر و کالس
....
1385اسفند -موسسه آموزش عالی سجاد مشهد
12
پیاده سازی > اطالعات پایه
ساختار پایگاه داده پروژه
1385اسفند -موسسه آموزش عالی سجاد مشهد
13
پیاده سازی > مدلسازی مسئله
• کروموزوم :یک برنامه هفتگی کلی (یک راه حل زمانبندی)
• ژن :برنامه یک کالس (تصمیم گیری :مدلهای بهتر؟)
• مدلهای کاندید
گراف
آرایه 3بعدی
آرایه دو بعدی
کالس – درس
دبیر – درس
دبیر – کالس
دبیر – ساعت
درس – ساعت
کالس -ساعت
1385اسفند -موسسه آموزش عالی سجاد مشهد
14
پیاده سازی > مدلسازی مسئله ...
• ویژگی های مورد نظر برای مدل مناسب
حداکثر تعداد محدودیت ها و اولویت ها بصورت ذاتی اعمال شده
باشند.
چک کردن محدودیت ها و اولویت های باقی مانده ساده تر باشد.
حداقل مصرف حافظه .
1385اسفند -موسسه آموزش عالی سجاد مشهد
15
پیاده سازی > مدلسازی مسئله...
کروموزوم (مدل انتخاب شده)
1385اسفند -موسسه آموزش عالی سجاد مشهد
16
محدودیت ها
پیاده سازی > مدلسازی مسئله...
1385اسفند -موسسه آموزش عالی سجاد مشهد
17
والدین
...
پیاده سازی > تولید جمعیت اولیه
• آرایه حاوی جمعیت اولیه و فرزندان
...
فرزندان
;] orginalTable=new string[2*pop][ ,
جمعیت اولیهpop :
آرایه ای از کروموزوم ها
1385اسفند -موسسه آموزش عالی سجاد مشهد
18
پیاده سازی > تولید جمعیت اولیه…
انتخاب تصادفی کالس
• انتخاب کالس ،ساعت ،درس و دبیر
بصورت تصادفی یکنواخت
• Fitnessاز نظر محدودیت چهارم
و پنجم برای تمام کروموزومها
محاسبه می شود.
• مرتب سازی نزولی به روش
heapبرای بهینه سازی انتخاب به
شیوه چرخ رولت.
انتخاب تصادفی ساعت
انتخاب تصادفی درس
انتخاب تصادفی دبیر
درج در کروموزوم
()orginalTable
بلی
جمعیت کامل شد؟
محاسبه
Fitness
1385اسفند -موسسه آموزش عالی سجاد مشهد
19
مرتب سازی
جمعیت
خیر
پیاده سازی > تولید نسل های بعدی
• انتخاب کروموزوم (ها)ي والد و
انتخاب عملگر با استفاده از چرخ
رولت صورت می گیرد.
• روشهای Crossoverو mutation
انتخاب عملگر
mutation
عملگر؟
GA
crossover
انتخاب یک کروموزوم دیگر
-1تک ردیف
-2بازه ای
-3ماسک
اعمال عملگر
افزودن به لیست فرزندان
• چرخ رولت
محاسبه fitnessفرزندان
fitness
p
sum OfFitness
1385اسفند
انتخاب یک کروموزوم
مرتب سازی جمعیت میانی
موسسه آموزش عالی سجاد مشهدانتخاب نسل جدید از جمعیت میانی
20
پیاده سازی > mutation
والد
.1
.2
.3
.4
کپی والد به لیست فرزندان
(بعنوان )mating pool
انتخاب تصادفی یک یا چند
ژن (بر اساس نوع جهش)
از والد
خالی کردن ژن و
آزادسازی منابع
تخصیص خصوصیات در
ژن (ها)ي مذکور.
1385اسفند -موسسه آموزش عالی سجاد مشهد
21
فرزند
پیاده سازی > crossover
والدین
.1کپی والدین به لیست
فرزندان (بعنوان mating
)pool
.2انتخاب تصادفی یک یا چند
ژن (بر اساس نوع تبادل)
از والدین
.3تعویض ژن (های) مذکور
با همتای خود در
1385اسفند -موسسه آموزش عالی سجاد مشهد
.
دیگر
کروموزوم
22
فرزندان
پیاده سازی > محاسبه fitness
• محاسبه
•
• موظفی دبیران (محدودیت اول)
fitnessفرزندان • عدم تداخل برنامه دبیر (محدودیت چهارم)
• (درس +دبیر) تعیین کننده کالس (محدودیت پنجم)
• تعداد تکرار (تعداد گذر
شرط پایان نسل)
• رسیدن به شایستگی مورد
نظر
جدیددرجه
نسلشعاع
همگرایی (با
•
تولید
اینجا یک
توجه :تا
انحراف)
شد .اگر شرط پایان محقق
•
نشود ،برنامه با تولید نسل بعدی ادامه خواهد یافت.
• Decodeجواب
1385اسفند -موسسه آموزش عالی سجاد مشهد
23
تولید نسل جدید
منابع و مراجع
قسمت فرهنگ،1379 ، انتشارات فاطمی، اصول و مسائل/ ژنتیک، حمیده، علمی غروی، محمد، صبوری، ویلیام،استانفیلد
اصطالحات
، گروه ریاضی و کامپیوتر- دانشکدة فنی مهندسی- دانشگاه ایالم، ) معرفی الگوریتم های ژنتیکی (سخنرانی، احمد،مالبهرامی
1384پاییز
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
.1
.2
Zhang, Mengjie, Overview of Genetic Algorithms, Victoria University Of Wellington-School of
Mathematics-Statistics and Computer Science, 2002
Burke, Edmund, Elliman, David, Weare, Rupert, A Genetic Algorithm Based University
Timetabling System, Department of Computer Science-University of Nottingham, 2002
Kuswadi, Son, Basuki, Achmad, NUH, Mohammad, Saito, Osami, A Genetic Algorithm For
Polytechnic Time Tabling (EEPIS Timetabling Case Study), Rudi Lumanto, 2001
P. Boizumault, C. Guéret, N. Jussien, Efficient Labelling and Constraint Relaxation for Solving
Time Tabling Problems, International Logic Programming Symposium - Workshop on Constraint
Languages and their use in Problem Modelling, 1994, p1-4
KARABOĞA, Derviş, BAĞIŞ, Aytekin, Timetabling by Genetic Algorithm, Electronic Engineering
Department- Engineering Faculty- Erciyes University, 2003
Özcan, Ender, Towards an XML based standard for Timetabling Problems: TTML, Yeditepe
Üniversitesi, 2004
Konar, Amit, Artificial Intelligence and Soft Computing: Behavioral and Cognitive Modeling of the
Human Brain, Department of Electronics and Tele-communication Engineering Jadavpur
University- Calcutta- India, 1999, Ch15-Genetic Algorithms: p467-493
Wilson, Robert, Keil, Frank, The MIT encyclopedia of the cognitive sciences, MIT Press, 1999,
p293-295 (Evolutionary Computation)
Russell, Stuart, Norvig, Peter, Artificial Intelligence A Modern Approach, Prentice Hall, 1995,
p619 (Section 20.8 - Genetic Algorithms and Evolutionary Programming)
Wall, Matthew, GAlib: A C++ Library of Genetic Algorithm Components, Mechanical Engineering
Department - Massachusetts Institute of Technology, August 1996, p3
موسسه آموزش عالی سجاد مشهد- اسفند1385
24
سوال
1385اسفند -موسسه آموزش عالی سجاد مشهد
25