• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2447
  • 1618
  • 1255
  • 21
  • 6
  • 6
  • 2
  • 2
  • 1
  • Tagged with
  • 5650
  • 3140
  • 3002
  • 1276
  • 692
  • 690
  • 662
  • 645
  • 620
  • 597
  • 486
  • 476
  • 457
  • 453
  • 438
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
171

Mode de construction à rebours dans un algorithme d'optimisation par colonie de fourmis pour la minimisation du retard total

Gomes Monteiro, Stefan Manuel January 2010 (has links) (PDF)
Le problème de machine unique avec temps de réglage dépendants de la séquence est un problème d'ordonnancement industriel où il y a une machine qui peut exécuter différentes tâches. Le changement de tâches à exécuter entraîne un réglage de la machine comme c'est le cas pour les industries de transformation de papier ou les industries pharmaceutiques. De plus, le temps pour réaliser ce réglage dépend de la tâche courante et de la tâche suivante. Le but du problème d'ordonnancement à l'étude est de déterminer l'ordre des tâches de façon à minimiser le retard total. Ce problème est de nature NP - difficile et sa résolution passe par l'utilisation des métaheuristiques. Plusieurs métaheuristiques ont été proposées dans la littérature comme les algorithmes d'optimisation par colonie de fourmis (OCF), plus précisément les ACS. Ce mémoire propose un nouveau mode de construction de solutions pour l'ACS pour le problème de machine unique avec temps de réglage dépendants de la séquence pour la minimisation du retard total. En effet, compte tenu de la nature de l'objectif à optimiser, nous privilégions un mode de construction de solution à rebours. Pour amorcer une construction à rebours de la séquence, un nouveau concept de visibilité est proposé, avec l'utilisation d'une marge arrière qui permet de favoriser le placement des tâches en retard à la fin de la séquence. Cette nouvelle visibilité a été intégrée à une version ACS existant dans la littérature et a été nommée ACS à rebours. Des modifications ont été apportées à l'ACS à rebours pour améliorer son efficacité. La première modification a pour objectif de rendre l'ACS à rebours plus intelligent au niveau du choix des paramètres associés à la règle de transition et de rendre ainsi son utilisation plus facile. La seconde modification consiste à utiliser une règle de priorité au moment où les tâches restantes à placer ne sont plus en retard pour tenter d'accélérer la construction d'une solution. Des expérimentations numériques ont été réalisées pour comparer la performance de l'ACS à rebours avec celle de l'un des ACS présentés dans la littérature pour le problème à l'étude. Pour les instances de problème de petite taille, la performance de l'ACS à rebours est semblable à celle de l'ACS classique. Ceci nous porte à croire que l'idée de base ouvre une voie intéressante pour le développement des travaux futurs avec les ACS qui utilisent un mode de construction à rebours de la séquence. Pour les instances de problème de grande taille, un avantage doit être accordé à l'ACS classique, ce qui atteste que des améliorations peuvent être apportées à l'ACS à rebours surtout au niveau de la diversification des solutions produites. Ce travail de recherche représente une première exploitation du concept de construction de solutions à rebours de la séquence pour les ACS. Le présent mémoire est une contribution non seulement à une meilleure connaissance des ACS, mais aussi à la connaissance de nouveaux modes de construction pour les ACS.
172

Conception d'outils logiciels d'aide à la décision appliqués au cycle de vie des anodes d'une aluminerie

