FET-nsrt وعلاقته بالإمتحانات

Started by Benahmed Abdelkrim, May 18, 2020, 06:37:17 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Benahmed Abdelkrim

nsrt
not same room teachers
النسخة الأخيرة
FET-5.44.6-nsrt3
بتاريخ: 17 ماي 2020
اقرأني من هنا - read me
https://www.lalescu.ro/liviu/fet/download/custom/nsrt/readme-nsrt-not-same-room-teachers.txt
والتي تعني ليست نفس الغرفة(القاعة) للمدرسين بمعنى عدم تكرار الغرفة(القاعة) في جداول الحراسة للمدرسين، في حالة ما إذا كانت الأنشطة المدخلة تحتوي على مدرس واحد يتم تعيين هذه الأنشطة في القاعة الإفتراضية - أنظر الشرح المفصل أدناه
هذه النسخة تُجَنِّب المستخدم استخدام النسخة
FET-mapr

وهي نسخة تعتمد على إدخال أقل عدد ممكن من البيانات المستخدمة
هذه الفكرة تم إقتراحها ومناقشتها مع السيد
Liviu
من الرابط التالي
https://lalescu.ro/liviu/fet/forum/index.php?topic=4448.msg24344#msg24344
topic=4448.0
: يمكن تحميل هذه النسخة المخصّصة من الرابط التالي
https://lalescu.ro/liviu/fet/download/custom/nsrt/

: ملخص هذه النسخة
بتاريخ: 16/05/2020
أ -  إدخال المدرسين كغرف(قاعات) في البرنامج؛

ب - إدخال الغرف(قاعات) كمدرسين في البرنامج؛

ت - إضافة غرفة إفتراضية واحدة تحتوي على مجموعتين(2)(أو 3 مجموعات) حسب الحالة: إذا أردنا مدرسين في كل قاعة، الغرفة الإفتراضية تتكون من مجموعتين(2)، أما إدا أردنا 3 مدرسين في كل قاعة، الغرفة(القاعة) الإفتراضية تتكون من 3 مجموعات؛

ث -  إضافة مادة واحدة، الاسم أي شيء. عن نفسي أدخل 3 فراغات(   ) بلوحة المفاتيح، حتى لا يظهر اسم المادة في الجداول الناتجة؛

ج - إضافة عدد معين من أنشطة مقسمة  يساوي عدد القاعات الحقيقية تحتوي على مدرس وهمي واحد(قاعة حقيقية واحدة) بدون طلاب. والتقسيم يساوي عدد الفترات الزمنية المشغولة من طرف كل قاعة
ملحوظة: هذه الفترات الزمنية المشغولة من طرف القاعة الحقيقية تساوي عدد الفترات الزمنية المفتوحة للإمتحان
 
ح - تعيين كل الأنشطة(بعد حساب عددها بواسطة المعادلات التي تم تقديمها في المواضيع السابقة) في القاعة الإفتراضية بواسطة القيد المكاني: قاعة مفضلة لمادة، ونختار القاعة الإفتراضية كقاعة(غرفة) مفضلة. ممايسمح بتعيين كل الأنشطة في هذه القاعة الإفتراضية

خ - مدة كل نشاط يجب أن تكون حصة واحدة. والمستخدم هو من يعرف كم تكون مدة كل حصة؛ ساعة أو أكثر

بتاريخ: 17/05/2020
: التعليقات الخاصة بالقاعات ( والتي هي عبارة عن المدرسين الحقيقيين- لا ننس ذلك-) لها أهمية كبيرة فهي تتضمن 3 قيود ضمنية غير مصرح بها في الواجهة البيانية للبرنامج
MHPW=x
تعني أقصى عدد من الحصص (أو الساعات) في الأسبوع التي تشغلها قاعة فيت( أي أقصى حصص أسبوعية لمدرس حقيقي).
حيث
x
هو عدد معطى من طرف المستخدم

