Vous êtes sur la page 1sur 34

Partie 7 : Optimisation de la production

225








































- - P PA AR RT TI IE E 7 7 - -
O
O
p
p
t
t
i
i
m
m
i
i
s
s
a
a
t
t
i
i
o
o
n
n
d
d
e
e
l
l
a
a
p
p
r
r
o
o
d
d
u
u
c
c
t
t
i
i
o
o
n
n

Partie 7 : Optimisation de la production
226

Sommaire



Introduction ................................................................................................................................ 227

I- Modlisation pour l'optimisation............................................................................................ 229
I.1- Optimisation sur le systeme lui-mme..........................................................................................229
I.2- Optimisation sur un modele du systeme .......................................................................................230
I.2-a) Formalisation (ou formulation) mathematique ou analvtique ......................................................... 231
I.2-b) Utilisation dun modele de simulation de flux .................................................................................. 231

II- Mise en vidence de la complexit du problme ................................................................... 233
II.1- ObjectiI de l'optimisation ............................................................................................................233
II.2- Calcul de la combinatoire des solutions possibles.......................................................................234
II.3- Demarche d'optimisation suivie ..................................................................................................236

III- Typologie des mthodes d'optimisation............................................................................... 237
III.1- Methodes exactes ou de Recherche Operationnelle...................................................................237
III.2 - Methodes approchees ou heuristiques.......................................................................................239
III.2-a) Formulation du probleme doptimisation (appliquee a la ligne experimentale)............................ 239
III.2-b) Principe du voisinage dune solution............................................................................................. 239
III.2-c) Methodes de recherche locale definies par un voisinage............................................................... 241
III.2-d) Methodes de recherche globale definies par un voisinage ............................................................ 243
III.2-e) Methode dexploration aleatoire.................................................................................................... 247
III.2.f) Algorithmes genetiques................................................................................................................... 248


Conclusion................................................................................................................................... 258

Bibliographie............................................................................................................................... 259











Partie 7 : Optimisation de la production
227




Introduction


Dans la partie 6, nous avons pu mettre en vidence, au travers des exprimentations
ralises, les difficults rencontres pour optimiser les paramtres de pilotage d'une ligne
de production. Ces difficults sont au moins de deux natures :
- Trouver une solution permettant de satisfaire des critres de production pris
sparment : minimiser le dlai de production, rduire les encours, minimiser le
nombre de palettes utiliser, etc
- Trouver une solution "stable", c'est dire qui tolre des petites variations des
paramtres de pilotage sans pour autant trop dgrader les critres
d'optimisation.

Dans cette partie, l'objectif principal est de recenser les mthodes d'optimisation
algorithmiques susceptibles d'amliorer la recherche d'une solution optimale. En effet,
comme on l'a vu lors des exprimentations pour des productions de type multiproduit, il
semble tre difficile de trouver par une relation quelconque une solution thorique qui
satisfasse les critres. Nous allons donc plutt nous diriger vers une approche
algorithmique couple la simulation, afin d'optimiser le pilotage de la ligne de
production.

Dans le chapitre 1, on rappelle l'intrt d'utiliser le modle de simulation pour optimiser un
systme de production.
Alors que dans la partie 6 nous avions limit les paramtres et surtout le nombre de
valeurs qu'ils peuvent prendre, dans cette partie beaucoup de contraintes seront leves.
Aprs avoir dfini l'objectif d'une optimisation, le chapitre 2 met donc en vidence la
complexit du problme ds lors que l'on autorise chaque paramtre prendre toutes les
valeurs de son tendue.
Le chapitre 3 est un tat de l'art des principales mthodes d'optimisation utilisables en
production. On trouve :
- Les mthodes base de rgles tablies par exprience ou par dduction
logique. C'est ce qui a t fait dans la partie 6, avec les difficults que l'on a
montres.
- Les mthodes exactes, dont l'objectif est de dterminer l'optimum exact. Ces
mthodes sont bien adaptes des cas o il est facile de modliser le
Partie 7 : Optimisation de la production
228
problme sous la forme d'une ou plusieurs quations, ce qui n'est pas le cas de
notre ligne de production. Nous ne nous tendrons donc pas sur ces mthodes.
- Les mthodes approches ou heuristiques, qui au contraire des prcdentes,
sont bien adaptes un couplage avec un modle de simulation de flux et dans
les cas ou le problme est complexe avec une trs forte combinatoire. C'est
donc essentiellement ces mthodes qui seront dtailles dans le chapitre 3,
avec une insistance particulire pour les algorithmes gntiques, que nous
utiliserons dans la partie 8 pour optimiser la ligne de production. Comme leur
nom l'indique, ces mthodes ne garantissent pas l'obtention de l'optimum
global, mais uniquement de trouver UN optimum intressant parmi d'autres.
























Partie 7 : Optimisation de la production
229

I- Modlisation pour l'optimisation

En suivant une approche systmique [LEMOIGNE 93], un systme peut-tre modlis par
une bote noire sur laquelle agissent des variables d'entres. Ce que l'on veut observer
du systme est modlis par des variables de sortie (figure 1).

Pour optimiser un systme, deux solutions sont possibles , travailler sur le systme lui-
mme, ou utiliser un modle du systme.

I.1- Optimisation sur le systme lui-mme

Dans ce cas, on ne travaille pas sur un modle, mais sur le systme lui-mme, ceci
condition que l'on soit capable d'agir facilement sur les variables d'entre et de mesurer
les variables de sortie. Cette solution consiste la plupart du temps tester plusieurs
combinaisons de variables et de valeurs de variables d'entre et d'en dduire une
combinaison optimale. Dans ce cas, plusieurs inconvnients peuvent apparatre :
On immobilise le systme pour effectuer l'optimisation, ce qui n'est pas sans causer des
problmes budgtaires si l'optimisation doit durer pendant un temps assez long par
rapport au temps de cycle du systme.
Si le temps de rponse (

) du systme est important, il est indispensable de rduire le


nombre de combinaisons tester. Des mthodes on t dveloppes au dbut du sicle
(FISHER 1925) et plus rcemment (TAGUSHI 1960) afin d'optimiser des systmes rels :
Plans d'expriences et Mthode Tagushi [PILLET 92] [DEMONSANT 96]. Ces mthodes

(*) Le Temps de Reponse du systeme correspond a la duree qui s'ecoule entre la validation des variables d'entree et la
mesure de leur eIIet sur les variables de sortie.
SYSTEME
Variables Alatoires
PERTURBATIONS
d'ENTREE
Variables
de SORTIE
Variables
Figure 1 : Modle systmique
Partie 7 : Optimisation de la production
230
ont pour but principal d'organiser le droulement des expriences et de russir obtenir
une combinaison optimale des variables d'entre en un minimum d'essais (plans
d'expriences fractionnaires). Le principal attrait de la mthode Tagushi est de proposer
des expriences dans lesquelles plusieurs variables d'entre peuvent changer de valeur
simultanment. En effet, dans un plan d'exprience complet, la mthode consiste
bloquer toutes les variables d'entre sauf une, et de mesurer l'volution des variables de
sortie. Le principal inconvnient est donc de ne pas tenir compte des ventuelles
interactions qu'il peut y avoir entre certaines variables.
Avec la mthode Tagushi, non seulement le nombre d'essais est rduit, mais on tient
aussi compte des ventuelles interactions entre plusieurs variables. Malgr tout, cette
mthode se limite une dizaine de variables d'entres (appeles Facteurs) ne prenant
pas plus de deux ou trois valeurs diffrentes (appeles Niveaux) avec une volution
linaire entre chaque niveau. Cette mthode, encore peu connue en France il y a cinq
ans, est maintenant largement utilise pour optimiser le rglage des procds de
fabrication sur des machines automatises : rglage de presses d'injection pour pices en
matire plastique, rglage de robots de peinture, rglage de machines mouler les
carreaux de pltre, etc....

Pour conclure sur l'optimisation ralise sur le systme rel, on peut dire qu'elle est
utilise quand on ne dispose pas d'un modle du systme rel, soit parce que la
modlisation est trop complexe, soit parce qu'elle est trop imprcise.


I.2- Optimisation sur un modle du systme

Dans le cas o le systme rel n'existe pas encore car il est en phase de conception, on
travaille sur un modle du systme optimiser. Mme dans des cas o le systme rel
existe, cela peut s'avrer indispensable si l'on dsire viter les inconvnients de la
mthode prcdente. Le problme qui se pose est donc de russir modliser le systme
tudier de telle sorte que le modle soit le plus fidle possible du comportement que
l'on veut reproduire tout en garantissant des temps de rponse bien plus courts que le
systme rel. Ce modle peut tre formalis de deux faons :

I.2-a) Formalisation (ou formulation) mathmatique ou analytique

