حساب جدول الاختبارات

Started by Benahmed Abdelkrim, February 21, 2017, 04:32:54 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

YOUSSEF HOUIET

#15
يمكن أيضا تحقيق ذلك بمسك ضعف عدد القاعات بحيث كل قاعة حقيقية تكون ممثلة بقاعتين في fetالنسخة العالمية دون استعمال الاصدار المخصص mapr:
S1
S2
S3
.
.
S1*
S2*
S3*
.
.
بحيث تسند مجموعة القاعات الاولى لاساتدة السلك الاول
والمجموعة الثانية من القاعات لاساتذة السلك الثاني (عبر الوسوم المشتركة)

وبذلك نحصل على المراقب الاول انطلاقا من القاعة S1 والمراقب الثاني من القاعة S1*
هذه الطريقة صالحة لتحقيق تواجد مراقبين من سلكين مختلفين في نفس القاعة لكن اذا اردنا تحقيق شرط اخر كعدم الجمع بين أستاذتين مثلا... فالامر غير ممكن.

abdessalam bousarra

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

YOUSSEF HOUIET

السلام عليكم سي عبد السلام ورمضان مبارك.
توقف الانتاج طبيعي لان عدم التداخل بين الوسمين يفرض على البرنام اسناد الحراسة لاحد الوسمين فقط خلال كل اختبار.
ولا يمكن تجاوز هذا المشكل لا بنسخة mapr ولا النسخة العالمية،
لان فيت لا يوفر قيدا لعدم التداخل المكاني أي منع وسمين من التداخل داخل نفس القاعة، عدم التداخل المتوفر زماني فقط.

حاليا أعمل على طريقة تمكن من تحقيق تلك الشروط بالتحايل على البرنام عن طريق اعتبار القاعات الحقيقية عبارة عن ساعات في فيت، وتمكنت من الحصول على نتائج ممتازة بحيث لا يتكرر الاستاذ في القاعة ولا تتداخل الوسوم

لكن تحقيق عدم التكرار داخل القاعة يحتاج لمسك قيد أقصى تزامن 1 لكل أستاذ في جميع الساعات(القاعات الحقيقية).
ويكون عدد القيود من هذا النوع هو عدد الاساتذة×عدد القاعات الشيء الذي يجعل الطريقة يستحيل استعمالها يدويا.
وبالتالي نحتاج لتوليد ملف fet اوتوماتيكيا انطلاقا من معطيات على اكسيل واستعمال vba لتوليد ملف xml.
وهذا ما سأعمل عليه في قادم الأيام.
في الرابط نموذج لتوزيع الحراسة بهذه الطريقة.

https://drive.google.com/file/d/1eAuvt5b1u8T9yUlLR7MevGresn2f1JV4/view?usp=drivesdk

abdessalam bousarra

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

YOUSSEF HOUIET

مرحبا سي عبد السلام ورمضان مبارك وعافانا الله واياكم.
بالنسبة للمنتوج الذي وضعت رابطه أنتجته بطريقة مبتكرة مختلفة نوعا ما عن طريقة الأستاذ عبد الاله بنجلول وطريقة الاخ عبد الكريم بن أحمد،
الفكرة معقدة قليلا تعتمد على اعتبار اليوم مكون من ساعات تعادل القاعات لتحقيق عدم تكرار الاستاذ داخل القاعة باستخدام قيد انشطة تحتل اقصى فترات زمنية محددة.
بالنسبة للوسوم وضعت 4 وسوم : اعدادي تأهيلي وذكر أنثى، بحيث أقوم بوسم نشاط الاستاذ بوسمين حسب السلك والجنس.
ولتحقيق عدم تواجد نفس الوسم في ساعة واحدة(التي تعبل عن قاعة في الحقيقة) استعمل قيد وسوم غير متداخلة
اعدادي غير متداخل مع تأهيلي
وذكر غير متداخل مع أنثى
واضع الوزن النسبي مابين 95% و 99.99% لكسر القيد في حالة استحالة امكانية تحقيقه.
هذه هي الطريقة الوحيدة الممكنة في نظري
أما الطرق السابقة فيستحيل تحقيق عدم التداخل المكاني لعدة وسوم. يمكنك فقط استعمال طريقة القاعة S1 و S1* لتحقيق عدم تداخل وسمين فقط.

YOUSSEF HOUIET

#20
.

abdessalam bousarra

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

Benahmed Abdelkrim

B.A/krim

YOUSSEF HOUIET