MHPD=y
تعني أقصى عدد من الحصص (أو الساعات) في اليوم التي يمكن أن تشغلها قاعة فيت (أي أقصى حصص يومية لمدرس حقيقي ).
حيث
y
هو عدد معطى من طرف المستخدم

MSPD=z
أقصى إمتداد في اليوم (بالحصص أو الساعات) في اليوم للقاعة (أي المدرس الحقيقي)
حيث 
z
هو عدد معطى من طرف المستخدم

الإمتداد يعني عدد الفترات الزمنية (الحرة أو المشغولة) بدءا من أول فترة زمنية مشغولة في اليوم وتنتهي مع آخر فترة مشغولة في اليوم
مثلا: إذا كان اليوم يتكون من 6 فترات زمنية؛ 4 فترات يمكن أن تكون مشغولة + فترتين(2) للتوقف. فإذا رغبنا ألا يعمل المدرس (قاعة فيت) اليوم كاملا يمكن جعل أقصى إمتداد 5 أو ربما اقل حسب الملف. طبعا في غالب الأحيان وحسب طبيعة الملفات لا يمكن تحقيق هذا القيد لجميع المدرسين (قاعات فيت)... مما يجعل بعض المدرسين(قاعات فيت) لحسن الحظ عددهم قليل جدا مقارنة بالعدد الإجمالي للمدرسين يضطرون إلى العمل اليوم كاملا. طبعا ليس كل فترات عملهم مشغولة بل تتخللها فراغات

: نتذكر جيدا القاعدة العامة لحساب عدد أنشطة الحراسة(أو المراقبة)، ولا بأس من إعادتها هنا بشكل مختلف قليلا لكن المحتوى هو نفسه لا يتغير

ع. الأنشطة = ع. الفترات الزمنية المفتوحة للإمتحانات * ع. القاعات * ع. الحراس في كل قاعة.
حيث ع = إختصار لكلمة عدد
: واختصارا

A = C*G*S

: الرابط التالي يشرح أكثر طريقة حساب عدد الأنشطة الإجمالي وعدد الأنشطة المسندة لكل مدرس حقيقي (قاعة فيت)
https://lalescu.ro/liviu/fet/forum/index.php?topic=3183.msg17344#msg17344

تجدون في المرفقات أدناه مثالا توضيحيا على هذه الطريقة، حيث الأسبوع يتكون من 3 أيام (مثل امتحان شهادة التعليم المتوسط في الجزائر)، 9 فترات زمنية مفتوحة للإمتحان، 10 قاعات حقيقية مدخلة كمدرسين في البرنامج، 36 مدرسا حقيقيا تم إدخالهم كقاعات في برنامج فيت. كل مدرس حقيقي في هذا المثال تحصل على 5 أنشطة حراسة، مدرسين(2) إثنين في كل قاعة (غرفة) حقيقية

يبقى فقط تعديل بسيط جدّا عندما يختار المستخدم مستوى
HTML
رقم 3 أو أعلى لإنتاج الجداول الزمنية
وهذا التعديل هو على مستوى ملف التنسيق
nom_fichier.css
:وذلك باتباع الموجه التالي
fet-results -> timetables ->nom_fichier-single ->nom_fichier.css
من أجل إظهار القاعات الحقيقية والمدرسين الحقيقيين باللون الأسود القاتم في الجداول الزمنية المنتجة

:نبحث عن الكود التالي

tr.line2, div.line2 {
  font-size: smaller;
  color: gray;
}

tr.line3, div.line3 {
  font-size: smaller;
  color: silver;
}


:ونستبدله بالكود التالي

tr.line2, div.line2 {
  font-size: smaller;
  color: black;
}