Dans le cas gnral, il s'agit "simplement" de mettre le problme sous la forme d'une ou
plusieurs quations. Malheureusement, cette formalisation n'est pas vraiment bien
adapte la modlisation de systmes rels complexes. En effet, si l'objectif du modle
Partie 7 : Optimisation de la production
231
mathmatique est d'optimiser le systme qu'il reprsente, cela dpend essentiellement de
l'existence de drives.
Dans le premier chapitre de son ouvrage, [GOLDBERG 94] lance un pav dans la mare
des thoriciens de l'optimisation. En effet, il crit leur sujet:
" ....Ils ont trop facilement accept l'hritage des grands mathmaticiens du 18
me
et 19
me

sicle, qui dcrivent un monde propre, fait de fonctions quadratiques, de contraintes
idales, et de drivabilit omniprsente. Le monde rel explorer est envahi de
discontinuits, d'espaces de recherche bruits et multimodaux, ce qui le rend bien moins
adapt au calcul. Il n'est donc pas surprenant que les mthodes soumises aux contraintes
de continuit et de drivabilit ne soient adaptes qu' une classe de problmes trs
limite. ...".
Dans le cas des systmes de production, certaines mthodes de modlisation
mathmatique ont pourtant t dveloppes et appliques avec succs. Les chanes de
Markov, les rseaux de files d'attente et la programmation dynamique sont aujourd'hui les
modles mathmatiques les plus utiliss en production. Par exemple, [SURI 97] reconnat
dans son article que pour modliser des systmes de manutention automatise, les
rseaux de files d'attente manquent de prcision, mais note que ceux-ci offrent un bon
compromis entre exactitude et vitesse de calcul tout en prenant en compte les aspects
stochastiques et dynamiques du systme. L'utilisation de ces outils mathmatiques pour
la modlisation des systmes de production est dcrite en dtail et avec de nombreux
exemples dans les ouvrages de [GERSHWIN 94] et [BUZACOTT 93].


I.2-b) Utilisation d'un modle de simulation de flux

Dans la partie 4, nous avons dj utilis la simulation de flux afin de disposer d'un modle
de la ligne de production pour raliser des exprimentations.
Dans l'industrie, la simulation de flux connat un vif intrt depuis que cet outil
informatique est la porte des non informaticiens grce l'utilisation d'interfaces
graphiques conviviales et de techniques orientes objet. Outre cet aspect, un modle de
simulation de flux ne requiert pas la programmation d'quations mathmatiques
complexes et peut reprsenter trs finement le systme tudier. En effet, les progiciels
proposent aujourd'hui une visualisation dynamique des flux, ce qui permet de voir ce qui
se passe dans l'atelier de faon trs raliste.
Pour justifier le choix de la simulation de flux par rapport l'utilisation d'un modle
analytique, [ALFARO 97] explique que le modle analytique est trop rducteur et ne
permet pas d'obtenir une reprsentation raliste du systme par rapport un modle de
simulation de flux. La simulation de flux permet au concepteur du modle de dfinir le
niveau de prcision qu'il dsire avoir par rapport au problme qui le proccupe.
Partie 7 : Optimisation de la production
232
[QUERE 97] a choisi de modliser un systme de production par la simulation de flux car
elle permet d'intgrer la complexit du systme dans son ensemble. La simulation de flux
rpond donc particulirement bien au manque de formalisme des systmes de
production. Elle permet une thorisation base d'observations, d'essais et d'erreurs (sans
consquences) et prsente pour le chercheur une grande valeur heuristique
[UNIVERSALIS 95]. C'est de cette faon que nous l'avons utilise dans la partie 6.

Pour conclure sur ces deux possibilits de modlisation du systme rel, [GERSHWIN 94]
semble tre le plus pondr des deux coles : il pense que le mieux est d'utiliser ces
deux outils : modlisation analytique pour dgrossir la conception du systme et
modlisation pour la simulation de flux pour vrifier et affiner les rsultats. Il admet quand
mme qu'il y a un gouffre entre la thorie et la pratique : " Many theoriticians and some
practitioners blame this on the ignorance and lack of sophistication of the practitioners,
but, in my opinion, this is unfair. Some of the reasons for the gap is due to the absence of
science in the theoritician's work."

On peut donc dire que lorsque le systme n'est pas trop complexe, sans pouvoir
facilement quantifier ce niveau de complexit, et que l'on cherche uniquement dgrossir
son optimisation, un modle mathmatique semble tre l'outil adapt. Par contre, si le
systme est complexe ou si l'on dsire un degr de prcision trs lev par rapport au
systme rel, le modle de simulation de flux est l'outil idal.

En ce qui concerne ce travail de recherche, on dispose d'un systme exprimental rel
(voir Partie 3), sur lequel on peut donc effectuer des expriences, mais le temps de
rponse peut s'avrer trop important pour pouvoir tenter une optimisation directement sur
ce systme. L'optimisation sera donc ralise partir d'un modle. Pour les raisons
voques plus haut, une modlisation mathmatique de ce systme, bien qu'elle prsente
un intrt certain en terme de temps de rponse, est trop complexe et ne permet pas de
vrifier visuellement l'adquation entre le fonctionnement du systme rel et son modle,
comme le permet un modle de simulation. D'autre part, l'objectif fix dans ce travail est
d'optimiser le systme rel et de ne pas se contenter d'optimiser son modle. Il faut donc
s'assurer de la robustesse de l'optimisation, c'est dire son aptitude amliorer des
variables de sortie, mme en prsence de perturbations alatoires. Ce sont justement ces
perturbations alatoires qu'il n'est pas ais de modliser analytiquement sur un systme
de production.
On choisit donc d'utiliser la simulation de flux pour optimiser le systme exprimental. La
dmarche sera la mme que dans la partie 6, sauf qu'ici le modle de simulation sera
directement coupl un algorithme d'optimisation.
La conduite de la modlisation et de la simulation de flux est prsente en dtail dans la
partie 4 , la fois de faon gnrale, mais aussi en particulier pour le support
Partie 7 : Optimisation de la production
233
exprimental que constitue la ligne flexible. Nous considrons donc ce stade que nous
disposons d'un modle de simulation de la ligne flexible.



II- Mise en vidence de la complexit du problme


II.1- Objectif de l'optimisation

L'objectif de l'optimisation est de dterminer les extremums d'une fonction, appele dans
la littrature FONCTION OBJECTIF ou FONCTION d'ADAPTATION ou FONCTION
d'ADEQUATION.
Le terme de "Fonction Objectif" sera retenu pour la suite de ce travail. Cette fonction
correspond une relation algbrique entre une ou plusieurs variables de sortie du
systme tudi que l'on appelle "critres" (voir figure 1).
La littrature dans le domaine de l'optimisation ne s'tend pas beaucoup sur la dfinition
de cette fonction objectif. On trouve surtout des contributions et des explications sur
diffrentes mthodes d'optimisation, mais peu d'auteurs se hasardent dans le choix et la
pertinence de la fonction objectif. En effet, comme on l'a dj constat partiellement dans
la partie 6 (compromis trouver entre minimisation du dlai et minimisation de l'encours)
et comme cela sera prsent dans la suite de ce travail, on se heurte la subjectivit
quand on doit choisir une fonction objectif, ce qui est d'ailleurs assez paradoxal....
Pour introduire cette notion de fonction objectif, on peut considrer qu'il existe 2 classes
de fonction :

- Quand une seule variable de sortie est prise en compte dans la fonction objectif, on dit
qu'il s'agit d'une fonction objectif simple critre ou monocritre. C'est le cas le plus
rpandu dans la littrature et il est vrai qu'il peut satisfaire bon nombre d'applications.
Par exemple, dans un atelier de production, l'optimisation peut avoir pour fonction
objectif la minimisation des temps de changement d'outil. Le seul critre pris en
compte est le temps de changement d'outil, mais plusieurs variables d'entre peuvent
influer sur ce critre. Dans la partie 6, nous avons ralis des exprimentations dans
le but de minimiser, en priorit, le dlai de production. Les variables d'entre taient le
Temps inter-Lancement (TiLa) et la capacit des stocks amont (StAm).

Partie 7 : Optimisation de la production
234
- Quand plusieurs variables de sortie doivent tre prises en compte dans la fonction
objectif, on dit qu'il s'agit d'une fonction objectif multicritre. Si l'on reprend le mme
exemple que dans la classe prcdente, la fonction objectif doit non seulement
minimiser le temps de changement d'outil, mais en plus doit maximiser le taux
d'utilisation des machines et minimiser les tailles de lot. Il y a donc 3 critres prendre
en compte simultanment : temps de rglage, taux d'utilisation des machines et tailles
de lot. Dans la partie 6, aprs avoir trouv les solutions qui minimisent le dlai, nous
avons retenu uniquement celles qui minimisent aussi l'encours moyen. Nous avons pu
constater que dans certains cas, le choix d'une solution qui rpond plusieurs critres
lis au systme doit tre complt par un critre de stabilit de la fonction objectif.

Il est clair que cette 2me classe de fonction objectif prsente un intrt certain pour les
problmes d'optimisation de production, qui sont, comme le rappelle [MOLET 97, page
18], intrinsquement multicritres, avec en plus l'inconvnient majeur d'tre souvent
contradictoires. Il s'agit donc de trouver un compromis entre plusieurs critres dont la
difficult est de classer quantitativement ces critres et de leur affecter un poids.