Fortin, Nicolas January 2008 (has links) (PDF)
Les décideurs d'aujourd'hui sont constamment confrontés à des problématiques semistructurées, pour lesquelles il n'existe aucune méthode de résolution reconnue. À ce titre, la modélisation et simulation de systèmes est fréquemment utilisée pour supporter les gestionnaires. Les modèles issus de cette méthode, s'avèrent des outils d'aide à la décision, puisqu'ils permettent de simuler des scénarios de production alternatifs. L'objectif principal de ce travail de recherche est de démontrer comment modéliser et simuler efficacement un système industriel, dont le fonctionnement repose sur des connaissances de natures diverses. Pour ce faire, nous allons mettre à profit des méthodes d'intelligence artificielles, notamment les systèmes experts, afin de représenter cette connaissance. Dans un premier temps, la démarche empruntée consiste à effectuer une revue de la littérature, en expliquant entre autre, le lien entre des concepts tels la modélisation, simulation et la prise de décision. Nous discutons également de l'intelligence artificielle, plus particulièrement, du rôle et du fonctionnement de coquilles de développements de systèmes experts basées sur l'algorithme de Rete et ce, dans un contexte de support à la décision. Ensuite, nous appliquons notre méthode à un système industriel réel, à savoir le cycle de vie des anodes d'une aluminerie. Nous discutons des forces et faiblesses de notre approche. Il est notamment question de l'intégration de la coquille de système expert Jess au sein du modèle. Nous décrivons aussi le type de problème qui convient d'avantage à notre approche. Finalement, nous effectuons la validation du modèle, afin de démontrer que notre méthode s'avère viable. Nous réalisons aussi quelques expériences à partir de scénarios de production alternatifs. Nous discutons de l'impact de ces scénarios sur certaines mesures de performance du système.
173

Prototypage rapide de la commande vectorielle sur FPGA à l'aide des outils Simulink - System Generator

Mailloux, Jean-Gabriel January 2008 (has links) (PDF)
Avec la mécatronique, la recherche effectuée dans ce domaine touche nécessairement à plusieurs disciplines. Cela engendre des problèmes de recherche applicationnels très diversifiés. C'est pourquoi il est important d'établir une plateforme de travail à l'aide d'outils académiques modulaires qui permet de passer d'un algorithme ou d'un problème d'application vers un prototype fonctionnel à tester en laboratoire sur FPGA. Une méthodologie intégrant des outils comme Xilinx System Generator, SimPowerSystems et GAPPA offre un environnement de développement organique qui peut évoluer avec la direction de la recherche, tout en évitant les coûts d'une solution commerciale intégrée. De plus, l'accessibilité de ces outils et l'élaboration de cette méthode permettent d'éviter les coûts et le temps de formation du personnel nécessaire avec des outils commerciaux plus complexes. Dans un cadre académique, cela facilite l'intégration de nouveaux étudiants dans un projet de recherche. La méthode de prototypage rapide est développée afin d'offrir à l'usager de la plateforme de développement une procédure optimale de conception, de validation, de co-simulation et d'optimisation du modèle. Une application de commande vectorielle des moteurs à induction devant répondre à des conditions d'exécution sévères (un court temps de réponse, une taille sur FPGA décente, etc.) est ici proposée afin de développer et tester cette méthode de conception. Les temps de développement sont évalués et la précision des résultats est analysée afin de confirmer la viabilité de cette méthode de prototypage.
174

Parallélisation d'un algorithme génétique pour le problème d'ordonnancement sur machine unique avec temps de réglages dépendants de la séquence

