Custom FET for Moroccan schools

Started by Liviu Lalescu, September 17, 2008, 11:49:43 AM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

khalafi

Salut,
Je suis nouveau sur ce blog, mais je suis un utilisateur de FET depuis maintenant 3 ans.
Il se trouve que quand je génère un emploi du temps, certains d'entre eux comporte beaucoup trop de mâtiné de travail (une mâtiné c'est de 8h à 12h) par rapport aux après-midis (un après-midi c'est de 14h à 18h), ou bien c'est l'inverse qui se produit.
Exemple :
Si un prof a une charge horaire de 24 heures par semaine, soit 6 jours de travail de 4 heures chacune. Dans ce cas la distribution idéal est la suivante :

  • 3 jours où le prof travaillera uniquement les matinées (de 8h à 12h).
  • 3 jours où le prof travaillera uniquement les après-midis (de 14h à 18h).
Or, les résultats que j'obtiens ne sont pas répartis de façon aussi équivalente.
Donc, je me permets de vous demander d'ajouter une option à votre logiciel, qui nous permettra de spécifier pour chaque prof les contraintes suivante :

  • Le nombre max de mâtinés de travail par semaine pour chaque prof.
  • Le nombre max de d'après-midis de travail par semaine pour chaque prof.
  • Le nombre min de mâtinés de travail par semaine pour chaque prof.

  • Le nombre min de d'après-midis de travail par semaine pour chaque prof.
Je n'oublie pas de vous remercier pour l'ensemble de vos efforts.
Cordialement, Karim KHALAFI.

Liviu Lalescu

#106
I prefer to talk about possible tricks, using the constraints that are currently available.

For the max days of morning/afternoon, it is very simple: say the week has 5 mornings and you want maximum 3 mornings of work for teacher T. Then add for him additionally 2 activities, each with duration 4, preferred times in the morning, each day possible.

For the min days of morning/afternoon, I see no good trick for the moment. But if you have the max days, do you really need the min days constraint? (For min days of morning/afternoon, can the min days total, which is available, be of any help?)

khalafi

Merci beaucoup pour avoir répondue aussi rapidement.
Donc, j'ai testé la solution que vous m'avais proposée, et j'ai rajouté à chaque prof 2 activités d'une durée de 4 heures chacune.
Le problème qui se pose, c'est qu'au Maroc un prof ne travail qu'une demi-journée (la matinée ou l'après-midi).
Alors quand on affecte une activité de 4 heures à un prof durant l'après-midi d'un jour « J », il en résulte que ce prof ne peut plus travailler la matinée de ce même jour « J ».
Ce que je veux dire, c'est que si on rajoute 2 activités d'une durée de 4 heures à un prof « T » c'est comme si on affecter à ce même prof 2 journées de libres.

J'espère que je me suis bien fait comprendre !

Cordialement Karim KHALAFI.

Liviu Lalescu

#108
Oh, I forgot about that! Sorry!

Please try to experiment my tricks for FET Algeria or for FET official on a file as in examples/Morocco/Hadkourt/ , then let me know.
(I think FET Algeria has not the restriction that a teacher works either morning or afternoon.)

khalafi

Quote from: Liviu Lalescu on August 13, 2014, 06:25:46 AM
Oh, I forgot about that! Sorry!

Please try to experiment my tricks for FET Algeria or for FET official on a file as in examples/Morocco/Hadkourt/ , then let me know.
(I think FET Algeria has not the restriction that a teacher works either morning or afternoon.)

J'ai testé ta solution sur FET officiel, et je peux vous dire que j'ai obtenue de bons résultats.