#23
مرحبا أخي عبد الكريم
تتبعت النقاش حول مقترحك حول أقصى ساعات في القاعة لتحقيق عدم تكرار الاستاذ في القاعة خلال الاختبارات،
واطلعت ايضا على الطريقة التي رفقتها في ملف فييت
والتي تعتمد على وسم انشطة الاساتذة بوسوم تحيل على القاعات،
وهذه العملية تحتاج حسابا دقيقا بالاكسيل لتفادي عدم تجاوز عدد الانشطة الاجمالي بكل قاعة خلال الاختبارات. ومن جهة اخرى هذه العملية مرهقة وشبه يدوية.
عملت بها السنة الماضية وطورتها قليلا بمسك وسوم بعدد الحراسات الاقصى للاساتذة
مثلا 3 حراسات نمسك وسم 1 و2 و3

وكل وسم نخصص له مجال من القاعات مثلا 9قاعات
ق 1 2 3 مخصصة للوسم 1
ق4 5 6 مخصصة للوسم 2
ق7 8 9 مخصصة للوسم 3
ونحدد مسبقا في كل وسم مجموع حصص القاعات المخصصة له لتفادي تجاوزها عند وسم انشطة الاساتذة بذلك الوسم.

وللانتاج نستعمل نسخة fet mapr
طريقة الى حد ما تخفف عناء كثرة الوسم حسب عدد القاعات.

بالنسبة للطريقة التي اقترحتها في التعاليق اعلاه هل اطلعت عليها؟ اتمنى ان تطلع عليها
لانها تعطي نتائج ممتازة لكن عدد القيود كبييير ويحتاج لاضالة قيد خاص.

Benahmed Abdelkrim

#24

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

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

الطريقة الثانية: إدخال القاعات الحقيقية كمدرسين في البرنامج وإدخال. المدرسين الحقيقيين كطلاب في البرنامج

الطريقة الثالثة: إدخال المدرسين الحقيقيين  كمدرسين في البرنامج وإدخال القاعات كوسوم مشتركة

والسيد ليفيو اقترح طريقة مفيدة تتمثل في إدخال المدرسين  كأيام في البرنامج والمجالات الزمنية المتاحة خلال الأسبوع كساعات أو حصص

هذه الطرق تجعل المستخدم يتفادى استخدام الإصدار المخصص
FET mapr
والذي هو غير مستقر ومليئ بالأخطاء البرمجية وليس مدعوما من قبل مطور البرنامج

أما في حساب عدد الأنشطة فنستخدم  المعادلات الموصوفة أعلاه لمعرفة عدد الأنشطة خلال الأسبوع وضمان توزيع عادل لهذه الأنشطة على المدرسين.

حاليا أفكر في تحسين الطريقة الأولى باستخدام وظيفة القاعات الافتراضية والتي ستغني عن كل الطرق الأخرى المستخدمة حاليا بما فيها الإصدار المخصص
FET mapr
نرجو التوفيق من المولى عز وجل
B.A/krim

YOUSSEF HOUIET

شكرا على التوضيحات المفصلة الاي عودتنا عليها.
فعلا الطريقة الاولى هي الأفضل لكن تحتاج لقيد يحد من عدد الانشطة بقاعة معينة

بالنسبة للحساب ووالمعادلات استوعبتها واستعملها وتحقق نتائج مضبوطة وعادلة
لكن الاشكال لدي هو كيفية تحديد عدد الانشطة الموسومة بكل وسم لدى كل استاذ

فالملاحظ في الطرق الاي ذكرت انه دائما هناك شبه تحديد قبلي للقاعات التي ستسند للاستاذ

وهنا اجد الصعوبة في هذه الطريقة كيف اوزع الوسوم على انشطة الاساتذة دون تجاوز عدد الحصص الاجمالي في كل قاعة.

لهذا ابحث عن طريقة لجعل فيت هو يختار القاعات دون تدخل قبلي

أعتذر عن الاطالة وشكرا مجددا على مجهوداتك ومساعدتك

YOUSSEF HOUIET

#26
في ما يلي أرفقت ملفا تجريبا لطريقة إدخال القاعات fetالحقيقية كساعات في
html مع بعض صور ملفات للمنتوج

تمثل الساعات
R1 R2 R3 R4
القاعات الحقيقية

تمثل قاعة الاحتياط R_RESERVE الساعة

تعبر عن فترات الاختبارات FET أيام

مادة الحراسة نخصص لها الساعات
R1 R2 R3 R4

مادة الاحتياط نخصص لها الساعة
R_RESERVE

لتحقيق تواجد أستاذين فقط في كل ساعة اعتمدت على قاعتين افتراضيتين
*, **
ونخصصهما لمادة الحراسة


لتحقيق تواجد عدد معين من الاحتياط في أحد الاختبارات(الأيام) نستعمل قيد أقصى تزامن في الساعة R_RESERVE

   
لمنع تكرار الأستاذ داخل القاعة نعتمد قيود أنشطة تحتل أقصى فترات زمنية محددة، ونختار أنشطة حراسة الأستاذ ونختار الساعة
R1
في كل الأيام ونضع في أقصى شغل 1