Dans la suite de ce travail, on a tent de rechercher et de comparer plusieurs fonctions
objectifs, de chacune des 2 classes prcdentes. Les rsultats de ce travail figurent dans
la partie 8.


II.2- Calcul de la combinatoire des solutions possibles

Le calcul de la combinatoire des solutions consiste dterminer le nombre total de
combinaisons entre les diffrentes valeurs des variables d'entre. Ce calcul s'appuie sur
des notions d'analyse combinatoire base sur le Principe du Dnombrement, sur les
permutations et les combinaisons [GOLDBERG 94, page 340]. Cela suppose que les
problmes traiter comportent un ensemble fini, dnombrable mais de cardinal lev, de
solutions. Toutes les mthodes d'optimisation combinatoire ont pour but de rsoudre ce
type de problme.
Si l'on s'appuie sur le systme exprimental tudi, on peut dnombrer (voir Partie 5,
chapitre IV sur typologie des variables de pilotage) au moins 4 types de variables de
pilotage :
- Le Temps inter-Lancement ou la cadence de lancement (TiLa) en secondes,
- La capacit des stocks amont (StAm) en nombre de palettes,
- La capacit des stocks aval (StAv) en nombre de palettes,
- Les rgles de priorit en sortie de poste (Prio).
Partie 7 : Optimisation de la production
235

Sachant que pour chaque type, plusieurs variables homognes (*) peuvent tre utilises,
il est possible de dnombrer les solutions possibles.

Exemple 1 : (correspond aux exprimentations de la partie 6)
On considre uniquement 2 types de variables d'entre :
- Le Temps inter-Lancement (TiLa) est constant entre chaque palette. Il correspond
donc une seule variable discrte et homogne de pas 1, dont l'tendue est de
[1..20] secondes.

- La capacit des stocks amont (StAm) est la mme sur tous les postes de travail.
Elle correspond donc une seule variable discrte et homogne de pas 1, dont
l'tendue est [1..6] palettes.

Le nombre de solutions possibles est de 20 x 6 = 120.

Exemple 2 : (correspond ce qui sera fait dans la partie 8)
On considre 2 types de variables d'entre :
- Le Temps inter-Lancement (TiLa) est variable d'une palette l'autre. Il
correspond donc P variables discrtes et homognes, avec P = Nombre de
palettes -1. Si l'on doit lancer une srie de 50 palettes, il y a donc 49 variables
TiLa, identifies par un indice : TiLa(1,2), TiLa(2,3), ...., TiLa(P, P+1). L'tendue de
chaque variable TiLa est de [1..20] secondes.

- La capacit des stocks amont (StAm) est variable d'un poste l'autre. Elle
correspond donc N variables discrtes et homognes, avec N = Nombre de
postes. Si l'on dispose de 4 postes de travail, il y a donc 4 variables StAm, identifies
par un indice : StAm(1), StAm(2), ..., StAm(N). L'tendue de chaque variable est de
[1...6] palettes.
Le nombre de solutions possibles est :
- Pour Tila : [(Max(TiLa) - Min(TiLa)) + 1]
(P)
, avec Max(TiLa) = valeur maximale
de TiLa, soit 20 secondes et Min (TiLa) = valeur minimale de TiLa, soit 1 seconde.
On obtient donc :
[(20 - 1)+1]
(50-1)
= 20
49
combinaisons possibles de Temps inter
Lancement entre chaque palette.

(*) Un ensemble de variables homogenes est un ensemble de variables de mme type, possedant la mme unite et la
mme etendue de variation, avec le mme nombre de valeurs s'il s'agit de variables discretes.
Partie 7 : Optimisation de la production
236
- Pour StAm : [(Max(StAm)-Min(StAm)) + 1]
N
, avec Max(StAm) = valeur maximale
de StAm, soit 6 palettes et Min(StAm) = valeur minimale de StAm, soit 1 palette.
On obtient donc :
[(6 - 1) + 1]
4
= 6
4
combinaisons possibles de Capacit des Stocks Amont.

Le nombre total de solutions en combinant les Temps inter-Lancement (TiLa) et les
capacits des stocks amont (StAm) est donc de 20
49
x 6
4
.

Ce deuxime exemple met en vidence la complexit du problme d'optimisation. La
difficult de rsolution d'un tel problme fait dire aux spcialistes de l'optimisation qu'il est
NP-Complet [PRINS 97, page 31] [CHARON 96, page 117]. La particularit d'un tel
problme est qu'il ne peut pas tre rsolu facilement (et surtout rapidement) par une
mthode d'optimisation exacte (voir chapitre III.1). On utilisera plutt pour la rsolution de
ce genre de problme des mthodes approches ou heuristiques.



II.3- Dmarche d'optimisation suivie

L'objectif final de cette thse est de trouver un algorithme d'optimisation capable de
trouver automatiquement et rapidement une solution d'un problme fortement complexe.
La principale difficult est d'valuer la performance et la pertinence d'un tel algorithme,
puisque si le systme est complexe, on ne connat pas forcment l'optimum global.
La dmarche suivie dans ce travail de recherche consiste, comme on l'a fait dans la partie
6, contraindre le systme en limitant le nombre de types de variables et le nombre de
variables, les autres variables tant assimiles alors des contraintes sur lesquelles on
ne peut pas agir. En effet, comme on vient de le montrer sur les exemples prcdents,
mme si l'on prend en compte uniquement un ou deux types de variables, le problme
peut rapidement devenir trs complexe. On s'attachera donc travailler sur des cas de
complexit progressive, afin de s'assurer de la performance de l'algorithme. Avant de
passer la rsolution de cas plus complexes, on validera l'algorithme d'optimisation sur
un cas plus simple dont on connat l'optimum global.





Partie 7 : Optimisation de la production
237
III- Typologie des mthodes d'optimisation


On peut classer les mthodes d'optimisation appliques la production en trois grandes
catgories :
- Les mthodes d'optimisation base de rgles tablies par exprience ou par
dduction logique. C'est ce qui a t fait dans la partie 6. Nous avons vu les limites
de ce type de mthode ds que le problme se complexifie, par exemple passage
d'une production monoproduit une production multiproduit.
- Les mthodes d'optimisation exactes, dont l'objectif est de dterminer l'optimum
exact d'une fonction objectif.
- Les mthodes d'optimisation approches ou heuristiques, qui sont particulirement
adaptes la rsolution des problmes fortement combinatoires et NP-Complets.


III.1- Mthodes exactes

Ces mthodes sont bases soit sur une rsolution algorithmique ou analytique, soit sur
une numration exhaustive de toutes les solutions possibles. Elles s'appliquent donc aux
problmes qui peuvent tre rsolus de faon optimale et rapidement.
On trouve essentiellement deux types de mthodes :
- Les mthodes analytiques [GOLDBERG 94, page 4] sont bases sur l'existence de
drives, donc sur l'existence d'quations ou de systmes d'quations, linaires ou
non linaires. Le principe gnral consiste rechercher un extremum hypothtique en
dterminant les points de pente nulle dans toutes les directions. La mthode du
Gradient ou du Quasi-Newton consiste se dplacer dans une direction dpendant du
gradient de la fonction objectif. Les inconvnients de ces mthodes sont nombreux :
elles s'appliquent localement, les extremums qu'elles atteignent sont optimaux au
voisinage du point de dpart et l'existence de drives n'est pas systmatique. Ces
mthodes sont donc peu efficaces pour rsoudre des problmes d'optimisation en
production.
- Les mthodes algorithmiques [CHARON 96] : La programmation linaire
[SAKAROVITCH 84, page 117] permet de dterminer l'optimum d'une fonction linaire
tout en respectant des contraintes linaires. L'algorithme du Simplexe a t dvelopp
en 1947 par G.B. Dantzig pour rsoudre ce type de problme. Par la suite, cet
algorithme a t perfectionn pour pouvoir tre adapt sa programmation
informatique. On trouve ainsi une forme matricielle de cet algorithme qui permet de
dcrire le droulement des oprations en termes algbriques et moyennant la
Partie 7 : Optimisation de la production
238
rsolution de systmes d'quations linaires. De nombreuses recherches ont t
menes et sont encore menes dans l'application de la programmation linaire des
cas de production. On peut citer par exemple l'ouvrage de [THIEL 90] qui prsente des
exemples de traitement de problmes de production en utilisant la Recherche
Oprationnelle. Vient ensuite la Thorie des Graphes [SAKAROVITCH 84, page 15],
[PRINS 97], et les mthodes arborescentes (ou "Branch and Bounds Methods") qui
permettent de traiter des problmes complexes de faon exacte partir d'une
numration intelligente de l'espace de solutions. Elles peuvent trs bien s'appliquer
des problmes de taille moyenne, mais pour des problmes de grande taille, leur
dure d'excution peut devenir prohibitive. Dans son ouvrage, [PRINS 97] prsente
ces mthodes de faon trs claire, pdagogique et concrte, sous la forme
d'algorithmes de graphes.

