COUPLAGE ENTRE DES METHODES D`OPTIMISATION
Transcription
COUPLAGE ENTRE DES METHODES D`OPTIMISATION
3e Conférence Francophone de MOdélisation et SIMulation «Conception, Analyse et Gestion des Systèmes Industriels» MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) COUPLAGE ENTRE DES METHODES D’OPTIMISATION ITERATIVES ET DES MODELES DE SIMULATION A EVENEMENTS DISCRETS M. OUABIBA N. MEBARKI, P .CASTAGNA Institut de Recherche en Informatique de Nantes 2, Rue de la Houssinière –BP 92208 44322 Nantes Cedex 03 Email : [email protected] Institut de Recherche en Communications et Cybernétique de Nantes 1 rue de la Noé 44300 Nantes - BP 92101 44321 Nantes Cedex 01 Email : [email protected] RESUME : La simulation de systèmes à événements discrets est fréquemment couplée à une démarche d'optimisation. Nous présentons une boite à outils simulation-optimisation permettant d'automatiser cette démarche. Cette boite à outils intègre une sélection de méthodes d’optimisation particulièrement adaptées à une démarche de simulation optimisation des systèmes de production. Ces méthodes sont soit des méthodes d’exploration locales (Hooke et Jeeves, Rosenbrock, Nelder et Mead), soit des métaheuristiques (comme la méthode de Recuit simulé). Cette boite à outils est basée sur un couplage entre l’environnement de simulation Arena et l’environnement de calcul numérique et de visualisation graphique Matlab. Ce couplage nous permet de bénéficier de la puissance de l’outil Matlab dans le domaine de l’optimisation. MOTS-CLES : Simulation, Optimisation, Couplage simulation et méthodes d’optimisation itératives 1 INTRODUCTION La simulation à événements discrets est un outil d'aide à la décision qui consiste à construire un modèle logiciel d'un système réel et à conduire des expériences sur ce modèle afin de comprendre le comportement du système et d'en améliorer les performances. La simulation est particulièrement bien adaptée à l’étude de systèmes aussi complexes que les systèmes de production. Dans ce cadre, Monsef (1996) définit la simulation comme un processus itératif d'essai-erreur (trial and error). Mais dans des systèmes aussi complexes que les systèmes de production, où il existe de nombreux paramètres en interaction les uns avec les autres, ce processus peut s'avérer ardu et long. Une démarche plus formelle peut conduire à une solution optimale plus rapidement. Le couplage de la simulation avec des méthodes d'optimisation mathématiques est alors bien adaptée. Deux problèmes principaux restent néanmoins à résoudre: 1. Quelles méthodes d'optimisation choisir ? Car s'il existe de nombreuses méthodes d'optimisation, il n'existe pas de méthode d'optimisation universelle (Dolgui et Ofitserov, 1997). 2. Mettre en œuvre le couplage entre le modèle de simulation, qui fournira la fonction objectif évaluée, et le module d'optimisation qui en fonction des résultats fournis et des valeurs antérieures des variables de décision, déterminera les prochaines valeurs des variables de décision à tester. L'objet de cet article est d'établir une revue de différentes méthodes d'optimisation utilisées dans un contexte de simulation optimisation, de proposer une sélection des méthodes les plus pertinentes pour des problèmes de simulation optimisation de systèmes de production, et enfin de présenter le couplage que nous avons réalisé entre d'une part, l'environnement de simulation Arena et d'autre part, l'environnement de calcul numérique et d'optimisation Matlab. Ce couplage permet d'associer automatiquement à un modèle de simulation à événements discrets, une méthode d'optimisation programmée sous Matlab. Ce lien nous permettra ainsi de bénéficier très facilement de la puissance de la boite à outils « Optimisation » de l'environnement Matlab. 2 PRESENTATION DU PROBLEME Un problème d'optimisation peut se formuler de la manière suivante : Minimiser ou ( Maximiser ) f ( X ) = f ( x1 , x 2 ,..., x n ) = P sous contra int es (1) (i = 1,2,..., k) g i (X) ≤ ou ≥ 0 X ∈ D x i , i= 1,…,n : constituent les variables de décision qui peuvent être de type entier, réel ou qualitatif. Par exemple, dans le cas de simulation optimisation de MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) système de production, une variable de décision à régler peut être le taux d'arrivée des ordres de fabrication dans l'atelier, une autre peut être la taille maximale d'un stock tampon, et une troisième peut être la règle de gestion à appliquer aux files d'attente. f : représente la fonction objectif à optimiser. Dans le cas de simulation optimisation de systèmes de production, la valeur P de cette fonction est souvent calculée comme une combinaison de différentes mesures de performance évaluées par simulation (par exemple, le temps moyen de séjour des pièces dans l'atelier, le taux d'utilisation maximal des machines de production). D est le domaine de recherche des solutions admissibles. Le but de l'optimisation est donc de trouver un vecteur X * appartenant à l'ensemble D des solutions * admissibles tel que X =Argmin ( f (X)), X ∈ D. Dans les problèmes de simulation optimisation, la fonction objectif ne peut être exprimée sous forme analytique par rapport aux variables de décision. En effet, pour chaque vecteur de variables de décision X, la valeur de la fonction objectif est un résultat de la simulation. Dans ce cas, on ne peut utiliser des méthodes basées sur un calcul direct du gradient. Pour résoudre ces problèmes de simulation optimisation, les méthodes d'optimisation utilisées sont basées sur des techniques itératives, c’est à dire sur une comparaison à chaque étape du processus d’optimisation, entre deux valeurs différentes de la fonction objectif (Pflug, 1984). 3 CLASSIFICATION DES METHODES DE SIMULATION OPTIMISATION La classification des méthodes utilisées en simulation optimisation dépend, bien évidemment, des classes de problèmes étudiés. Chaque classe de problèmes de simulation optimisation peut être considérée comme un cas particulier de la formulation (1). Cette classification sera établie en fonction du type de f, gi et D. Dans le cas d'un problème mono-critère, Azadavir (1992), Merkurvey et Visipkov (1994) ont proposé quatre classes principales d'approches pour résoudre ce type de problème : ! ! ! ! Méthodes de recherches basées sur le gradient Méthodes d’approximation stochastique (Robbins et Monro, 1951, Keifer et Wolfowitz, 1952). Méthodologie de surface de réponse (Daugherty et Turnquist, 1980; Wilson, 1987). Méthodes heuristiques Dans cet article, nous ne traiterons que des méthodes de recherche basées sur le gradient et des méthodes heuristiques. 3.1 Les méthodes de recherche basées sur le gradient Ces méthodes sont basées sur une évaluation du gradient à chaque itération, et ensuite un déplacement suivant la direction du gradient. Dans le cas d'un problème de simulation optimisation, si on ne peut calculer directement le gradient, on peut néanmoins l'estimer. Il existe de nombreuses méthodes d’estimation du gradient qui diffèrent entre elles par les approches qu’elles utilisent pour évaluer le gradient. Les méthodes d'estimation du gradient les plus utilisées pour les problèmes de simulation optimisation sont les suivantes : ♦ ♦ ♦ ♦ Estimation aux différences finies (Azadivar, 1992; Merkurvey et Visipkov, 1994; Glynn, 1987) Analyse des perturbations infinitésimales (Ho,1992 ; Castagna et Mebarki, 1999) Méthode du maximum de vraisemblance (Glynn, 1987 ; Rubinstein, 1989) Méthodes d’analyses du domaine de fréquence (Jacobson et Schruben, 1999). Mais, ces méthodes présentent de nombreuses contraintes et limites. Ainsi, la méthode d'estimation aux différences finies est très coûteuse en temps de calcul, puisque pour estimer le gradient d’un seul vecteur de variables de décision, cette méthode nécessite n+1 évaluations de la fonction objectif, et donc requiert autant d'exécutions du modèle de simulation. L'analyse des perturbations infinitésimales et l'analyse du domaine de fréquence permettent d'estimer le gradient en chaque point, en une seule exécution du modèle de simulation. Mais ces méthodes nécessitent pour être efficaces une analyse préalable des relations entre la fonction objectif et les variables de décisions (Ho,1992; Castagna et Mebarki, 1999). Enfin, la méthode d’estimation du maximum de vraisemblance est très sensible au choix du point de départ (Glynn, 1987). Les problèmes de simulation optimisation sont souvent complexes. Dans ce cas, les méthodes exactes ne peuvent fournir une réponse en un délai admissible. Dans ce cadre, on cherchera non pas la meilleure solution mais une solution de « bonne qualité » obtenue en un temps minimal. Les méthodes heuristiques sont alors adaptées. 3.2 Méthodes heuristiques On distingue deux principales classes d'algorithmes : • • Les méthodes d'exploration locale, qui partant d'une solution réalisable cherchent à l'améliorer pas à pas. Néanmoins, ces approches sont très sensibles aux extrema locaux. Les métaheuristiques, qui donnent des solutions de très bonne qualité, même avec des fonctions objectif multimodales, mais sans garantie d’optimalité. MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) 3.2.1 Méthodes d’explorations locales Les méthodes d’explorations locales consistent, à partir d’une solution initiale, et par transformations successives, à construire une suite de solutions améliorant la fonction objectif. De manière générale, le processus s'achève lorsqu'on ne peut pas améliorer la solution courante. Ces méthodes apportent des solutions souvent satisfaisantes (Pegden et Gately, 1980). Parmi les méthodes les plus utilisées, pour les problèmes de simulation optimisation, on trouve la méthode de Hooke et Jeeves, la méthode de Rosenbrock et la méthode du Simplex de Nelder et Mead. a) Méthode de Hooke et Jeeves (Hooke et Jeeves, 1960) La méthode de Hooke et Jeeves (1960) appartient à la famille des méthodes directes car elle ne nécessite pas le calcul des dérivées de la fonction objectif. Chaque itération de cette méthode se décompose en deux étapes : ♦ ♦ une étape d'exploration qui consiste à se déplacer suivant les directions de base, de manière à améliorer la valeur de la fonction objectif. une étape de progression (« Pattern Search Move ») qui consiste à faire une projection suivant les deux derniers vecteurs ayant amélioré la fonction objectif. La méthode converge rapidement quand la vallée est assez rectiligne mais plus lentement (voire pas du tout) quand elle se courbe. Lors de l’étape exploratoire, les variables sont toujours examinées dans un ordre figé. Cette méthode est donc mieux adaptée aux problèmes où les variables de décision sont indépendantes entre elles. Cependant l’étape d’exploration est tributaire des directions initiales. b) Méthode de Rosenbrock (Rosenbrok, 1960) La méthode de Rosenbrock (dite aussi « rotation de coordonnées ») permet de rendre l’exploration indépendante des directions initiales. C'est une méthode itérative qui se décompose en deux étapes répétitives. Une étape d’exploration qui réalise des améliorations successives via des direction privilégiées, une étape globale qui permet de construire une nouvelle base dans la direction de deux sorties consécutives. La vitesse de convergence de la méthode dépend du choix de la base de départ. De plus, elle nécessite la reconstruction d’une nouvelle base à chaque itération ce qui rend la méthode coûteuse lorsque la dimension du vecteur des variables de décision est grande. c) Méthode du Simplex (Nelder et Mead, 1965) Cette méthode consiste à déterminer la direction de recherche en utilisant un polyèdre formé par les n+1 meilleures solutions trouvées pendant la recherche (n correspondant à la dimension du vecteur des variables de décision). A chaque pas de l’algorithme, une nouvelle solution est générée par des opérations de réflexion, d'expansion ou de contraction par rapport au centre de gravité du polyèdre. Cette nouvelle solution ira remplacer la plus mauvaise solution des n+1 points conservés. Contrairement aux deux précédentes méthodes, les déplacements ne se font pas d'un point à un autre du domaine de la fonction, mais par des déplacements successifs de la surface définie par le polyèdre des solutions trouvées. La méthode est donc capable de s’adapter à la topologie de la fonction objectif f et de l’espace des solutions admissibles. 3.2.2 Les métaheuristiques Les méthodes heuristiques précédentes peuvent être « piégées » dans un minimum local. Les métaheuristiques permettent de sortir d'extrema locaux en acceptant temporairement des solutions qui n'améliorent pas la fonction objectif. Elles sont donc particulièrement adaptées aux fonction objectif multimodales. Les métaheuristiques les plus courantes sont soit basées sur des algorithmes de voisinage soit sur des algorithmes génétiques. Les algorithmes de voisinage reposent sur la notion de voisinage pour une solution admissible (Carlier et Chretienne, 1988). A partir d'une solution de base, ces algorithmes tentent de trouver, parmi les solutions voisines, celle qui améliore la fonction objectif. Les algorithmes de voisinage les plus utilisés sont basés sur deux méthodes principales : ! ! le recuit simulé (Kirkpatrick et al., 1983), dans laquelle à chaque étape, un voisin est tiré au hasard. Ce voisin est retenu s'il améliore la solution de base, ou sinon, avec une probabilité qui décroît suivant une certaine loi et en fonction du nombre de points déjà visités. les techniques de recherche tabou (Glover, 1986) qui interdisent temporairement des déplacements déjà effectués, de manière à éviter des cycles. Les algorithmes génétiques réalisent une optimisation dans un espace de données, en s'appuyant sur des techniques dérivées de la génétique et de l'évolution naturelle : croisements et mutations (Michalewicz, 1992). Ils permettent de balayer de façon uniforme l'espace des solutions admissibles et rencontrent un succès grandissant dans de nombreuses applications. Les méthodes basées sur les algorithmes de voisinage et les algorithmes génétiques ont été utilisées en association à la simulation pour déterminer un ordonnancement optimal, localement ou globalement (Caux et al., 1993; Pierreval, 1997). Ces méthodes sont particulièrement utilisées pour parcourir un espace de solutions non numériques (par exemple, des tâches à ordonnancer). Néanmoins, ces approches peuvent engendrer des temps de réponse parfois prohibitifs lorsqu'on les utilise en association avec la simulation. MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) Après avoir parcouru rapidement les principales méthodes d’optimisation utilisées dans une démarche de simulation-optimisation, nous allons présenter maintenant notre boite à outils. Celle-ci contient plusieurs méthodes d'optimisation (en particulier toutes celles figurant dans la boite à outils Matlab). Pour mettre au point cette boite à outils, nous nous sommes focalisés sur les trois méthodes d'exploration locales présentées dans cet article ainsi que la métaheuristique du recuit simulé. Nous présenterons le comportement de ces quatre méthodes au travers d'un exemple de système de production. Visual Basic for Applications (VBA), sous la forme d’une macro Excel déclenchée depuis Matlab. Cette macro permet : ! ! ! ! ! 4 COUPLAGE SIMULATION-OPTIMISATION Matlab est un système interactif et convivial de calcul numérique et de visualisation graphique. Il possède un langage de programmation à la fois puissant et simple d'utilisation. De plus, il permet de bénéficier de différentes boites à outil adaptées à différents types de problème, et plus particulièrement une boite à outils « Optimisation ». Celle-ci propose un certain nombre de routines d'optimisation non linéaires qui sont construites pour des scalaires, des vecteurs et des matrices. La boîte à outils Matlab fournit les implémentations de différents algorithmes d'optimisation, en particulier les méthodes basées sur le calcul ou l’estimation du gradient (Mokhtari, 1997). Concernant les méthodes locales ou les métaheuristiques présentées dans le paragraphe précédent, seule la méthode du Simplex est proposée en standard dans la boite à outils « Optimisation » de Matlab. Il nous a donc fallu programmer les autres méthodes que nous souhaitions tester. Nous avons choisi d’implémenter la méthode de Hooke et Jeeves, la méthode de Rosenbrock ainsi que la méthode du recuit simulé. Ceci étant, le langage de programmation de Matlab permet une implémentation aisée et rapide de ces méthodes. Arena est un environnement de modélisation et simulation de systèmes mixtes, à événements discrets et/ou continus. Grâce à une bibliothèque de primitives adaptées à la modélisation des systèmes de production, c’est un environnement très performant pour simuler des systèmes de production (Pegden et al., 1990). Un de nos objectifs était donc de réaliser un couplage entre ces deux environnements, couplage permettant une communication rapide et automatique entre ces deux applications. L’échange dynamique de données (Dynamic Data Exchange dans l’environnement Windows) permet à deux applications d'échanger des données (textes, nombres, et données graphique) de façon ponctuelle ou permanente, à travers une conversation ou liaison DDE. N’ayant pu réaliser une liaison directe entre Matlab et Arena (ces deux applications ne semblant pas pouvoir communiquer directement entre elles), nous avons finalement décidé d’établir une liaison directe entre Arena et Excel d’une part, et d’autre part une liaison directe entre Matlab et Excel. La liaison entre Arena et Excel est faite à l'aide de Le lancement de l’application Arena L’ouverture d’un modèle de simulation défini comme paramètre de la macro L'importation de données depuis Excel dans Arena (données d'entrée, dans notre cas : les variables de décision) L’exécution d’une simulation L'exportation de données de Arena vers Excel (données de sortie, dans notre cas : la fonction objectif évaluée par simulation) Le lien entre Matlab et Excel est un lien DDE où Matlab est le client et Excel le serveur de l’échange. Ce lien permet de transmettre à Matlab la valeur de la fonction objectif évaluée par simulation, et de récupérer dans une feuille de données Excel, les valeurs des variables de décision calculées par le module d’optimisation sous Matlab. 4.1 Avantages de cette procédure Cette procédure permet de bénéficier de temps de réponse très rapides, puisqu’aucun fichier n’est utilisé lors des différents échanges. Par ailleurs, la macro VBA sous Excel permettant d’accéder à n’importe quelle variable du modèle de simulation, il est possible de modifier la nature même de la fonction objectif évalué ou les variables de décision à tester sans toucher au modèle de simulation. Enfin, cette procédure est également indépendante du module d’optimisation utilisé. Ceci garantit une quasi automaticité du couplage. Ainsi, lors d’un couplage avec un nouveau modèle de simulation, il suffit de modifier, et ce de manière très simple, une partie de la macro VBA. 5 EXEMPLE On considère un système de production de type Job Shop comportant quatre postes de travail et pouvant traiter trois types de produit qui diffèrent entre eux par leur gamme de fabrication. Cet exemple a déjà été présenté dans Castagna et Mebarki (1999). Figure 1 – Schéma de l’implantation utilisé. MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) par rapport au problème présenté. Cette partie n'a pas prétention à comparer de manière générale le comportement de ces différentes méthodes mais permet de mieux illustrer le problème de simulation optimisation appliqué aux systèmes de production. Nous avons choisi comme indicateurs le nombre d'évaluations de la fonction, ainsi que la qualité de la solution, mesurée par les écarts par rapport aux cibles choisies (0.9 pour le taux d'utilisation et 7.5 pour le nombre de demandeurs de chariot). Dans la fonction objectif, nous avons privilégié l'écart par rapport aux taux d'utilisation maximal sur le poste goulot, en affectant à cette mesure un poids plus important. Les transports de produits sont effectués au moyen d'une flotte de chariots mono directionnel. Chaque poste de travail comporte deux stocks non limités, en entrée et en sortie. On souhaite obtenir la plus grande productivité possible du système, tout en minimisant le nombre de chariots nécessaires. La productivité du système sera mesurée au travers du taux d’utilisation des postes de travail, et plus particulièrement du poste goulot. Un des objectifs assignés à l’optimisation sera de faire en sorte que le taux d’arrivée des produits permette de saturer le poste goulot, son taux d'utilisation maximal étant fixé à 0.9. Le nombre de chariots nécessaires sera mesuré au travers du nombre de demandes de transport non satisfaites, avec une valeur cible établie à 7.5 en moyenne (Castagna et Mebarki, 1999). Les variables de décision à déterminer sont la période d'arrivée λe des ordres de fabrication et le nombre C de chariots, C est un entier inférieur ou égal à 15. 5.1 Les méthodes locales La figure 2 présente l'évolution de la valeur de la fonction objectif en fonction du nombre d'évaluations effectuées par la méthode de Hooke et Jeeves, la méthode de Rosenbrock, ainsi que l'algorithme du Simplex de Nelder et Mead. Les résultats de cette optimisation sont présentés ci-dessous (Tableau 1). Application des méthodes d'optimisation Dans ce paragraphe, nous allons présenter des exemples d'application de différentes méthodes présentés ci-dessus Figure 2 - Evolution de la fonction objectif avec les méthodes locales Méthode Hooke et Jeeves Rosenbrock Nelder et Mead Appel de f 47 87 106 TU Goulot Ecart 1 90,46% 0,50% 90,07% 0,07% 90% 0% Nd 6,954 7,0621 6,6887 Ecart2 7,28% 5,83% 10,81% 1000 100 10 1 1 0 .1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 N o m b r e d 'é v a lu a tio n s d e la f o n c t io n N e ld e r e t M e a d H ooke et Jeeves R o s e n b ro c k Tableau 1: Résultats obtenus avec les méthodes locales. TU Goulot : Taux d'utilisation Poste Goulot, Nd : Nombre de demandeurs moyen, Ecart1: écart par rapport au taux d'utilisation objectif de 0.9 , Ecart2 : écart par rapport au nombre de demandeurs moyen de 7.5. Par rapport à nos objectifs, la méthode de Nelder et Mead présente les meilleurs résultats avec 106 évaluations de la fonction objectif réalisés en 821.08 secondes. La figure 3 présente l'évolution de la valeur de la fonction objectif avec la méthode de Nelder et Mead et la méthode de recuit simulé. Avec la méthode de recuit simulé, la meilleure solution est obtenue avec un nombre de chariot C égal à 9 et une période d'arrivée λe de 5.5258 unités de temps. La méthode de recuit simulé atteint les mêmes performances que la méthode de Nelder et Mead, mais avec un nombre d'évaluations beaucoup plus élevé! On peut remarquer également, que la plus « mauvaise » des méthodes d’optimisation, ici la méthode Hooke and Jeeves, donne quand même un très bon résultat puisqu’elle ne s’écarte que de 0.5% de notre objectif le plus important, à savoir MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) le taux d’utilisation du poste goulot, et ce avec seulement 47 itérations ! 1 25 49 73 97 121 145 169 193 217 241 265 289 313 337 361 385 409 433 457 481 505 529 553 577 601 625 649 673 697 721 745 769 793 817 841 865 889 Méthode du Recuit simulé 906 évaluations Méthode de Nelder et Mead 106 évaluations Figure 3 – Evolution de la fonction objectif avec la méthode du Recuit Simulé et la méthode du Simplex. Comme le montre notre exemple, lorsqu'il s'agit d'un problème « simple » les méthodes locales sont plus efficaces, en termes de temps de calcul. Mais ce que ne montre pas cet exemple volontairement simple, c’est que ces méthodes atteignent rapidement leurs limites, car elles sont sensibles aux extrema locaux du fait de la stratégie d'exploration qu'elles utilisent (Ouabiba, 2000). 6 CONCLUSIONS ET PERSPECTIVES Nous avons présenté une sélection de méthodes d’optimisation particulièrement adaptées à une démarche de simulation optimisation des systèmes de production. Par ailleurs, nous avons pu réaliser une véritable boite à outils simulation optimisation basée sur un couplage entre l’environnement de simulation Arena et l’environnement de calcul numérique et de visualisation graphique Matlab. Ce couplage nous permet de bénéficier de la puissance de l’outil Matlab dans le domaine de l’optimisation (méthodes d’optimisation linéaires ou non linéaires). Par ailleurs, le lien réalisé nous permet pratiquement d’automatiser le couplage entre un modèle de simulation et une méthode d’optimisation programmée sous Matlab. De plus, le couplage réalisé va nous permettre de bénéficier de la boite à outils « Genetic Algorithm Optimization Toolbox » développé sous Matlab (Joines et al., 1996) pour tenter de résoudre des problèmes d'optimisation combinatoire, tels que des problèmes d'ordonnancement. BIBLIOGRAPHIE Azadivar F., 1992. A tutorial on simulation optimization. Proceedings of the Winter Simulation Conference, p. 198-204. Carlier J. et Ph. Chretienne, 1988. Problèmes d'ordonnancement - modélisation - complexité algorithmes, ERI Masson. Castagna P. et N. Mebarki, 1999. Modèles de simulation réactifs. Actes de la deuxième conférence francophone de Modélisation et Simulation, p. 243-248. Caux C., H. Pierreval, et M.C. Portmann, 1993. Les algorithmes génétiques et leur application aux problèmes d'ordonnancement. Actes des Journées d'Etude « Ordonnancement et Entreprise Applications concrètes pour le futur » organisées par le Groupement de Recherche Automatique du C.N.R.S., Toulouse, 16-17 Juin, p. 5-45. Daugherty A.F. et M.A. Turnquist, 1980. Simulation optimization using response surface based on spline approximations. Procedings of the 1980 Winter Simulation Conference, p. 183-193. Dolgui A. et D. Ofitserov, 1997. A stochastic method for discrete and continuous optimization in manufacturing system. Journal of Intelligent manufacturing , 8(5), p. 405-515. Glover F., 1986. Future paths for integer programming and links to artificial intelligence. Computers and operations Research, 13, p. 533-549. Glynn P., 1987. Likelhood ratio gradient estimation : an overview. Procedings of the 1987 Winter simulation Conference, p. 366-375. Ho Y.C., 1992. Perturbation analysis : concepts and algorithms. Procedings of the 1992 Winter Simulation Conference, p. 231-240. Hooke R. et T.A. Jeeves, 1961. Direct search solution of numerical and statical problems. Journal of the association of computer machines, 8, p. 212-229. Jacobson S. H. et L.W. Schruben, 1999. A harmonic analysis approach to simulation sensitivity analysis. IIE Transactions, 31, p. 231-243. Joines J.A., C. T. Culberth et R. E. King, 1996. Manufacturing cell design : An integer programming model employing genetic algorithms. IIE Transactions 28(1), p. 69-85. Keifer J. et J. Wolfowitz.,1952. Stochastic estimation of maximum of a regression function. Annals of mathematical statistics. 23, p. 446-462. Kirkpatrick C.D, C.D. Gelatt et M.P. Vecchi, 1983. Optimization by simulated annealing. Science, 220(4598), p. 671-680. Merkurvey Y. et V. Visipkov, 1994. Optimization methods in discrete systems simulation, Procedings of the European Simulation Symposium on Simulation. p. 104-110. Michalewicz Z., 1992. Genetic Algorithms + Data Sctructures = Evolution Programs. Springer. Mokhtari M., 1997. Apprendre et maîtriser MATLAB. Springer Monsef Y., 1996. Modélisation et simulation des systèmes complexes. Editions TEC & DOC. Nelder J.A et R. Mead., 1965, A simplex method for function minimization. The Computer Journal, 7, p. 308-313. Ouabiba M., 2000. Couplage entre des méthodes d'optimisation itératives et des modèles de simulation MOSIM’01 – du 25 au 27 avril 2001 - Troyes (France) à événements discrets. Mémoire de DEA, Institut de Recherche en Communications et Cybernétique de Nantes. Pegden C.D., R. E. Shannon et R.P. Sadowski, 1990. Introduction to Simulation and SIMAN. McGraw-Hill, New York. Pegden C.D. et M.P. Gately, 1980. A decisionoptimization module for SLAM. Simulation, January 1980, p. 18-25. Pflug G.Ch., 1984. Optimizing simulated systems, Simuletter, 15(8), p. 6-9. Robbins H. et S. Monro, 1951. A stochastic approximation method. Annals of Mathematical statistics, 22, p. 400-407. Rosenbrock H., 1960. An automatic method for finding the greatest or least value of function. Computer Journal, 3(3), p. 175-184. Rubinstein R. Y., 1989. Sensitivity analysis and performance extrapolation for computer simulation methods. Operations Research, 37(1), p. 72-81. Wilson J.R., 1987. Future direction in response surface methodology for simulation. Procedings of the 1987 Winter Simulation Conference, p. 378-381.