Taleb, Mohamed Anouar January 2008 (has links) (PDF)
Les problèmes d'ordonnancement peuvent être rencontrés dans plusieurs situations de la vie courante. Organiser des activités quotidiennes, planifier un itinéraire de voyage sont autant d'exemples de petits problèmes d'optimisation que nous tentons de résoudre tous les jours sans nous en rendre compte. Mais quand ces problèmes prennent des proportions plus grandes, il devient difficile au cerveau humain de gérer tous ces paramètres et le recours à une solution informatique s'impose. Les problèmes d'ordonnancement en contexte industriel sont nombreux et celui qui retient particulièrement notre attention dans le cadre de ce mémoire est le problème d'ordonnancement de commandes sur machine unique avec temps de réglages dépendant de la séquence. Ce problème fait partie de la classe de problèmes NP-Difficiles. Etant donnée sa complexité, ce problème ne peut être résolu par une méthode exacte. Les métaheuristiques représentent ainsi une bonne alternative pour obtenir des solutions de bonne qualité dans des délais très courts. Les algorithmes génétiques, qui font partie des algorithmes évolutionnaires, sont utilisés dans ce travail pour résoudre ce problème d'ordonnancement. La prolifération des architectures parallèles a ouvert la voie à un nouvel éventail d'approches pour optimiser les algorithmes et plus spécialement les métaheuristiques. Ce mémoire propose une stratégie de parallélisation de l'algorithme génétique pour en étudier les bénéfices. Le premier algorithme génétique proposé est, implémenté sur le modèle d'un algorithme de la littérature. Cet algorithme ne s'est pas avéré performant pour toute la série de problèmes test et, pour cette raison, des modifications de paramètres ont été rendues nécessaires. Ces modifications ont donné naissance à une deuxième version séquentielle dont les résultats se sont avérés satisfaisants. Une troisième version a ensuite été implémentée avec une optique d'exécution parallèle selon un modèle en îlot et une topologie en anneau unidirectionnel. Un plan d'expérience a ensuite été mis au point selon plusieurs variables et vise à identifier les meilleures configurations de l'algorithme tant sur le plan de la qualité des résultats que sur le plan de l'accélération. Les résultats obtenus dans ce mémoire montrent que l'introduction de la parallélisation dans un algorithme génétique est bénéfique à ce dernier tant sur le plan qualité des résultats que sur le plan accélération. Dans un premier temps, la version sans communications n'a pas amélioré une grande partie des problèmes mais a pu atteindre des accélérations linéaires. Par la suite, l'introduction des échanges a nettement influé sur la qualité des résultats. En effet, en adoptant une stratégie de division de la taille de la population par le nombre de processeurs, l'algorithme génétique parallèle parvient à donner des résultats équivalents voire meilleurs que la version séquentielle, et ceci pour plusieurs fréquences d'échanges entre les populations.
175

Flow-shop à deux machines avec des temps de latence : approche exacte et heuristique

El Bahloul, Sana January 2008 (has links) (PDF)
Un ordonnancement est défini comme étant une allocation, dans le temps, des ressources (machines) disponibles aux différents travaux (tâches, jobs) à réaliser, dans le but d'optimiser un ou plusieurs objectifs. La richesse de la problématique de l'ordonnancement est due aux différentes interprétations que peuvent prendre les ressources et tâches. Ainsi, les ressources peuvent être des machines dans un atelier, des pistes de décollage et d'atterrissage dans un aéroport, des équipes dans un terrain de construction, des processeurs dans les ordinateurs, etc. Les tâches, quant à elles» peuvent être des opérations dans un processus de production, le décollage et l'atterrissage dans un aéroport, les étapes d'un projet de construction, l'exécution d'un programme informatique, etc. Les différentes tâches sont caractérisées par un degré de priorité et un temps d'exécution. Les ressources, quant à elles, sont caractérisées entre autres par une capacité, des temps de réglage, etc. Les problèmes d'ordonnancement sont généralement classés en deux modèles dépendamment du nombre d'opérations que requièrent les jobs : les modèles à une opération (modèle à machine unique et modèle à machines parallèles) et les modèles à plusieurs opérations dits modèles en ateliers (flow-shop, open-shop et job-shop). Bien entendu, il est également possible de trouver d'autres modèles, hybrides, qui sont des mélanges de ces deux modèles. Cette classification a permis, un tant soit peu, de mieux comprendre et cerner les problèmes d'ordonnancement réels. Toutefois, l'expérience a montré qu'il existe toujours un gouffre entre la théorie et ce qui se passe réellement dans les centres de production ou les prestations de services. Parmi les contraintes que la théorie d'ordonnancement n'a pas considérées jusqu'à un passé récent, nous pouvons citer les temps de latence des travaux, correspondant aux différents temps nécessaires devant s'écouler entre la fin d'une opération et le début de la prochaine opération d'un même job. Les temps de latence peuvent correspondre par exemple aux temps de tansport des jobs à travers les ressources ou encore aux temps de refroidissement des jobs, avant leurs prochaines manipulations. Ces temps peuvent dans certains cas prendre des proportions importantes qu'une entreprise ne doit en aucun cas ignorer. Elle devrait même revoir sa politique d'ordonnancement pour pouvoir améliorer sa productivité. Dans ce mémoire, nous étudions le modèle de flow-shop à deux machines avec des temps de latence dans le but de minimiser le temps total d'accomplissement des jobs, appelé makespan. Pour ce faire, nous avons, tout d'abord, introduit la théorie de l'ordonnancement et survolé quelques concepts de la théorie de la NP-complétude ainsi que les différentes méthodes de résolution d'un problème d'ordonnancement en général, et an flow-shop à deux machines en particulier. Pour résoudre ce problème de flow-shop à deux machines, nous avons utilisé, dans un premier temps la méthode de branch and bound. Nous avons commencé par appliquer cet algorithme sur le cas particulier des temps d'exécution unitaires. Outre les bornes inférieures et supérieures, nous y avons également présenté des règles de dominance. Limité à 900 secondes, pour l'exécution d'une instance, cet algorithme a pu résoudre efficacement des instances n'excédant pas 30 jobs. Ensuite, nous sommes passés au cas où les temps d'exécution des jobs sont quelconques. Nous y avons présentés plusieurs bornes inférieures. Pour les bornes supérieures, nous avons conçu des heuristiques basées sur NEH, la règle de Johnson, la règle de Palmer et CDS. Au-delà de 10 jobs, l'algorithme de branch and bound, que nous avons implemente, n'a pu résoudre efficacement les instances générées, même en posant Ih d'exécution pour chaque instance. Notons que les temps d'exécution des algorithmes, implémentant ces bornes inférieures et supérieures ainsi que ceux des règles de dominance, pour le cas unitaire, sont tous majorés par une complexité enO(wlogn); n étant le nombre de jobs à ordonnancer. Dans un second temps, nous sommes passés à l'autre approche de résolution qu'est la méthode métaheuristique. Nous avons commencé notre étude par le développement d'un algorithme de recherche avec tabous. Des ajouts itératifs tels des procédures d'intensification et de diversification ont nettement amélioré les résultats générés par cet algorithme. Ensuite, nous avons conçu un algorithme génétique. Nous y avons incorporé une recherche locale pour améliorer les résultats. Cependant, l'algorithme de recherche avec tabous a produit de meilleurs résultats sur l'ensemble des instances testées. En guise de conclusion, nous avons discuté de nouvelles pistes de recherche à explorer.
176

