📄 faq_fr.html
字号:
emplois du temps sont représentés comme des matrices,indexées par les enseignants (ou étudiants ou salles)et les jours et heures et contiennent des entiers, qui représententles indices des activités. </P><P>J’utilise des int16 quelquefois pour des raisons deconsommation mémoire. </P><P>Avec une population maximale de 8192, la classe Rules a une tailled’à peu près 180 Mo (j’espère ne pasme tromper). </P><P>Q : Pouvez-vous détailler l’utilisation despoids pour les contraintes ? </P><P>R : Le poids d’une contrainte peut être un nombreréel (double). MAIS : j’ai préféré(pour des questions de vitesse) que la valeur de retour d’unecontrainte soit un entier, c’est pourquoi c’est unevaleur réelle arrondie à l’entier le plus proche.Pour l’instant, essayez de travailler avec des poids entiers. </P><P>Q : Pouvez-vous expliquer pourquoi FET travaille en deuxphases, d’abord les heures, puis les salles ? </P><P>A : Pour des questions de vitesse. Mais, avec l’allocationen deux phases, la première phase peut aboutir à dessolutions qui ne sont pas compatibles avec la deuxième phase(par exemple,avec les données de l’échantillon12, de Marek Jaszuk, on n’atteint pas de solution optimale pourla deuxième phase, alors qu’il existe une tellesolution, trouvée manuellement). </P><P>Il y a deux solutions à ce problème : </P><P>1 - FET pourrait travailler en une seule phase (mais le temps decalcul serait beaucoup plus long) ou </P><P>2 - il faudrait ajouter des contraintes temporelles pour que lasolution de la première phase respecte toutes les contraintesspatiales (très compliqué, les contraintes pouvant êtreobligatoires ou non, et le temps d’exécution est trèslong). </P><P>C’est un problème pour lequel on recherche unesolution. </P><P>Q : Comment fonctionne ConstraintActivitiesSameTime (mêmeheure pour plusieurs activités) ? </P><P>R : Pour les contraintes obligatoires, la solution envisagéeest mise en conformité avec la contrainte avant évaluation,de telle façon que toutes les solutions envisagéesrespectent cette contrainte et qu’il n’y ait pas deconflit signalé. Cette solution est la plus rapide, comme l’amontré le fichier de données de Ian Fantom. Pour lescontraintes non obligatoires, la méthode est le signalement deconflits (plus lent, moins bon que la méthode ci-dessus). </P><P>Q : Comment fonctionne ConstraintActivityPreferredTime (heuresouhaités pour une activité) ? </P><P>R : Pour les contraintes obligatoires, la solution envisagéeest mise en conformité avec la contrainte avant évaluation,de telle façon que toutes les solutions envisagéesrespectent cette contrainte et qu’il n’y ait pas deconflit signalé. Cette méthode est plus rapide (prouvépar l’expérience, pas en théorie). </P><P>Pour les contraintes non obligatoires, la méthode est lesignalement de conflits. La fonction renvoie un facteur de conflitqui augmente avec la distance par rapport à l’heuresouhaitée. Ceci peut générer des solutions moinsbonnes, si on est intéressé uniquement par unpositionnement exact. Dans ce cas, il est préférabled’utiliser ConstraintActivityPreferredTimes (plusieurs heurespossibles), avec une seule heure souhaitée. </P><P>Exemple : 5 jours dans la semaine, 5 activités,exclusives, une par jour. </P><P>Activité 1 : de préférence le lundi </P><P>Activité 2 : de préférence le lundi </P><P>Activité 3 : de préférence le mardi </P><P>Activité 4 : de préférence le jeudi </P><P>Activité 5 : jour indifférent </P><P>La meilleure solution, avec ConstraintActvityPreferredTime (sanss), contiendra 2 conflits, et une solution pourra être : </P><P>Activité 1 le lundi </P><P>Activité 2 le mardi (conflit) </P><P>Activité 3 le mercredi (conflit) </P><P>Activité 4 le jeudi </P><P>Activité 5 le vendredi </P><P>Si vous utilisez ConstraintActvityPreferredTimes (avec s), vousn’aurez qu’un seul conflit : </P><P>Activité 1 le lundi </P><P>Activité 2 le mercredi (conflit) </P><P>Activité 3 le mardi </P><P>Activité 4 le jeudi </P><P>Activité 5 le vendredi </P><P>Q : Quels sont les avantages de FET par rapport àd’autres applications ? </P><P>R : - C’est un Logiciel Libre ; </P><P>Il supporte les activités hebdomadaires et bi-hebdomadaires(mon université de Craiova, Roumanie, avait besoin de cettefonctionnalité) ; </P><P>Sous-groupes indépendants, groupes indépendants ounon, promotions indépendantes ou non (suffisamment flexiblepour permettre n’importe quel type d’organisation desgroupes d’étudiants). FET peu même êtreutilisé pour gérer chaque étudiantsindividuellement si vous en avez vraiment besoin ; </P><P>Possibilité de gérer des activitésoptionnelles ; </P><P>Beaucoup de types de contraintes, avec la possibilité d’enajouter beaucoup d’autres (merci d’en suggérer !).</P><P>Q : Quels sont les inconvénients de FET par rapport àd’autres applications ? </P><P>R : Pas très convivial (pas d’aide, interfacegraphique très primitive) ; Potentiellement buggé.Je n’ai pas assez de fichiers d’exemples pour tester FET(et je déteste faire des tests :-) </P><P>Q : Est-ce que FET compile dans d’autres environnementque GNU/Linux ? </P><P>R : FET peut être compilé dans desenvironnements similaires à GNU/Linux. Je fournirai de l’aidepour compiler ce logiciel dans tout environnement libre. Je nefournirait PAS d’aide pour compiler ce logiciel dans uneenvironnement non-libre (au sens de la GNU/GPL). </P><P>Q : Est-ce que FET prétend être le meilleurlogiciel d’emploi du temps au monde, comme toutes les autresapplications de planification ? </P><P>R : Je ne peux pas prétendre ça, parce que jen’ai pas pu comparer FET avec d’autres applications (sivous pouviez m’aider, ce serait génial). Tout ce que jepeux dire aujourd’hui, c’est que je n’ai vu aucuneapplication qui gère autant de contraintes et qui présentela même flexibilité que FET, sans parler du fait qu’ils’agit de logiciel libre. </P><P>FET est-il le premier logiciel libre de gestion d’emplois dutemps (GNU/GPL) ? Hmmm... le premier a été Tablix,comme je l’ai découvert après avoir terminéFET. Mon opinion personnelle est que FET est meilleur. Bien sûr,je peux me tromper. </P><P>Q : Quelle est la différence entre l’initialisation« non allouée » et l’initialisationaléatoire ? Quelle est la meilleure ? </P><P>R : C’est la méthode utilisée pourinitialiser la population de solutions possibles. Il semblerait(résultats empiriques) que l’initialisation« non-allouée » soit meilleure. </P><P>Q : Qu’est ce que ConstraintMinNDaysBetweenActivities ?</P><P>R : Cette contrainte s’applique à un ensembled’activités et comporte une constante N. Les activitésdevront être distantes deux à deux d’au moins Njours. Pour N=1, cette contrainte signifie que les activitésne pourront pas être planifiées le même jour. PourN=2, les activités devront être séparéespar au moins une journée. </P><P>Exemple 1 : 3 activités et N=2. Les activitéspeuvent être placées le lundi, le mercredi et levendredi (5 jours dans la semaine). </P><P>Exemple 2 : 2 activités et N=3. Les activitéspeuvent être placées le lundi et le jeudi, le lundi etle vendredi ou le mardi et le vendredi (5 jours dans la semaine). </P><P>Q : Est-il facile d’ajouter de nouveaux types decontraintes dans FET ? </P><P>R : C’est très facile. Je peux implémenterune nouvelle contrainte en quelques heures. Vous trouverez unedescription de la procédure dans le répertoiredoc/how-to-implement-new-constraints </P><P>Q : Qu’est-ce que ConstraintStudentsEarly. </P><P>R : C’est une contrainte qui impose comme condition defaire débuter les cours des étudiants aussi tôtque possible. Vous devez faire attention avec cette contrainte :si un groupe d’étudiant commence plus tard que lapremière heure de la journée, vous aurez un conflit. </P><P>Q : FET n’arrive pas à résoudre monemploi du temps ? </P><P>R : Essayez d’utiliser une population plus grande.Essayez aussi de refaire d’autres simulations. Si cela nesuffit pas, assouplissez les contraintes sur l’emploi du temps,par exemple en supprimant des contraintes obligatoires ou en lesrendant non-obligatoires.</P><P><BR><BR></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -