Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport

22/09/2017
Publication e-STA e-STA 2007-4
OAI : oai:www.see.asso.fr:545:2007-4:19883
DOI : You do not have permission to access embedded form.

Résumé

Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport

Métriques

16
8
192.08 Ko
 application/pdf
bitcache://c4fdfd70914dcc1280383d4f8855b6b5ee641675

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/545:2007-4/19883</identifier><creators><creator><creatorName>Laurent Deroussi</creatorName></creator><creator><creatorName>Michel Gourgand</creatorName></creator></creators><titles>
            <title>Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2017</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Fri 22 Sep 2017</date>
	    <date dateType="Updated">Fri 22 Sep 2017</date>
            <date dateType="Submitted">Sat 24 Feb 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">c4fdfd70914dcc1280383d4f8855b6b5ee641675</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>33794</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

Résumé — Le problème auquel nous nous intéressons dans ce papier est une extension du problème du job shop, dans lequel les moyens de transport sont intégrés dans la planification. Ce problème a d'importantes applications dans les systèmes flexibles de production. Dans de tels systèmes, les pièces sont transportées d'une machine vers une autre par des véhicules (généralement des véhicules automatiquement guidés). Ce problème possède à la fois une complexité algorithmique et une complexité structurelle. Pour prendre en compte cette double complexité, nous proposons d'appliquer une démarche globale qui consiste à coupler une méthode d'optimisation (dans notre cas une métaheuristique) avec un modèle d'évaluation des performances (ici basé sur la simulation à événements discrets). La mise en œuvre de cette démarche sur un espace de solutions judicieusement construit s’avère très efficace. Onze nouvelles bornes supérieures sont proposées sur les quarante instances qui composent notre jeu d'essai. Mots-clé — Systèmes flexibles de production, Métaheuristiques, Simulation à événements discrets, Véhicules automatiquement guidés. I. INTRODUCTION Le problème considéré est issu des systèmes flexibles de production (SFP). Il s'agit d'un job shop académique, dans lequel le transport des pièces d'une machine vers une autre nécessite l'utilisation d'une ressource : un véhicule automatiquement guidé (VAG). Nous proposons dans ce papier d’intégrer la gestion du système de transport dans le processus d’optimisation afin de minimiser le temps total de production (makespan). Nous ne nous plaçons dans ce papier que dans un cadre prédictif. Cela signifie en particulier que toutes les données sont supposées connues et déterministes, et que nous ne prenons pas en compte certaines contraintes concernant la gestion du trafic des véhicules ou les collisions. Malgré ces hypothèses simplificatrices, ce problème se formalise comme un programme non linéaire en nombres entiers, et il s'avère très difficile à résoudre, même pour des instances de petite taille. Par ailleurs, et au contraire des autres travaux de la littérature, nous proposons d'utiliser une représentation de l'espace des solutions basée sur les véhicules, plutôt que sur les machines. Ce choix offre de nombreuses possibilités pour définir des systèmes de voisinage, et donc des métaheuristiques. En contrepartie, cette représentation introduit des blocages (i.e. des solutions non admissibles), et nécessite d'évaluer les solutions avec soin. C'est cet aspect que nous désignons par complexité structurelle du problème, et qui se rajoute à la complexité algorithmique du problème. Afin de tenir compte au mieux de la double complexité algorithmique et structurelle, nous proposons d'utiliser des méthodes d'optimisation pour explorer l'espace des solutions, couplées avec des méthodes d'évaluation pour déterminer les performances de ces solutions. Notre objectif principal est de montrer l'efficacité de ce couplage appliqué aux SFP. Pour cela, ce papier s'articule comme suit. La section 2 est consacrée à la présentation du problème. Un état de l'art est également proposé. Dans la section 3, nous reprenons les principaux fondements du couplage méthodes d'optimisation / méthodes d'évaluation des performances et nous présentons les méthodes mises en œuvre pour la résolution de notre problème. Les résultats, ainsi qu'une comparaison avec les principales méthodes de la littérature, sont résumés dans la section 4 avant de conclure et de donner quelques perspectives à nos travaux. II. LE PROBLEME DU JOB SHOP AVEC TRANSPORT Cette section est consacrée à la présentation du problème et à un bilan des principales approches rencontrées dans la littérature. A. Présentation du problème Le problème du job shop peut être décrit comme suit : soit n pièces, chacune composée de plusieurs opérations qui doivent être effectuées sur m machines. Chaque opération requiert une machine donnée pendant une période donnée. Chaque machine ne peut usiner qu'une seule pièce à la fois et dès lors que le traitement d'une opération est commencé, celui-ci ne peut pas être interrompu. Les opérations d'une pièce donnée doivent être effectuées suivant l'ordre spécifié dans la gamme opératoire de cette pièce. Le problème du job shop consiste à déterminer dans quel ordre les opérations doivent être effectuées sur les machines, de manière à minimiser le makespan, c'est-à-dire le temps total de production. Le problème étudié est un job shop, mais qui est soumis de plus à des contraintes de transport. Plus précisément, un nombre déterminé de véhicules automatiquement guidés (ou plus simplement véhicules) doivent transportées les pièces de la machine courante vers la prochaine machine désignée dans sa gamme. Chaque véhicule ne peut transporter qu'une pièce à la fois. Le problème consiste alors à planifier les déplacements des véhicules, parallèlement aux opérations sur les machines. Nous proposons de considérer les déplacements des véhicules comme une part importante du processus de planification global. Le problème étudié consiste donc à planifier simultanément les déplacements des véhicules et les opérations LAURENT DEROUSSI 1 , MICHEL GOURGAND 2 LIMOS CNRS UMR 6158 1 IUT de Montluçon, Avenue Aristide Briand B.P. 2235, 03101 Montluçon 2 ISIMA, Campus des Cézeaux B.P. 10125, 63173 Aubière deroussi@moniut.univ-bpclermont.fr, gourgand@isima.fr Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport des pièces sur les machines. Ce problème peut être divisé en deux sous-problèmes : 1. Le Job Shop Scheduling Problem (JSP), 2. Le Vehicle Scheduling Problem (VSP). Ces deux sous-problèmes sont répertoriés dans la classe des problèmes NP-complets. Le problème maître, obtenu en les considérant simultanément, est lui aussi un problème NP- complet [1]. En pratique, ce problème s'avère très difficile à résoudre. Il n'existe pas, à notre connaissance, de méthodes exactes efficaces permettant de le résoudre, même pour des instances de petite taille. Dans ce contexte, l'apport des méthodes approchées, et plus particulièrement des métaheuristiques, est indéniable. Ce problème intervenant essentiellement dans les SFP, nous considèrerons que les pièces entrent et quittent le système par une machine spécifique que nous appellerons machine de chargement / déchargement (souvent désignée par station LU dans la littérature anglo-saxonne). B. Principales approches de la littérature Plusieurs approches sont utilisées pour la résolution de ce problème suivant le contexte de l'étude : les méthodes exactes, les méthodes approchées ou la simulation. Les méthodes exactes sont utilisées essentiellement pour l'étude de SFP simples, ou possédant une topologie particulière, avec des hypothèses simplificatrices très fortes. Les méthodes approchées sont parfaitement adaptées pour étudier la plupart des SFP, mais dans un cadre prédictif. Pour une approche réactive sur de tels systèmes, la simulation à événements discrets est souvent la seule démarche envisageable. Pour de plus amples informations sur les SFP, nous suggérons les travaux récents de [2]. Les problèmes pouvant être résolus par les méthodes exactes nécessitent des contraintes très fortes limitant leur utilisation à des systèmes très particuliers. Ainsi, [3] étudient un SFP dans lequel des machines parallèles identiques sont disposées en boucle. [4] présentent une formalisation MIP (Mixed Integer Programming) du problème mais avec l'hypothèse très forte que les véhicules retournent à la station LU (load/unload) après chaque transport effectué. [5] proposent une formalisation MIP du problème en levant cette contrainte sur les véhicules. Selon les auteurs, le modèle qui en résulte n'est pas utilisable en pratique, en raison de sa non-linéarité et de sa taille. Enfin, [6] proposent une méthode de séparation / évaluation couplée avec un modèle de simulation à événements discrets, afin de pouvoir prendre en compte des contraintes de fonctionnement. Cette approche est appliquée dans les SFP ne comportant qu'un seul chariot filoguidé piloté par des règles de gestion. Même si les heuristiques disposent d'un champ d'application suffisamment élargi pour pouvoir traiter des SFP complexes, beaucoup de travaux sont dédiés à des formes simplifiées du problème. Ces simplifications portent essentiellement sur les deux aspects suivants. La première simplification est l'utilisation de règles de gestion des VAGs, comme celles décrites et étudiées par exemple dans [7]. L'utilisation de telles règles permet de décrire les mouvements des VAGs en fonction d'un ordonnancement des pièces en entrée du système et facilite notablement le problème. A ce propos, plusieurs auteurs précisent que les moyens de transport sont une des composantes essentielles des SFP, et qu'une planification efficace des VAGs est cruciale pour le fonctionnement global du SFP [4], [8]. La deuxième simplification souvent appliquée aux SFP est la restriction du système de manutention à un seul VAG. A ce propos, nous pouvons par exemple mentionner les travaux de [9] et [10], qui utilisent respectivement des réseaux de neurones et un algorithme tabou. Finalement, les travaux menés sur l'étude conjointe du JSP et du VSP sont peu nombreux. [5] et [8] proposent une méthode itérative basée sur la décomposition du problème en deux sous- problèmes. Enfin, [11] utilisent un algorithme génétique performant pour ce problème. Plus récemment, [12] décrivent une méthode hybride avec un algorithme génétique qui travaille uniquement sur l'ordonnancement des opérations (i.e. le job shop), couplé avec une heuristique qui détermine la planification des déplacements des véhicules (assimilable en fait à une règle de gestion). La simulation à événements discrets est utilisée à de multiples fins. Par exemple, pour étudier des problèmes de conception de SFP [13], pour tester des règles de gestion [7] ou encore des problèmes de collision entre les véhicules [14]. III. DEMARCHE DE RESOLUTION Nous décrivons dans un premier temps la démarche générale que nous préconisons pour répondre à la double complexité : complexité algorithmique et complexité du système. Cette démarche est ensuite appliquée au problème étudié en présentant la méthode d'optimisation et la méthode d'évaluation que nous avons implémentées. A. Principes généraux Comme nous l'avons déjà mentionné, le problème du job shop avec transport se caractérise par une double complexité. La complexité algorithmique nécessite l'utilisation de méthodes d'optimisation, destinées à parcourir efficacement l'espace des solutions à la recherche d'une solution optimale, ou, à défaut, d'une solution de bonne qualité. La complexité du système provient généralement de la définition de nombreuses règles de gestion qui régissent le fonctionnement du système. Il en résulte que, pour une solution donnée, l'évaluation du critère de performance de cette solution peut s'avérer délicate. Figure 1 : Illustration du couplage méthode d’optimisation / méthode d’évaluation. Méthode d’optimisation Modèle d’évaluation des performances génération de nouvelles solutions évalue les solutions Entrée: Solution initiale (heuristique de construction) Sortie: Meilleure solution trouvée La méthode d'optimisation et le modèle d'évaluation peuvent être vus comme deux modules indépendants et communicants comme le montre la figure 1. La méthode d'optimisation génère de nouvelles solutions qui sont transmises au modèle d'évaluation. Celui-ci les évalue et retourne le résultat à la méthode d'optimisation, afin de la guider dans ses choix futurs. Avant de décrire plus précisément le modèle d'évaluation et la méthode d'optimisation que nous avons choisis, nous proposons une représentation de l'espace des solutions basée sur les véhicules. B. Représentation des solutions Le choix d'une bonne représentation de l'espace des solutions joue souvent un rôle déterminant dans la qualité d'une méthode. De lui va dépendre à la fois la qualité du module d'optimisation et du module d'évaluation. La représentation pour laquelle nous avons opté a ceci de particulier qu'elle est basée sur les véhicules, plutôt que sur les machines comme il est d'usage dans la littérature. L'ensemble des opérations à planifier est connu. Une opération peut être représentée par un triplet (machine d'origine, machine de destination, temps de traitement). La machine d'origine est la machine qui doit traiter l'opération précédente dans la gamme de la pièce (ou la machine de chargement s'il s'agit d'une opération de début de gamme). La machine de destination est la machine qui doit traiter l'opération avec le temps de traitement indiqué. Pour chaque opération, un véhicule est nécessaire pour transporter la pièce de la machine d'origine vers la machine destination. Un transport peut ainsi être associé à chaque opération. Par ailleurs, lorsque le traitement d'une pièce est terminé, un transport est nécessaire pour faire sortir la pièce du système. Ce transport acheminera la pièce de la machine destination de la dernière opération de la gamme vers la machine de déchargement. Afin d'avoir une bijection entre l'ensemble des opérations et l'ensemble des transports à effectuer, nous proposons de définir une opération fictive de fin de gamme, qui aura comme machine origine la dernière machine visitée par la pièce, comme machine destination la machine de déchargement et un temps de traitement nul. L'ensemble des transports (i.e. des opérations) à effectuer étant parfaitement identifié, nous proposons de planifier ces transports sur les véhicules. Chaque véhicule reçoit ainsi une liste de transports qu'il effectuera dans l'ordre établi. Cette représentation est illustrée sur un exemple dans la table 1. Table 1. Une planification possible des déplacements des véhicules : chaque lettre représente une pièce, et le numéro indique l'ordre des opérations dans la gamme. Véhicule Liste des opérations (ou transports) VAG1 A1 C1 B2 B3 C3 VAG2 B1 A2 C2 A3 C4 En utilisant cette représentation, il est très facile de perturber une solution en appliquant des mouvements du type permutation de deux opérations, ou insertion d'une opération (ces mouvements peuvent être indifféremment intra véhicule ou inter véhicule). Nous pouvons, à titre d'exemples, permuter les opérations C1 et A3 pour obtenir la solution [A1,A3,B2,B3,C3] pour VAG1 et [B1,A2,C2,C1,C4] ou insérer A3 après C1 pour obtenir la solution [A1,C1,A3,B2,B3,C3] pour VAG1 et [B1,A2,C2,C4] pour VAG2. Remarquons enfin que la solution obtenue avec le mouvement de permutation n'est pas admissible car les contraintes de précédence entre les opérations C1 et C2 ne sont pas respectées sur le véhicule VAG2. Après avoir décrit la représentation de l'espace des solutions, nous allons maintenant préciser le modèle d'évaluation, qui est un modèle de simulation à événements discrets. C. Evaluation des solutions Nous donnons dans cette partie les détails d'implémentation du modèle de simulation à événements discrets qui est destiné à évaluer les solutions. 1) Notations Les notations suivantes sont utilisées pour décrire le modèle : M : l'ensemble des machines. K : l'ensemble des véhicules. J : l'ensemble des pièces. ,jn j J∀ ∈ : le nombre d'opérations de la pièce j . ,ko k K∀ ∈ : le nombre de transports (opérations) effectués par le véhicule k . j k j J k K n n o ∈ ∈ = =∑ ∑ : le nombre total d'opérations à ordonnancer. { }1,...,I n= : l'ensemble des opérations. ,jI j J∀ ∈ : le sous-ensemble de I des opérations de la pièce j , construit de la manière suivante par convention { }1, 2,...,j j j j jI N N N n= + + + avec 1 1 0 si 1 si 1 l j j l l j N n j = − = =  =  >  ∑ . { }/ , 1jI i I j J i N= ∈ ∃ ∈ = + : l'ensemble des opérations de début de gamme (la machine origine est la machine de chargement). { }1/ , jI i I j J i N += ∈ ∃ ∈ = : l'ensemble des opérations fictives de fin de gamme (la machine destination est la machine de déchargement). ( ) ( ) ( ), ,MO i MD i d i , i I∀ ∈ : respectivement la machine origine, la machine destination et le temps de traitement de l'opération i ( ( ) ,MO i LU i I= ∀ ∈ , ( ) ,MD i LU i I= ∀ ∈ et ( ) 0,d i i I= ∀ ∈ ) ( ) ( ) ( ) 2 1 2 1 2 1 2, , , , ,TC m m TV m m m m M∀ ∈ : respectivement le temps de déplacement à charge et à vide des véhicules entre les machines 1m and 2m . Les temps de transport à charge incluent les temps de chargement, les temps de déplacement et les temps de déchargement). ( ) ( ), ,K Mt i t i i I∀ ∈ : respectivement le temps de fin de traitement du transport i sur le véhicule ou de l'opération i sur la machine. ( ) { }, , , 1,..., kk o k K o oσ ∈ ∈ : le ème o transport effectué par le véhicule k . ( ),busy m m M∈ : la date de libération de la ressource machine m (les stocks d'entrée des machines sont supposés suivre une politique FIFO). ( ),ind k k K∈ donne l'indice du prochain transport à effectuer avec le véhicule k . 2) Description du modèle de simulation à événements discrets Le modèle de simulation, tel qu'il est implémenté, est décrit sur la figure 2. Cette description est orientée approche événementielle. Des événements sont créés par la procédure ( )_ , ,create event k i t qui indique que le véhicule k terminera le transport de l'opération i à la date t . Une exécution de la boucle principale consiste à récupérer le prochain événement (selon l'ordre chronologique) par l'intermédiaire de la procédure ( )_next event . Les dates de fin de transport et de fin de traitement du transport (de l'opération) i sont alors mises à jour et au plus deux nouveaux événements sont produits. Le premier ("transport suivant") correspond au prochain transport i′ ordonnancé sur le véhicule k (s'il existe). Pour ce faire, son opération précédente 1i′ − (si elle existe) doit avoir été effectuée. Le second événement potentiel ("opération suivante") doit être crée dans le cas ou l'opération 1i + (le successeur de l'opération i , si elle existe) est également le prochain transport d'un véhicule k k′ ≠ (le cas k k′ = est déjà traité dans le cas de l'événement transport suivant). For k K∈ Do ( ) 1ind k = End For For m M∈ Do ( ) 0busy m = End For For i I∈ Do ( )Kt i = +∞ End For For k K∈ Do If ( ),i k ind k Iσ= ∈   Then ( ) ( )( )_ , , ,create event k i TC MO i MD i   End If End For While it exists some events Do (Main loop) ( ) ( ), , _k i t next event← // data updates [ ]Kt i t= If i I∈ Then [ ] [ ]M Kt i t i= Else [ ] ( )( ) ( ) ( )max ,M Kt i busy MD i t i d i  = +   ( ) ( )Mbusy MD i t i=   End If // Creation of the event "next transport" If ( ) kind k o< Then ( ) ( ) 1ind k ind k= + If ( ),i k ind k Iσ′ = ∈   Then ( ) ( ) ( ) ( )( )_ , , , ,create event k i t TV MD i MO i TC MO i MD i′ ′ ′ ′+ +       Else If ( )1Tt i′ − < +∞ then ( ) ( ) ( ) ( ) ( )( )_ , ,max , , 1 ,Mcreate event k i t TV MD i MO i t i TC MO i MD i ′ ′ ′ ′ ′+ − +        End If End If // Creation of the event "next task" If ( ) ( )( ), / , 1i I k K k k k ind k iσ′ ′ ′ ′∉ ∧ ∃ ∈ ≠ = +   Then If [ ] 1ind k′ = Then ( ) ( )( ) ( ) ( )( )_ , 1,max , , , 1Mcreate event k i TV LU MD i t i TC MD i MD i′ + + +       Else ( ), 1preci k ind kσ ′ ′= −   ( ) ( ) ( ) ( ) ( ) ( ) , , _ , 1,max , 11 prec T prec M MD i MD i create event k i t i TV t i TC MD iMO i         ′  + + +      + +       End If End If End While Figure 2 : Pseudo-code du modèle d'évaluation des solutions avec une approche par événements discrets. D. Description de la métaheuristique Parmi l'ensemble des métaheuristiques que nous avons implémentées, celle qui a donné les meilleurs résultats est une méthode hybride entre une méthode de recherche locale itérée et un recuit simulé. Cette méthode peut être décrite en utilisant le formalisme proposé par [15] et qui est donné dans la figure 3. Iterated Local Search methods (ILS) 0s = GenerateInitialSolution * s = LocalSearch ( 0s ) Repeat s′ = Perturbation ( * s ,history) *' s = LocalSearch ( s′ ) * s = AcceptanceCriterion ( * s , *' s ,history) Until termination condition met Figure 3 : Pseudo-algorithme pour les méthodes de recherche locale itérée. Une solution initiale est générée avec une heuristique de construction (que nous ne détaillerons pas ici). Cette heuristique gloutonne consiste à choisir successivement et dans un ordre préétabli les transports, et à les affecter à un véhicule. La procédure de recherche locale est en fait une descente à voisinage variable (Variable Neighborhood Descent ou VND) [16], [17] basée sur les mouvements de permutation et d'insertion de transports. La perturbation consiste à appliquer successivement trois mouvements de permutation (à la condition que la solution reste admissible). Le critère d'acceptation d'un nouveau minimum local est défini d'après la loi du recuit simulé. Le paramètre T qui simule la variation de température est fixé arbitrairement à 5. La température d'arrêt est fixée à 3 10− . La température suit une loi géométrique dont la raison est calculée de manière à effectuer le nombre d'itérations (i.e. de recherches locales) souhaité. Dans notre cas, 1000 itérations sont effectuées. Ce nombre relativement faible d'itérations (surtout dans le contexte du recuit simulé) implique que les réglages des différents paramètres de recuit n'ont pas à être très fins. En fait, des expérimentations semblent montrer qu'il est meilleur que le critère d'acceptation permette d'accepter de temps en temps des minima locaux de moins bonne qualité [18]. Nous allons maintenant présenter les résultats obtenus avec le couplage métaheuristique / modèle de simulation sur le problème étudié. IV. LES RESULTATS OBTENUS Les modules d'optimisation et d'évaluation que nous avons présentés ont été implémentés en langage C-ANSI. Les tests ont été effectués sur un jeu d'essai composé de 40 instances, et proposé par [8]. Chacune de ces instances est composée d'une station LU, de quatre machines et de deux véhicules. Les temps de chargement / déchargement sont supposés négligeables, et les temps de transport à vide et à charge sont identiques. Ces instances sont générées suivant 10 jeux de données pour les pièces, et quatre topologies pour les SFP (autrement dit quatre matrices de temps de transport entre les différentes machines). Les jeux de données comprennent entre 5 et 8 pièces, et de 13 à 21 opérations à planifier. Les résultats obtenus sont résumés dans le tableau 2. La colonne B&U donne le meilleur résultat publié dans [8], [5], [11]. Les résultats obtenus par [12] avec un algorithme génétique sont reportés dans la colonne GAA. Les résultats obtenus avec notre méthode sont présentés dans la colonne SALS (Simulated Annealing Local Search). Pour chacun des résultats, nous indiquons également l'écart relatif (en pourcent) de chaque méthode avec la meilleure solution publiée (une valeur négative signifie que nous avons trouvé une nouvelle borne supérieure). Les tests ont été réalisés sur un Pentium 4, 3.4 GHz avec 1 Go de RAM. 10 réplications ont été effectuées pour chaque instance, et nous présentons ici le résultat fourni par la meilleure d'entre elles (une réplication est en moyenne à 0.34% de la meilleure solution trouvée, ce qui signifie que la plupart des réplications trouvent cette solution). Les temps de calcul sont de l'ordre de la seconde pour les instances les plus difficiles. Table 2. Présentation des résultats et comparaison avec la littérature. Inst. B&U GAA SALS Inst. B&U GAA SALS Ex11 96 0.00 96 0.00 96 0.00 Ex61 121 2.54 118 0.00 118 0.00 Ex12 82 0.00 82 0.00 82 0.00 Ex62 98 0.00 98 0.00 98 0.00 Ex13 84 0.00 84 0.00 84 0.00 Ex63 104 0.00 104 0.00 103* -0.96 Ex14 103 0.00 103 0.00 103 0.00 Ex64 123 2.50 120 0.00 120 0.00 Ex21 104 1.96 102 0.00 100* -1.96 Ex71 118 2.61 115 0.00 111* -3.48 Ex22 76 0.00 76 0.00 76 0.00 Ex72 85 7.59 79 0.00 79 0.00 Ex23 86 0.00 86 0.00 86 0.00 Ex73 88 2.33 86 0.00 83* -3.49 Ex24 113 4.63 108 0.00 108 0.00 Ex74 128 0.79 127 0.00 126* -0.79 Ex31 105 6.06 99 0.00 99 0.00 Ex81 161 0.00 161 0.00 161 0.00 Ex32 85 0.00 85 0.00 85 0.00 Ex82 151 0.00 151 0.00 151 0.00 Ex33 86 0.00 86 0.00 86 0.00 Ex83 153 0.00 153 0.00 153 0.00 Ex34 113 1.80 111 0.00 111 0.00 Ex84 163 0.00 163 0.00 163 0.00 Ex41 116 3.57 112 0.00 112 0.00 Ex91 117 0.00 118 0.85 116* -0.85 Ex42 88 0.00 88 0.00 87* -1.14 Ex92 102 0.00 104 1.96 102 0.00 Ex43 91 2.25 89 0.00 89 0.00 Ex93 105 0.00 106 0.95 105 0.00 Ex44 126 0.00 126 0.00 121* -3.97 Ex94 123 0.82 122 0.00 120 -1.64 Ex51 87 0.00 87 0.00 87 0.00 Ex101 150 2.04 147 0.00 147 0.00 Ex52 69 0.00 69 0.00 69 0.00 Ex102 137 0.74 136 0.00 135* -0.74 Ex53 75 1.35 74 0.00 74 0.00 Ex103 143 1.42 141 0.00 138 -2.13 Ex54 97 1.04 96 0.00 96 0.00 Ex104 164 3.14 159 0.00 159 0.00 Les résultats obtenus montrent que de nouvelles bornes supérieures sont proposées pour 11 des 40 instances. Cela dénote d'une part de la difficulté du problème étudié (puisque les instances considérées sont de taille relativement faibles, et pourtant les méthodes de la littérature n'ont pas obtenu la solution optimale sur plus d'un quart de ces instances), et d’autre part de l’efficacité de SALS. Pour toutes les autres instances, SALS retrouve les meilleures solutions publiées. V. CONCLUSION ET PERSPECTIVES Nous proposons dans ce papier de combiner une méthode d'optimisation et une méthode d'évaluation des performances pour répondre à la double complexité algorithmique et structurelle de certains problèmes. La démarche proposée est mise en œuvre sur un problème difficile, qui intervient dans les systèmes flexibles de production. Les résultats obtenus montrent clairement l'intérêt de l'approche présentée : onze nouvelles bornes supérieures sont obtenues sur les quarante instances qui composent le jeu d'essai provenant de la littérature. D'autre part, l'approche présentée offre un avantage important puisqu'elle permet de poursuivre le développement du modèle d'évaluation indépendamment de tout processus d'optimisation. Cela doit permettre en particulier de pouvoir prendre en compte un certain nombre de contraintes additionnelles, aujourd'hui encore écartées. De ce point de vue, des développements intéressants de ce couplage pourraient concerner le passage d'une approche déterministe vers une approche dynamique, par l'intégration de certaines contraintes opérationnelles ou de règles de fonctionnement complexes. VI. REFERENCES [1] Knust, S., 1999, "Shop-Scheduling Problems with transportation", PhD Thesis, Universität Osnabrück, Fachbereich Mathematik/Informatik. [2] Le-Anh, T., 2005, "Intelligent Control of Vehicle-Based Internal Transport Systems", PhD Thesis, Erasmus University Rotterdam, The Netherlands. [3] Blazewicz, J., Eiselt, H.A., Finke, G., Laporte, G., Weglarz, J., 1991, "Scheduling tasks and vehicles in a flexible manufacturing system", International Journal of Flexible Manufacturing System, 4, 5-16. [4] Raman, N., Talbot, F.B., Rachamadgu, R.V., 1986, "Simultaneous scheduling of machines and material handling devices in automated manufacturing", In Proceedings of the 2nd ORSA/TIMS Conference on Flexible Manufacturing Systems, 455-466. [5] Bilge, Ü., and Ülusoy, G., 1995 "A time window approach to simultaneous scheduling of machines and material handling system in a FMS". Operations Research, 43, 1058-1070. [6] Espinouse, M.L., P. Lacomme, A. Moukrim et N. Tchernev, (2001), "Bornes Inférieures pour l'ordonnancement intégré de la Production et du Transport dans les SFP avec un seul Chariot Filoguidé", 3ème Conférence Francophone de MOdélisation et SIMulation (MOSIM'01), Troyes, France. [7] Egbelu, P.J., and Tanchoco, J.M.A., 1984, "Characterisation of automated guided vehicle dispatching rules", International Journal of Production Research, 22, 359-374. [8] Ülusoy, G., and Bilge, Ü., 1993, "Simultaneous scheduling of machines and automated guided vehicles", International Journal of Production Research, 31, 2857-2873. [9] Soylu, M., Özdemirel, N.E., Kayaligil, S., 2000, "A self-organising neural network approach for the single AGV routing problem", European Journal of Operational Research, 121, 124-137. [10] Hurink, J.L., and Knust, S., 2001, "Tabu search algorithms for job shop problems with a single transport robot", Available at http://citeseer.nj.nec.com/ hurink01tabu.html. [11] Ülusoy, G., Sivrikaya-Serifoglu, F., Bilge, Ü., 1997, "A genetic algorithm approach to the simultaneous scheduling of stations and automated guided vehicles", Computers and Operations Research, 24, 335-351. [12] Abdelmaguid, T.F., Nassef, O.N., Kamal, B.A., Hassan, M.F., 2004, "A hybrid GA/heuristic approach to the simultaneous scheduling of machines and automated guided vehicles", International Journal of Production Research, 42, 267-281. [13] Gobal, S.L., and Kasilingam, R.G., 1991, "A simulation model for estimating vehicle requirements in automated guided vehicle systems", Computers Industrial Engg, 21, 623-627. [14] Revielotis, S.A., 2000, "Conflict resolution in AGV systems", IIE Transactions, 647-659. [15] Lourenço, H.R., Martin, O.C., Stützle, T., 2003, "Iterated local search", In F. Glover and G. Kochenberger (eds.), Handbook of Metaheuristics, Kluwers Academic Publishers, chapter 11, pp. 321-353. [16] Hansen, P. and N. Mladenovic, (1997) "Variable Neighborhood Search", Computers and Operations Research 24, 1097-1100. [17] Hansen, P. and N. Mladenovic, (2001) "Variable Neighborhood Search: Principles and Applications", European Journal of Operational Research 130, 449- 467. [18] Stützle, T. (1998), "Applying Iterated Local Search to the Permutation Flow Shop Problem", Technical Report, TU Darmstadt, AIDA-98-04, FG Intellektik.