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.