Des recherches plus rcentes ont permis de dvelopper la Programmation Dynamique
et la Programmation Linaire en Nombres Entiers, afin de trouver des solutions
exactes des problmes rputs difficiles. Mais la rsolution de problmes par ces
mthodes n'est pas toujours facile, notamment cause de la difficult caractriser les
problmes susceptibles d'tre traits [CHARON 96, Chap. 12].
Enormment de travaux de recherche ont t dvelopps dans le domaine de la
recherche oprationnelle afin de rsoudre des problmes qui sont maintenant devenus
des standards : "Problme du sac dos (Knap Sac Problem)", "Bin Packing", "Problme
du Voyageur de Commerce", etc...., mais l'application des ces mthodes des cas rels
entrane bien souvent une trop forte simplification du problme qui fait que, bien que le
rsultat de l'algorithme soit exact, il peut tre trs loign de l'optimum rel.

Pour l'optimisation d'un systme de production, dont la complexit peut tre trs
grande en terme de solutions possibles, et qui de plus est soumis des
perturbations alatoires, l'utilisation de ces diffrentes mthodes ne semble pas
tre la plus approprie.


III.2 - Mthodes approches ou heuristiques

Une mthode approche ou heuristique est un algorithme d'optimisation qui a pour but de
trouver une solution ralisable de la fonction objectif, mais sans garantie d'optimalit. Le
principal avantage de ces mthodes est qu'elles peuvent s'appliquer n'importe quelle
classe de problmes, faciles ou trs difficiles, bien ou mal formuls, avec ou sans
contrainte. En particulier, elles ne ncessitent pas une modlisation mathmatique du
problme. Elles semblent tre tout fait adaptes l'optimisation de systmes de
Partie 7 : Optimisation de la production
239
production et c'est donc ce type de mthode qui sera utilis dans la suite de ce travail.
Ces mthodes peuvent tre classes en 3 familles :
- les mthodes de recherche locale et globale dfinies par un voisinage,
- les mthodes de recherche alatoire,
- les mthodes aveugles ou mta-heuristiques.

Avant de rentrer dans le dtail de chacune de ces mthodes, il est ncessaire de formuler
le problme d'optimisation que l'on se pose et de dfinir la notion de voisinage.


III.2-a) Formulation du problme d'optimisation (applique la ligne exprimentale)

Soit une fonction objectif, Fobj = f (TiLa, StAm, StAv, Prio, ....).
On appelle {S} l'ensemble fini, mais de grand cardinal, correspondant toutes les
combinaisons de toutes les variables d'entre.
Le problme d'optimisation de la fonction objectif peut tre mis sous la forme :
Minimiser (ou Maximiser) Fobj = f(TiLa, StAm, StAv,....)

Un lment s
(i)
de {S} qui donne Fobj sa valeur minimale (ou maximale) est donc
une solution optimale.


III.2-b) Principe du voisinage d'une solution

On dfinit le voisinage V(s
(i)
) d'une solution par une transformation lmentaire
permettant de passer d'une solution s
(i)
de {S} une autre solution s
(j)
de {S} avec une
faible modification de la structure de la solution s
(i)
.

Exemples de transformations lmentaires :

- Complmentation (cas d'un codage binaire de la solution) :
on remplace un bit quelconque du code par son complment.
Partie 7 : Optimisation de la production
240
Exemple : 1 0 1 0 = solution initiale

V(s
(i)
) = 0 0 1 0 , 1 1 1 0 , 1 0 0 0 , 1 0 1 1
= ensemble des solutions voisines dfinies par complmentation

- Autres transformations possibles :
Echange, Insertion / dcalage, Inversion [CHARON 96, page 169]... dont le choix
dpend du problme traiter.

[PRINS 97] prcise qu'avant de transformer une solution, il faut commencer par choisir
initialement cette solution. Cela est gnralement fait alatoirement, mais il est prfrable
de partir d'une solution initiale assez bonne.

Si V(s
(
i
)
) = {S}, on se ramne une numration complte du voisinage d'une solution,
ce qui peut s'avrer (trs) long en calcul.

Si par contre V(s
(
i
)
) est trop petit devant {S}, la recherche est pige dans un minimum
local.

On peut dj noter le niveau de subjectivit de ce type de mthode, puisqu'il faut non
seulement choisir une solution initiale, qui peut tre quelconque, mais il faut aussi choisir
une transformation lmentaire. On est en droit de se poser la question de savoir si ces
choix vont avoir une influence sur le rsultat final....


III.2-c) Mthodes de recherche locale dfinies par un voisinage

On peut dfinir principalement 2 mthodes qui diffrent uniquement par l'numration du
voisinage d'une solution :

- Algorithme du Grimpeur "Hill Climbing" (ou de la descente stochastique) :
On part d'une solution initiale et on lance l'exploration de son voisinage jusqu' ce
que l'on rencontre une solution meilleure, partir de laquelle on applique le mme
principe. Dans ce cas, la recherche locale du voisinage d'une solution se termine
Partie 7 : Optimisation de la production
241
aprs un nombre variable d'itrations, quand elle n'arrive plus trouver une
solution meilleure que la solution courante. On n'explore donc pas
systmatiquement tout le voisinage d'une solution.

Prsentation de cet algorithme en pseudo-code (minimisation de f) :

Soit V
(mini)
= voisinage de la solution courante, comportant k solutions.
Soit s
(i)
V
(mini)
, une solution parmi les k solutions de V
(mini)
.

Dbut

mini = s
(0)
{S}

Pour [i = 1 k] et [s
(i)
V
(mini)
]
Si f(s
(i)
) < f(mini)
Alors mini = s
(i)
, i = 0
Fin pour

mini = solution finale

Fin


- Algorithme de la plus grande pente :
L'algorithme est le mme que le prcdent, mais toutes les solutions du voisinage
correspondant la transformation lmentaire sont numres et on ne retient que
la meilleure.

Prsentation de cet algorithme en pseudo-code (minimisation de f):

Soit V
(mini)
= voisinage de la solution courante, comportant k solutions.
Soit s
(i)
V(
mini
), une solution parmi les k solutions de V
(mini)
.
Partie 7 : Optimisation de la production
242

Dbut

mini = s
(0)
{S} , mini_v = s
(0)

Rpter
mini = mini_v

Pour [i = 1 k] et [s
(i)
V
(mini)
]
Si f(s(
i
)) < f(mini_v)
Alors mini_v = s
(i)

Fin pour

Jusqu' ce que mini_v = mini

mini = solution finale

Fin



Le principal avantage de chacun de ces deux algorithmes est qu'ils sont faciles
programmer. En contrepartie, ils ont l'inconvnient de ne pas tre adapts des fonctions
objectifs multimodales (avec plusieurs pics et creux) car ils s'arrtent ds qu'un minimum
local est trouv, moins de les relancer partir d'une autre solution initiale (voir figure 2).
Pour des problmes comportant beaucoup de variables, le temps de calcul peut tre trs
long si l'on opte pour une transformation lmentaire exhaustive ou si l'on utilise
l'algorithme de la plus grande pente.
Partie 7 : Optimisation de la production
243


On constate sur ce graphique les limites d'un algorithme de recherche locale. Si la
fonction objectif est trs bruite, on risque de tomber dans un minimum local qui est bien
loin du minimum global, sans qu'il soit possible d'en sortir. Ces algorithmes sont donc
utiliss de faon complmentaire un autre type d'algorithme qui peut sortir d'un
minimum local.


III.2-d) Mthodes de recherche globale dfinies par un voisinage