Un modèle hybride de reconnaissance de plans pour les patients Alzheimer : dilemme entrecroisé/erroné

Roy, Patrice January 2007 (has links) (PDF)
Les récents développements dans les technologies de l'information et l'augmentation des problèmes provenant du domaine de la santé (vieillissement de la population, pénurie de personnel médical) ont fait émerger de nouveaux axes de recherche prometteurs comme l'assistance cognitive pour les personnes atteintes de la maladie d'Alzheimer à l'intérieur d'un habitat intelligent. Une des difficultés majeures inhérentes à ce type d'assistance est la reconnaissance des activités de la vie quotidienne (AVQ) réalisées par le patient à l'intérieur de l'habitat, qui sont déterminées par les actions effectuées par celui-ci, dans le but de prévoir son comportement afin d'identifier les différentes opportunités de le guider dans l'accomplissement de ses AVQ. Toutefois, cette situation soulève un dilemme qui n'a pas encore été pris en considération dans les travaux du domaine de la reconnaissance de plans. En effet, on peut interpréter l'observation d'une nouvelle action différente de celle attendue de deux façons opposées : soit qu'il s'agisse d'une erreur de la part du patient, soit que le patient débute une nouvelle activité, réalisée de façon entrecroisée avec l'activité en cours de réalisation. Pour résoudre cette situation paradoxale, on propose dans ce mémoire un modèle de reconnaissance hybride comme une piste de solutions. Elle consiste en une extension probabiliste d'un modèle logique basé sur la théorie des treillis et sur un formalisme d'action en logique de description, développé durant les travaux de thèse de Bruno Bouchard effectués au laboratoire DOMUS de l'Université de Sherbrooke. Le modèle logique structure le processus de reconnaissance d'activités en un raisonnement par classification des plans possibles, permettant d'extraire un certain nombre d'hypothèses sur le comportement du patient. Notre approche mixte basée sur la logique de description probabiliste, résout le problème d'équiprobabilité en privilégiant certaines hypothèses concernant son comportement. Par conséquent, cette extension minimisera l'incertitude dans la prédiction des actions futures du patient, et plus important encore, d'anticiper les différentes catégories de déviations comportementales typiques d'un patient Alzheimer. Nous avons implemente et validé le modèle proposé à l'aide d'un ensemble de scénarios tirés de cas réels et de fréquences d'observation inspirées d'une étude effectuée sur des patients réels.
177

