Fonctionnalité

1. Génération emploi de temps

1.1 Pour qui

La génération d’un emploi de temps répétitif, est un besoin de tout type d’établissement qui gère des ressources partagées avec des relations /association entre eux, et qui doivent être organisées selon des contraintes et des horaires. On liste notamment les écoles, collège , lycée, université. Mais aussi des salles de sport, des centres de formation. Etc.
-Les entrés : la taille d’un cycle( généralement une semaine), la listes des séances (8-9, 9-10, 10-11 .. ), les classes, les niveaux, les salles, les matières, les professeurs.
-Les associations : tout type de relation qui permet de lier deux type de objet / entité.
Exemple : La classe A, contient dans son programme 4h de matière X+ 5h de matière Y
-Les contraintes : un ensemble des règles qui organisent les relations entre les objets.
Exemple : Le professeur A ne peut enseigner que la matière X, pour les niveaux 3.
-Sortie : la sortie est l’emploi de temps, sous forme d’un ensemble des séance (classe, matière, professeur, salle, heure début, heure de fin). Cette liste est structurés sous forme d’un tableau ou calendrier.

1.2 complexité de l’algorithme

Le problème de générateur d’emploi de temps est classé comme un problème NP-Complet [1]. Cela signifie globalement que l’algorithme nécessite un temps d’exécution exponentiel en fonction des donnés d’entré : classes, matières, professeurs, salles, contraintes. En revanche, il est possible de vérifier efficacement la solution/les solutions proposée(s) par cet algorithme.
Parmi les problème NP-Complet, on site le problème de voyageurs de commerce [2] : ce problème nécessite l’âge de l’univers pour une entré de 25 villes. (hypothèse : le temps de calcul d’un trajet est microseconde). Notre problème est similaire et ce problème mais avec 5 entrées de plus, du coup la complexité est multiplié par 5.
La solution optimale permet de proposer pour une entrée (collège, lycée, université) la liste des emplois de temps qui peuvent satisfaire ce besoin.

1.3 Notre solution

Notre solution est basée sur la théorie des graphes [3], dont chaque objet (classe, professeur, salle, matière) nécessitent des liaisons organisées avec d’autres objets (selon sa définition de base). On créé un Nœud pour chaque objet, L’objectifs est de remplir toutes les liaisons possible entre les Nœuds. Cette opération est exécutée en mode concurrence entre les Nœuds, en cas de conflits, ils passent par deux niveaux d’arbitrage (conciliateur, Décideur) pour trancher. Il y a également une collaboration entre les nœuds dans certain cas pour optimiser le tableau finale qui est l’objectif commun.
Cette solution, simule le travail humain pour résoudre ce problème. En effet, en dirait un ensemble des personnes, chaque personne responsable de remplir le programme d’une classe, tous réunis dans une salle de réunions, et au tour de rôle chacun propose une séance, et vérifie si un conflit avec une autre personne (salle, professeur), si le cas on négocient entre eux.
Cette solution ne propose qu’une seul tableau d’emploi de temps. Mais efficace à 90%, et trouve forcement une solution si l’être humain arrive à trouver une solution, mais bien sûr, dans un temps record et avec beaucoup moins des personnes.

2. Rapidité

Le contrainte technique majeur aujourd‘hui, est le temps de réponse, L’algorithme reste complexe, et nécessite de RAM et CPU pour répondre au besoin. Pour donner une idée, dans le cas d’un lycée (100 professeurs, 50 classes) le temps de préparation par un être humain est de 15 jours. Avec notre algorithme sur un PC ça prends 15min. Mais notre challenge est de répondre en 20 seconde seulement. Pour cela, notre application est bien modulaire, et basé sur une architecture micro service. Nos moteurs de génération sont déployés sur des machines performantes, qui peuvent exécuter des milliers transactions en temps réduit. Avec le cloud, on est capable d’excuser le code sur des machines très performantes (jusqu’à 1 To de RAM et 64 CPU) et sur plusieurs instances en même temps.

3. Intelligence

Notre application simule l’intelligence humaine pour la création de l’emploi de temps. Une solution trouvée par un être humain doit être trouvée par notre algorithme. Afin d’aider également les utilisateurs, on a proposé des Template (collège, lycée, université). Ces Templates, sont créés et gérées par nos équipes Business Analystes. Qui respectent toujours les réformes nationales.

4. Haute disponibilité (hight availability)

TT SMART est déployés sur le cloud de Microsoft. Parmi le cloud le plus fiable de monde. Notre solution est SAAS déployé sur une collection de site SharePoint hautement disponible. Nos moteurs sont déployés sur un environnement Azure qui assurés par Microsoft.

5. Solution Basé sur la technologie Microsoft

Avec votre compte Microsoft (professionnel ou personnel) vous pouvez travailler sur notre solution tout en gardant la partie sécurité de votre côté. Vous êtes considéré comme invité, votre compte reste toujours géré par votre serveur de mailing (outouk, live, hotmail ou domaine scolaire).
Le contenu est déployés sur une collection de site SharePoint [4], un outil collaboratif de Microsoft super sécurisé, vus permet de gérer vos tableaux dans le cloud.
Les moteurs sont déployés sur Azure : La solution Cloud de Microsoft, Les technologies utilisés sont, également, des technologies Microsoft.

6. Interactivité

Notre solution est rapide et interactive, donne une flexibilité à l’utilisateur de gérer une quantité de donnés important d’une façon rapide sans aucun appel serveur. L’utilisateur peut ajouter ou supprimer des séances, ça permet de forcer l’algorithme à proposer d’autres tableaux. L’utilisateur peut également changer des paramètres après la génération de façon protégé.

7. Personnalisable

Vous pouvez personnaliser l’application selon votre type d’établissement : Lycée, collège, université, centre de formation… Afin d’éviter la complexité de personnalisation, on propose des Templates préconfigurés adaptés aux besoins selon le type d’établissements.




Références


Numéro Site Lien
1 Wikipédia fr.wikipedia.org/wiki/Probl%C3%A8me_NP-complet
2 Wikipédia fr.wikipedia.org/wiki/Probl%C3%A8me_du_voyageur_de_commerce
3 Wikipédia fr.wikipedia.org/wiki/Th%C3%A9orie_des_graphes
4 Microsoft www.microsoft.com/fr-fr/microsoft-365/sharepoint/collaboration