Il me reste à vous demander une dernière chose, et ce qu'il est possible d'obtenir une présentation standard des emplois du temps (voir l'image ci-dessous).



Je ne vous remercierais jamais assez pour votre soutien, Cordialement.

Kerim KHALAFI.

Liviu Lalescu

There is no direct way. You could do a CSV export of the timetable from FET and then import in a spreadsheet program (Excel, Libre Office Calc) and do the automatic arrangement.

mb812005

Bonsoir  je suis un utilisateur d'un FET, je dirais même un FANE.
Je tente de générer un emploi  du temps pour mon collège  et je  bute sur un petit problème est le suivant :
Pour un enseignant  donné  « T »  j'ai affecté des classes répartis sur 3 niveaux (N1, N2 et N3) et je désire que cet enseignant  se voie attribuer  des classes de deux niveaux max par jour :
C'est-à-dire que  cet enseignant  aura dans un jour de travail des classes des niveaux (N1 et N2) ou bien (N1 et N3)  ou bien (N2 et  N3).
Es ce que vous pouvez me dire comment faire ?
Cordialement BOUBKER.
 


Liviu Lalescu

Quote from: mb812005 on August 27, 2014, 11:48:27 PM
Bonsoir  je suis un utilisateur d'un FET, je dirais même un FANE.
Je tente de générer un emploi  du temps pour mon collège  et je  bute sur un petit problème est le suivant :
Pour un enseignant  donné  « T »  j'ai affecté des classes répartis sur 3 niveaux (N1, N2 et N3) et je désire que cet enseignant  se voie attribuer  des classes de deux niveaux max par jour :
C'est-à-dire que  cet enseignant  aura dans un jour de travail des classes des niveaux (N1 et N2) ou bien (N1 et N3)  ou bien (N2 et  N3).
Es ce que vous pouvez me dire comment faire ?
Cordialement BOUBKER.


Are you using FET official or Morocco?

I'm sorry, but I think what you need cannot be done with current FET. It might be possible as a new constraint. I am adding this in the TODO, but I cannot guarantee I will do this.

khalafi

Quote from: Liviu Lalescu on August 15, 2014, 05:36:47 AM
There is no direct way. You could do a CSV export of the timetable from FET and then import in a spreadsheet program (Excel, Libre Office Calc) and do the automatic arrangement.

Et voilà, j'ai suivi vos conseils et j'ai écrit quelques lignes de VBA pour obtenir un fichier Excel me permettant d'importer les données de l'emploi du temps depuis des fichiers CSV.
Ce fichier me permet de facilement mettre en forme et d'imprimer les emplois de temps des profs est des élèves.
Voici le fichier Excel en question : https://www.sendspace.com/file/pm6qjm
Et les fichiers CSV de mon emploi du temps : https://www.sendspace.com/file/k50ald
Je vous prie de bien vouloir y jeter un œil et de me faire part de vos précieuses remarques.
Cordialement Karim KHALAFI.

Liviu Lalescu

Quote from: khalafi on August 28, 2014, 05:45:54 PM
Et voilà, j'ai suivi vos conseils et j'ai écrit quelques lignes de VBA pour obtenir un fichier Excel me permettant d'importer les données de l'emploi du temps depuis des fichiers CSV.
Ce fichier me permet de facilement mettre en forme et d'imprimer les emplois de temps des profs est des élèves.
Voici le fichier Excel en question : https://www.sendspace.com/file/pm6qjm
Et les fichiers CSV de mon emploi du temps : https://www.sendspace.com/file/k50ald
Je vous prie de bien vouloir y jeter un œil et de me faire part de vos précieuses remarques.
Cordialement Karim KHALAFI.

Thank you!

Firstly, you could attach the files directly here, because it is simpler for the users.

Secondly, I took a look, but I am not the best person to criticize this. Let's wait for other users to share their opinion.

khalafi

Quote from: Liviu Lalescu on August 28, 2014, 07:10:49 PM
Quote from: khalafi on August 28, 2014, 05:45:54 PM

Thank you!

Firstly, you could attach the files directly here, because it is simpler for the users.

Secondly, I took a look, but I am not the best person to criticize this. Let's wait for other users to share their opinion.

Et voilà, j'ai attaché les fichiers comme demandé.

Liviu Lalescu

Quote from: khalafi on August 28, 2014, 07:26:03 PM
Et voilà, j'ai attaché les fichiers comme demandé.

Merci! J'espere qu'autres utilisateurs leur trouvera outils.

Thank you! I hope that other users will find them useful.

khalafi

Salut, j'espère que tout va pour le mieux.

Je viens de finir les emplois de temps, et je suis assez satisfait des résultats.

Je viens aussi de recevoir quelques demandes de certains profs, et j'avoue que je ne sais vraiment pas comment les satisfaire.
Les requêtes sont comme suite :


  • Requête 1 : deux ou trois profs désire avoir les mêmes demi-journées de travail ; je désire répondre à cette requête son passer par la contrainte (un enseignant est indisponible) car l'emploi du temps deviens impossible à générer.

  • Requête 2 : plusieurs enseignants se plaignent de voir une classe « C » à un jour « J » durant la séance « 17h : 18h », et de devoir revoir la même classe « C » au jour « J+1 » durant la séance « 08h : 09h ». Je ne voudrai pas mettre deux jours d'intervalle entre les activités car cela rend l'emploi du temps impossible à générer.

Je sais que je deviens lord à force de toujours demander des solutions à mes problèmes, mais je sais aussi que je ne m'adresse pas à n'importe qui et que vous allez m'aider comme d'habitude.

Cordialement Karim KHALAFI.

Liviu Lalescu

For request 1, you may try this:

a) If the teachers need to work in the exact same hours all of them, use constraint activities occupy max time slots from selection. Activities = all activities of all teachers, selected slots = all slots, max occupied slots = number of activities of the teacher with the most activities.

b) If the exact half days must be met, then you might add activities with duration 4 for these teachers, and constrain each group of these dummy activities to have the same starting time.

For request 2, you may try to use the constraint activities occupy max time slots from selection. You might need to add many constraints (n_days_per_week-1 for each teacher/students set problem). Add all activities for the teacher/students set, selected slots = Monday 17-18 and Tuesday 8-9, max occupied = 1. And so on.

khalafi

Quote from: Liviu Lalescu on August 29, 2014, 09:04:21 AM
For request 1, you may try this:

a) If the teachers need to work in the exact same hours all of them, use constraint activities occupy max time slots from selection. Activities = all activities of all teachers, selected slots = all slots, max occupied slots = number of activities of the teacher with the most activities.

b) If the exact half days must be met, then you might add activities with duration 4 for these teachers, and constrain each group of these dummy activities to have the same starting time.

For request 2, you may try to use the constraint activities occupy max time slots from selection. You might need to add many constraints (n_days_per_week-1 for each teacher/students set problem). Add all activities for the teacher/students set, selected slots = Monday 17-18 and Tuesday 8-9, max occupied = 1. And so on.

Bonjours,

J'ai utilisé les solutions que vous m'avez proposées, et j'ai pu réaliser les requêtes avec succès.

J'ai apprécié la solution de la première requête, car elle est aussi efficace que facile à mettre en œuvre.

Par contre la solution de la deuxième requête, s'avère difficile en pratique car les contraintes que l'on doit créer sont nombreuses, je dirais même trop nombreuses.

Es ce qu'on ne peut pas penser différemment et trouver comment réaliser la deuxième requête sans devoir créer autant de contraintes.

Cordialement Karim KHALAFI.