Métaheuristiques hybrides pour la résolution du problème d'ordonnancement de voitures dans une chaîne d'assemblage automobile

Noël, Sébastien January 2007 (has links) (PDF)
La littérature scientifique propose une grande variété de stratégies pour la résolution des problèmes d'optimisation combinatoire (POC). Ces problèmes sont d'une grande complexité et demandent des méthodes évoluées pour les résoudre. Les algorithmes exacts, comme la programmation linéaire en nombres entiers (PLNE) à l'aide de l'algorithme Branch and Bound (B&B), arrivent à trouver une solution optimale pour certaines instances de problèmes. Par contre, plus la taille du problème à résoudre est grande, plus ces algorithmes ont de la difficulté à en venir à bout. Les métaheuristiques représentent alors une alternative intéressante pour trouver une solution de qualité acceptable dans des délais très courts. Toutefois, il est impossible de garantir qu'une métaheuristique trouvera la solution optimale d'un problème. Parmi ces méthodes, on retrouve l'optimisation par colonies de fourmis (OCF), qui a su faire ses preuves pendant les dernières années pour la résolution de différents problèmes d'optimisation combinatoire. Une autre avenue consiste à créer des algorithmes hybrides. L'objectif principal de ce mémoire est de proposer trois algorithmes hybridant un OCF et la PLNE pour résoudre le problème d'ordonnancement de voitures (POV). Le POV est un POC qui consiste à déterminer dans quel ordre placer un ensemble de voitures à produire sur une chaîne d'assemblage en se soumettant à un ensemble de contraintes. On cherche parfois la séquence minimisant le nombre de conflits, où un conflit représente une surcharge de travail occasionnée à un poste particulier de l'atelier de montage par l'arrivée successive de plusieurs voitures similaires, ou encore minimisant le nombre de changements de couleurs à l'atelier de peinture. Pour simplifier le problème, on ne s'attardera qu'aux contraintes liées à l'atelier de montage où sont installées les différentes options des voitures. Cette version théorique du i*0F que l'on retrouve dans la littérature est une simplification du problème industriel. Différentes méthodes ont été proposées pour solutionner ce problème. Celles qui attirent notre attention sont Y OCF et la PLNE. On cherchera, dans ce mémoire, à concevoir des approches hybrides exploitant les forces de ces deux approches. Il sera également possible de comparer la performance des algorithmes hybrides avec les résultats obtenus avec Y OCF pour établir l'apport de telles hybridations. Le premier algorithme hybride proposé consiste à créer un sous-problème à partir de la meilleure solution de chaque cycle de l'OCF et de résoudre ce sous-problème avec le B&B. Cette méthode ne s'est pas avérée très performante, car aucune intensification n'est effectuée sur une solution. Le second algorithme tente de combler cette lacune en appelant le B&B de manière répétitive à un intervalle régulier de cycles de Y OCF. Cet appel répété du B&B représente, en fait, une recherche locale exacte (RLE). Pour l'ensemble des problèmes utilisés pour tester cette hybridation, des résultats de qualité légèrement supérieure ou égale à l'OCF, intégrant une recherche locale, ont été obtenus pour environ deux problèmes sur trois. On peut en dire autant de la troisième hybridation proposée, qui consiste, dans un premier temps, à exécuter YOCF et à fournir la meilleure solution trouvée comme solution de départ à la RLE. Les objectifs fixés dans cette recherche ont été atteints en concevant des méthodes de résolution hybrides, adaptées au POV, combinant une métaheuristique et une méthode exacte. On avait aussi pour but d'établir la performance des méthodes hybrides face à leurs contreparties singulières. En règle générale, les hybridations parviennent à donner des résultats de qualité équivalente à celle des résultats de YOCF avec recherche locale mais avec un coût en temps d'exécution. Il s'agit tout de même d'une conclusion réjouissante puisque des améliorations pourraient être apportées à ces algorithmes pour les rendre encore plus performants. On a aussi exploré quelques façons de créer des sous-problèmes plus faciles à résoudre par un algorithme exact. Ceci ouvre donc une porte à une autre approche de la résolution de POC,
178