tr.line3, div.line3 {
  font-size: smaller;
  color: black;


أرفق أدناه الملف "فيت" وجدول القاعات وملف التنسيق


ملاحظة هامة جدا: هذه النسخة تضمن عدم تكرار القاعة للمدرس إذا تحقق الشرط التالي
عدد أنشطة المدرس أصغر أو تساوي عدد القاعات. وإلا استحال إنتاج الجدول، في هذه الحالة نلجأ إلى استخدام طريقة الفجوات كما هي مشروحة في الرابط التالي
https://lalescu.ro/liviu/fet/forum/index.php?topic=3068.msg24404#msg24404

إضافة 23 ماي2020: بعد إصدار النسخة رقم 5، صار ممكنا إنتاج الجدول في حالة عدد الأنشطة أكبر تماما من عدد القاعات، وذلك بإدخال في تعليقات  قاعات فيت ،  أقصى تكرار للمدرس ومنحه قيمة غير معدومة، لبعض المدرسين أو كلهم حسب الحالة
:الرمز
MTR = t
حيث
t
هو عدد طبيعي يحدده المستخدم


كل الشكر والتقدير للسيد ليفيو على جعله لهذه النسخة ممكنة

ملاحظة: لا بد من التسجيل في المنتدى لمعاينة الملفات المتبثة في المرفقات أدناه


[/size]
B.A/krim

Benahmed Abdelkrim

#1

مثال آخر حيث كل قاعة حقيقية تستقبل 3 مدرسين حقيقيين. الأسبوع يتكون من 3أيام، 9 فترات زمنية مفتوحة للإمتحان، عدد المدرسين=50، عدد القاعات=10، الملف المرفق أدناه يوضح ذلك. يرجى التركيز في تعليقات القاعات لأنها تحتوي على قيود زمنية ضمنية غير مصرح بها في الواجهة البيانية للبرنامج
يمكن اجراء الحساب
ع.الأنشطة= 9 * 10 * 3 = 270 نشاط حراسة
نقسم هذا العدد على عدد المدرسين
270 / 50 = 5.4

نكتب جملة المعادلتين أدناه
5x + 6y = 270
x + y = 50
ومنه الحل
x = 30
y = 20

إذن مجموعة أولى تتكون من 30 مدرسا تسند إليهم 5 أنشطة حراسة
ومجموعة ثانية تتكون من 20 مدرسا تسند إليهم 6 أنشطة حراسة

هاتين النتيجتين مهمتين لإدخالهما في تعليقات القاعات كقيود زمنية كالتالي
MHPW=5
لمدرسي المجموعة الأولى

MHPW=6
لمدرسي المجموعة الثانية

بالإضافة إلى القيدين إن شاء المستخدم إدخالهما
MHPD=3
للحد من عدد حصص العمل الفعلي في اليوم إلى 3 حصص يومية فقط. يمكن تخفيضها لبعض المدرسين أو كلهم حسب الملف كلما أمكن ذلك

MSPD=6
للحد من عدد الفترات الحرة والمشغولة للمدرسين(الإمتداد)
للمدرسين 11 الأولين
T1, T2, T3, ..., T11

و
MSPD=5
لبقية المدرسين وعددهم 39 مدرسا
T12, T13, T14, ..., T50

في هذا الملف يستحيل  تحقيق أقصى إمتداد = 5 لجميع المدرسين الحقيقيين، فقط يمكن تحقيقيه ل 39 مدرسا. أما 11 مدرسا فلهم 6 كأقصى امتداد يومي
مع العلم أن عدد الفترات الحرة والمشغولة في هذا الملف = 6؛ فترتين حرتين هما
B, Lu
للإستراحة الصباحية و فترة الإستراحة المخصصة للغذاء
وأقصى 4 فترات مشغولة 

الملف مرفق أدناه
B.A/krim

Hiba Hadi

#2
فعلا طريقة بسيطة ومختصرة. ومشكور على هذا الشرح المستفيض. سأخصص لها وقتا لدراستها وفهمها لكن إن استعصى علي شيء فلا مفر من إزعاجك ببعض الأسئلة
🙂🙂🙂
W.B

Benahmed Abdelkrim

#3


على الرحب والسعة. لا إزعاج مطلقا
🙂🙂🙂
B.A/krim

Benahmed Abdelkrim

#4
:مثال آخر لجدول زمني له المعطيات التالية
الأسبوع يتكون من 5 أيام،  أربع(4) فترات مشغولة في اليوم وفترة توقف للغذاء
عدد القاعات= 10 قاعات
عدد المدرسسن=40 مدرسا
تم استخدام هذه المرة أوقات غير متاحة لقاعة
الجداول الزمنية المنتجة تحاكي النسخة المغربية، إذ يعمل كل مدرس إما صباحا أو مساء وليس ليوم كامل
حساب هذا الجدول كما هو مبين في الأعلى
أرفق أدناه نسخة فيت وجداول القاعات والمدرسين وملف التنسيق
B.A/krim

Benahmed Abdelkrim

#5
أعتقد أنه بمزج القيد الخاص بالقاعات: أوقات غير متاحة لقاعة، مع القيود الزمنية الثلاث التي يمكن إضافتها في التعليقات، من الممكن التحكم في شكل الجداول الناتجة، وجعلها تحاكي النسخة المغربية أو النسخة الجزائرية، طبعا بعد حساب الجدول حسابا مناسبا ..
B.A/krim

Benahmed Abdelkrim

#6
مثال عن ملف يستحيل تحقيق شرط عدم تكرار نفس القاعة للمدرسين الحقيقيين
في هذا الملف، الأسبوع يتكون من 5 أيام، 4 فترات مشغولة وفترة توقف للغذاء.
عدد القاعات=10
عدد المدرسين=32 مدرسا
مدرسين اثنين(2) لكل قاعة
:لدينا
عدد الأنشطة=20×10×2
النتيجة= 400 نشاط حراسة
400/32=12.5
12x + 13y = 400
x + y = 32
الحل هو
x=16 و y=16

إذن 16 مدرسا تسند إليهم 12 نشاط ا
و16 مدرسا تسند إليهم 13 نشاط
نلاحظ أن عدد أنشطة قاعات فيت( 12 و 13) أكبر من عدد القاعات الحقيقية(10)
وبالتالي فإن شرط عدم تكرار القاعة للمدرس  هو مستحيل

يتم حل هذا الإشكال عن طريق حل بديل وهذا بإضافة فجوات لقاعات فيت
عدد فجوات المجموعةالأولى: 20-12=8
عدد فجوات المجموعة الثانية: 20-13=7
كما تقدم شرحه في موضوع الرابط التالي

https://lalescu.ro/liviu/fet/forum/index.php?topic=3068.msg24404#msg24404

الملف مرفق أدناه
B.A/krim

Benahmed Abdelkrim

#7

التحديث الاخير لهذه النسخة بتاريخ: 20 ماي 2020
FET-5.44.6-nsrt5
يسمح بحل الجداول التي يستحيل ضمان عدم تكرار القاعة للمدرس، وذلك بفضل إضافة السيد
Liviu
لقيد زمني ضمني، يُستخدم في تعليقات قاعات "فيت". هذا القيد يُتيح للمستخدم تحديد أقصى عدد مسموح به من التكرارات للمدرس،
:إختصارا الصيغة
MTR=t
:حيث
t
هو عدد يحدده المستخدم في تعليقات قاعات "فيت". في الجداول التي يمكن تحقيق شرط
عدم تكرار القاعة يأخذ هذا العدد قيمة معدومة(0).

MTR=0
تعني أن الجدول الزمني للمدرس لا يمكن ان يحتوي على قاعة مرتين.

MTR=1
تعني السماح بتكرار قاعة في الجدول الزمني للمدرس مرة واحدة على الأكثر
MTR=2
تعني السماح بتكرار قاعة في الجدول الزمني للمدرس مرتين على الأكثر

:تحميل هذه النسخة من الرابط التالي
https://www.lalescu.ro/liviu/fet/download/custom/nsrt/

اقرأني - read me
https://www.lalescu.ro/liviu/fet/download/custom/nsrt/readme-nsrt-not-same-room-teachers.txt

الجدول المرفق أدناه يوضح ذلك
B.A/krim

Benahmed Abdelkrim

#8
:مثال آخر لجدول زمني للحراسة له المعطيات التالية
الأسبوع يتكون من 5 أيام مع فترة توقف أمسية الثلاثاء و أمسية الخميس
الفترات المشغولة في الأسبوع عددها 8 مع فترة توقف للغذاء رمزنا لها بالرمز
Lu
عدد القاعات الحقيقية =10 تم إدخالها كمدرسي فيت
R1, R2, R3, ..., R10

قاعة وهمية(تخيلية) لضمان الاحتياط بمعدل مدرسين إثنين في كل فترة مشغولة رمزنا لها بالرمز
R_res
هذه القاعة ليست حقيقية ولا تستقبل أنشطة الحراسة هي فقط، لنقل إن شئتم مجرد حيلة نلجأ إليها لتحرير  مجموعة صغيرة من المدرسين كمجموعة إحتياط في كل فترة من الفترات المشغولة أثناء سير الإمتحانات

عدد المدرسين الحقيقيين = 32، تم إدخالهم في البرنامج كقاعات فيت
T1, T2, T3, ..., T32

:حساب الجدول
:تطبيق القاعدة
حساب عدد الأنشطة الإجمالي
A=c*g*s
ومنه
A= 8 * 11 * 2 = 176
إذن لدينا 176 نشاطا في الأسبوع
ع. الأنشطة / ع. المدرسين = 176/32 = 5.5
:نلاحظ أن
         5 < 5.5 < 6

:ومنه جملة المعادلتين
5x + 6y = 176
x + y = 32
:الحل هو
x = 16 , y = 16

إذن لدينا مجموعتين من المدرسين
مجموعة أولى من 16 مدرسا تسند لها 5 أنشطة حراسة لكل مدرس منها
ومجموعة ثانية من 16 مدرسا تسند لها 6 أنشطة حراسة لكل مدرس منها

المجموعة الأولى التي لديها 5 أنشطة
T1, T2, T3, ... T16
:في تعليقات القاعات ندخل البيانات التالية
MHPW=5   ,  MHPD=1 ,  MTR=0

المجموعة الثانية التي لديها 6 أنشطة حراسة
T17, T18, T19, ..., T32
:في تعليقات القاعات ندخل البيانات التالية
MHPW=6   ,  MTR=0

القيود الزمنية: قيد واحد هو خاص بأوقات التوقف: فترة الغداء في منتصف اليوم، و أمسيتي الثلاثاء والخميس
القيود المكانية: قيد واحد: قاعة مفضلة لمادة

الجدول مرفق أدناه مع ملف التنسيق
B.A/krim

Hiba Hadi

#9
العمل بالاحتياط فكرة جيدة، وأرى أنك قد رصدت مدرسين فقط كاحتياط خلال كل فترة مشغولة من فترات الامتحان.
ماذا لو أردنا توفير أكثر من 2 كاحتياط في كل فترة؟ فكيف نستطيع تحقيق ذلك؟!
W.B

Benahmed Abdelkrim



سؤال جيد ووجيه. وأشكرك على طرحه.
سأحاول الاجابة عنه مع بعض الأمثلة.
تبقى الفكرة الأساسية هي استخدام القاعات الافتراضية لحل مشكل توفير أكثرمن حارسين اثنين(3 أو 4 أو ربما أكثر) في كل فترة من الفترات المشغولة أثناء الامتحانات
B.A/krim

Benahmed Abdelkrim

#11

إجابة عن سؤال توفير أكثر من حارسين في كل فترة مشغولة من فترات الامتحان ، نقوم بإضافة قاعة
إفتراضية ثانية نطلق عليها اسم
V2
هذه القاعة الإفتراضية تتكون من 3 مجموعات في حالة ما إذا أردنا توفير إحتياط = 3 في كل فترة مشغولة، أو تتكون من 4 مجموعات في حالة ما إذا أردنا توفير إحتياط = 4 في كل فترة مشغولة
حيث كل مجموعة  عناصرها هي جميع المدرسين الحقيقيين. في هذا الملف عدد المدرسين هو 32 مدرسا

نضيف مادة أخرى نطلق عليها اسم
res
أو أي اسم آخر يريده المستخدم
سنعرض مثالين: المثال الأول بثلاث(3) مدرسين احتياط في كل فترة مشغولة،
و المثال الثاني بأربع(4) مدرسين إحتاط في كل فترة مشغولة
تبقى الخوارزمية المقترحة هي نفسها قابلة للإستعمال، في حالة ما إذا أراد المستخدم توفير إحتياط أكثر من ذلك

:المثال الأول الإحتياط = 3 في كل فترة مشغولة
نفس الجدول الذي تم عرضه في المواضيع الممنشورة أعلاه، سأعيد استخدامه مع بعض التعديلات الضرورية
عدد القاعات = 10، عدد المدرسين = 32،
الأسبوع يتكون من 5 أيام، مع فترتي توقف(راحة) خلال أمسيتي الثلاثاء والأربعاء
إذن هو نفس الجدول الذي تم طرحه في الموضوع السابق عند تقديم النسخة الأخيرة من
FET-nsrt

الحساب
A=C*G*S
A=8*10*2=160
160/32=5

إذن كل مدرس حقيقي ستسند إليه 5 أنشطة

حساب الإحتياط
لدينا 8 فترات مشغولة نريد توفير 3 مدرسين احتياط في كل فترة
إذن عدد أنشطة الإحتياط هو
8*3=24 نشاط إحتياط

يتم إضافة 24 نشاط إحتياط إلى الأنشطة العادية للحراسة
إذن مجموعة تتكون من 24 مدرسا ستسند إليها 6 أنشطة أي
MHPW=6

و مجموعة ثانية ستسند لها 5 أنشطة أي
MHPW=5

نلاحظ أن عدد أنشطة المدرسين (5 و 6) أصغر من عدد القاعات (10) وبالتالي يمكن جعل أقصى تكرار للمدرس معدوما أي
MTR=0

:المثال الثاني الإحتياط = 4 في كل فترة مشغولة

أنشطة الحراسة تبقى كما حسبناها في المثال السابق
سيتغير فقط أنشطة الإحتياط
لدينا 8 فترات مشغولة، ونريد توفير 4 مدرسين إحتياط في كل فترة
إذن:
8*4=32 نشاط إحتياط
وهو نفس عدد المدرسين
إذن يتضح أننا نجعل أقصى حصص أسبوعية لجميع المدرسين = 6 ( أنشطة عادية + نشاط إحتياط) نعبر عن ذلك في تعليقات قاعات فيت كما يلي
MHPW=6

ويتضح كذلك أن أقصى تكرار للمدرس = 0 في المثال الثاني أيضا أي
MTR=0

الجدولين مرفقين أدناه مع بعض التعديلات على ملف التنسيق كما تم شرحه أعلاه وفي المواضيع السابقة
B.A/krim

Hiba Hadi

#12
شكرا سيدي على تفضلكم الاجابة على تساؤلي. وبارك الله فيكم. وجزاكم الله كل خير.
🙂🙂🙂
W.B

Benahmed Abdelkrim

#13

:)  على الرحب والسعة
B.A/krim

Hiba Hadi

أرجو أن تعذرني، فقد كثرت تساؤلاتي ، لكن لا أخفي عليك، فهذه الطريقة مثيرة للإهتمام، ببساطتها وسرعتها وجمالها أيضا. اسمح لي بهذا السؤال لو تفضلتم: هل بالامكان استخدام هذه النسخة لإنجاز الجداول الزمنية العادية التي لا تتطلب سوى مدرسا واحدا في كل قاعة ؟
وشكرا مرة أخرى 🙂
W.B