طورت نظامًا ذكيًا لجدولة الامتحانات بشكل تلقائي باستخدام خوارزمية Genetic Algorithm، مع مراعاة القيود الواقعية مثل سعة القاعات، وتوفر المحاضرين، وتضارب الطلاب، وتوزيع الأوقات.
مكونات النظام:
- تحليل أولي للبيانات من ملفات CSV (كورسات، طلاب، محاضرين، قاعات، أوقات)
- تمثيل الكروموسوم على هيئة تعيين لكل امتحان في غرفة وزمن محدد
- تقييم الحلول باستخدام Fitness Function مخصصة تحسب عدد المخالفات بدقة
- تنفيذ النظام باستخدام عدة استراتيجيات تطورية مختلفة: Crossover (One-point, Uniform)، Mutation (Room mutation, Timeslot mutation)، Selection (Elitism, Generational, Crowding)
- اختبار أداء كل استراتيجية وتحليل نتائجها
- في النهاية، يتم اختيار أفضل توليفة من الاستراتيجيات لبناء الجدول النهائي بأعلى جودة وأقل عدد مخالفات
مميزات إضافية:
- دعم استراتيجية Co-Evolution لتوليد حلول متوازية
- الحفاظ على تنوع السكان باستخدام Shared Fitness وCrowding Replacement
- حساب Genetic Distance لتجنب التشابه بين الأفراد
- واجهة رسومية تفاعلية باستخدام Tkinter لإختيار المواد و عرض أفضل الجداول ومقارنة الأداء
- رسومات بيانية توضح تطور الأداء جيلاً بعد جيل
التقنيات المستخدمة: Python، Pandas، Tkinter، Matplotlib، TQDM، Tabulate، Jupyter Notebook
نوع المشروع: مشروع تطبيقي ضمن تخصص الذكاء الاصطناعي، يركز على الخوارزميات التطورية وتحليل الأداء لاختيار الأنسب
للاطلاع على المشروع:
رابط GitHub يحتوي على الكود ونتائج التدريب