Les processus d'ingénierie logicielle appliqués dans le contexte du développement de jeux vidéo

Paquet, Frédéric January 2007 (has links) (PDF)
Le développement de logiciels est un univers complexe. Plusieurs projets se réalisent avec la collaboration d'équipes multidisciplinaires. La compétition y est très forte, les changements technologiques et de personnels y sont fréquents. Parallèlement à cela, il est difficile d' imp lamenter ou de supporter une structure de projet informatique lourde, telle que celles proposées par les méthodologies/normes/modèles de gestion usuelles (CMM, ITIL, ISO, SWEBOK, etc.). Néanmoins, les équipes doivent se munir d'un cadre de gestion couvrant les aspects essentiels de la gestion de projet informatique si elles ne veulent pas être la proie des problèmes récurrents de l'ingénierie logicielle. Cette étude reprend la majorité des processus communs aux grandes méthodologies, les intègre dans un cadre de référence léger et établit une stratégie de mise en oeuvre pour le fonctionnement de chacun des processus et de la méthodologie qui en découle. Cette dernière devra être suffisamment simple pour être comprise et appliquée par tous les membres des équipes de développement, même ceux qui ne sont pas des informaticiens. La conception d'outils n'est pas le but de ce travail. Il y est davantage question d'une approche légère basée sur une infrastructure technique simple, permettant à une équipe multidisciplmaire d'obtenir une base efficace pour amener rapidement les processus fondamentaux du développement logiciel à un niveau acceptable et compatible avec les différentes méthodologies plus lourdes.
179

Étude du problème de job shop avec un convoyeur