Le dveloppement de ces mthodes est issu du constat d'chec des mthodes locales.
Le principe recherch est donc de pouvoir sortir d'un optimum local, mais on s'appuie
toujours sur une recherche locale avec une transformation lmentaire, que l'on fait
ensuite voluer si elle s'avre insuffisante. Deux mthodes ont t dveloppes trs
rcemment : le Recuit Simul (Simulated Annealing) et la recherche Tabou (Taboo
Search).
- Le Recuit Simul :
Cet algorithme a t dvelopp en 1982 par deux quipes indpendantes : au
Etats-Unis [Kirkpatrick 83] et en Slovaquie (V. Cernie). Il repose sur une analogie
avec la mtallurgie et le recuit des mtaux : un mtal refroidi trop vite prsente de
Figure 2 :Exemple de recherche locale
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1 2 3 4 5 6 7 8 9 10 11 12
Minimum local
=
Arrt de
l'algorithme
Solution initiale
Sens de la
recherche
Minimum global
Partie 7 : Optimisation de la production
244
nombreux dfauts qui correspondent des excdents d'nergie interne. L'objectif
du recuit est de minimiser ces excdents de faon obtenir une configuration
d'nergie minimale. Pour le raliser, on rchauffe le mtal ce qui a pour effet
d'augmenter encore l'nergie interne, mais un rglage judicieux de la temprature
de refroidissement permet de sortir de l'tat initial et d'obtenir finalement une
nergie interne plus faible. L'application de ce principe l'optimisation est le
suivant : Il est possible, contrairement un algorithme de recherche locale,
d'accepter une dgradation de la fonction objectif avec une certaine probabilit,
sachant que cette dgradation pourra entraner une amlioration ultrieurement.

Prsentation de cet algorithme en pseudo-code (minimisation de f) :

Dbut
Engendrer la solution initiale s
(0)

Mini = s
(0)

Rpter
Choix de s
(i)
V(s
(i)
)
Calcul de d = f(s(i)) f(mini)

Si d < 0
Alors mini = s
(i)
! idem algorithme de la descente
Sinon tirer p dans [0, 1] suivant une
distribution uniforme
Si p e
(- d / T)

Alors mini = s
(i)
! solution moins bonne
Sinon s
(i)
est rejete

T = g(T) ! avec g dcroissante, par exemple T = 0,9995 . T

Jusqu' ce que T proche de 0
Fin
Partie 7 : Optimisation de la production
245
Une autre analogie pour expliquer cet algorithme est propose par [PRINS 97 , page 50] :
On considre l'ensemble des solutions comme un paysage de montagnes, comme dans
la figure 2. Une pierre lche dans un tel paysage va glisser et s'arrter au fond du
premier creux venu : c'est l'analogie une recherche locale. Une balle lastique peut, par
contre, rebondir et contourner les obstacles. L'nergie initiale de la balle va diminuer
lentement chaque rebond, et la balle aura de fortes chances de finir plus bas que la
pierre : c'est l'analogie au recuit simul.

Le principal avantage du Recuit simul est donc de pouvoir sortir d'un minimum local, en
fonction d'une probabilit d'acceptation lie une fonction exponentielle, appele
transformation de Gibbs-Boltzmann. Par contre, elle prsente l'inconvnient de faire
intervenir des paramtres intrinsques au recuit simul : la valeur initiale de la
temprature et le coefficient de dcroissance de la temprature. [CHARON 96, page 177]
prsente plusieurs modles de recuit en fonction de ses diffrents paramtres. Le rglage
de ces paramtres est assez dlicat et repose sur de nombreux essais. Toutefois, on
constate que les utilisateurs de cet algorithme donnent au coefficient de dcroissance une
valeur comprise entre 0,85 et 0,95. Quant la temprature initiale, celle-ci est dtermine
empiriquement ou par des mthodes plus rigoureuses (C.R. Aragon, D.S. Johnson, L.A.
McGeoch, C. Shevon dans [ARAGON 89]). C'est ce qui peut paratre paradoxal et
droutant dans cet algorithme, puisqu'il faut tenter d'optimiser ses paramtres
intrinsques tout en optimisant la fonction objectif.

Malgr la jeunesse de cet algorithme, les applications l'optimisation des systmes de
production sont nombreuses. Deux articles sont particulirement intressants et en
rapport avec ce travail de recherche :

[MUKHOPADHYAY 98] propose d'utiliser un algorithme de Recuit Simul pour
optimiser l'quilibrage des systmes de fabrication flexibles (FMS). La variable
d'entre est le squencement des ordres de fabrication. De plus, une volution de
l'algorithme de base est propose, dans laquelle la variation de la temprature est
parabolique. L'utilisation de cet algorithme permet de rduire de 50% le
dsquilibre du systme.

[YING-CHIN 98] utilise un Recuit Simul pour dterminer l'implantation optimale
des machines desservies par un systme de manutention automatise. Plusieurs
stratgies de rduction de temprature sont proposes : dcroissement linaire,
dcroissement en paliers constants, dcroissement en paliers concaves et
dcroissement en paliers convexes. Il propose de fixer la temprature initiale dans
des valeurs comprises entre 3,5 et 5,5. Il utilise aussi un nouveau paramtre
appel temprature de refroidissement, afin d'empcher la temprature de
descendre trop bas, ce qui risquerait d'empcher le dplacement vers une autre
Partie 7 : Optimisation de la production
246
solution. De nombreuses exprimentations ont t menes afin de dterminer les
paramtres du Recuit Simul les mieux adapts en fonction des problmes
traiter.


- La mthode TABOU :
Cette mthode est encore plus rcente que le Recuit Simul, puisqu'elle a t
propose par Glover en 1986. Dans [GLOVER 97], l'auteur de cette mthode
dtaille les diffrents algorithmes base de listes Tabou. Depuis, de nombreuses
contributions ont t apportes cette mthode, notamment l'Ecole
Polytechnique Fdrale de Lausanne o [WIDMER 91] l'a applique
l'optimisation des ateliers flexibles.
Encore une fois, le point de dpart de cette mthode est identique une recherche
locale avec une transformation de voisinage. La diffrence provient du fait que l'on
va sur la meilleure solution voisine, mme si elle est plus mauvaise que la solution
initiale. L'autre originalit de cette mthode est la construction d'une liste de
mouvements tabous T, qui correspondent aux solutions testes dans un pass
proche et sur lesquelles on s'interdit de revenir. A partir de la solution courante s
(i)

et pour la remplacer, on choisit dans V(s
(i)
) -T la solution s
(j)
qui minimise la
fonction objectif f, tout en ajoutant s
(i)
la liste T.
La difficult majeure de cette mthode est la gestion de cette liste Tabou. En
pratique, cette liste est de taille rduite (comprise entre 3 et 12) et elle fonctionne
en FIFO : quand la liste est pleine, on supprime la solution qui s'y trouve depuis le
plus longtemps et on la remplace par la nouvelle solution interdire.
Les recherches et applications dans le domaine de la production sont encore une
fois nombreuses. On pourra trouver par exemple dans [TAILLARD 89] et dans
[WIDMER 89] des applications de cette mthode l'optimisation de
l'ordonnancement dans une chane de montage et dans un atelier de type Job
Shop.


Pour conclure sur ces mthodes de recherche globale dfinies par un voisinage, on peut
noter leurs diffrences :
- Le Recuit Simul est stochastique et sans mmoire, alors que la mthode Tabou
est dterministe et possde une mmoire sous la forme d'une liste.
- Les paramtres intrinsques sont moins nombreux pour la mthode Tabou que
pour le Recuit Simul.
- Le Recuit Simul ne s'intresse qu' un seul voisin chaque itration, la mthode
Tabou ncessite l'exploration exhaustive du voisinage, ce qui peut prendre
Partie 7 : Optimisation de la production
247
beaucoup de temps si le cardinal de V(s
(i)
) est lev. Dans un tel cas, on se
contente donc d'un chantillon du voisinage, prlev de faon alatoire ou non.

Dans la littrature, les auteurs qui ont tent de comparer ces deux mthodes ont des avis
assez partags :
[PRINS 97, page 52] pense, sans le dmontrer, que la mthode Tabou est meilleure que
le Recuit Simul temps d'excution gal.
[CHARON 96, page 184] cite les travaux de S. de Amorin, J.P. Barthlemy et C.C. Ribeiro
qui ont compar la mthode du Grimpeur, le Recuit Simul et la mthode Tabou sur un
mme problme. Ces travaux dmontrent que les deux mthodes de recherche globale
donnent de meilleurs rsultats qu'une recherche locale, mais qu'il y a peu de diffrence
entre le Recuit Simul et Tabou, en tout cas quand le nombre de solutions n'est pas trop
important. Quand le nombre de solutions est trs important, le Recuit Simul permet
d'obtenir un optimum en un temps de calcul plus court que la mthode Tabou.

En conclusion, il semble donc trs dlicat de chercher comparer chacune de ces
mthodes. Le choix des paramtres ou du problme traiter peut faire pencher la
balance d'un ct ou de l'autre.


III.2-e) Mthode d'exploration alatoire

