Rapport Programme en C
Rapport Programme en C
Rapport Programme en C
F i l i è r e : R é s e a u i n f o rm a t i q u e e t T é l é c o m m u n i c a t i o n
Présenté par :
PORGO ABDOULAZIZ
SAWADOGO Abigaël
SINON BOURHA-nOURDINE
1
SOMM
AIRE
Introduction
I. Description du problème des emplois du temps
II. Méthode et approches de résolution des emplois du temps
1. Les Méthodes hybrides
2. Approches de construction
2.1 La méthode descente
2.2 La méthode du recuit simule
III. Spécifications et de la conception détaillée
1. La liste des structures utiles pour le projet
2. La liste des fichiers de données utiles pour le projet
3. La liste des fonctions utiles pour réaliser le projet
Introduction
2
Pour toute l’institution soucieuse de rentabilité et d’organisation perfectionnée, élaborer
un emploi du temps est un élément essentiel et nécessaire. Que ce soit pour l’entreprise ou
l’école, il s’agit toujours de maitriser le fonctionnement de l’institution à travers le bon
emploi des ressources humaines notamment. Et cela est une tache autant ardue
qu’indispensable qui requiert l’emploi des outils informatiques. La réalisation d’un tel
système est devenue un choix incontournable pour l’automatisation des emplois du temps
dans le but de faire gagner plus d’heure de travail pour toutes parties d’une activité donnée.
En outre, l’objectif est plus ambitieux car il tend à fournir des solutions presque optimales et
rapides à toutes sortes de contraintes en vue aussi de bien accroitre la production de la
population que la qualité des services.
La difficulté de construire des emplois du temps réside dans la diversification des normes
et des problèmes posés par les utilisateurs ainsi que dans les caractéristiques propres à chaque
institution concernée. Dans le secteur éducatif et précisément celui universitaire,
l’accroissement de nombre d’étudiants et d’enseignants ainsi que le nombre restreint des
structures d’accueil imposent des contraintes que l’on doit gère et agencer. Ceci rend très
difficile de trouver une solution générale aux problèmes d’emploi du temps universitaire, ce
qui implique la nécessité et plus de recherche dans ce domaine. Car trouver un horaire
respectant toutes les contraintes n’est aisé même avec les approches proposées pour la
résolution informatique de ce problème.
Nous allons essayer, à travers ce rapport, de proposer une approche de résolution du
problème d’emploi du temps universitaires.
I. Description du problème des emplois du temps
Dans un institut éducatif comme ISGE – BF, un ensemble d’étudiants groupés sous une
structure hiérarchique (filières, promotions, sections, groupes, …) sont censés avoir un
ensemble d’enseignements qui se répètent périodiquement, chacun de ces enseignements
s’étend sur une durée de temps, dont l’unité élémentaire est la période.
Résoudre le problème de l’emploi du temps revient à affecter à chacun de ces enseignements
un nombre de périodes consécutives égal à la durée qu’il exige, un local dont le type et la
capacité sont convenables, et un enseignant apte à assurer le module concerné par
l’enseignement de façon à prévenir les conflits sur les enseignants, sur les étudiants et sur les
locaux..
Le problème de l’emploi du temps se présente sous différentes Formes, chacune étant
spécifique à l’environnement ou à l’institution y afférente. Dans notre cas, le problème de
l’emploi du temps étudié est celui de l’université (département d’informatique) où les
responsables pédagogiques ont besoin chaque année d’établir une nouvelle planification des
différentes promotions en essayant au mieux de satisfaire les contraintes « humaines » des
enseignants et des étudiants, les contraintes pédagogiques imposées par la progression des
enseignements et en tenant compte des contraintes « physiques » liées aux ressources
matérielles ( les locaux, les équipements etc…).
Le programme pédagogique de chaque formation est connu à priori. Ce programme précise
les modules à suivre, leurs volumes horaires et quelques informations pédagogiques
(répartition en cours, travaux dirigés, travaux pratiques etc…). Selon les besoins
pédagogiques et les conditions physiques des ressources, chaque formation est structurée en
3
promotions, en sections, et en groupes, le nombre d’étudiants par groupe en travaux dirigés
(TD) est limité à 30 pour préserver un meilleur suivi des étudiants. Les enseignants
interviennent selon leur discipline et leur domaine de compétence. Administrativement, les
enseignants doivent assurer un nombre minimal d’heures qui est défini dans leur statut.
Lorsqu’un enseignant est chargé d’un enseignement donné, il est tenu d’en respecter le
volume horaire prévu par le responsable pédagogique. En cas d’absence, l’enseignant doit
prévoir des séances de rattrapage. Il doit donc connaître précisément la disponibilité des
ressources de sa séance. Cette organisation garantit que tous les étudiants qui suivent une
même formation auront eu le même volume horaire d’enseignement.
En résumé, les données du problème à résoudre sont constituées par :
1. Un ensemble de créneaux horaires étalés sur une semaine de cinq jours, du dimanche
au jeudi. La durée d’une période est d’une heure trente minutes.
2. Un ensemble de promotions ou groupes d’étudiants.
3. Un ensemble de cours, TD ou TP à programmer dans la semaine.
4. Un ensemble de locaux (salles, amphis et labos).
4
2.2 La méthode descente
Méthode descente ou La recherche locale, est une méthode très ancienne, Elle manipule des
configurations complètes durant la recherche. Donc est un processus itératif fondé sur deux
éléments essentiels : un voisinage et une procédure exploitant le voisinage.
Un algorithme de recherche locale part d’un solution candidate et la déplace de façon
itérative vers une solution voisine. Cette méthode est applicable seulement si une notion de
voisinage sont définie sur l’espace de recherche. Par exemple, le voisinage d’un arbre
recouvrant est un autre arbre recouvrant qui diffère seulement par un nœud.
Habituellement, chaque solution candidate a plus d’une solution voisine ; le choix de celle
vers laquelle se déplacer est pris en utilisant seulement l’information sur des solutions
voisines de la solution courante, d’où le terme recherche locale. Quand le choix de la solution
voisine est fait uniquement en prenant celle qui maximise le critère.
Le critère d’arrêt de la recherche locale peut être une limite en durée. Une autre possibilité est
de s’arrêter quand la meilleure solution trouvée par l’algorithme n’a pas été améliorer depuis
un nombre donnée d’itérations. Les algorithmes de recherche locale sont des algorithme sous-
optimaux puisque la recherche peut s’arrêter alors que la meilleure solution trouvée par
l’algorithme n’est pas la meilleure de l’espace de recherche. Cette situation peut se produire
même si l’arrêt est provoqué par l’impossibilité d’améliorer la solution courante car la
solution optimale peut se trouver loin du voisinage des solutions parcourues par l’algorithme.
Avantages
L’avantage de cette méthode est sa grande simplicité de mise en œuvre la plupart du
temps.
Il est important de remarquer également l’importance du choix de la fonction de
voisinage N : un minimum local pour une certaine structure de voisinage ne l’est pas
forcément pour une autre. C’est d’ailleurs ce constat qui est à l’origine de la méthode
dite de recherche par voisinage variable, qui repose sur la construction de solutions s
parmi plusieurs voisinages Ni, plutôt que dans un seul.
La descente s’arrête quand tous les voisins candidats sont moins bons que la solution
courante, c’est-à-dire lorsqu’un optimum local est atteint.
Les méthodes à direction de descente ont l’avantage de converger relativement
rapidement vers un point stationnaire en utilisant les informations du gradient. Très
favorables pour un problème convexe uni -modal grâce à leur vitesse de convergence.
Les méthodes de descente sont assez anciennes et doivent leur succès à leur rapidité et
leur simplicité, A chaque pas de la recherche, cette méthode progresse vers une
solution voisine de meilleure qualité.
Inconvénients
C’est une méthode d’efficacité peu satisfaisante parce que la recherche s’arrête
premier minimum local rencontré.
5
Cette méthode est la plus adapté aux problèmes d’optimisation de grandes tailles, donc sa
base est d’introduire En optimisation un paramètre de contrôle qui joue le rôle de la
température.
Avantages
Efficace pour les problèmes de grandes tailles.
Sa solution est de bonne qualité.
Excellents résultats pour un nombre de problèmes complexes.
La méthode du recuit simulé a l’avantage d’être souple vis-à-vis des
Évolutions du problème et facile à implémenter.
Inconvénients
Inefficace pour les problèmes de petites tailles.
Il faut déterminer les paramètres appropriés au problème de l’emploi du temps.
Encombrement Mémoire.
Nombreux tests nécessaires pour trouver les bons paramètres.
Critère d’arrêt du programme.
2.4 La méthode Tabou
C’est une méthode qui guide la recherche de manière intelligente à travers l’espace des
solutions parce qu’elle examine un échantillon de solutions et retient la meilleure La
recherche Tabou ne s'arrête donc pas au premier optimum trouvé mais elle peut Entrainer des
cycles.
Nous prés Nous présentons ci-dessous l’algorithme général de la recherche Tabou, en mettant
l’accent sur la mémoire à court terme et l’exploration agressive :
1. Obtenir une solution initiale.
2. Créer une pas garder tous les déplacements, mais on va seulement empêcher l’accès à
certaines solutions liste des mouvements candidats.
3. - Choisir le meilleur candidat. Ce choix est basé sur les restrictions Tabou et le
critère d’aspiration.
- On obtient ainsi une autre solution, mais qui ne sera enregistrer que si elle est
meilleur que la solution précédente.
4. - Appliquer le critère d’arrêt.
- Continue : changer les candidats d’admissibilité (restriction Tabou et critère
d’aspiration).
Aller à 2.
- Stop : passer aux stratégies d’intensification et de diversification.
Définition des variables
• i : la solution actuelle
• i' : la prochaine solution atteinte (solution voisine)
• N(i) : l'espace de solutions voisines à i (l'ensemble des i')
• m : mouvement de i à i'
• i globale : la solution optimale globale qui minimise la fonction objectif f ( ).
• i* : la solution optimale actuelle f (i*)
• T : liste des mouvements Tabou. Il peut exister plusieurs listes simultanément. Les éléments
de la liste sont t (i,m).
6
• a (i,m) : critères d'aspiration. Déterminent quand il est avantageux d'entreprendre m, malgré
son statut Tabou
Avantage
7
Largement employée dans les problèmes d’optimisation combinatoire : elle a été
testée avec succès sur les grands problèmes classiques et les problèmes de constitution
de planning, d’exploration géologique.
Grande efficacité : tabou bat tout. [19]
Fonctionnement simple à comprendre. [19]
Inconvénients
La méthode Tabou exige une gestion de la mémoire de plus en plus lourde en mettant
en place des stratégies de mémorisation complexe.
Paramètres peu intuitifs.
Demande en ressources importantes si la liste des tabous est trop imposante.
Aucune démonstration de la convergence.
8
Fonction generation() : permet de générer les emplois du temps par filières
Fonction saisir_prof() : permet d’ajouter des Enseignants
Fonction saisir_filiere() : permet d’ajouter des filières.
Fonction saisir_salle() : permet d’ajouter des salles.
Fonction afficher_salle() : permet d’afficher des salles.
Fonction afficher_prof() : permet d’afficher la liste des enseignants.
Fonction afficher_filiere() : permet d’afficher la liste des filières.