Ruhlmann, Carine January 2007 (has links) (PDF)
La densité des échanges commerciaux, ainsi que l'intensification de la concurrence qui a suivi, a conduit les entreprises à rationaliser leurs activités, particulièrement celles nécessitant des activités d'ordonnancement. La théorie de l'ordonnancement est une discipline bien établie de l'optimisation combinatoire. Son champ d'investigation concerne les problèmes d'allocation, dans le temps, d'un ensemble limité de ressources par un ensemble de tâches, afin d'optimiser un ou plusieurs critères donnés. Sa popularité vient du fait qu'une multitude de situations peut être ramenée à cette problématique d'ordonnancement. Cela est dû, en grande partie, à la richesse de l'interprétation que peuvent avoir les termes ressources et tâches. Nous pouvons citer, entre autres, des applications dans l'industrie (réalisation de produits sur des machines), la santé (confection d'horaires), l'informatique (exécution de processus). Dans ce mémoire de maîtrise, nous nous intéressons spécifiquement aux problèmes d'ordonnancement d'ateliers de production. Ainsi, notre étude porte sur l'ordonnancement de n tâches (jobs) sur m ressources (machines) dans un environnement de type job shop. Dans le modèle de job shop, chaque tâche doit passer sur l'ensemble des machines, à chaque fois pendant un temps connu à l'avance, et selon également un ordre donné. Le critère, que nous avons choisi pour évaluer la qualité d'une solution, est celui du makespan (la durée totale d'accomplissement des « tâches). Pour rester proche de la réalité industrielle, notre modèle incorpore un convoyeur chargé de transporter les tâches semi-finies d'une machine à une autre. Ce modèle peut être illustré par l'exemple d'une entreprise d'assemblage d'ordinateurs. Les machines assemblent divers éléments (cartes mères, disques durs, barrettes mémoires, etc) dans un boîtier. Un convoyeur déplace le boîtier entre les différentes machines. Suivant les spécifications de chaque ordinateur, chaque boîtier suit un chemin particulier. En effet, si un client souhaite acheter un boîtier contenant uniquement la carte-mère et l'alimentation, ce boîtier ne passera que sur deux machines. Nous nous sommes restreint au problème de job shop à deux machines et un seul convoyeur. Notons que nous supposons que les deux machines possèdent des espaces de stockage de taille illimitée pour recevoir les travaux semi-finis. Notre but était au départ de trouver un algorithme polynomial pour résoudre ce problème. Or, il s'est avéré que même avec ce modèle restreint et simplifié, le problème est NP-difficile. Pour le résoudre, nous nous sommes alors tournés vers l'approche heuristique. Néanmoins, nous avons pu trouver des cas particuliers où ce problème est résoluble en un temps polynomial. Notre démarche a été d'abord d'introduire brièvement les problèmes de la théorie de l'ordonnancement ainsi que quelques concepts de la NP-complétude, avant d'aborder les différentes approches algorithmiques de résolution des problèmes d'ordonnancement. Dans une seconde étape, la littérature relative à cette problématique a été passée en revue. Ensuite, nous avons décrit plus en détail notre modèle de job shop ainsi que son fonctionnement. Nous avons discuté de l'influence du convoyeur sur la minimisation du critère du makespan. Nous avons également proposé une borne inférieure pour ce même critère. Enfin, nous avons discuté et proposé deux approches de résolution approchée. La première est constructive : trois algorithmes, basés sur des règles de priorité, ont été conçus. Les deux premières règles sont fondées sur l'appariement des travaux et la troisième est la règle bien connue de Jackson que nous avons modifiée ; ces règles ont une complexité temporelle en O(nlogn). La seconde approche de résolution est itérative: l'algorithme de recherche avec tabous a été notre choix. Cette méthode étend à n travaux la méthode classique de résolution graphique à deux travaux. Finalement, nous avons entrepris une étude comparative de l'ensemble des algorithmes de résolution proposés. Les deux approches de résolution ont été simulées par un programme Java sur des instances générées de manière aléatoire à partir d'une distribution uniforme. Ces instances sont de tailles n ? 10, 20, 50 et 200. Les temps d'exécution et de transport sont compris entre 0 et 50 unités de temps. La borne inférieure a été utilisée pour évaluer la qualité des solutions générées par chacune de ces heuristiques. Cette étude a montré que, parmi les algorithmes basés sur les règles de priorité, celui de Jackson donne des solutions de meilleure qualité. L'algorithme de recherche avec tabous donne, en moyenne, de meilleures solutions que les algorithmes basés sur les règles de priorité. Toutefois, les temps de calculs de cette approche sont de loin plus importants que ceux générés par les règles de priorité, surtout lorsque la taille des problèmes devient de plus en plus grande. Nous concluons notre travail par la suggestion de nouvelles pistes à explorer pour des recherches futures.
180

Algorithme de calcul du manoïde dérivé d'une boucle finie

Lavoie, Éric January 2006 (has links) (PDF)
Notre recherche se situe dans le cadre de la théorie algébrique des langages. Il est bien connu que les semigroupes finis peuvent être vus comme des automates finis. Ainsi, ils permettent de reconnaître exactement les langages réguliers. D'une façon similaire, les groupoïdes finis sont associés aux automates à pile et aux langages hors-contextes. Il a été démontré qu'un type particulier de groupoïdes, les boucles finies, ne reconnaissent que des langages réguliers. Mais les groupoïdes et les boucles sont des structures algébriques non associatives, ce qui rend leur étude très complexe. Cependant, il a été démontré que l'on peut associer à chaque boucle finie un unique monoïde fini nommé le monoïde dérivé de la boucle. Ce monoïde préserve plusieurs propriétés de la boucle. En particulier, il reconnaît l'ensemble des langages reconnus par la boucle concernée, ce qui permet d'utiliser la richesse et l'élégance de la théorie des semigroupes dans l'étude des boucles finies. Dans ce travail, nous démontrerons que le monoïde dérivé d'une boucle finie est calculable. Par la suite, nous présenterons différentes versions d'un algorithme ayant pour objectif de construire le monoïde dérivé d'une boucle finie. Finalement, nous exposerons et analyserons brièvement quelques résultats calculés sur les boucles d'ordre 8 et moins à l'aide de ces différentes versions de l'algorithme.

Page generated in 0.0605 seconds