On trouve peu de rfrences dans la littrature au sujet de cette mthode. Cela est peut
tre d au fait qu'il est impropre d'appeler "Mthode" une recherche qui est purement
alatoire. D'autre part, cette exploration alatoire peut sembler trop peu efficace aux yeux
des chercheurs en optimisation combinatoire. Cependant, la recherche alatoire d'un
optimum a t utilise avec succs avant que les mthodes de recherche globale ne
soient dveloppes [GOLDBERG 94, page 6].
Le principe de cette recherche alatoire est donc des plus simples : on gnre "au
hasard" une solution s
(i)
puis on value la fonction objectif f avec cette solution et on
recommence ces deux tapes jusqu' ce qu'un nombre d'itrations (arbitraire ou pas) fix
par l'utilisateur soit atteint.
Malgr le manque d'intrt de cette recherche par les spcialistes, on peut quand mme
penser que pour les problmes de trs grande taille et qui ont une fonction objectif
multimodale, compte tenu du temps de calcul ncessaire n'importe laquelle des
mthodes globales vues prcdemment, cette recherche alatoire permet :
- soit de dgrossir le problme avant de l'explorer par une mthode globale ou
locale de voisinage, et sur ce point, beaucoup de spcialistes sont d'accord;
Partie 7 : Optimisation de la production
248
- soit de se contenter de cette recherche si la nature et la complexit du problme
est telle qu'une mthode de voisinage ne permet pas l'obtention d'un gain
significatif par rapport une solution obtenue alatoirement.

Ce dernier point sera repris lors de l'optimisation du systme exprimental,
principalement dans le but de comparer l'efficacit des algorithmes de recherche (voir
Partie 8).

Un autre intrt de cette recherche alatoire est qu'elle permet de se faire une ide de la
"surface de rponse" de la fonction objectif. Aprs avoir gnr des solutions "au hasard",
on peut tenter de les reprsenter sur un rseau tridimensionnel. La condition de cette
reprsentation est que le nombre de variables d'entre soit de deux au maximum. La
troisime dimension est rserve la reprsentation de la rponse de la fonction objectif
pour une combinaison donne des 2 variables d'entre. Si cette surface prsente peu
d'irrgularits, on peut extrapoler en disant que le problme n'est pas complexe. Par
contre, si les irrgularits sont nombreuses et d'amplitude importante, le problme est
certainement complexe. Mais cette dmarche est difficilement gnralisable des
problmes comportant plus de deux variables d'entre et surtout elle est trs dpendante
du nombre de solutions alatoires gnres. Malgr cela, elle constitue peut-tre une
piste des travaux de recherche complmentaires.


III.2.f) Algorithmes gntiques