R2 R3 R4 ونعيد نفس القيد مع كل الساعات
ونعيد العملية مع كل الأساتذة.

  يمكن إضافة وسوم ذكر أنثى لتحقيق عدم تداخل أنشطة الإناث مع الذكور في كل من الساعات
R1 R2 R3 R4

وبالتالي ضمان عدم تواجد أستاذتين خلال الساعة (أي القاعة)


Benahmed Abdelkrim

#27

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

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

Benahmed Abdelkrim

#28

:طريقة الفجوات
أرفق أدناه الملف الذي يستخدم وظيفة القاعات الافتراضية الموجودة في النسخة الرسمية للبرنامج.
تم إدخال البيانات التالية
المدرسون: عبارة عن قاعات حقيقية عددها 10 في هذا المثال
R1, R2,...,R10

الطلاب: لا شيء

القاعات: عبارة عن مدرسين حقيقين عددهم 36 مدرسا
T1, T2,T3, ..., T36

المواد: تم إضافة مادتين:
مادة اسمها
subj
لإضافة أنشطة الحراسة ... أو أي اسم آخر يختاره المستخدم مثل: حراسة أو مراقبة أو ...
ومادة أطلقت عليها اسم
gap
لإضافة أنشطة تخيلية تمثل فراغات (أو فجوات) في جداول المدرسين؛ 4 فراغات لكل مدرس في هذا المثال. تحسب هذه الفراغات بعد حساب عدد أنشطة الحراسة (لدينا 5 أنشطة لكل مدرس في هذا المثال، يمكن أن يتغير هذا العدد في أمثلة أخرى ) لكل مدرس وطرحها من الفترات الزمنية المتاحة خلال الأسبوع( لدينا 9 فترات )
وبالتالي: 9 - 5 = 4 فجوات لكل مدرس

وسوم مشتركة: تم إضافة 36 وسما مشتركا بحسب عدد المدرسين(36). لوسم كل 4 أنشطة تخيلية تمثل الفجوات التي تضاف إلى جدول كل مدرس. أخدت أسماء الأعداد: 1، 2، 3، ...، 36

قاعة إفتراضية: تسمى
V1
يمكن اختيار أي اسم من طرف المستخدم.

هذه القاعة  تمثل القاعة الإفتراضية لإضافة قاعتين( مدرسين(2) حقيقين) لكل قاعة حقيقية
لأن حراسة كل قاعة تكون مضمونة من طرف مدرسين اثنين(2)
في حالة ما أراد المستخدم جعل 3 مدرسين في كل قاعة يجب إضافة مجموعة ثالثة. وبالتالي ستكون القاعة الإفتراضية مكونة من 3 مجموعات كل مجموعة تتكون من 36 عنصرا كل عنصر يمثل مدرسا من المدرسين.

قيود زمنية: تم إضافة 3 قيود زمنية كما هو مشروح في الملف المرفق
قيد زمني للتوقف؛
قيد أدنى أيام بين الأنشطة(لتباعد الأنشطة التخيلية التي تمثل الفجوات 3 أنشطة في كل قيد الوزن: 100% في كل القيود أدنى أيام ما عدا 4 قيود للأنشطة الموسومة بالوسوم:33، 34، 35 و 36. عدد التعارضات اللينة=4.
قيد زمني خاص بالأنشطة التخيلية التي تمثل الفجوات: أنشطة تحتل أقصى فترات زمنية محددة، تم إضافة 36 قيدا من هذا النوع وذلك لتجنب رؤية فجوتين(2) في اليوم الأول خلال الحصة 2 والحصة
pm1
  لأن هذا اليوم هو أطول يوم (يتكون من 4 حصص تفاديا لرؤية حصتين في طرفي النهار يتخللهما فجوتين)

قيود مكانية: تم إضافة قيدين (2) إثنين
قيد قاعات مفضلة للمادة
subj
أنشطة هذة المادة مجبرة أن تكون في القاعة الافتراضية
V1
هذه القاعة تتكون من مجموعتين كل مجموعة تتكون عناصرها من كل المدرسين الحقيقين (36 مدرسا في هذا المثال)
وقيود قاعات مفضلة لوسم مشترك: عددها 36 قيدا من هذا النوع. لإضافة 4 فجوات لكل قاعة ( لكل مدرس حقيقي)

ملحوظة:  لإخفاء اسم المادتين في الجداول الزمنية الناتجة
subj, gap
نفتح ملف التنسيق
nom_de_fichier.css
في مجلد الخروج نبحث عن السطر

span.subject {

}

و نقوم بتغييره إلى ما يلي

span.subject { display: none;

}


انتهى شرح الملف

الملف في المرفقات أدناه مع اضافة شروح للبيانات والقيود المستخدمة في التعليقات
الخاصة بالبيانات والقيود
.



[/size]
B.A/krim

Hiba Hadi

شكرا على هذه الشروحات والأفكار الإبداعية.
W.B