Classroom Assignment: A Two-Stage Constraint Formulation
تقدم هذه الورقة نموذج جدولة زمنية مكون من مرحلتين باستخدام لغة MiniZinc، يكشف عن الاختزال الهائل في فضاء البحث الناتج عن القيود الهيكلية، ويثبت أن وقت الحل يتوسع بشكل دون أسي مع حجم النموذج، ويقوم بمراجعة الجداول الدراسية الواقعية للحرم الجامعي لإظهار أن حجز الغرف المزدوج ينبع أساساً من التخصيص غير الفعال وليس من الندرة، مما يوفر إطاراً قائماً على البيانات لتحديد أي القيود الصارمة يجب تخفيفها.
المؤلفون الأصليون:Jhojan Alexander Velasquez Erazo, Carlos Andres Delgado Saavedra
في كل فصل دراسي، تواجه الجامعات لغزاً لوجستياً هائلاً: ملاءمة مئات الحصص الدراسية في عدد محدود من الغرف والفترات الزمنية دون خلق تعارضات مستحيلة. فلا يمكن للمدرسين أن يتواجدوا في مكانين في آن واحد، ولا يمكن للطلاب حضور محاضرتين في وقت واحد، كما لا يمكن لفصل دراسي يضم ثلاثين شخصاً أن يتسع في غرفة مصممة لـعشرين فقط. لعقود من الزمن، عرف الخبراء أن حل هذا اللغز أمر صعب للغاية، وغالباً ما يتطلب حواسيب تبحث عبر مليارات الاحتمالات. كان النهج المعياري هو إخبار الحاسوب بأن يكون مرناً، مما يسمح له بكسر بعض القواعد إذا لم يتمكن من إيجاد حل مثالي. ومع ذلك، لم يكن أحد يعرف بالضبط أي القواعد يتم كسرها في الواقع، أو عدد مرات حدوث ذلك، أو ما إذا كانت هذه الانتهاكات تحدث لأن الجامعة ببساطة نفدت مساحتها أم لأسباب أخرى. وبدون هذه المعرفة، كان الإداريون يخمنون أي القيود يجب تخفيفها، مما يؤدي غالباً إلى جعل الجدول الزمني أسوأ بدلاً من تحسينه.
قرر باحثون في جامعة "فاليه" (Universidad del Valle) في كولومبيا التوقف عن التخمين والبدء في القياس. فقد بنوا نموذجاً رقمياً لحرمهم الجامعي الخاص، وهو مكان يقوم فيه إداري واحد يدوياً بإنشاء الجدول الدراسي الكامل للفصل الدراسي بأكصه في ثلاثة أو أربعة أيام، دون أي مساعدة من البرمجيات. استخدم الفريق هذا التاريخ الواقعي لاختبار طريقة تفكير جديدة للمشكلة. فبدلاً من محاولة حل اللغز بأكمله دفعة واحدة، قاموا بتقسيمه إلى مرحلتين متمايزتين. أولاً، يحدد الحاسوب أفضل الأوقات لكل حصة دراسية، متجاهلاً الغرف تماماً. وبمجرد تحديد هذه الأوقات، تقوم مرحلة ثانية بتعيين الغرف الفعلية لتلك الحصص. سمح هذا الفصل لهم برؤية أين يعمل النظام وأين يفشل بالضبط. ثم قاموا بتشغيل نموذجهم مقابل ثمانية فصول دراسية متتالية من الجداول الفعلية التي نشرتها الجامعة ليروا مدى صمود الخطط الواقعية أمام القواعد الصارمة لنموذجهم الرقمي.
كشفت النتائج عن حقيقة مفاجئة حول كيفية إدارة الجامعات لوقتها. وجد الباحثون أن أي فصل دراسي من الفصول الثمانية التي درسوها لم يستوفِ جميع القواعد الصارمة للنموذج. فقد تم جدولة المدرسين للتواجد في غرفتين مختلفتين في نفس الوقت، كما تم حجز الغرف بشكل مزدوج، مما يعني تعيين مجموعتين لنفس المساحة في آن واحد. وهناك افتراض شائع بأن هذه التعارضات تحدث بسبب الاكتظاظ في الجامعة وعدم وجود عدد كافٍ من الفصول الدراسية. أثبتت البيانات خطأ هذا الافتراض؛ ففي ثلاث من كل أربع حالات حدث فيها تعارض في الغرف، كانت هناك غرفة مناسبة شاغرة في نفس المنطقة وفي تلك الساعة تحديداً. لم تكن المشكلة في نقص المساحة، بل إن الحرم الجامعي كان يستخدم فقط ما بين 32% و46% من سعة الغرف المتاحة. لم تكن التعارضات ناتجة عن الندرة، بل عن صعوبة التنسيق اليدوي لمئات الأجزاء المتحركة.
كما كشفت الدراسة عن خلل في كيفية جمع البيانات. فقد اعتمد النموذج على توافر المدرسين المعلن، بافتراض أنهم يقولون الحقيقة بشأن أوقات تواجدهم. ومع ذلك، وجد الباحثون أن التوافر المسجل كان غالباً مجرد نسخة من الجدول النهائي، وليس إعلاناً حقيقياً عن وقت الفراغ تم قبل بدء التخطيط. وهذا يعني أن الحاسوب كان يُغذى بنسخة من الواقع كانت مكسورة بالفعل، مما يجعل من المستحيل إيجاد حل مثالي. وعندما نظر الباحثون فيما يمكن للنموذج تحقيقه فعلياً، وجدوا أن المرحلة الأولى من التخطيط —تحديد الأوقات— كانت سريعة وفعالة بشكل مدهش، حيث حلت جداول معقدة في دقائق. أما المرحلة الثانية، وهي تعيين الغرف، فكانت هي عنق الزجاجة؛ إذ عانى الحاسوب لإيجاد تعيين مثالي للغرف حتى للمجموعات الصغيرة، مما يشير إلى أن الطريقة التي كُتبت بها المشكلة للحاسوب هي التي تحتاج إلى تغيير، وليس أن الحاسوب كان بطيئاً جداً.
ربما كانت النتيجة الأكثر قيمة هي أن الجامعة كانت تفشل بالفعل في تحقيق أهدافها دون أن تدرك ذلك. أرادت الإدارة إبقاء بعض الغرف شاغرة لحالات الطوارئ أو الفعاليات الخاصة، لكن الجداول اليدوية كانت تستخدم باستمرار كل غرفة تقريباً، مما لا يترك أي مساحة شاغرة. ولأن المجدول البشري لم يكن قادراً على رؤية الأسبوع بأكمله دفعة واحدة، فقد فاتته فرص لترك الغرف مفتوحة. أظهر نموذج الحاسوب أن إخلاء هذه الغرف كان ممكناً دون خلق تعارضات جديدة، وذلك ببساطة عن طريق إعادة ترتيب الحصص الحالية. وهذا يشير إلى أن الحل ليس في طلب المزيد من الفصول الدراسية أو توظيف المزيد من الموظفين، بل في استخدام أداة يمكنها رؤية الصورة الكاملة في آن واحد.
أصدر الباحثون الكود الخاص بهم والبيانات من الفصول الثمانية لكي تتمكن المؤسسات الأخرى من اختبار هذه الأفكار. لم يدّعوا أنهم حلوا مشكلة الجدولة الجامعية إلى الأبد، لكنهم قدموا طريقة واضحة لتشخيصها. ومن خلال تدقيق جداولهم مقابل مجموعة صارمة من القواعد، يمكن للجامعات الآن أن ترى بالضبط أي القيود مستحيلة الوفاء بها حقاً، وأيها مجرد عادات تحتاج إلى تغيير. وتخلص الدراسة إلى أن صعوبة الجدولة لا تكمن في العدد الهائل من الحصص، بل في هيكلية المشكلة نفسها. فمع النهج الصحيح، يمكن تقليص مساحة البحث الهائلة التي كانت تبدو مستحيلة في السابق إلى حجم يمكن إدارته، وتحويل عملية يدوية فوضوية إلى عملية آلية موثوقة. إن الطريق إلى الأمام ليس في التخمين بشأن أي القواعد يجب كسرها، بل في قياسها أولاً.
ملخص تقني: تخصيص الفصول الدراسية: صياغة قيود ذات مرحلتين
تعريف المشكلة يعد جدولة الدورات الجامعية مشكلة من نوع (NP-hard) تتضمن تخصيص مجموعات المساقات لفترات زمنية وغرف مع مراعاة تلبية القيود المتعلقة بتوفر المعلمين، ومصفوفات المناهج، وسعة الغرف، ومتطلبات المعدات. يلاحظ المؤلفون أن النماذج القياسية غالبًا ما تعامل هذه المتطلات كقيود صارمة (hard constraints)، مما يؤدي إلى أنظمة مفرطة في القيود لا يوجد لها حل ممكن. وبينما يقر المجال بحدوث تصادم بين القيود، إلا أن هناك نقصًا في القياس التجريبي حول أي القيود المحددة تنتهكها المؤسسات فعليًا، وكم مرة تحدث هذه الانتهاكات، وما إذا كانت ناتجة عن ندرة الموارد أو عوامل أخرى. تعالج هذه الدراسة مشكلة تخصيص الفصول الدراسية في حرم "تولوا" بجامعة دلفيه، كولومبيا، حيث يتم الجدولة حاليًا يدويًا بواسطة مسؤول واحد على مدار ثلاثة إلى أربعة أيام دون مساعدة برمجية.
المنهجية يعتمد البحث على صياغة برمجة قيود مكونة من مرحلتين تم تنفيذها باستخدام MiniZinc، حيث يتم فصل المشكلة إلى مرحلة جدولة زمنية ومرحلة تخصيص غرف.
الصياغة ذات المرحلتين:
المرحلة الأولى (الجدولة الزمنية): تخصيص مجموعات المساقات لفترات زمنية أسبوعية (الساعات من 06:00 إلى 22:00 على مدار ستة أيام). تفرض هذه المرحلة قيودًا صارمة تشمل توفر المعلمين، وقيود الورديات البرامجية (نهاري مقابل مسائي)، والكثافة الأسبوعية، ومتطلبات الكتل الزمنية المتصلة. يهدف النموذج إلى تقليل الفصول المجدولة في ساعة الافتتاح (06:00–07:00) وفترة الغداء (12:00–14:00).
المرحلة الثانية (تخصيص الغرف): تأخذ الجدول الزمني الثابت من المرحلة الأولى وتخصص المجموعات لغرف محددة. تشمل القيود سعة الغرفة، ومطابقة المعدات (مثل مختبرات الحاسوب، أو القاعات الرياضية)، والاستمرارية (إبقاء المجموعة في نفس الغرفة للساعات المتتالية). الهدف هو تعظيم عدد الغرف التي تُترك فارغة تمامًا طوال الأسبوع.
تحليل فضاء البحث: يحسب المؤلفون الحجم النظري لفضاء البحث قبل وبعد تطبيق القيود الهيكلية. ويظهرون أن فرض قواعد الكثافة، والورديات، والاتصال يقلل فضاء البحث بنحو 7,700 رتبة مقدارية قبل بدء عمل المحلل (solver)، مما ينقل الصعوبة من الحجم الاسمي إلى التعقيد الهيكلي.
تقييم المحلل (Solver): تم اختبار ثلاثة ترميزات لمرحلة تخصيص الغرف (Salones, SalonesCount, SalonesGC) مقابل ثلاثة محلات (solvers): Gecode وChuffed وCOIN-BC. استخدمت الدراسة نماذج اصطناعية تمت معايرتها بناءً على توزيعات بيانات الحرم الجامعي الحقيقية.
التدقيق المؤسسي: استُخدم النموذج كأداة تشخيصية لتدقيق ثمانية فصول دراسية متتالية نشرتها الجامعة. تحقق التدقيق من الجداول الزمنية الواقعية مقابل القيود الصارمة للنموذج لتحديد الانتهاكات (مثل حجز الغرف المزدوج، تضارب المعلمين، خرق التوافر).
نشر الأداة: تم تطوير أداة قائمة على الويب باستخدام واجهة React وخلفية Flask API على AWS. تقبل الأداة مدخلات CSV لتوافر المعلمين والبرامج الأكاديمية، وتقوم بتشغيل نموذج المرحلتين بالتتابع، وترسل التخصيص عبر البريد الإلكتروني نظرًا لأن وقت المعالجة يتجاوز حدود طلبات HTTP القياسية.
النتائج الرئيسية
تقليص فضاء البحث: تقلل القيود الهيكلية فضاء البحث من 227,456 إلى حوالي 10592 لحالة تتكون من 286 مجموعة. ويُعزى هذا التقليص إلى الصياغة وليس إلى الاستدلالات الخاصة بالمحلل.
أداء المحلل:
مرحلة الجدولة الزمنية: أظهر COIN-BC توسعًا يمكن التنبؤ به، حيث نما وقت الحل بنحو القوة 1.7 لحجم النموذج (R2=0.98). تم العثور على حلول للفصول الدراسية ذات الحجم الحقيقي (حوالي 400 مجموعة) في دقائق على أجهزة عادية.
مرحلة تخصيص الغرف: ثبت أن هذه المرحلة هي عنق الزجاجة. فشل COIN-BC في حل حالات مكونة من 50 مجموعة خلال حد زمني قدره 4 دقائق تحت اثنين من الترميزات الثلاثة، بينما كان أداء Chuffed وGecode أفضل بكثير في الحالات الصغيرة. لم تتوسع مرحلة الغرف لتصل إلى الحجم المؤسسي (مئات المجموعات) ضمن أطر زمنية معقولة باستخدام الصياغات الحالية.
نتائج التدقيق:
انتهاك شامل: لم يستوفِ أي من الفصول الثمانية المدققة جميع القيود الصارمة. شملت الانتهاكات حجز المعلمين المزدوج، وحجز الغرف المزدوج، والدروس المجدولة خارج أوقات توافر المعلمين المعلنة.
الندرة مقابل الخطأ: كانت حجز الغرف المزدوج متكررة، ولكن في 75% من الحالات، كانت هناك غرفة مناسبة (تطابق السعة والمعدات في نفس الموقع الفرعي) فارغة في تلك الساعة. يشير هذا إلى أن النزاعات نادرًا ما تكون ناتجة عن نقص الموارد (الندرة)، بل عن عدم كفاءة الجدولة أو عدم اتساق البيانات.
جودة البيانات: وُجد أن سجلات توافر المعلمين مرتبطة ارتباطًا وثيقًا بالجدول النهائي (متوسط نسبة التوافر المسجل إلى العبء الفعلي هو 1.20)، مما يشير إلى أن بيانات التوافر غالبًا ما تُطوع لتناسب الجدول بدلاً من جمعها بشكل مستقل. هذا "الإفراط في تقييد" بيانات التوافر يساهم في عدم قابلية النموذج للحل عند تطبيقه على البيانات الواقعية.
الأهداف: تتجنب العملية اليدوية بالفعل الفتحة الزمنية (06:00–07:00) ولكنها تفشل في تعظيم الغرف الفارغة، حيث تترك فقط 1–4 غرف فارغة لكل فصل دراسي رغم انخفاض الإشغال الإجمالي (32%–46%).
الأهمية والادعاءات يزعم البحث أن المساهمة الأساسية ليست خوارزمية جديدة لحل الجدولة، بل هي أداة تشخيصية لقياس الممارسة المؤسسية مقابل النماذج الرسمية.
التحول من "كيفية الحل" إلى "ما الذي يجب تليينه": تجادل الدراسة بأن تليين القيود هو قرار نمذجة يتطلب أدلة تجريبية. ومن خلال تدقيق ثمانية فصول دراسية، حدد المؤلفون أن قيود الغرف هي أكثر القيود الصارمة التي تُنتهك تكرارًا، ومع ذلك فهي نادرًا ما تكون بسبب الندرة المادية. يشير هذا إلى أن المؤسسات يجب أن تعيد النظر في أي القيود هي حقًا "صارمة" وأيها "مرنة" (تفضيلات).
محدودية التفكيك (Decomposition): النهج ذو المرحلتين، رغم فعاليته في مرحلة الجدولة الزمنية، يكشف عن عنق زجاجة حرج في مرحلة تخصيص الغرف. ويخلص المؤلفون إلى أن صياغة مرحلة الغرف الحالية هي القيد الحاسم، وليس اختيار المحلل أو الأجهزة.
سلامة البيانات: يكشف التدقيق أن البيانات المؤسسية (خاصة توافر المعلمين) قد تكون غير موثوقة للبرمجة القيودية إذا تم تطويعها بأثر رجعي لتناسب الجداول اليدوية. ويفترض البحث أنه قبل التحقق من صحة نموذج التحسين، يجب على المؤسسة أن تقرر إما إصلاح عمليات جمع البيانات أو إضعاف النموذج ليتناسب مع البيانات.
القابلية للتوسع: يوضح العمل أن مرحلة الجدولة الزمنية يمكن أن تعمل على أجهزة عادية خلال يوم واحد، ولكن مرحلة تخصيص الغرف، بصيغتها الحالية، لا يمكنها التوسع لتصل إلى الأحجام المؤسسية دون إعادة صياغة إضافية.
يصرح المؤلفون صراحةً بأن نتائجهم تمت معايرتها لمؤسسة واحدة ولا ينبغي تعميمها دون مزيد من الاختبار، لكن إجراء التدقيق نفسه يُقدم كمنهج قابل للنقل لأي مؤسسة لديها بيانات جدولة منشورة.