Les algorithmes gntiques ont t dvelopps au dbut des annes 60 par John Holland
[HOLLAND 75 et 92] et ses travaux ont t poursuivis par un de ses anciens lves
[GOLDBERG 94].
L'ide des algorithmes gntiques est encore une fois assez simple et concrte :
reproduire les mcanismes naturels de l'volution des espces en fonction de leur
adaptation au milieu dans lequel elles voluent. Les individus les mieux adapts ont plus
de chance de survivre et donc de se reproduire.
A chaque gnration, les caractristiques gntiques (les chromosomes) des individus
les mieux adapts seront rpandues dans une majorit de la population.
Afin d'viter que l'ensemble de la population converge vers une mme caractristique
gntique (notion de consanguinit), certains individus n'hriteront pas compltement des
caractristiques de leurs parents, et subiront une mutation. Cette mutation permettra
peut-tre ces individus de survivre une volution brutale de leur milieu naturel, l o
les autres individus mourront. C'est peut-tre l'absence de mutation dans les
Partie 7 : Optimisation de la production
249
chromosomes des dinosaures qui les a tous fait disparatre suite une volution brutale
de leur environnement (la chute d'une mtorite qui a boulevers le climat de la plante).
Cette espce tait peut-tre trop parfaite et aucun individu n'a pu survivre
Le mcanisme de reproduction des espces est un mcanisme qui est alatoire, mais il
ne faut pas confondre les algorithmes gntiques avec une recherche purement alatoire
: "L'algorithme gntique est un exemple de procdures d'exploration qui utilise un choix
alatoire comme outil pour guider une exploration hautement intelligente dans l'espace
des paramtres cods" [GOLDBERG 94, page 6].
Les algorithmes gntiques correspondent donc plutt ce que l'on pourrait appeler des
mthodes Pseudo-Alatoires.

Par analogie avec la reproduction des espces, la terminologie utilise dans les
algorithmes gntiques est la suivante :
- Une POPULATION est compose d'INDIVIDUS porteurs de CHROMOSOMES
forms de GENES.
- La population volue grce la REPRODUCTION vers une autre population
forms des individus de la GENERATION suivante.
- La reproduction se dcompose en 2 tapes : SELECTION des individus et
CROISEMENT (ou CROSSOVER) des individus deux deux.

La figure 3 illustre cette terminologie et prsente la structure d'une espce.


Dans [GOLDBERG 94, page 25] et dans [CHARON 96, page 187], on peut trouver des
termes complmentaires et une comparaison de ces termes utiliss par les spcialistes
de la gntique naturelle et de la gntique artificielle : le GENOTYPE est l'ensemble du
Individu 2
GENEk
GENEk
...............
CHROMOSOME
GENE1
Gnration g
GENE2 GENEk
Individu 1
CHROMOSOME
CHROMOSOME
GENE1
GENE1
Gnration 0
Gnration 1
GENE2 GENEk
GENE2 GENEk
GENE1 GENE2
CHROMOSOME
GENE1 GENE2
CHROMOSOME
............
GENE1 GENE2 GENEk
Individu ....
CHROMOSOME
GENE1 GENE2 GENEk
Individu i
CHROMOSOME
Figure 3 :Structure d'une espce
Partie 7 : Optimisation de la production
250
matriel gntique, le PHENOTYPE correspond aux caractristiques que l'on peut
mesurer chez un individu. Les valeurs que prennent les gnes sont appeles les
ALLELES.

Contrairement aux autres mthodes de recherche, les algorithmes gntiques ne
considrent pas qu'une seule solution la fois, mais plusieurs solutions correspondant
aux chromosomes des individus. Cette particularit des algorithmes gntiques est
appele "PARALLELISME" [RENDERS 95, page 74]. Ce paralllisme est essentiel pour
le mcanisme de recombinaison des individus. Les algorithmes gntiques sont donc
particulirement bien adapts au traitement sur des ordinateurs parallles, ce qui permet
en plus de diminuer notablement leur temps de calcul, qui peut paratre trop important aux
yeux de certains auteurs [PRINS 97, page 54].

Les caractristiques des algorithmes gntiques semblent tout fait adaptes
l'optimisation des systmes de production : ils ne ncessitent pas de modlisation
mathmatique du problme, ils peuvent tre coupls un simulateur de flux qui sera
utilis comme une bote noire par l'algorithme gntique (voir figure 4). C'est ce principe
qui sera utilis dans la partie 8 pour l'optimisation de la ligne de production.


Ils sont capables, plus que tout autre algorithme, de traiter des problmes trs fortement
combinatoires comme c'est le cas pour le systme exprimental servant de support ce
travail. Le reproche que l'on pouvait leur faire jusqu' prsent tait de consommer un
temps de calcul assez important. L'arrive de micro-ordinateurs surpuissants et des
possibilits de traitement parallle les rend comptitifs en terme de rapidit. Ce n'est que
depuis le dbut des annes 90 que ces algorithmes ont commenc tre utiliss pour
l'optimisation des systmes de production. Depuis, plusieurs quipes de recherche,
franaises et internationales, dveloppent et perfectionnent ces algorithmes des cas de
production trs varis. En France, les quipes de M.C. Portmann l'Ecole des Mines de
Nancy et d'H. Pierreval, l'Institut Franais de Mcanique Avance, sont les initiateurs de
l'utilisation des ces algorithmes en production.
OPTIMISATION
DU SYSTEME DE
PRODUCTION
=
ALGORITHME GENETIQUE
MODELE
DU SYSTEME DE
PRODUCTION
=
SIMULATION DE FLUX
Combinaison de
variables d'entre
Fonction objectif
Figure 4 : Couplage entre Algorithme Gntique et Simulation de Flux
Partie 7 : Optimisation de la production
251
Les quelques rfrences bibliographiques suivantes permettent de se donner une ide
des applications rencontres en production :
- [BERARD 97] propose d'utiliser un algorithme gntique coupl un simulateur de
flux pour optimiser l'ordonnancement d'un atelier de fabrication de semi-conducteurs
et d'un atelier de chimie fine . Dans cet article, un graphique permet de comparer les
diffrentes mthodes d'optimisation en fonction du nombre de produits traiter et du
nombre de machines dont on dispose. Ce graphique fait clairement ressortir que les
algorithmes gntiques sont les seuls pouvoir traiter des problmes de trs grande
taille (70 produits et 20 machines). Ils sont meilleurs que le Recuit Simul (50 produits
et 10 machines) et que les mthodes arborescentes de type Branch and Bounds (15
produits et 15 machines). L'autre intrt de cet article est l'utilisation de la simulation
de flux, couple l'algorithme gntique. Cette liaison entre deux outils est aussi
utilise par [TAUTOU 95], [PARIS 96] et [PLAQUIN 97]. Ce couplage est aussi utilis
dans ce travail de recherche (voir Partie 8).
- [TAUTOU 95] prsente le principe de l'optimisation des systmes de production par
les algorithmes gntiques en s'appuyant sur un exemple concret : la minimisation du
cot de fabrication d'une ligne de fabrication de yaourts avec comme variables
d'entre la taille du silo, la taille de l'entrept, et le choix entre deux mthodes de
fabrication. Plusieurs essais ont t raliss avec des valeurs diffrentes de
probabilit de mutation (entre 0,1 et 0,2) et de taille de population (entre 15 et 30).
Dans ce travail, les auteurs montrent qu'une probabilit de mutation assez forte (0,2)
associe une taille de population importante (30), permettent d'obtenir le cot
minimal en un minimum de gnrations.
- [BONNEVILLE 95] utilise les algorithmes gntiques pour optimiser les gammes
d'assemblage. L'algorithme gntique est utilis la fois pour gnrer des gammes
d'assemblage et pour les valuer. L'algorithme dmarre sur une population initiale de
gammes d'assemblage donnes par un expert. La fonction objectif prend en compte le
nombre de sous-ensembles gnrs par l'algorithme, l'optimisation consiste
minimiser le nombre de sous-ensembles d'une gamme d'assemblage.
- [WELLMAN 95] est l'un des premiers articles proposer l'utilisation des algorithmes
gntiques pour optimiser une ligne d'assemblage automatise asynchrone. Une
comparaison est faite avec la mthode du Quasi-Gradient. Dans ce travail, l'algorithme
gntique est une nouvelle fois coupl un simulateur de flux, et l'optimisation
consiste dterminer la taille des stocks tampons entre 2 machines sur une ligne
comportant 3 machines. La fonction objectif correspond une maximisation du taux de
production (Throughput) en produits assembls par unit de temps. Bien que
l'algorithme gntique utilis ne donne pas de meilleurs rsultats que la mthode du
Quasi-Gradient, il permet, contrairement au Gradient, de proposer plusieurs bonnes
solutions. Le concepteur d'une ligne d'assemblage a donc le choix entre plusieurs
configurations optimales. L'algorithme gntique a aussi l'avantage d'tre entirement
automatique, alors que la mthode du Gradient fonctionne en interaction avec
l'utilisateur. Cette application est assez proche du problme soulev dans ce travail de
Partie 7 : Optimisation de la production
252
recherche, l'exception qu'elle se situe au niveau de la conception d'une ligne
d'assemblage.
- [GROPETTI 97] s'intresse lui aussi l'utilisation des algorithmes gntiques pour
l'optimisation des gammes d'assemblage. La fonction objectif est multicritre et prend
en compte le cot de l'assemblage qui doit tre minimis, le temps de cycle de
l'assemblage qui doit tre minimis, la fiabilit du produit qui doit tre maximise, les
cots de maintenance qui doivent tre minimiss, la reconception ("redesign") du
produit qui doit tre minimise. Les rsultats sont convaincants et l'auteur indique que
son travail peut tre appliqu des tches autres que l'assemblage.
- [KAZEROONI 97] propose d'utiliser un algorithme gntique pour constituer des
familles de pices et des lots de production. La fonction objectif est obtenue en
maximisant le nombre de zro dans une matrice de similarit (MCS) conue par
l'auteur. Les individus de l'algorithme gntique correspondent aux diffrents circuits
possibles que peut suivre une pice.
- [ISLIER 98] prsente un cas de logistique externe et utilise un algorithme gntique
pour optimiser l'implantation de locaux industriels. La fonction objectif prend en
compte 3 critres : minimisation de la charge de transport, maximiser la compacit des
surfaces des locaux, et minimiser la diffrence entre les surfaces demandes et les
surfaces disponibles. Les gains obtenus sont suprieurs de 30% par rapport une
mthode d'optimisation classique (non cite).
- [GERO 98] traite aussi d'un cas d'optimisation de l'implantation de locaux, mais de
type tertiaire (bureaux). Cette application doit pouvoir tre transpose sans trop de
difficult un cas d'implantation industrielle.
- [GAURY 97] utilise un algorithme gntique coupl un simulateur pour tester
plusieurs stratgies de pilotage en flux tir (Kanban , ConWip et Hybride) sur un
modle d'atelier gnrique. L'objectif de ce travail est de dterminer une configuration
optimale en minimisant le nombre moyen de produits en encours. La configuration
optimale trouve par l'algorithme comporte des boucles Kanban seulement en dbut et
fin de ligne, les machines du milieu fonctionnant en flux pouss. Une boucle ConWip
permet en plus de contrler le niveau d'encours.

La principale difficult rencontre avec les algorithmes gntiques est le CODAGE du
problme sous une forme propre la gntique : l'objectif est de pouvoir coder
efficacement chaque solution du problme. Plusieurs possibilits existent :
- Le Codage Binaire des solutions :
C'est la mthode choisie par le crateur des algorithmes gntiques [HOLLAND 75] et
dveloppe ensuite par son lve [GOLDBERG 94, Chap. 2] sous le nom de "Thorie
des Schmas". Cette thorie suggre de prendre les alphabets les plus rduits
possibles pour coder le problme, donc par exemple un codage binaire pour coder des
entiers ou des rels. Ce codage permet de faciliter le conception du croisement entre
les individus. L'inconvnient majeur de ce codage est qu'une petite variation
Partie 7 : Optimisation de la production
253
consistant changer le bit de poids fort correspond une modification importante de
la valeur entire qui est code (quand le codage est de type binaire naturel).

- Le Codage Rel des solutions :
[RENDERS 95, page 67] propose une version des algorithmes gntiques appele
"Algorithmes Gntiques Cods Rels". Ceux-ci semblent tre mieux adapts aux
besoins et aux pratiques industrielles [DAVIS 91] pour la rsolution des problmes
rels. Parmi ces algorithmes gntiques Cods Rels, on distingue une classe
particulire appele "Algorithmes Evolutionnistes" [BEASLEY 98] qui ont la
particularit d'introduire dans le chromosome des gnes supplmentaires reprsentant
les amplitudes des mutations, si bien que ces dernires grandeurs sont elles aussi
optimises dans le processus de recherche. En gnral, ces algorithmes Cods Rels
sont plus pratiques d'emploi, plus rapides et plus prcis que les Algorithmes
Gntiques Codes Binaires [JANIKOW 91].

[RENDERS 95, page 68] a compar ces 2 types de codage et conclut que les
Algorithmes Cods Rels sont bien adapts l'optimisation des problmes industriels
rels.
[DESSALLES 96, chap. 5] fait aussi une comparaison entre ces deux types de
codage. Il note que l'efficacit de l'algorithme et son pouvoir d'invention sont
directement lis au codage. La principale diffrence entre les deux codages se fait
sentir au moment du croisement des chromosomes : un codage binaire prsente un
nombre de SITES de CROISEMENT beaucoup plus important qu'un codage rel.

Exemple :
Soit coder un problme comportant 6 variables entires dont la valeur est comprise
entre 0 et 256 :
Codage Rel : 202 - 17 - 145 - 94 - 224 - 102
Codage Binaire : 11001010 - 00010001 - 10010001 - 01011110 - 11100000 01100110

Dans le cas du codage rel, on dispose de 5 sites de croisement (entre chaque valeur de
variable), alors que dans le cas du codage binaire, il y a 47 sites de croisement possibles.
Le second codage offre donc beaucoup plus de possibilits de recombinaisons
l'algorithme et Dessalles pense qu'il faut proscrire un codage qui considre les variables
comme des entits atomiques que le croisement n'a pas la possibilit de couper.
Encore une fois, deux coles s'opposent avec des arguments solides, mais il est difficile
de faire un choix. A moins de tester les deux possibilits de codage, ce qui augmenterait
encore plus le nombre d'itrations !
Partie 7 : Optimisation de la production
254
Le choix pertinent et scientifique du codage d'un problme d'optimisation par un
Algorithme Gntique semble donc tre une piste de recherche explorer ....

Dans le cas de l'optimisation du systme exprimental, le problme du codage
consisterait donc passer d'une solution compose de plusieurs variables, TiLa(i),
StAm(j), StAv(k), PRio(m), etc..., une structure de donnes correspondant un
chromosome.
Comme on vient de le voir, plusieurs possibilits sont offertes, mais pour les raisons
voques par [RENDERS 95], c'est le codage rel qui semble tre le plus appropri ce
type de problme, avec toutes les rserves mises par Dessalles.
Un dveloppement plus important de l'exploitation d'un algorithme gntique pour
optimiser le systme exprimental est prsent en dtail dans la Partie 8.

Il existe donc plusieurs formes d'Algorithmes Gntiques. Mais ils sont tous constitus
des oprateurs de SELECTION, puis de CROISEMENT puis de MUTATION. Les
diffrences entre les algorithmes gntiques rsident dans le codage du problme
(binaire ou rel), mais aussi dans les mthodes de slection des individus (mthode
probabiliste ou dterministe), dans le mcanisme de croisement des gnes et enfin dans
le taux de mutation.
La Slection peut s'effectuer de diffrentes faons :
- Gnralement elle est ralise partir d'un tirage probabiliste bas sur le principe
de la "Roue de la fortune" dcoupe en secteurs. Chaque secteur correspond
un individu de la population, la superficie de chaque secteur tant proportionnelle
la rponse de la fonction objectif : plus un individu est adapt, plus le secteur qui lui
correspond est grand. C'est la mthode prconise par [HOLLAND 75] et
[GOLDBERG 94] et c'est aussi la plus employe.

Exemple : Cas d'un codage rel du problme et recherche d'un minimum

Individu Chromosome Fonction Obj. = fi Probabilit de slection
1
2
3
4
1 3 5 2 1 8
9 6 1 5 4 3
8 7 6 3 7 5
1 5 9 8 3 2
185
560
101
258
(1 - 101/1104)/3 = 0,303
(1 - 258/1104)/3 = 0,255
(1 - 185/1104)/3 = 0,277
(1 - 560/1104)/3 = 0,164
Somme =1104 Somme =1
Partie 7 : Optimisation de la production
255
On obtient donc une roue de la fortune dcoupe en 4 secteurs (pourcentages
arrondis la valeur entire) :
Pour raliser la slection, il suffit de faire "tourner" la roue de la fortune autant de
fois qu'il y a d'individus dans une population. Comme on le voit sur l'exemple,
l'individu 3 qui a la meilleure fonction objectif, se voit attribuer une portion plus
importante de la roue. Si la loi de distribution est rpartie uniformment de 0 1,
chaque tirage une probabilit de 0,303 de tomber sur le secteur qui correspond
l'individu 3. De cette faon, les individus bien adapts ont un plus grand nombre de
chances d'tre utiliss pour la reproduction de la gnration suivante.

- D'autres possibilits de slection existent. Pour viter qu'un individu trop
parfait ne constitue presque exclusivement la gnration suivante, et afin de
prserver une certaine diversit, il est possible de procder un changement
d'chelle statique ou dynamique, linaire ou exponentiel de la fonction objectif
[BAKER 85]. On peut aussi dcider de ne slectionner qu'une partie de la
population en fonction d'un taux de slection [DAVID 91]. La stratgie litiste
[GOLDBERG 1994, page 131] consiste quant elle conserver le meilleur
individu d'une gnration et le reproduire tel quel pour la gnration suivante
(clonage).

Le Croisement a pour objectif de recombiner les chromosomes d'une paire d'individus
slectionns (les parents) afin de crer une nouvelle paire d'individus (les enfants).
Plusieurs mthodes de croisement existent :
- Le croisement simple dans lequel un seul site de croisement est choisi.



1
28%
2
16%
3
30%
4
26%
Figure 5 : Slection par roue de la fortune
Partie 7 : Optimisation de la production
256
Exemple : (voir figure 6)
On suppose que les quatre tirages de la roue de la fortune ont slectionn deux
individus N3, un individu N1 et un individu N4 (l'individu N2 est donc limin
pour le croisement).
On commence par "marier" au hasard les individus slectionns. Par exemple
l'individu N1 avec un des deux individus N3, et l'individu N4 avec le second
individu N3.
On dtermine ensuite alatoirement un site de croisement et on croise les
chromosomes des deux parents pour obtenir les chromosomes des deux enfants
de la gnration suivante.


- Le croisement double et plus gnralement plusieurs sites, qui permet
d'changer des morceaux de chromosomes compris entre deux sites de
croisement.
- Le croisement moyenn qui propose de calculer la moyenne de certains gnes
choisis au hasard chez les deux parents.
- Le croisement multiparental, qui consiste combiner les gnes de plus de deux
parents en utilisant par exemple la mthode du simplexe pour orienter la
recombinaison [RENDERS 96, page 70].

La Mutation permet de transformer au hasard le codage d'un individu afin d'apporter une
certaine diversit dans la population et empcher que celle-ci converge trop vite vers un
seul type d'individu parfait, incapable de sortir d'un minimum local. La mutation est
ralise en modifiant un gne d'un individu pris au hasard. L'amplitude de la modification
peut elle mme tre dtermine alatoirement ou correspondre une valeur fixe. Trs
site de croisement
2
3
8
33
site de croisement
Individu N3 8 7 6
Individu N4
Individu N3 8 7 6
1 5 9
PARENTS
Individu N1 1 3 5
7 5
7 5
3 2
1 8
7 8 2 5 1 8
3 33 8 7 6
8 1 5 9 7
2
5
5
ENFANTS
3 6 7 1 33 1
Figure 6 : Croisement simple
Partie 7 : Optimisation de la production
257
couramment, la mutation consiste rajouter + ou - 1 la valeur d'un gne, suivant une
probabilit de mutation qui est en gnral assez faible : comprise entre 0,001 et 0,005.
[GOLDBERG 94, page 17] indique que l'oprateur de mutation joue un rle secondaire
dans la mise en uvre des Algorithmes Gntiques, mais qu'il est cependant ncessaire
pour viter une perte de matire gntique.


Prsentation d'un Algorithme Gntique en pseudo-code (minimisation de f) :

Dbut
Cration alatoire d'une population de k individus
! k paramtre de l'algorithme dtermin empiriquement
Rpter
Evaluation de la fonction objectif f de chaque individu
Slection des meilleurs individus
! plusieurs processus de slection possibles
Reproduction/croisement entre deux individus
slectionns
! obtention des deux enfants issus des deux gnes slectionns
! plusieurs types de croisement possibles
Mutation : transformation alatoire d'un lment d'un
gne d'un des individus de la population
! permet de ne pas rester dans un minimum local
Jusqu' condition d'arrt
! plusieurs types de condition d'arrt

Fin






Partie 7 : Optimisation de la production
258


Conclusion


Lors des exprimentations ralises dans la partie 6, nous avons pu constater les
difficults qu'il y a optimiser un systme de production qui comporte de nombreuses
variables de pilotage. Une optimisation base uniquement sur l'utilisation de relations
thoriques et de rgles exprimentales n'est pas suffisante pour traiter des cas
complexes.
Dans cette partie, nous avons donc prsent le principe de l'utilisation d'un algorithme
d'optimisation coupl un modle de simulation de flux. Comme on l'a vu dans la partie
4 puis dans la partie 6, le modle de simulation d'un systme de production, une fois qu'il
est valid, ragit comme une "bote noire" : il reoit en entre des variables de pilotage, il
fournit en sortie des variables d'analyse, dfinies par l'utilisateur. Utilis seul, le modle
de simulation ncessite donc d'tre "aliment" par des combinaisons des variables de
pilotage de faon rptitive par l'utilisateur, comme cela a t fait dans la partie 6. Pour
des cas simples, o le nombre de variables et de combinaisons est faible, on peut, grce
au temps de rponse trs court de la simulation, simuler de faon exhaustive toutes les
combinaisons. Par contre, ds que le nombre de combinaisons devient important, il n'est
plus question d'utiliser cette dmarche. C'est dans ce cas de figure qu'il devient
intressant d'utiliser un algorithme d'optimisation.
Parmi tous les algorithmes d'optimisation, nous avons limin ceux qui ncessitent une
modlisation mathmatique du problme, pour ne retenir que les algorithmes de
recherche approche. Nous avons dmontr que l'utilisation d'un algorithme de recherche
locale, tel que l'algorithme de la descente stochastique, bien que simple programmer,
prsente des risques de blocage dans un minimum local. Si la fonction objectif est
fortement "bruite", avec de nombreux "pics" et "creux", ce type d'algorithme peut se
retrouver pig sur une solution trs loigne d'une "bonne" solution. Nous avons donc
orient notre choix sur les algorithmes de recherche globale base d'heuristiques, et en
particulier sur les algorithmes gntiques. Dans la littrature, ils sont souvent compars
l'algorithme du Recuit simul et l'algorithme de recherche Tabou, mais nous les avons
choisis car ils semblent tre plus efficaces pour traiter des problmes de grande taille.
Leurs principaux avantages par rapport au Recuit Simul ou la recherche Tabou est
qu'ils explorent plusieurs solutions en parallle et qu'ils sont trs "flexibles" : on peut les
adapter facilement au cas traiter.
Dans la partie 8, nous allons donc dvelopper et appliquer ces algorithmes gntiques
sur la ligne exprimentale, dans le but de crer un outil d'optimisation coupl la
simulation.