cadre décisionnel basé sur la simulation et …...cadre décisionnel basé sur la simulation et...
TRANSCRIPT
Cadre décisionnel basé sur la simulation et
l’optimisation pour résoudre le problème générique
de la recherche de la meilleure combinaison de
scénarios Applications pour la prise de décisions complexes
Thèse
Jean Wéry
Doctorat en génie mécanique
Philosophiae doctor (Ph.D.)
Québec, Canada
© Jean Wéry, 2017
Cadre décisionnel basé sur la simulation et
l’optimisation pour résoudre le problème générique
de la recherche de la meilleure combinaison de
scénarios Applications pour la prise de décisions complexes
Thèse
Jean Wéry
Sous la direction de :
Jonathan Gaudreault, directeur de recherche
André Thomas, codirecteur de recherche
iii
Résumé
Lorsque le temps est manquant, la simulation-optimisation est une méthode très utilisée
pour déterminer le « meilleur » scénario possible. En contexte manufacturier, on peut
vouloir déterminer les paramètres de production qui vont maximiser la productivité d’une
ligne de production. Le nombre de scénarios possibles (représentant différentes
configurations possibles de la ligne) étant souvent très grand, tous les scénarios ne peuvent
être simulés. La simulation-optimisation permet de trouver un « bon » scénario, i.e. le
scénario donnant les meilleurs résultats par rapport à des critères définis (ici, la
productivité) dans un contexte où le temps ne permet pas de simuler toutes les possibilités.
Dans le cas où l’on cherche à déterminer la productivité combinée de plusieurs lignes de
production, on cherche alors plusieurs scénarios qui, conjointement, vont maximiser ce
critère, i.e. la « meilleure combinaison » de scénarios. Or, lorsqu’on recherche le meilleur
ensemble de scénarios et non le meilleur scénario, les méthodes classiques s’appliquent
difficilement. À notre connaissance, le problème de la recherche de la meilleure
combinaison de scénarios n’a pas été introduit formellement dans la littérature. Cette thèse
propose une définition formelle de ce problème et un cadre pour le résoudre.
Le cadre proposé utilise la simulation dans le but d’évaluer des scénarios. L’optimisation
est ensuite utilisée pour déterminer la meilleure combinaison de scénarios. Le nombre de
scénarios à simuler est tel qu’il n’est pas possible de tous les évaluer. Nous proposons aussi
d’utiliser certaines méthodes de recherche dans les arbres, issues de la programmation par
contraintes pour déterminer quels scénarios devraient être évalués en premier.
La pertinence du cadre est démontrée par son application à travers plusieurs problèmes
industriels.
La première application s’attarde à résoudre des problèmes de planification tactique liés à
l’industrie du bois d’œuvre nord-américaine. Cette dernière fabrique presque exclusivement
des produits de commodité (c’est-à-dire des produits aux dimensions et propriétés standards
destinés à la construction). Il arrive que certains clients veuillent aussi des produits avec des
caractéristiques spécifiques. Le contexte manufacturier actuel ne permet pas au scieur de
iv
connaître le panier de produits global qui découlera de l’introduction d’un nouveau produit.
En effet, du fait de la divergence des flux et de la co-production associées à la
transformation de la matière première en scierie, l’ajout d’un autre produit à fabriquer
entraîne des répercussions sur l’ensemble du panier de produits. Nous proposons donc
d’utiliser le cadre pour intégrer à la planification tactique la demande pour des produits
spécifiques jamais fabriqués auparavant. Le cadre utilise un simulateur de débitage de billes
couplé à un modèle de planification pour réaliser un plan. Ce dernier permet au décideur
d’évaluer quelles demandes pour des produits sur mesure devraient être acceptées, quoi
produire et quand, ainsi que les paramètres de l'équipement à utiliser et la matière première
à acheter/consommer à chaque période.
La seconde application du cadre présentée dans cette thèse a pour but d’améliorer les
décisions prises par un système de découpe de bois de plancher soumis à de fortes
contraintes de production. La découpe d’un ensemble d’images de planches provenant de
productions passées est simulée pour différentes configurations du système. Une base de
données caractérisant la production attendue pour chaque configuration est ainsi générée.
Le simulateur est le système réel utilisé « hors-ligne ». À partir des informations obtenues,
nous établissons ensuite un horaire de production en utilisant un modèle d’optimisation
linéaire maximisant la valeur attendue de la production. L’horaire permet de définir
comment configurer le système de découpe tout au long de la production.
Le cadre peut aussi être appliqué pour résoudre d’autres problèmes du même type comme,
par exemple, pour la conception d’usines en réseau dans une chaîne logistique.
Enfin, pour illustrer et vérifier la pertinence de l’utilisation de certaines méthodes de
recherche dans les arbres pour déterminer l’ordre d’évaluation des scénarios, la démarche
est appliquée au problème de découpe de bois de plancher mentionné préalablement.
L’étude réalisée montre que les méthodes issues de la programmation par contraintes
pourraient se révéler efficaces pour résoudre ce type de problèmes. En effet, la méthode
Limited Discrepancy Search (LDS) obtient des résultats très semblables à une heuristique
spécialement élaborée pour le cas étudié. Or LDS est une méthode générique et pourrait
s’appliquer à d’autres cas.
v
Table des matières Résumé .................................................................................................................................. iii
Liste des tableaux ................................................................................................................ viii
Liste des figures ..................................................................................................................... ix
Liste des abréviations ............................................................................................................ xi
Remerciements .................................................................................................................... xiii
Avant-propos ........................................................................................................................ xv
1. Introduction .................................................................................................................... 1
2. Concepts préliminaires ................................................................................................... 6
2.1. La simulation, l’optimisation et leurs combinaisons ............................................... 6
2.1.1. L’optimisation .................................................................................................. 6
2.1.2. La simulation .................................................................................................... 8
2.1.3. Combiner la simulation et l’optimisation ....................................................... 15
2.2. La simulation-optimisation classique .................................................................... 19
2.2.1. Définition ........................................................................................................ 20
2.2.2. Formulation générale ...................................................................................... 21
2.2.3. Principales techniques de simulation-optimisation ........................................ 24
3. Le problème de la recherche de la meilleure combinaison : Description du cadre
décisionnel proposé .............................................................................................................. 30
3.1. Description du problème ........................................................................................ 30
3.2. Présentation du cadre conceptuel ........................................................................... 31
3.3. Présentation des applications potentielles .............................................................. 33
3.3.1. Niveau stratégique .......................................................................................... 33
3.3.2. Niveau tactique ............................................................................................... 35
3.3.3. Niveau opérationnel ........................................................................................ 35
3.4. Conclusion ............................................................................................................. 37
4. Application du cadre au niveau tactique....................................................................... 38
4.1. Introduction ............................................................................................................ 39
4.2. Preliminary concepts .............................................................................................. 40
4.2.1. The lumber industry ....................................................................................... 40
4.2.2. Tactical planning and optimisation models .................................................... 42
4.2.3. Current limits of tactical planning approaches ............................................... 43
vi
4.2.4. Log breakdown simulation ............................................................................. 44
4.2.5. The use of simulation and optimisation in the forest products industry ......... 45
4.2.6. Simulation-optimisation in classical context .................................................. 46
4.3. Simulation-optimisation based framework for scenario combinations selection .. 48
4.4. Application of the framework to the softwood lumber industry ........................... 49
4.5. Industrial case study ............................................................................................... 53
4.5.1. Case study context description ....................................................................... 53
4.5.2. Results and discussion .................................................................................... 56
4.6. Conclusion ............................................................................................................. 58
5. Application du cadre au niveau opérationnel ............................................................... 60
5.1. Introduction ............................................................................................................ 61
5.2. Preliminary concepts .............................................................................................. 63
5.2.1. Hardwood flooring transformation process .................................................... 63
5.2.2. Drawbacks of the current industrial approach ................................................ 64
5.2.3. Planning approaches ....................................................................................... 65
5.2.4. Simulation approaches .................................................................................... 66
5.3. Proposed approach based on simulation and optimization .................................... 67
5.3.1. Training phase ................................................................................................ 68
5.3.2. Exploiting phase ............................................................................................. 69
5.3.3. Linear programming model ............................................................................ 71
5.4. Experiments ........................................................................................................... 73
5.4.1. Production value ............................................................................................. 75
5.4.2. Constraints violations ..................................................................................... 76
5.5. Conclusion ............................................................................................................. 78
6. Résolution du problème en contexte de temps manquant ............................................ 80
6.1. Introduction ............................................................................................................ 81
6.2. La simulation-optimisation en contexte classique ................................................. 82
6.2.1. Forme générale d’un problème de simulation-optimisation classique ........... 83
6.2.2. Techniques utilisées en simulation-optimisation classique ............................ 85
6.3. Le problème de recherche de la meilleure combinaison de scénarios ................... 88
6.4. Présentation du cas d’étude .................................................................................... 90
vii
6.5. Représenter l’espace des configurations possibles sous la forme d’un arbre ........ 91
6.6. Application de la méthode ..................................................................................... 95
6.6.1. Expérimentation ............................................................................................. 95
6.6.2. Résultats ......................................................................................................... 97
6.7. Conclusion ........................................................................................................... 100
7. Conclusion .................................................................................................................. 101
7.1. Application du cadre ............................................................................................ 101
7.1.1. Prise en compte des produits sur mesure dans la planification tactique des
scieries de bois d’œuvre nord-américaines ................................................................. 101
7.1.2. Confection d’horaires pour améliorer le pilotage d’un système de découpe de
bois de plancher .......................................................................................................... 102
7.2. Définition d’une méthode générique de choix de scénarios à simuler ................ 103
7.3. Limites, perspectives et transferts aux industriels ............................................... 104
Références .......................................................................................................................... 107
viii
Liste des tableaux
Table 1: Evaluated scenarios ................................................................................................ 74
Table 2: Average results for 50 replications and improvement in comparison with
Scenario A (95% confidence level) ...................................................................................... 75
Table 3: Percentage of finished products that do not respect one of the pair of constraints
(average results, 95% confidence level) ............................................................................... 77
Tableau 1. Résultats des différentes optimisations/simulations pour chaque couple
Algorithme/Heuristique ........................................................................................................ 98
ix
Liste des figures
Figure 1 : Structure de la thèse ............................................................................................... 5
Figure 2 : Matrice d'expériences pour un plan factoriel complet 2k avec trois facteurs ....... 14
Figure 3 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
pour évaluer les résultats de l’optimisation (1) .................................................................... 16
Figure 4 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
pour créer et transmettre des données nécessaires à l’optimisation (2) ................................ 16
Figure 5 : Une interaction entre la simulation et l’optimisation : l’optimisation est utilisée
lors de la simulation (3) ........................................................................................................ 16
Figure 6 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
lors de l’optimisation (4) ...................................................................................................... 16
Figure 7 : Principe de fonctionnement des méthodes de simulation-optimisation, adapté de
Fu [57] .................................................................................................................................. 21
Figure 8 : Principe de fonctionnement détaillé des méthodes de simulation-optimisation .. 23
Figure 9 : Utilisation courante des techniques de simulation-optimisation, adaptée de
Barton et Meckesheimer [63] et de Jalali et Van Nieuwenhuyse [52] ................................. 29
Figure 10 : Principe de fonctionnement de la méthode proposée......................................... 32
Figure 11 : Matrice reprenant certains types de décisions classiques selon le niveau de
planification, adaptée de Fleischmann et al. [78] ................................................................. 33
Figure 12 : Example of a production matrix, adapted from Gaudreault et al. [86] .............. 41
Figure 13 : Example of a cutting pattern for a log after simulation using Optitek software 45
Figure 14 : Operating principle of simulation-optimisation methods .................................. 48
Figure 15 : Operating principle of the proposed method...................................................... 49
Figure 16 : Operating principle of the proposed framework when applied to the lumber
market tactical planning problem ......................................................................................... 50
Figure 17 : Inputs and outputs of the optimisation model .................................................... 51
Figure 18 : Product prices forecasts for the planning horizon .............................................. 54
Figure 19 : Results of the tactical planning .......................................................................... 56
Figure 20 : Volume of products sold .................................................................................... 57
Figure 21 : Plan value improvement results for several demands compared to the initial
plant configuration plan value (Plan A) ............................................................................... 58
Figure 22 : Current hardwood cutting process ..................................................................... 63
Figure 23 : Using the system offline to create an expected production database ................. 68
Figure 24 : Making and executing the production schedule established using information
learned during the training/simulation phase ....................................................................... 70
Figure 25 : Improvement of production value (in $/year) for each scenario according to the
rescheduling policy (95% confidence level). Scenario A is provided as a base case and
Scenario C is the maximum theoretical bound ..................................................................... 78
x
Figure 26 : Principe de fonctionnement des méthodes de simulation-optimisation, adapté de
Fu [57] .................................................................................................................................. 83
Figure 27 : Méthode pour évaluer et déterminer la « meilleure » conception d’une usine .. 85
Figure 28 : Recherche de la meilleure combinaison de scénarios pour la conception de
plusieurs usines dans un réseau ............................................................................................ 89
Figure 29 : Arbre de recherche pour le problème de configuration d’usine de bois de
plancher ................................................................................................................................ 91
Figure 30 : Ordre des feuilles visitées par LDS pour un arbre de profondeur 4 .................. 93
Figure 31 : Principe de fonctionnement du cadre avec l’utilisation de méthodes issues de la
programmation par contraintes ............................................................................................. 95
Figure 32 : Valeur annualisée de la production en fonction des stratégies utilisées ............ 99
xi
Liste des abréviations
APICS : American Production and Inventory Control Society
CRIQ : Centre de Recherche Industrielle du Québec
DBDFS : Discrepancy-Bounded Depth First Search
DDS : Depth-bounded Discrepancy Search
DFS : Depth First Search
ERP : Enterprise Resource Planning
IDFS : Interleaved Depth-First Search
KPI : Key Performance Indicator
LDS : Limited Discrepancy Search
MIP : Mixed Integer Programming
NLGA : National Lumber Grades Authority
PIC : Plan Industriel et Commercial
PPC : Programmation Par Contraintes
SAGE : Système d’Acquisition Générique
S&OP : Sales and Operations planning
YIELDS : Yet Improved LDS
xii
À ma maman, Paquita, partie si tôt…
À ma femme, Zuzanna et mes enfants, Stanislaw, Jan, Jozef, …
xiii
Remerciements
En tout premier lieu, j’aimerais remercier le professeur Jonathan Gaudreault qui a dirigé ces
recherches. Je n’aurais jamais entrepris ce programme de doctorat sans sa grande séduction
qui a parfaitement fonctionné. Vous avez cru en moi et m’avez guidé tout au long de ce
doctorat en étant toujours à mon écoute autant sur le plan professionnel que personnel, je
vous en remercie sincèrement.
Ce travail n’aurait jamais pu voir le jour sans le professeur André Thomas qui a codirigé
cette thèse. Vos conseils avisés et votre grande connaissance du domaine de la planification
et de l’industrie forestière française ont grandement alimenté nos réflexions. Vous m’avez
fait confiance pendant toute la durée de mes études graduées. Je vous en remercie
grandement.
J’aimerais aussi remercier tout spécialement Philippe Marier, professionnel de recherche au
consortium de recherche FORAC. Son expertise, son professionnalisme et son amitié ont
été fortement appréciés tout au long de ce doctorat.
Mes remerciements vont aussi aux professeurs Nadia Lehoux et Angel Ruiz pour leurs
conseils et avis lors des différentes étapes qui jalonnent ce programme de doctorat, au
professeur Bernard Gendron, pour avoir accepté d’évaluer cette thèse et pour ses
commentaires très pertinents. Un grand merci également au professeur Claude-Guy
Quimper pour ses commentaires et ses explications, en particulier sur les méthodes de
programmation par contraintes.
Je n’aurais pu entreprendre ce travail sans l’aide logistique de Catherine Lévesque et du
professeur Luc Lebel, et je vous en remercie.
Une partie de mon projet a été réalisée en étroite collaboration avec le Centre de Recherche
Industrielle du Québec (CRIQ). Mes remerciements vont à Corinne Chabot pour m’avoir si
bien accueilli et tant appris sur le fonctionnement du système SAGE ainsi qu’à François
Gingras et toute l’équipe du CRIQ.
xiv
Je tiens aussi à remercier toute l’équipe du FORAC pour leur aide et les différents moments
partagés tout au long de mon parcours universitaire.
Il ne faudrait pas que j’oublie de remercier Zosia, Foroogh, et Ludwig pour tous ces bons
moments partagés ensemble; Wassim, Maha, Marc-André, Yassine, Michael, Jean
Bouchard ainsi que tous les autres étudiants du FORAC (et la liste est longue) pour votre
aide et pour vos conseils précieux. J’ai vraiment apprécié communiquer et échanger avec
vous tous, et cela m’a permis d’avancer tant sur le plan personnel que « professionnel »…
Ce fut un réel plaisir que de vous avoir comme collègues!
Un grand merci à toute ma famille, en particulier à toi Grand-Mère, qui m’a donné ce goût
d’Apprendre, à ma mère et à mes frères et sœurs qui m’ont toujours soutenu dans toutes
mes décisions, à Tata Fred et son amour pour le Canada, sans qui nous n’aurions sûrement
pas pris cette décision un peu folle, que de quitter notre vie bien établie pour ces horizons
outre-Atlantique.
Last but not least, Zuzanna, moja Ukochana, Stanislaw, Jan et Jozef, mes enfants chéris,
vous avez été des moteurs qui m’ont poussé à me dépasser. Je ne vous remercierais jamais
assez d’être là pour moi, je ne saurais être ce que je suis sans vous.
Un grand MERCI à tous, cette thèse est l’achèvement d’un long travail qui n’aurait
sûrement pu voir le jour sans votre collaboration.
xv
Avant-propos
Le travail présenté dans cette thèse a été réalisé sous la direction de Jonathan Gaudreault,
professeur à l’Université Laval, et la codirection d’André Thomas, professeur à l’Université
de Lorraine (France). Il s’inscrit dans le programme de recherche du Consortium de
Recherche FORAC et a été en partie financé par le Centre de Recherche Industrielle du
Québec (CRIQ) via le programme MITACS.
Deux articles sont présentés dans cette thèse pour lesquels j’ai agi à titre de chercheur
principal dans le développement de la méthodologie proposée, la récolte des données,
l’analyse et la validation des résultats ainsi que la rédaction du manuscrit. Le premier est
une version étendue d’un article présenté lors de la Winter Simulation Conférence
(WinterSim) en 2015. Il s’intitule Designing a hardwood cutting system integrating
simulation-based learning and optimization et a été soumis en septembre 2016 au journal
Computers in Industry (Chapitre 5). Il a été écrit sous la supervision de Jonathan
Gaudreault et d’André Thomas, et avec la collaboration de Corinne Chabot et Philippe
Marier. Le second est une version étendue d’un article présenté lors de la 10ème conférence
internationale on Modeling, Optimization & Simulation (MOSIM) en 2014. Il s’intitule
Simulation-optimisation based framework for Sales and Operations planning taking into
account new products opportunities in a co-production context et a été soumis au journal
Computers in Industry en mars 2017 (Chapitre 4). Il a été écrit sous la supervision de
Jonathan Gaudreault et d’André Thomas, et avec la collaboration de Philippe Marier.
De plus, un troisième article devrait être prochainement soumis qui étend l’article présenté
lors de la Conférence Internationale de Génie Industriel en mai 2017. Certains de ces
résultats sont présentés dans ce document (Chapitre 6).
Les travaux présentés dans cette thèse ont fait l’objet de nombreuses communications lors
de colloques et de conférences.
xvi
Les communications reliées au premier article sont les suivantes :
Wéry J. (2017). Pilotage d’un système de découpe de bois de plancher grâce à la
simulation et l’optimisation. Expo-conférence Forac 2017, Université Laval, Québec,
Canada.
Wéry J., Gaudreault J., Thomas A., Chabot C., Marier P. (2016). Simulations
intensives pour générer les données nécessaires à l’optimisation de la production de
bois de plancher. Colloque Big data 2016, Université Laval, Québec, Canada.
[Poster]
Wéry J., Gaudreault J., Chabot C., Marier P., Thomas A. (2016). Réalisation
d’horaires de production via simulation et optimisation pour la découpe de bois de
plancher. Journées de l’optimisation 2016, HEC Montréal, Montréal, Canada.
Wéry J., Gaudreault J., Chabot C., Marier P., Thomas A. (2016). Simulation et
optimisation pour améliorer la découpe du bois de plancher. Conférence du
CIRRELT, Université Laval, Québec, Canada. [Poster]
Wéry J. (2016). Amélioration d’un processus de découpe de bois de plancher. Expo-
conférence Forac 2016, Université Laval, Québec, Canada.
Wéry J. (2016). Amélioration d’un processus de découpe de bois de plancher. Info-
Forac janvier 2016, vol. 13-1.
Wéry J., Marier P., Gaudreault J., Chabot C., Thomas A. (2015). Improving a
hardwood flooring cutting system through simulation and optimization. Winter
Simulation Conference 2015 (WinterSim), Huntington Beach, USA.
Wéry J. (2015). Improving a hardwood flooring cutting system through simulation
and optimization. Ph. D. Colloquium, Winter Simulation Conference 2015
(WinterSim), Huntington Beach, USA.
Gaudreault J., Thomas A., Wéry J., Marier P. (2015). Improving the optimization
model of a cutting system for hardwood flooring. CORS/INFORMS international
conference 2015, Montréal, Canada.
Les communications reliées au second article sont les suivantes :
Wéry J., Thomas A., Gaudreault J., Marier P. (2015). Decision making framework
for tactical planning taking into account lumber market opportunities.
CORS/INFORMS international conference 2015, Montréal, Canada.
Wéry J. (2015). Aide à la décision pour l’intégration de nouveaux produits et de
nouveaux fournisseurs. Expo-conférence Forac 2015, Université Laval, Québec,
Canada.
Wéry J. (2015). Évaluation d’opportunités liées au marché du bois d’œuvre. Info-
Forac janvier 2015, vol. 12-1.
Wéry J., Marier P., Gaudreault J., Thomas A. (2014). Decision-making
framework for tactical planning taking into account market opportunities (new
products and new suppliers) in a co-production context. 10th International Conference
on Modeling, Optimization and SIMulation (MOSIM 2014), Nancy, France.
xvii
Wéry, J. (2014) Prise en compte des opportunités de marché (nouveaux produits et
nouveaux fournisseurs) lors de la planification intégrée des ventes et de la
production. Conférence du CIRRELT, Université Laval, Québec, Canada. [Poster]
Enfin, les résultats du chapitre 6 ont été présentés lors d’une seule conférence :
Wéry J., Gaudreault J., Chabot C., Thomas A., Quimper C.-G., Marier P.
(2017). Recherche de la meilleure combinaison de scénarios en simulation-
optimisation. Congrès International de Génie Industriel (CIGI 2017), Compiègne,
France.
1
1. Introduction
En industrie, de nombreux outils sont à la disposition des décideurs pour les aider dans
leurs prises de décision. Certains problèmes les amènent à utiliser des techniques de
simulation, d’optimisation ou encore leurs combinaisons. L’optimisation, par exemple, va
être utilisée pour trouver le meilleur plan ou la meilleure façon de piloter un système. La
simulation, elle, peut aider un décideur à connaître les réactions d’un système à certains
facteurs (ou à des stratégies de production) sans avoir à réaliser d’essais physiques (qui
seraient souvent trop coûteux, voire impossibles). Combiner ces techniques permet
généralement d’utiliser leurs atouts (leurs points forts) tout en diminuant les contraintes et
les inconvénients de chacune. Il existe plusieurs façons de combiner ces techniques, dont la
simulation-optimisation. Cette dernière est utilisée lorsque le temps disponible ne permet
pas de simuler toutes les alternatives (scénarios) possibles. Les méthodes de simulation-
optimisation utilisent la simulation pour évaluer un scénario1. Elles se basent ensuite sur ce
résultat pour trouver le prochain scénario à simuler, celui qui potentiellement serait
meilleur que le scénario actuel. Chaque scénario peut être « classé » en fonction d’un ou
plusieurs critères définis (score) pour, finalement, déterminer quel est le meilleur scénario
(celui qui maximise ou minimise le ou les critères définis) parmi tous les scénarios simulés
dans le temps imparti. Cependant, les méthodes de simulation-optimisation ne s’adaptent
pas à tous les contextes. Le problème de la recherche de la meilleure combinaison de
scénarios en est un exemple. Dans ce cas, ce n’est pas le meilleur scénario qui est
recherché, mais une combinaison de scénarios donnant le meilleur résultat. On cherche un
ensemble de scénarios qui, conjointement, maximisent un ou plusieurs critères. Cette
situation se présente lorsque le simulateur utilisé ne permet pas de simuler directement une
combinaison de scénarios. En effet, il arrive par exemple que deux modèles de simulation
distincts permettant d’évaluer la performance de deux lignes de production existent (et qu’il
est donc possible de modifier les configurations de chacune). Il peut être nécessaire
d’évaluer la performance conjointe des deux lignes sans pour autant qu’il soit possible de
combiner les deux modèles de simulation. Le but est donc de trouver la meilleure
1 Dans cette thèse, le terme scénario est utilisé en référence à un ensemble de paramètres de simulation qui
correspondent à une configuration particulière du système simulé. Lorsque l’un de ces paramètres est modifié,
nous aurons affaire à un autre scénario de simulation.
2
combinaison de scénarios. De plus, il peut être impossible de simuler toutes les possibilités
pour chaque modèle de simulation, car le temps disponible ne le permet pas. Il faut donc
évaluer seulement un petit nombre de scénarios dans un temps donné. Seulement, les
méthodes de simulation-optimisation classiques ne peuvent être utilisées. En effet, les
méthodes de simulation-optimisation classiques se basent généralement sur l’évaluation du
résultat, le score (qui peut être mesuré par rapport à plusieurs critères simultanément),
d’une simulation (e.g. la performance d’une usine). Cependant, dans le cas de la recherche
de la meilleure combinaison de scénarios, ce sont des ensembles de scénarios qui sont
évalués et comparés par l’entremise de l’optimisation pour trouver le meilleur d’entre eux.
Nous ne sommes donc pas en mesure d’obtenir directement le score associé à une
simulation. Or, en simulation-optimisation classique, à partir de ces scores, les scénarios de
simulation sont analysés pour déterminer la prochaine alternative à évaluer. Cela est
difficilement applicable pour la recherche de la meilleure combinaison de scénarios.
Cette thèse a pour but de fournir un cadre permettant de trouver la meilleure combinaison
de scénarios de simulation. Pour ce faire, ce document introduit le concept du problème de
la recherche de la meilleure combinaison de scénarios, en donne une définition formelle,
présente certaines applications potentielles et propose une méthode générique pour définir
l’ordre dans lequel les scénarios devraient être simulés.
Dans un premier temps, les méthodes classiques de simulation, d’optimisation ainsi que
leurs combinaisons sont introduites et définies (chapitre 2). Une attention particulière est
portée sur la simulation-optimisation, technique sur laquelle se base le cadre proposé.
Ensuite, le problème de la recherche de la meilleure combinaison de scénarios est défini, le
cadre est présenté et plusieurs applications potentielles reliées à la planification sont
décrites (chapitre 3). Le cadre proposé est particulièrement adapté pour supporter la prise
de décision lorsque l’outil de simulation disponible ne permet pas de simuler directement
une combinaison de scénarios. Le cadre est donc utilisé pour résoudre deux problèmes de
planification.
Le premier problème traité (chapitre 4) concerne la planification tactique pour une scierie
de bois résineux dans le contexte nord-américain. Cette industrie produit majoritairement
des produits de commodités (très standards). Le procédé de transformation du bois est lui
3
caractérisé par de la co-production et un flux divergent (i.e. à partir d’une bille, plusieurs
produits sont obtenus en même temps). Il arrive parfois que des clients aient besoin de
grandes quantités de produits sur mesure. Les manufacturiers ne sont pas en mesure de
décider de façon adéquate s’ils devraient accepter ou non une demande de ce type. En effet,
du fait de la co-production et du flux divergent, l’introduction d’un nouveau produit à
réaliser engendre un changement dans les quantités produites des autres produits. Un
produit sur mesure peut donc paraître très rentable lorsque l’on regarde son prix unitaire,
mais peut modifier le panier de produits global de telle façon que sa production pourrait
engendrer des pertes de profit. Il existe néanmoins des outils de simulation qui permettent
de simuler la découpe des billes et ainsi de connaître le panier de produits qui en découle.
Nous proposons donc d’utiliser le cadre pour réaliser la planification tactique d’une scierie
à partir de ces résultats de simulation. Les expérimentations réalisées montrent que l’ajout
d’un produit sur mesure influence très fortement l’ensemble de la production. L’acceptation
d’une telle commande et la fabrication d’un même produit peuvent générer des revenus
additionnels à une certaine période de l’année et engendrer une perte à une autre. Le cas
d’étude montre qu’il peut aussi être très coûteux pour une compagnie d’accepter une telle
demande qui peut a priori sembler payante. Néanmoins, l’outil proposé permet de quantifier
l’impact de la réalisation de cette commande, d’aider l’entreprise à déterminer le bon prix
et de trouver la matière première la plus adaptée pour le fabriquer.
La seconde utilisation du cadre présentée dans cette thèse (chapitre 5) concerne la
génération d’horaires de production pour une usine de bois de plancher. La simulation est
utilisée pour évaluer différentes configurations-machines et l’optimisation pour générer un
horaire indiquant comment doit être configuré l’appareil de production et pendant combien
de temps. Le cadre est donc appliqué à la résolution d’un problème concret. La méthode est
évaluée à l’aide de données industrielles et comparée à l’approche actuellement utilisée
pour piloter les systèmes de découpe de bois de plancher. L’approche proposée est
beaucoup plus efficace que l'approche originale. Ainsi, il est possible de récupérer jusqu'à
54% de la valeur perdue avec les systèmes industriels actuels. Les résultats montrent aussi
une amélioration moyenne de l’ordre de 100 000 $ par an pour une usine moyenne de bois
de plancher.
4
Pour les deux cas présentés, l’ordre dans lequel les scénarios ont été simulés (et donc la
définition de l’ensemble des scénarios qui a pu être simulé dans le temps imparti) a été
défini grâce à des heuristiques ad hoc, spécialement conçues pour chaque application. Dans
le chapitre 6, nous proposons de vérifier si l’utilisation de méthodes issues de la
Programmation Par Contraintes (PPC) pourrait être pertinente pour ordonner les scénarios.
En effet, certains algorithmes couramment utilisés en PPC nous permettent de prioriser les
scénarios qui devraient être simulés. Nous pensons que leur application pour déterminer
l’ordre dans lequel les scénarios devraient être simulés peut permettre de trouver une bonne
solution dans le temps imparti, ces méthodes étant facilement généralisables. Basées sur le
cas industriel présenté au chapitre 5, deux méthodes issues de la PPC ont été utilisées pour
ordonner les scénarios. Les résultats obtenus grâce à ces méthodes ont été comparés avec
les résultats obtenus en ordonnant les scénarios avec une heuristique spécialement élaborée
pour ce cas (ad hoc). L’une des méthodes n’était pas adaptée alors que l’autre obtient des
résultats sensiblement identiques aux résultats obtenus avec l’heuristique ad hoc. Or, la
méthode proposée a l’avantage d’être générique et pourrait s’appliquer à d’autres
problèmes.
En résumé, la contribution principale de cette thèse est l’élaboration d’un cadre permettant
de trouver la meilleure combinaison de scénarios selon des critères définis, en contexte de
temps manquant. Le cadre est aussi appliqué pour résoudre deux problèmes industriels, ce
qui démontre bien son applicabilité et son potentiel. Enfin, une autre grande contribution
réside dans la proposition d’une méthode générique pour ordonner les scénarios à simuler.
Le reste de la thèse est organisé de la manière suivante. Dans un premier temps, les
concepts nécessaires à la bonne compréhension des contributions ainsi qu’un certain
nombre de techniques existantes liées à la problématique sont présentés (chapitre 2). Le
problème de la recherche de la meilleure combinaison est ensuite expliqué, le cadre proposé
est décrit et des applications potentielles sont introduites (chapitre 3). Puis, deux
applications (chapitres 4 et 5) et une méthode générique pour ordonner les scénarios en
contexte de temps manquant (chapitre 6) sont étudiées. Enfin, le chapitre 7 synthétise les
principaux résultats et contributions et traite des limites et perspectives (tant au niveau
industriel qu’au niveau scientifique) de cette thèse.
5
La figure 1 résume les différentes étapes permettant de comprendre la structure de la thèse.
Cadre décisionnel(Chapitre 3)
Planification tactique pour une scierie de bois résineux
(Chapitre 4)
Génération d’horaires de production pour une usine
de bois de plancher(Chapitre 5)
Amélioration de la valeur globale produite
Prise en compte de nouveaux produits
Utilisation d’une méthode générique pour ordonner les
scénarios(Chapitre 6)
Le problème de la recherche de la meilleure combinaison de scénarios
(Chapitre 3)
La simulation et l’optimisation(Chapitre 2)
Figure 1 : Structure de la thèse
6
2. Concepts préliminaires
2.1. La simulation, l’optimisation et leurs combinaisons
En contexte manufacturier, il existe de nombreux outils permettant une prise de décision
plus efficace de la part des décideurs. Ces outils, communément appelés systèmes d’aide à
la décision (SAD), sont des systèmes informatisés établis dans le but de soutenir un
processus de décision complexe [1]. Ils aident à la recherche de solutions et à la résolution
de problèmes. L’optimisation et la simulation sont deux solutions technologiques
couramment utilisées.
2.1.1. L’optimisation
L’optimisation est la recherche de la meilleure solution (possible). Un modèle
d’optimisation est une représentation d’un problème à l’aide de fonctions et de relations
mathématiques. La modélisation d’un problème par un modèle d’optimisation comporte
deux caractéristiques essentielles. La première est de pouvoir traduire les décisions
possibles (ou les variables pouvant être affectées par ces décisions) du décideur en des
variables de décision. Le décideur ne pouvant généralement prendre la décision qu’il veut à
cause de certains facteurs, la seconde est de modéliser mathématiquement ces limitations
par des contraintes. De plus, le but de cette modélisation est de trouver la meilleure
solution selon certains critères définis par le décideur. Une fonction objectif à maximiser ou
minimiser est donc définie (sauf dans le cas d’un problème de satisfaction de contraintes
par exemple, où l’on cherche à trouver une solution respectant toutes les contraintes). Il
existe plusieurs types de modèles d’optimisation servant à résoudre différents problèmes.
On retrouve notamment la programmation linéaire qui permet de modéliser un problème à
partir de fonctions linéaires dont les variables sont réelles, la programmation non linéaire, si
au moins une des fonctions n’est pas linéaire, la programmation en nombres entiers lorsque
des variables doivent être entières, ou encore l’optimisation combinatoire lorsque l’espace
des solutions est discret [2]. Suivant le modèle utilisé, différents algorithmes de résolution
vont être utilisés pour déterminer la valeur des variables de décision pour laquelle les
contraintes sont satisfaites et/ou la valeur de la fonction objectif est maximale (ou
minimale).
7
L’optimisation est utilisée pour résoudre de nombreux problèmes tels que le problème du
voyageur de commerce et celui du sac à dos [3]. Dans un contexte manufacturier,
l’optimisation est un outil très prisé pour la planification. Les différents modèles
d’optimisation peuvent être appliqués pour assister les décideurs dans leurs décisions de
planification de la production ou de confection d’horaires de production [4]. Pour un même
problème général, par exemple de conception d’une chaîne logistique, le but peut être
divers (e.g. maximiser le profit, minimiser les coûts de production et de transport,
maximiser le profit après paiement des taxes), et la manière de le représenter aussi (e.g.
programmation linéaire, programmation non-linéaire) [5, 6]. Les aspects représentés
peuvent aussi différer d’une application à une autre [7]. Il existe de nombreux exemples
d’utilisation des techniques d’optimisation dans divers domaines. Ahumada et Villalobos
[8], par exemple, classent et relatent différentes applications des modèles de planification
pour la chaîne logistique des produits de consommation issus de l’agriculture. Cardoen et
al. [9] font un travail similaire en se concentrant sur la planification des salles d’opération.
Papageorgiou [10] traite des modèles utilisés pour la planification de la chaîne de création
de valeur et sa conception dans les industries de type process. D'Amours et al. [11],
Rönnqvist [12] et Shahi et Pulkki [13] traitent des différents modèles et méthodes de
planification spécifiques à l’industrie forestière.
En contexte de temps manquant (la décision doit être prise très rapidement), il est possible
d’essayer d’améliorer l’algorithme pour résoudre le problème plus rapidement. Des
techniques de filtrage ou l’utilisation d’algorithmes parallélisables peuvent être utiles pour
diminuer le temps nécessaire pour résoudre le problème et obtenir une solution plus
rapidement. De nombreux problèmes sont si difficiles (e.g. NP-difficiles) qu’il est
aujourd’hui impossible de les résoudre à l’optimalité. Le solveur ne va donc retourner que
la meilleure solution trouvée lorsque le temps imparti est écoulé.
L’optimisation est une méthode très efficace lorsque toutes les données nécessaires à la
résolution du problème sont connues. Lorsque le problème est trop complexe, contient trop
d’incertitudes ou de relations combinatoires pour être modélisé efficacement avec les
méthodes conventionnelles de programmation mathématique, la simulation peut s’avérer
être adéquate pour les modéliser [14].
8
2.1.2. La simulation
La simulation est généralement utilisée lorsque la complexité de la réalité fait qu’il est
difficile de la représenter en utilisant l’optimisation ou d’autres modèles. Elle a pour but
d’imiter la réalité et est une technique permettant de procéder à des expérimentations [15].
Selon Shannon [16], la simulation est un processus visant à modéliser un système réel pour
réaliser des expérimentations qui vont soit permettre d’en comprendre le comportement,
soit permettre d’évaluer plusieurs stratégies d’opération selon des critères définis. Le
modèle créé est une représentation du système sous une autre forme, le système étant un
groupe ou une collection d’éléments liés par des relations définies qui coopèrent dans
l’atteinte d’un but commun [17]. Le procédé de modélisation est le fait d’extraire les
connaissances du système physique, de les organiser et de les représenter de manière claire
tandis que le processus de simulation réfère lui à la réalisation d’expérimentations sur le
modèle [18]. La simulation permet d’estimer la performance d’un système existant dans
différentes conditions. Plusieurs alternatives (scénarios) peuvent être proposées pour
élaborer un nouveau système et chaque alternative peut être comparée grâce à la simulation
pour trouver la meilleure.
La représentation d’un système par un modèle de simulation a de multiples avantages.
D’une part, la plupart des systèmes réels sont complexes avec des éléments stochastiques et
ne peuvent pas être représentés par un modèle mathématique qui peut être évalué
analytiquement [19], alors qu’un modèle de simulation est bien adapté pour représenter ces
systèmes. D’autre part, la simulation permet d’évaluer beaucoup d’alternatives même si le
système réel n’a pas encore été créé. Différents aspects d’un changement proposé peuvent
être testés sans avoir à les réaliser sur le système physique (et donc sans le perturber),
l’achat de composants supplémentaires pour le système n’est donc pas nécessaire [20], ce
qui réduit les risques financiers et les investissements. De plus, la simulation est un outil
particulièrement efficace s’il est nécessaire de voir l’évolution du système dans le temps
et/ou dans l’espace, le temps pouvant même être contrôlé (accéléré ou ralenti au besoin)
[17]. Il est aussi généralement plus facile de contrôler les conditions expérimentales dans
une simulation qu’en utilisant le système réel [19].
9
Le principal désavantage de la simulation réside dans l’élaboration d’un modèle de
simulation. Cela peut parfois être long et dispendieux et nécessiter de la main-d’œuvre
spécialisée. Le modèle doit être vérifié et validé. L’étape de vérification est nécessaire pour
faire en sorte que le programme informatique du modèle soit intègre et que son exécution
se fasse sans problème. L’étape de validation est nécessaire pour s’assurer que le modèle
représente adéquatement la réalité par rapport à l’application à laquelle il est destiné [21].
Comme pour toute approche, il est aussi primordial de maintenir à jour le modèle de
simulation lorsque le système réel est modifié. De plus, une solution optimale ne peut pas
être garantie, cependant de bonnes solutions sont généralement trouvées [15]. En effet,
l’évaluation d’un certain nombre de scénarios de simulation ne permet pas de trouver la
meilleure solution au problème. Généralement, un nombre fini de scénarios (alternatives)
est comparé selon des critères pour trouver le meilleur parmi cet ensemble fini (ce n’est
donc pas forcément la meilleure solution, un autre scénario, non testé, aurait pu être
meilleur). Cependant, la simulation n’est pas utilisée seulement pour trouver des solutions à
un problème donné. Elle peut aussi être utilisée pour générer des données, comprendre le
fonctionnement d’un système ou simplement pour connaître l’impact d’une décision (ou
d’une modification) sur un système sans l’avoir fait réellement (physiquement). En outre,
comme toute modélisation, la simulation est imprécise, car est une simplification de la
réalité et il est parfois difficile d’en évaluer le degré d’imprécision [16]. Chaque modèle est
unique, peut rarement être réutilisé pour une autre application et nécessite une bonne
connaissance du système [20].
Suivant le système, sa complexité, son environnement, ses composantes, les hypothèses de
simplification, ou encore l’objectif de la modélisation et le degré de détail voulu, le système
va être modélisé de manières différentes. Le même système peut en effet être modélisé de
manière statique ou bien dynamique suivant la représentation que l’on veut en faire. Dans
le premier cas, le temps n’est pas pris en compte et le modèle donne l’état du système à un
instant donné. Dans le second, le temps est un facteur important et le modèle permet de
simuler le comportement du système sur un horizon donné. Si le temps doit être représenté
de façon continue, le choix se dirigera vers un modèle continu. À l’inverse, si ce sont des
évènements qui viennent perturber l’état du système à des instants donnés, on choisira
10
généralement un modèle de simulation à évènements discrets. Un modèle peut être
stochastique ou déterministe s’il tient compte ou non de phénomènes aléatoires.
La nature stochastique de certaines variables implique de réaliser plusieurs itérations (pour
chaque scénario) avec des nombres aléatoires différents. En effet, dans le cas où des
phénomènes aléatoires devraient être pris en compte, réaliser une seule simulation du
système ne permettrait pas d’avoir une « bonne » connaissance du résultat, l’utilisation
d’autres nombres aléatoires pouvant mener à des résultats de simulation différents. Dans le
but d’avoir une « bonne » précision et de s’assurer d’avoir une « bonne » estimation de la
valeur du résultat de simulation, il est nécessaire de réaliser la simulation plusieurs fois.
Chaque fois qu’une simulation est exécutée, une réplication est réalisée. Les résultats de
chaque réplication permettent de calculer la moyenne ainsi que l’intervalle de confiance
associé, et donc, de donner une estimation du résultat pour le système réel [22].
2.1.2.1. Modèles statiques
Les modèles statiques sont principalement utilisés pour représenter des systèmes lorsqu’il
n’est pas pertinent de prendre en compte l’écoulement du temps. Les chiffriers
électroniques (e.g. le logiciel MS excel) sont très utilisés pour représenter des systèmes et
faire de la simulation (déterministe ou stochastique). C’est un outil simple qui permet de
représenter des relations mathématiques et logiques entre des variables tout en indiquant
une séquence de calcul [23]. Par exemple, une technique bien connue peut être utilisée pour
réaliser des expérimentations grâce à l’utilisation de chiffriers électroniques : la simulation
Monte-Carlo. C’est une méthode statique utilisant des nombres aléatoires générés par une
loi uniforme standard pour résoudre divers problèmes [19]. Lorsque le système à modéliser
est trop complexe ou que le nombre de simulations à réaliser est grand, la simulation par
chiffrier électronique n’est pas recommandée. Il est alors souvent préférable de se tourner
vers des outils de programmation classique. En effet, des modèles statiques peuvent être
utilisés pour représenter les systèmes manufacturiers en utilisant des méthodes de
programmation. Par exemple, la simulation de débitage de billes à partir d’un logiciel tel
qu’Optitek [24] utilise un modèle statique. Dans ce simulateur, une scierie est modélisée
sans prendre en compte les flux de matières, le temps n’est pas une composante du modèle.
11
Le but est de permettre au décideur de simuler le débitage des billes tout en optimisant la
valeur des sciages de la même manière qu’en scierie.
2.1.2.2. Modèles dynamiques continus
Les modèles dynamiques continus utilisent des fonctions continues pour représenter un
système qui change d’état en permanence. Ils peuvent être utilisés pour imiter des
comportements tels que l’écoulement d’un flux (e.g. de l’eau à travers un tuyau), d’une
trajectoire, d’une déformation, d’une réaction chimique ou encore de circuits électriques.
Pour modéliser ces systèmes, on utilise généralement un ensemble d’équations
différentielles ordinaires (ODE) ou un ensemble d’équations différentielles algébriques
(DAE) [18]. La résolution des équations permet de connaître l’état du système à chaque
instant. Cependant, les modèles continus ne sont généralement pas adaptés pour représenter
des systèmes manufacturiers.
2.1.2.3. Modèles dynamiques discrets : la simulation à évènements discrets
Un modèle de simulation à évènements discrets est une représentation d’un système prenant
en compte l’écoulement du temps et les changements (évènements) qui interviennent à des
moments particuliers (discrets) durant le temps [25]. Un évènement est défini comme un
fait qui peut changer l’état du système [19] et donc générer de nouveaux évènements.
L’écoulement du temps est géré par une horloge et peut être accéléré (ou ralenti) au besoin.
La simulation à évènements discrets est bien adaptée pour imiter la dynamique du système
réel, ce qui n’est pas possible avec l’optimisation ou d’autres modèles de simulation [22].
Le lecteur peut se référer à Law [19] qui est considéré comme le livre de référence pour en
apprendre davantage sur la simulation à évènements discrets. Pour des applications ou pour
les dernières tendances, le lecteur est invité à lire des articles présentés dans la Winter
Simulation Conférence qui est considérée comme la conférence de référence en la matière.
Une fois le modèle d’un système élaboré, vérifié et validé, la simulation peut être utilisée
pour analyser le système ou comparer différentes stratégies. Il faut ainsi réfléchir et
concevoir des expérimentations qui permettront par exemple d’aider le décideur à faire un
choix éclairé dans un contexte de planification.
12
2.1.2.4. La simulation, un outil de choix pour modéliser des systèmes
manufacturiers et pour supporter des décisions de planification
La simulation à évènements discrets ainsi que les méthodes de simulation de type statique
sont souvent mises à profit pour résoudre des problèmes liés à la planification [26]. Les
chiffriers électroniques peuvent être par exemple utilisés pour la planification des
ressources de production. La simulation à évènements discrets est, elle, fréquemment
employée pour modéliser des systèmes manufacturiers. Il est possible de se servir de la
simulation pour supporter des décisions stratégiques, tactiques ou opérationnelles [27]. Par
exemple, la simulation peut être utilisée pour anticiper le comportement d’un système de
production selon les choix effectués par des opérateurs [28], pour évaluer l’impact sur la
production de différents horaires de production [29, 30] ou encore pour évaluer la
pertinence d’une stratégie de production [31].
Pour déterminer de quelle manière certains éléments affectent la réponse d’un système, le
nombre de simulations à effectuer est parfois si élevé qu’il est difficile, à première vue, de
savoir quelles seraient les alternatives à évaluer. Il existe donc des méthodes permettant de
choisir de manière adéquate les scénarios à évaluer.
2.1.2.5. Une technique pour choisir les scénarios à évaluer en contexte de
temps manquant : les plans d’expériences en simulation
Le nombre de scénarios à évaluer ainsi que le nombre de réplications à réaliser sont souvent
si grands qu’il n’est pas envisageable de les tester tous avec les machines actuelles.
En ingénierie, les plans d’expériences, introduits par le livre de Fisher [32] et
originellement développés pour l’agriculture, sont très utilisés pour déterminer les facteurs2
influents (ainsi que les interactions entre les facteurs) d’un procédé (e.g. une réaction
chimique). Cette méthode est très efficace puisqu’elle permet de ne pas réaliser toutes les
expériences3 (en particulier dans le cas des plans fractionnaires) pour connaître la réponse
du système à la variation d’un facteur, i.e. l’influence d’un facteur (variable d’entrée) sur
2 Un facteur correspond à un paramètre qu’il est possible de modifier et qui a possiblement une influence sur
un procédé. Dans le cas de la conception d’une usine, les facteurs peuvent correspondre par exemple à un
nombre de machines ou un type de machine. 3 Une expérience peut ici être vue comme un scénario.
13
l’état de sortie du système (réponse). L’analyse des résultats permet aussi de mesurer les
interactions entre divers facteurs. Il peut être ensuite possible de contrôler ces interactions.
En simulation, il est aussi possible d’utiliser cette technique bien qu’elle ait été développée
pour des expériences dans le monde réel [33]. En effet, la simulation est en soi une
expérimentation. Le but va donc être de déterminer quels sont les facteurs prédominants,
i.e. qui ont le plus d’impacts sur la réponse du système, tout en effectuant le moins de
simulations possibles [19]. C’est en réalité une méthode qui permet de concevoir des
expériences donnant une grande quantité d’information sans avoir à simuler toutes les
combinaisons possibles, mais tout en assurant, si on le souhaite, une certaine robustesse de
la réponse (i.e. en simulant un nombre limité de scénarios différents, mais en prenant en
compte aussi des facteurs « non-contrôlables »). Les plans d’expériences ont aussi un
certain nombre d’inconvénients. Par exemple, si le nombre de facteurs est très grand, alors
le nombre de tests à réaliser sera bien plus grand (aspect combinatoire). De même, si les
interactions entre les différents facteurs doivent être prises en compte, le nombre de tests à
réaliser pourra, lui aussi, être extrêmement grand.
Selon Barton [34], le plan d’expériences est le fait de planifier des expériences en vue de
tester des hypothèses. Il fait aussi remarquer que certains auteurs englobent aussi les phases
d’expérimentation et d’analyse des données issues des expériences dans leur vision du plan
d’expériences au sein du « protocole expérimental ».
Les plans factoriels sont parmi les plus utilisés. Le plan factoriel 2k par exemple consiste à
choisir 2 valeurs (modalités) opposées (mais réalistes et non extrêmes) pour chaque
facteur k. Chaque facteur va donc avoir un niveau « haut », « + » et un niveau « bas », « - ».
Une fois ces niveaux définis, une matrice d’expériences peut être élaborée (Figure 2). Si
nous avons k=3 facteurs, nous avons 23, soit 8 combinaisons de configurations différentes.
14
Figure 2 : Matrice d'expériences pour un plan factoriel complet 2k avec trois facteurs
En simulation, l’effet principal d’un facteur est la différence moyenne dans la réponse
lorsqu’un facteur passe du niveau « - » au niveau « + » lorsque les autres facteurs ne
changent pas de niveau. Dans cet exemple, l’effet principal du facteur A est donné lorsque
B et C restent au même niveau et se calcule ainsi :
( 3) 1
1 2 3 4 5 6 7 8
2A k
R R R R R R R Reffet
Il est possible que des interactions entre les différents facteurs existent. Pour le vérifier, il
faut multiplier les signes de chaque facteur dont on veut vérifier l’interaction pour chaque
configuration pour connaître le signe de la réponse. Puis, il faut additionner les réponses
(ainsi que leurs signes respectifs) et diviser par 2k-1. Par exemple, l’interaction entre les
facteurs A et B va se calculer ainsi :
( 3) 1
1 2 3 4 5 6 7 8
2AB k
R R R R R R R Rinteraction
Un plan factoriel complet n’est cependant pas une bonne technique lorsque le temps nous
manque. En effet, plus le nombre de facteurs augmente, plus il y a de configurations à
tester. Souvent, les interactions entre trois facteurs sont négligeables par rapport aux
interactions entre 2 facteurs. Il est donc possible d’utiliser par exemple un plan factoriel
fractionnaire 2k-p. C’est un sous-ensemble du plan factoriel complet qui peut être utilisé
lorsque les interactions entre plusieurs facteurs peuvent être négligées. Cela diminue
grandement le nombre de configurations différentes à tester. Il existe d’autres types de
plans d’expériences. Kleijnen et al. [33] ont identifié différents plans d’expériences qu’il est
possible d’utiliser en simulation. Ils ont aussi déterminé quelles sont les conditions dans
lesquelles une technique est meilleure qu’une autre. Le lecteur voulant en savoir plus sur la
Configurations A B C Réponses
1 - - - R1
2 + - - R2
3 - + - R3
4 + + - R4
5 - - + R5
6 + - + R6
7 - + + R7
8 + + + R8
Facteurs
15
manière d’élaborer et de conduire un plan d’expériences en simulation peut se référer à
Sanchez et Wan [35], Kelton et Barton [36] et Kleijnen et al. [33].
Généralement, en simulation, le plan d’expériences va être utilisé pour trouver quels sont
les facteurs qui impactent le plus la réponse. Une fois les facteurs intéressants pour l’étude
identifiés, il est possible de développer un métamodèle ou « surface de réponse ». Cela
permettra de prédire la réponse du modèle pour des configurations non simulées et de
trouver la combinaison de facteurs qui minimise (ou maximise) la réponse en utilisant la
méthode de la surface de réponse qui est une méthode utilisée en simulation-
optimisation [19].
La simulation est un outil efficace pour modéliser certains processus difficiles à modéliser
en utilisant des techniques d’optimisation. Néanmoins, pour obtenir les résultats désirés, il
est souvent nécessaire de combiner la simulation et l’optimisation.
2.1.3. Combiner la simulation et l’optimisation
La combinaison de la simulation avec l’optimisation est une approche de plus en plus
utilisée. En effet, cette approche permet d’utiliser les points forts de chaque technique pour
obtenir un résultat qui serait très difficile à obtenir sans cela. Ladier et al. [37] identifient
quatre différents types de relations entre la simulation et l’optimisation : (1) la simulation
évaluant les résultats de l’optimisation (Figure 3), (2) le modèle de simulation créant et
transmettant des données servant à l’optimisation (Figure 4), (3) l’optimisation intégrée au
modèle de simulation (Figure 5), (4) la simulation intégrée au modèle d’optimisation
(Figure 6). Les deux premières catégories sont utilisées très couramment pour résoudre des
problèmes faisant appel à de la planification.
16
SimulationOptimization
Figure 3 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
pour évaluer les résultats de l’optimisation (1)
Simulation Optimization
Figure 4 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
pour créer et transmettre des données nécessaires à l’optimisation (2)
Simulation
Optimization
Figure 5 : Une interaction entre la simulation et l’optimisation : l’optimisation est utilisée
lors de la simulation (3)
Optimization
Simulation
Figure 6 : Une interaction entre la simulation et l’optimisation : la simulation est utilisée
lors de l’optimisation (4)
17
2.1.3.1. La simulation évaluant les résultats de l’optimisation (1)
La simulation permet d’obtenir des informations qui peuvent ensuite être utilisées dans les
modèles d’optimisation comme intrants. La simulation peut donc être utilisée pour vérifier
si le plan donné par un modèle d’optimisation est satisfaisant ou non. Par exemple, Jerbi et
al. [38] réalisent dans un premier temps la planification tactique à l’aide d’un modèle
d’optimisation dans le contexte de la chaîne logistique de l’industrie forestière, puis
utilisent la simulation pour vérifier les impacts de leurs plans tactiques au niveau
opérationnel.
Du fait des délais de mise en œuvre des plans tactiques, il est primordial d’en assurer une
certaine robustesse. Genin et al. [39] cherchent donc à évaluer la robustesse de diverses
politiques de planification tactique par rapport à la demande. Pour chaque politique, un
premier plan est réalisé. Ce dernier est simulé (avec une demande ayant une composante
stochastique) sur un horizon défini par la politique. Un nouveau plan est ensuite généré
(replanification) basé sur la simulation précédente. Il est ensuite simulé. Cette méthode est
répétée plusieurs milliers de fois pour chaque politique. L’impact des variations de la
demande sur les résultats de simulation peut être ainsi connu. Il leur est de ce fait possible
de vérifier la robustesse que confère chaque politique.
Marques et al. [40] explorent le potentiel de combiner des techniques d’optimisation avec
un simulateur à évènements discrets dans le but de réaliser la planification opérationnelle
de la récolte forestière et de l’approvisionnement des scieries en matières premières. Ils
génèrent des plans optimisés (scénarios) qu’ils simulent par la suite à l’aide d’un simulateur
à évènements discrets pour évaluer les comportements dynamiques des opérations
planifiées. Des indicateurs de performance permettent ensuite de comparer les scénarios.
Feng et al. [41] utilisent la simulation pour comparer différents plans industriels et
commerciaux PIC (comme un PIC intégrant l’ensemble de la chaîne logistique, i.e. ventes,
distribution, production et achats est comparé à un PIC dans lequel sont planifiées ensemble
la production et les ventes, les achats et la distribution étant planifiés séparément) et ainsi
vérifier le type de planification le plus intéressant. Les modèles permettant de réaliser les
PIC sont réalisés par programmation mixte en nombres entiers MIP (Mixed Integer
Programming). Les simulations sont réalisées dans le contexte d’une usine d’OSB
18
(Oriented Strand Board) et indiquent que l’approche intégrant dans la planification
l’ensemble des opérations est la plus performante dans tous les cas étudiés.
2.1.3.2. Le modèle de simulation créant et transmettant des données servant à
l’optimisation (2)
La simulation peut être utilisée pour générer des données qu’il n’est pas possible d’obtenir
de manière simple. Un modèle de programmation mathématique peut ensuite être utilisé
pour réaliser une optimisation. Par exemple, Liu et Takakuwa [42] utilisent cette technique
pour réaliser un horaire de travail pour les employés d’une plate-forme de transbordement
(cross-docking). La simulation leur permet de connaître le nombre de personnes et d’heures
nécessaires à la réalisation des activités tout en tenant compte de l’ensemble des
marchandises (prévues pour être manutentionnées durant la période) ainsi que des
compétences des opérateurs. Ensuite, un modèle mathématique permet d’établir un horaire
de travail pour chaque employé.
Sinclair et Erasmus [43] proposent d’utiliser une approche intégrant simulation et
programmation linéaire pour la planification (opérationnelle). Ils utilisent dans un premier
temps la simulation (avec le logiciel SIMSAW) pour obtenir des données concernant
différents plans de débit dans le but de les utiliser comme intrants pour leur outil aidant à
réaliser la planification opérationnelle. Wessels et al. [44] ont développé un package appelé
« Sawmill Production Planning System ». Il combine des techniques de programmation
linéaire et de programmation mixte en nombres entiers pour utiliser les résultats de
simulation du logiciel SIMSAW dans le but de réaliser la planification opérationnelle,
tactique (pour déterminer les meilleurs marchés selon la matière première disponible) ou
stratégique.
Arabi et al. [45] ont permis de réaliser en même temps la planification tactique de la
récolte, du transport du bois vers la scierie et de la transformation de ce bois en combinant
d’une nouvelle façon Optitek avec FPInterface (logiciel de simulation de récolte forestière)
à l’aide d’un nouvel outil : LogiOpt. LogiOpt est un module d’optimisation qui permet de
faire le lien entre les deux simulateurs [46]. Il est donc possible de déterminer les coûts
associés à la récolte d’un ensemble d’arbres provenant d’un endroit défini, les coûts
19
associés au transport des billes récoltées, le panier de produits généré par l’ensemble des
arbres abattus et ainsi d’obtenir un plan tactique optimal [47].
2.1.3.3. L’optimisation intégrée au modèle de simulation (3)
Dans ce cas (3), une décision est prise par un modèle d’optimisation au cours de la
simulation. Par exemple, Dumetz et al. [48] utilisent cette technique pour évaluer l’impact
de différentes méthodes d’acceptation de commandes dans une scierie. La simulation (à
évènements discrets) est utilisée pour générer des commandes clients et simuler le
processus d’acceptation de commandes. Le modèle de simulation fait appel à un système
ERP (Entreprise Ressource Planning) intégré développé pour gérer certains calculs,
l’inventaire et la planification de la production (grâce à un modèle de programmation mixte
en nombres entiers).
Pour comparer plusieurs scénarios différents d’un problème de ramassage et de livraison
(pick-up and delivery), Clausen et al. [49] proposent d’utiliser l’optimisation dans la
simulation pour décider du véhicule qui ira visiter un client donné ainsi que la route qu’il
devrait prendre.
2.1.3.4. La simulation intégrée au modèle d’optimisation (4)
Le principal exemple d’intégration de la simulation au modèle d’optimisation est la
simulation-optimisation. Beaucoup d’auteurs se sont penchés sur ces techniques dans divers
domaines [50-53]. La prochaine section s’attarde à expliquer ces méthodes.
2.2. La simulation-optimisation classique
La simulation et l’optimisation sont des outils pertinents pour évaluer et/ou comparer
différents scénarios. Par exemple, pour comparer des conceptions d’usines sur la base d’un
critère (e.g. profit, taux d’utilisation, rendement) à maximiser ou à minimiser. Lorsque le
nombre de scénarios possibles est tel qu’il faudrait plusieurs années pour simuler toutes les
alternatives (ou simplement que le temps de calcul disponible n’est pas suffisant), on utilise
généralement des méthodes de simulation-optimisation.
20
2.2.1. Définition
Dans la littérature, on retrouve différentes variantes dans la définition de cette approche qui
se ressemblent. Carson et Maria [54] définissent la simulation-optimisation comme étant le
processus d’affectation des meilleures valeurs possibles à des variables d’entrée sans avoir
à évaluer explicitement toutes les combinaisons possibles. L’objectif recherché est bien sûr
de trouver la meilleure solution compte tenu du temps disponible. April et al. [50] la
définissent plutôt comme le moyen de trouver le modèle de simulation, parmi les différents
modèles possibles, qui permettra d’obtenir des performances optimales. Jian et Henderson
[55] indiquent que si des décisions peuvent être représentées comme des variables de
décision dans un modèle de simulation, alors il est possible de faire de la simulation-
optimisation, i.e. de choisir les variables de décision dans le but de maximiser ou minimiser
des mesures de performances estimées grâce à la simulation. Fu [56], dans l’introduction de
son livre Handbook of simulation optimization a sensiblement la même vision que ces
derniers tout en faisant remarquer que le terme est parfois utilisé pour parler du processus
de recherche en lui-même.
Dans les faits, la simulation-optimisation désigne tout simplement la résolution d’un
problème d’optimisation dans un contexte où l’évaluation de la fonction objectif nécessite
l’exécution d’un modèle de simulation. Or, puisque le nombre total de simulations à
réaliser est trop élevé pour se permettre d’évaluer toutes les alternatives possibles, une
procédure de recherche (globale ou locale) doit être utilisée pour décider quels scénarios
seront évalués et dans quel ordre (Figure 7).
21
Figure 7 : Principe de fonctionnement des méthodes de simulation-optimisation, adapté de
Fu [57]
2.2.2. Formulation générale
La formulation générale d’un problème de simulation-optimisation telle qu’on la trouve
dans la littérature est la suivante. Il s’agit d’un problème d’optimisation dans lequel on
cherche à minimiser (ou maximiser) la valeur d’une fonction objectif f x X , où x est
un vecteur représentant les variables de décision et X l’espace des solutions [55, 56, 58],
soit l’ensemble des scénarios possibles :
( )x X
Max f x
Cependant, la fonction f n’est pas directement évaluable (car elle implique un phénomène
aléatoire), mais sa valeur peut être estimée grâce à la simulation. La fonction f peut donc
être représentée comme l’espérance d’un résultat de simulation (réponse) pour une variable
aléatoire de sortie ,Y x , où est l’ensemble des nombres aléatoires d’une simulation :
, f x YE x
Le problème d’optimisation peut être plus ou moins complexe et être représenté sous la
forme d’un modèle mathématique. Un certain nombre de contraintes (de simulation ou
« mathématiques ») peut être représenté dans le modèle. La simulation va permettre
Performances estimées
Performances estimées
Performances estimées
Simulation
Procédure de recherche
Prochain scénario à évaluer
Performances estimées
22
d’évaluer la fonction f pour une instance particulière des différentes variables d’entrée
(continues ou discrètes) et une réalisation des variables aléatoires [59].
En pratique, nous disposons d’une fonction de simulation ( , )iS x qui retourne, pour un
scénario donné x et une réalisation i des paramètres aléatoires, un vecteur de métriques
servant à évaluer cette réalisation du scénario. Une fonction objectif ( , )iF S x prend en
entrée ce résultat de simulation et en évalue la valeur selon le critère établi par le décideur.
Chaque scénario est évalué pour n réalisations des paramètres aléatoires. Chacune de ces
simulations constitue une réplication. Nous supposerons donc que :
1
1( ) , ( , )
n
i
i
f x F S x F S xn
Et nous chercherons à maximiser cette valeur :
,x X
Max F S x
Par exemple, supposons le problème de la conception d’une usine. Nous cherchons la
meilleure conception, celle qui va maximiser la performance F de l’usine. Pour chaque
configuration possible du système (i.e. chaque conception différente), nous définissons un
scénario de simulation x X . Certains processus, ou encore la demande, ne sont pas
constants et ont une part aléatoire. Un nombre n de réplications doit ensuite être réalisé
pour pouvoir estimer la performance F . Pour chaque scénario x, nous pouvons simuler le
comportement du système (i.e. l’usine) plusieurs fois (avec des nombres aléatoires
différents à chaque réplication correspondants, par exemple, à des taux de pannes des
machines ou des délais de livraison). ( , )iS x est le résultat de la simulation du scénario xi.
La simulation-optimisation suppose aussi l’utilisation de procédures de recherche dans le
but de trouver le meilleur scénario possible dans le temps imparti. En effet, les décideurs
ont souvent besoin de prendre une décision rapidement (e.g. quelques semaines dans le cas
de la conception d’un système). Cependant le nombre de scénarios différents est souvent tel
23
qu’il est impossible de simuler toutes les alternatives possibles dans le temps imparti. La
simulation-optimisation propose des techniques qui tentent de déterminer dynamiquement
le prochain scénario à évaluer (Figure 8). Une réplication d’un scénario xi est tout d’abord
simulée. Le résultat de la simulation ( , )i jS x de par sa performance estimée ( , )( )i j
S xF
devient l’intrant d’une procédure de recherche qui va identifier le prochain scénario à
simuler, e.g. 1( , )i jx ou 1( , )i jx .
Performances estimées
Performances estimées
Performances estiméesSimulation
Procédure de recherche
Prochain scénario à évaluer
(xi,ξj)
Performance estimée
F(S(xi,ξ))
Résultat de simulation
S(xi,ξj)
( , )x X
Max F S x
Figure 8 : Principe de fonctionnement détaillé des méthodes de simulation-optimisation
En simulation-optimisation, les techniques de classification et sélection (Ranking and
Selection) [19, 60] sont très utilisées lorsque le temps disponible ne permet pas de simuler
toutes les réplications nécessaires de chaque scénario pour déterminer le « meilleur »; et
qu’il est tout de même possible de réaliser un certain nombre de réplications pour estimer la
performance de chaque scénario. Ces techniques permettent de trouver dynamiquement le
ou les scénarios où l’on doit augmenter le nombre de réplications. En effet, lorsque la
simulation est utilisée pour comparer différents scénarios, il est courant d’augmenter le
nombre de réplications pour chaque scénario pour obtenir une variance de l’espérance d’un
résultat de simulation (réponse) suffisamment petite pour pouvoir déterminer le meilleur
scénario. L’approche la plus évidente est de choisir un nombre de réplications identiques
pour chaque scénario. Or, cette technique peut être relativement inefficace. En effet, si un
scénario a une faible variance, sa performance peut être estimée grâce à un petit nombre de
réplications. C’est le principe des techniques de classification et sélection. Deux approches
sont principalement utilisées, Optimal Computing Budget Allocation (OCBA) et Algorithm
and Expected Value of Information (EVI) [61]. Il existe d’autres approches de résolution en
24
simulation-optimisation conçues pour répondre à des problèmes pour lesquels il n’est pas
possible de simuler l’ensemble des configurations possibles même pour un petit nombre de
réplications.
2.2.3. Principales techniques de simulation-optimisation
En simulation-optimisation, il existe plusieurs techniques permettant de chercher une
solution dans un contexte de temps manquant dans lequel il n’est pas possible de tester
chaque scénario (configuration) au moins une fois. Le livre de Fu [56] traite de ces
différentes techniques et le lecteur pourra s’y référer pour de plus amples informations. Les
quatre grandes méthodes qui y sont traitées sont la méthode de la surface de réponse
(introduite dans la section 2.2.3.1), l’approximation stochastique (section 2.2.3.2),
l’approximation moyenne de l’échantillon (section 2.2.3.3) et les méthodes de recherche
aléatoire (section 2.2.3.4). Une autre voie importante, dont des techniques peuvent être vues
comme des méthodes de recherche aléatoire, les métaheuristiques, est aussi introduite dans
la section 2.2.3.4.
Toutes ces méthodes ont un point commun, elles utilisent la simulation pour évaluer un
scénario et l’optimisation pour guider la recherche (Figure 8).
2.2.3.1. La méthode de la surface de réponse (métamodèle)
La méthode de la surface de réponse (Response Surface Methodology, RSM) utilise le
modèle de simulation comme une boîte noire. En effet, avec cette méthode, les entrées et
sorties du modèle de simulation sont les seules informations importantes et utilisées [62].
Elle se base sur les résultats d’un plan d’expériences pour créer un métamodèle. Un
métamodèle est le modèle d’un modèle, et donc, dans ce cas, un modèle de modèle de
simulation. C’est une approximation de la relation entre l’entrée (i.e. scénario ou
combinaisons d’intrants du modèle de simulation) et la sortie (espérance du résultat de la
simulation), soit un modèle simplifié du modèle originel de simulation [33]. Les
métamodèles, dans le cas de la méthode de la surface de réponse, sont des modèles de
régression linéaire élaborés à partir des résultats du plan d’expériences [36]. La méthode de
la surface de réponse est définie par Kleijnen [62] comme une heuristique séquentielle, i.e.
cette méthode utilise une séquence d’expérimentations locales menant à la combinaison
25
optimale des intrants de la simulation. Elle va donc permettre d’estimer la combinaison
d’intrants qui minimise (ou maximise) la fonction objectif. Cependant, étant donné que
cette méthode est une heuristique, elle ne garantit pas de trouver l’optimalité [62].
L’utilisation d’un métamodèle permet de simplifier la résolution d’un problème de
simulation-optimisation. En effet, plutôt que d’être stochastique, la réponse du métamodèle
est déterministe, et le temps d’exécution est généralement beaucoup plus court que
l’exécution du modèle de simulation initial [63].
Il existe plusieurs classes de métamodèles. Certains, basés sur des polynômes de premier ou
de second ordre vont permettre d’obtenir de bonnes adéquations localement (entre le
métamodèle et le modèle de simulation), et c’est donc une série de métamodèles qui va être
nécessaire pour évaluer l’espace des solutions au fur et à mesure de l’optimisation; d’autres
peuvent être globalement adéquats et le même métamodèle peut être utilisé tout au long de
l’optimisation [63]. Pour plus d’information sur la mise en œuvre de ces techniques, le
lecteur est invité à se référer à Kleijnen [62].
Pour de plus amples informations sur les différents types de métamodèles existants ainsi
que leurs propriétés et la manière de déterminer le bon métamodèle, le lecteur est invité à se
référer à Barton [64].
Cependant, l’application de cette méthode suggère d’être particulièrement attentif aux
résultats estimés à cause de l’incertitude créée par le fait qu’on utilise une approximation
(estimation) d’un modèle qui n’a pas été simulé entièrement [36].
Il existe aussi d’autres techniques de simulation-optimisation telles que l’approximation
stochastique.
2.2.3.2. L’approximation stochastique
L’approximation stochastique (Stochastic Approximation, SA) est un algorithme de
simulation-optimisation basé sur le gradient. Lorsque l’on fait face à un problème
d’optimisation classique avec des variables de décision prenant des valeurs continues, le
fait d’avoir la possibilité de calculer un gradient peut améliorer de façon très significative
l’efficacité de l’algorithme. Lorsque l’on fait face à un problème stochastique, il peut être
26
difficile de trouver un estimateur du gradient d’une variable stochastique [65]. Dans les
faits, en utilisant des méthodes statistiques rigoureuses, l’algorithme va en quelque sorte
imiter l’algorithme du gradient (utilisé classiquement en optimisation déterministe) pour
prendre en compte les composantes stochastiques du problème [57]. L’approximation
stochastique est un algorithme de recherche itératif et deux méthodes classiques sont
principalement utilisées : Robbins–Monro (RM) et Kiefer–Wolfowitz (KW) [66]. Il existe
aussi d’autres variantes de ces deux méthodes. Chau et al. [67] indiquent que
l’approximation stochastique est l’une des méthodes les plus utilisées en simulation-
optimisation et ne requiert que peu de mémoire. Ces algorithmes sont généralement utilisés
pour des problèmes d’optimisation continue.
Il existe d’autres techniques basées sur le gradient qui sont utilisées en simulation-
optimisation. C’est le cas de l’approximation moyenne de l’échantillon.
2.2.3.3. L’approximation moyenne de l’échantillon
L’approximation moyenne de l’échantillon (en anglais Sample Average Approximation,
SAA, parfois trouvé sous le nom de Sample Path Optimization) est aussi basée sur le
gradient (c.f. section 2.2.3.2). Mais, ce n’est pas un algorithme à proprement parler. C’est
plutôt une « recette » à utiliser pour faire face à des problèmes de simulation-optimisation.
Cette technique se base principalement sur le fait que la fonction f(x) que l’on cherche à
estimer par simulation peut être approximée en faisant la moyenne des résultats de toutes
les réplications pour chaque scénario [55]. Cette estimation s’explique par la loi des grands
nombres. En effet, si l’on répète un nombre de fois suffisamment élevé une expérience (i.e.
beaucoup de réplications d’un même scénario avec des nombres aléatoires différents), on
devrait se rapprocher de la moyenne. De ce fait, l’optimisation qui en découle peut être
réalisée en se basant sur la moyenne trouvée [68]. Il est cependant très important d’utiliser
des CRN (Common Random Numbers), i.e. des nombres aléatoires « identiques » pour
chaque scénario différent [55]. Il faut aussi veiller à bien identifier la taille de l’échantillon
(i.e. que le nombre de réplications à effectuer soit suffisamment grand), pour être sûr que la
solution trouvée soit bien une solution optimale au problème initial [68].
27
Cependant, l’application de l’approximation moyenne de l’échantillon montre que cette
technique n’est pas aussi efficace que l’approximation stochastique, mais que de récentes
extensions à la méthode de base peuvent permettre de rivaliser avec celle-ci [69].
2.2.3.4. Les méthodes de recherche aléatoire et les métaheuristiques
À l’origine, les méthodes de recherche aléatoire (Random Search) ont été développées pour
résoudre des problèmes d’optimisation déterministe. Elles ont été adaptées pour résoudre
des problèmes de simulation-optimisation pour lesquels la fonction objectif ne peut pas être
évaluée de façon déterministe [70, 71]. Selon Zabinsky [72], un algorithme de recherche
aléatoire est un algorithme utilisant une part aléatoire ou se basant sur des probabilités. Les
méthodes de recherche aléatoire peuvent être utilisées pour résoudre la plupart des
problèmes de simulation-optimisation dont les variables de décision sont discrètes (que le
nombre de combinaisons d’intrants du modèle de simulation soit fini ou pseudo-infini, i.e.
non comptable). Elles sont bien adaptées pour résoudre des problèmes dont la fonction
objectif a une structure peu connue et dont la procédure d’optimisation doit identifier de
meilleures solutions tout en étant guidée par la performance estimée des solutions déjà
considérées [73]. Elles convergent généralement vers des solutions optimales et peuvent
mener à des optimums locaux ou globaux suivant la méthode utilisée [70].
Les méthodes de recherche aléatoire permettent de se déplacer d’une solution candidate à
une autre dans l’espace de recherche, i.e. lorsqu’une combinaison d’intrants a été évaluée
par simulation, ces méthodes vont permettre de trouver une autre combinaison d’intrants
(possiblement meilleure) qui devrait être évaluée. Le déplacement vers l’autre solution
candidate va généralement se faire à l’aide de techniques statistiques [71].
Selon Fu et al. [71], l’algorithme de recherche doit avoir deux caractéristiques principales :
il doit définir comment la prochaine solution candidate est choisie et comment déterminer
quelle est la meilleure solution actuelle.
Les méthodes de recherche aléatoire peuvent être principalement distinguées par leurs
stratégies d’échantillonnage, i.e. la stratégie utilisée pour choisir la prochaine combinaison
d’intrants à simuler. Andradóttir [70] en distingue trois types : les stratégies « point-based »
(basées sur un point) qui impliquent de chercher de nouveaux points (nouvelles
28
combinaisons d’intrants du modèle de simulation, i.e. nouveaux scénarios) à échantillonner
dans le voisinage du point que l’algorithme visite actuellement (e.g. simulated annealing,
recherche avec tabous); les stratégies « set-based » (basées sur un ensemble) qui vont
échantillonner des points d’un sous-ensemble particulier de l’espace de recherche global
(e.g. branch-and-bound, nested partitions); les stratégies « population-based » (basées sur
la population) permettant de générer une nouvelle collection de points en utilisant les
propriétés de la collection actuelle (e.g. les algorithmes génétiques).
On retrouve souvent le terme métaheuristique qui est associé aux méthodes de recherche
aléatoire [72]. Les exemples introduits (simulated annealing, recherche avec tabous,
algorithmes génétiques, etc.) appartiennent aussi à la catégorie des métaheuristiques [74].
Les métaheuristiques sont des méthodes généralement utilisées pour résoudre des
problèmes d’optimisation complexes. Elles coordonnent les procédures de recherche locale
avec des stratégies globales dans le but de créer un processus capable de sortir d’un
optimum local [75]. En d’autres termes, les métaheuristiques guident une procédure de
recherche dans le but de ne pas « rester coincé » dans un optimum local. Pour plus
d’information sur l’utilisation des métaheuristiques en simulation-optimisation, le lecteur
peut se référer à Ólafsson [76].
2.2.3.5. Principales utilisations des techniques de simulation-optimisation
Les méthodes que nous avons introduites dans cette section sont les principales méthodes
actuellement utilisées en simulation-optimisation. Ces méthodes peuvent être appliquées à
des problèmes très divers, comme des problèmes de gestion de stocks de produits en-cours,
de conception d’usines ou encore de flux dans les hôpitaux [54, 71]. Jalali et Van
Nieuwenhuyse [52] résument les utilisations courantes de techniques de simulation-
optimisation dans le contexte de réapprovisionnement des stocks. Chacune d’elles est
généralement utilisée pour des problèmes dont la structure est différente (Figure 9). Les
méthodes basées sur le gradient (approximation stochastique et approximation moyenne de
l’échantillon) vont être généralement utilisées lorsque les variables de décision sont
continues et que la fonction f est dérivable, alors que les méthodes de recherche aléatoire
s’appliquent généralement sur un ensemble discret. En ce qui concerne les métamodèles, la
29
fonction objectif ne doit pas nécessairement être dérivable et les variables de décision sont
généralement continues [52].
Techniques de simulation-
optimisation
Ensemble des variables de décisions X discrètes
Ensemble des variables de décisions X continues
Nombre de variables de
décisions |X| grand ou infini
Nombre de variables de
décisions |X| « petit » et fini
Classification et sélection
Méthodes de recherche aléatoire,
Métaheuristiques
f est dérivable
Approximation moyenne de l'échantillon
Approximation stochastique
Méthode de la surface de
réponse
Figure 9 : Utilisation courante des techniques de simulation-optimisation, adaptée de
Barton et Meckesheimer [63] et de Jalali et Van Nieuwenhuyse [52]
Néanmoins, il existe des problèmes similaires à des problèmes de simulation-optimisation
qui ne peuvent être résolus grâce aux techniques classiques de simulation-optimisation.
C’est le cas du problème de la recherche de la meilleure combinaison.
30
3. Le problème de la recherche de la meilleure
combinaison : Description du cadre décisionnel
proposé
3.1. Description du problème
Un problème de simulation-optimisation est un problème d’optimisation dont l’évaluation
de la fonction f nécessite l’utilisation de la simulation [59]. En simulation-optimisation, on
cherche classiquement le « meilleur » scénario (ou un ensemble de scénarios incluant le
meilleur). En effet, le scénario recherché est celui qui maximise une fonction objectif. Le
temps alloué pour trouver ce scénario ne permettant pas d’évaluer l’ensemble des scénarios
possibles, la simulation-optimisation classique retourne le meilleur scénario trouvé dans le
temps imparti (qui n’est donc peut-être pas le meilleur parmi l’ensemble des scénarios
possibles).
Dans le cadre de ces travaux, nous recherchons plutôt la « combinaison » de scénarios qui
devrait être la meilleure, i.e. les scénarios qui, ensemble, maximisent une fonction objectif.
Reprenons notre cas de conception d’usines (section 2.2.2). Une compagnie a plusieurs
usines complémentaires à construire. Elle cherche donc à réaliser leurs conceptions en
même temps. Le but pour elle n’est alors pas de trouver la meilleure configuration d’une
usine particulière. C’est d’en trouver la combinaison qui va maximiser le profit global de la
compagnie. Plutôt que de chercher la meilleure configuration d’un système, elle cherche à
trouver les m configurations de ce système qui, ensemble, vont donner les meilleurs profits.
Étant donné l’aspect combinatoire de la chaîne d’approvisionnement et des marchés, les m
usines à construire ne sont pas forcément les m meilleures. Par exemple, la compagnie
pourrait avoir trois usines à concevoir, le but serait de trouver la combinaison de trois
conceptions qui, mis ensemble, nous donnerait la meilleure performance f. La formulation
classique décrite dans la section 2.2.2 s’applique dans le cas où il est possible de simuler
directement chaque combinaison de configurations des usines. En effet, il est possible dans
certains simulateurs de simuler l’ensemble de la chaîne d’approvisionnement et donc de
concevoir plusieurs usines d’un réseau dans un même scénario et faire des simulations pour
chaque trio d’usines. Cependant, dans certains cas, il n’est pas envisageable de le faire, car
31
le simulateur utilisé n’est tout simplement pas adapté pour le faire (e.g. prise en charge
d’une seule usine à la fois par le simulateur). La modélisation du système pourrait aussi
devenir trop complexe du fait du très grand nombre de scénarios possibles.
À notre connaissance, ce problème n’a pas été adressé dans la littérature. C’est pourquoi
nous proposons un cadre formel pour le traiter.
3.2. Présentation du cadre conceptuel
À la manière d’un problème de simulation-optimisation (auquel notre cadre pourrait être
rattaché), nous proposons de représenter le problème décrit précédemment de la manière
suivante. Il s’agit d’un problème d’optimisation dans lequel on cherche à maximiser la
valeur d’une fonction objectif g X , où X est l’espace des solutions, et X est l’ensemble de
scénarios recherchés et doit être de taille maximale ϴ.
|X XX
Max g X
Cependant, la fonction g n’est pas directement évaluable (car elle implique un phénomène
aléatoire), mais sa valeur peut être estimée grâce à la simulation. Nous disposons d’une
fonction ( , ) |G S x x X permettant d’évaluer un ensemble de scénarios où ( , )S x est
le vecteur des résultats de simulation ( , )iS x . Chaque scénario est évalué pour n
réalisations des paramètres aléatoires. Chacune de ces simulations constitue une
réplication. En effet, dans notre exemple, il est facile d’évaluer la performance d’un
ensemble m d’usines en utilisant une fonction mathématique G (décidant quelle usine
dessert quel client, quelle usine fabrique quoi, etc.) avec m X . G peut ainsi sélectionner
les m qui donnent ensemble les meilleurs résultats.
( , ) |g X G S x x X
avec m X
32
Nous chercherons à maximiser :
( , ) |x X
MaxG S x x X
De plus, le nombre de scénarios possibles pouvant être très grand (et le temps imparti trop
petit pour simuler chacun d’eux), il est nécessaire d’imaginer une procédure pour
sélectionner les scénarios à simuler.
La figure 10 illustre cette démarche dans un cas de conception d’usines dans un réseau.
Simulation
Procédure de recherche
Prochain scénario à évaluer
(xi,ξj)
Simulation output
S(xi,ξj)
Simulation output
S(xi,ξj)
Simulation output
S(xi,ξj)
Résultats de simulation
S(x,ξ)
Meilleure combinaison de scénarios
Figure 10 : Principe de fonctionnement de la méthode proposée
( , )S x représente un vecteur de métriques correspondant aux résultats de simulation. Ce
résultat peut être directement récupérable grâce à la simulation. Il est aussi possible d’avoir
recours à un autre modèle ou une autre approche pour l’obtenir.
Contrairement aux problèmes résolus par la simulation-optimisation classique, la valeur de
( , ) |G S x x X ne dépend pas de xi seul, mais bien de tous les xi testés jusqu’à
maintenant puisque maximiser ( , ) |G S x x X est un problème d’optimisation
combinatoire. Il est donc apparemment très difficile d’imaginer comment se baser sur les
résultats de ( , ) |G S x x X pour déterminer les prochains xi à simuler. Cette thèse n’a
pas pour but de s’attarder en détail sur la manière d’utiliser les résultats d’optimisations
précédentes pour trouver quel devrait être le prochain scénario à évaluer. Néanmoins, nous
proposons une méthode (chapitre 6) efficace pour déterminer le prochain scénario à simuler
(mais sans se baser sur les résultats de simulation). En effet, nous pensons que les
techniques d’optimisation combinatoire pourraient s’avérer très payantes sur ce type de
problème.
33
3.3. Présentation des applications potentielles
En contexte manufacturier standard, on considère qu’il existe trois niveaux de planification
différents (Figure 11). Le premier niveau établit la planification sur le long terme, le second
sur le moyen terme et le troisième sur le court terme [77]. La dénomination de ces trois
niveaux n’est pas identique pour tous les auteurs [78]. Dans ce document, les termes utilisés
sont ceux préconisés par l’APICS (American Production and Inventory Control Society).
Le premier niveau est le niveau stratégique, le second, le niveau tactique et le troisième, le
niveau opérationnel [79].
Décisions de niveau tactique
Plan Industriel et Commercial (Sales and Operations Planning)
Décisions de niveau opérationel
Décisions de niveau stratégique
Sélection des fournisseursConception d’usine
Localisation des usinesDéfinition de la structure du réseau de distribution
Planification des ventes pour les prochaines années
Réalisation de contrats d’approvisionnement
Allocation des produits aux usines
Définition de règles de transport
Acceptation de contrats d’approvisionnement
Commandes de matières premières
Définition de l’horaire de production
Définition des trajetsPlanification des ventes de
la semaine
Approvisionnement Production Distribution Vente
Figure 11 : Matrice reprenant certains types de décisions classiques selon le niveau de
planification, adaptée de Fleischmann et al. [78]
3.3.1. Niveau stratégique
Au niveau stratégique, nous pourrions chercher comment configurer plusieurs usines au
sein d’un réseau. La conception de réseau dans une chaîne logistique ou « supply chain
network design » est un problème courant. Une configuration optimale pour un réseau est
recherchée. Typiquement, on cherche à maximiser le profit du réseau sur un horizon de
planification donné. On va chercher à configurer le réseau, i.e. les usines, la localisation de
ces usines, leur nombre et la production allouée à chaque usine. Chaque usine est ainsi
34
dimensionnée en termes de capacité, de technologies utilisées et de panier de produits. Les
différents fournisseurs clefs pourront aussi être sélectionnés ainsi que les niveaux de stocks
à garder ou les niveaux de vente [80]. Plus simplement, le problème de conception de
réseau dans une chaîne logistique consiste à sélectionner le nombre, la localisation, la
mission, la capacité et la technologie de lieux de production et/ou de distribution [81].
Cela revient à l’exemple de la figure 10 où il était question de choisir des conceptions
d’usines complémentaires dans un réseau. La méthodologie pourrait donc être utilisée pour
répondre de manière efficace aux problèmes de supply chain network design.
Ce problème est généralement résolu grâce à des techniques d’optimisation [82]. Il existe
plusieurs techniques de résolution de ces problèmes grâce à la programmation
mathématique. Bolduc et al. [81] dénombrent trois différentes techniques de modélisation
des lieux de production/distribution :
les plateformes alternatives (Alternative facility configurations) qui permettent de
choisir une conception d’usine parmi des conceptions d’usines préexistantes;
les approches laissant le modèle générer lui-même la configuration optimale de
chaque lieu de production/distribution en déterminant simplement le nombre de
machines nécessaires;
les approches considérant que la sélection de la mission et de la capacité de chaque
emplacement potentiel ont déjà été déterminées (classical hierarchical multi-stage
facility location models).
Bolduc et al. [81] comparent ces techniques et montrent que les choix de modélisation
peuvent grandement affecter la solution. Ils font remarquer que les modèles trop simplistes
ne permettent pas d’évaluer certains compromis très importants entre les options
stratégiques.
De plus, les approches actuelles ne permettent pas de concevoir chaque usine de façon
précise, i.e. implantation de chaque composant/machine dans l’usine, mais, par exemple, de
choisir parmi des conceptions connues (alternative facility configuration) et dont les
35
caractéristiques ont été approximées. La simulation nous permet de nous affranchir d’une
partie de ces contraintes, car elle permet d’imiter la réalité d’une façon plus précise [15].
3.3.2. Niveau tactique
En Amérique du Nord, l’industrie du bois d’œuvre fabrique presque exclusivement des
produits de commodité très standardisés répondant aux normes de la National Lumber
Grades Authority (NLGA). Certains clients expriment parfois un besoin pour des produits
aux caractéristiques spécifiques (grade ou dimensions). Malheureusement, la production en
scierie est caractérisée par de la co-production (une même bille générera plusieurs produits
en même temps). L’ajout d’un nouveau produit dans la liste des options accessibles à
l’optimiseur de la ligne de sciage entraînera donc un changement dans les quantités de tous
les produits fabriqués. Il est difficile d’anticiper quelle sera l’ampleur de cet effet, et donc,
de prévoir la rentabilité réelle de l’introduction d’un nouveau produit.
Nous proposons d’utiliser ce cadre pour résoudre ce problème. La simulation est utilisée
afin d’évaluer l’impact de modifications aux paramètres des équipements ou de
l’approvisionnement en matières premières sur le panier de produits fabriqués (scénarios de
simulation). Pour ce faire, un simulateur de débitage de billes est utilisé et permet de
connaître la performance du système dans plusieurs configurations. Les résultats de ces
simulations alimentent un modèle de planification tactique (optimisation linéaire) qui
permet de déterminer les contrats à accepter, les paramètres des équipements et la matière
première à consommer à chaque période. Le modèle d’optimisation linéaire est donc utilisé
pour évaluer et choisir la meilleure combinaison de configurations.
Ce cas d’application est présenté dans le chapitre 4.
3.3.3. Niveau opérationnel
L’industrie du bois de plancher est aussi caractérisée par des flux divergents et de la co-
production. Nous proposons de transposer le cadre à l’industrie du bois de plancher pour
une planification à très court terme (exécution) améliorant la valeur de la production
globale.
36
La production de bois de plancher est un défi constant. Le processus de fabrication
implique que chaque pièce de bois brute soit découpée pour obtenir plusieurs morceaux de
plus faibles dimensions en même temps (co-production). Pour chaque planche en entrée
(matière première), le système essaye de trouver et sélectionner le patron de coupe qui
générera le plus de valeur. Ces décisions concernant les patrons de coupe (i.e. les produits
qui seront découpés dans une planche) sont prises en temps réel, planche par planche en
tenant compte des caractéristiques de celle-ci. Cependant, des contraintes de marché
limitent la quantité à fabriquer de certains produits et forcent ainsi le système à désactiver
dynamiquement des produits lorsque la quantité d’un produit donné est trop forte ou trop
faible par rapport à certaines cibles. Les systèmes de production actuellement utilisés dans
l’industrie sont dits « réactifs », car ils désactivent des produits lorsqu’ils détectent la
violation d’une contrainte. Ainsi, « l’optimiseur » est parfois obligé de choisir un patron de
découpe moins rentable dans le but de respecter les contraintes liées à la production ou au
marché. En effet, le système est complètement myope, il ne peut pas savoir quelles sont les
prochaines planches qui vont être amenées dans le système. Ainsi, il va prendre des
décisions qui respectent strictement les contraintes. Or, parfois, le système pourrait ne pas
respecter une contrainte à un moment donné, car les prochaines planches pourraient
rééquilibrer les contraintes, i.e. ne pas violer la contrainte sur un laps de temps plus grand.
Dans le but d’améliorer le fonctionnement actuel de « l’optimiseur », nous proposons de
transposer notre cadre à ce cas. En effet, nous pourrions utiliser une approche plus
proactive permettant de prédire la production et rendre le système moins aveugle. Le cadre
développé nous permet d’utiliser tout d’abord la simulation sur un ensemble de planches
virtuelles qui nous servent de données d’entraînement pour générer une base de données
associant des combinaisons de produits actifs à la production attendue (i.e. à un ensemble
de produits finis). Chaque scénario de simulation correspond à un couple de produits
actifs/ensemble de planches et le résultat de la simulation nous donne la quantité de chaque
produit fini que le système aurait fabriqué. Ensuite, nous utilisons un modèle
d’optimisation pour générer un horaire de production maximisant la valeur attendue de la
production tout en respectant les contraintes de marché. Cet horaire de production va
définir quelles sont les combinaisons de produits actifs à utiliser et dans quelle séquence.
Le modèle d’optimisation va donc choisir la meilleure combinaison de scénarios de
37
simulation, celle qui va maximiser le profit attendu. Le système ne sera ainsi plus
totalement myope et les décisions seront anticipées.
Ce cas d’application est présenté dans le chapitre 5.
3.4. Conclusion
La principale contribution de cette thèse est la spécification formelle de ce problème des
« m-configurations ». Nous apportons donc un cadre permettant de résoudre ce problème en
différents contextes. Pour démontrer la pertinence de notre approche, nous proposons
d’appliquer notre cadre à trois cas concrets de divers niveaux décisionnels.
Au niveau stratégique, le cadre peut être appliqué, par exemple, pour déterminer comment
configurer plusieurs usines au sein d’un réseau.
Au niveau de la planification tactique, l’objectif de nos travaux est de transposer le cadre
décisionnel pour inclure l’évaluation de nouvelles opportunités. Nous proposons de
l’utiliser dans un contexte de production très standardisée avec de la co-production pour
évaluer la rentabilité de la fabrication d’un nouveau produit.
Au niveau opérationnel, l’objectif de nos travaux est d’améliorer le pilotage d’un système
de découpe de bois de plancher. Nous proposons d’évaluer la pertinence de l’utilisation du
cadre par rapport au mode de fonctionnement actuel de ces systèmes.
38
4. Application du cadre au niveau tactique
L’article présenté dans ce chapitre a été soumis en mars 2017 au journal Computers in
Industry. C’est la version étendue d’un article présenté lors de la 10ème conférence
internationale on Modeling, Optimization & Simulation (MOSIM) en 2014. Il fait état de
l’application du cadre pour la planification tactique en tenant compte des opportunités
pour des nouveaux produits dans un contexte de co-production, soit l’industrie du bois
d’œuvre nord-américaine.
Titre de l'article
Simulation-optimisation based framework for Sales and Operations planning taking into
account new products opportunities in a co-production context
Résumé
L'industrie nord-américaine du bois d'œuvre produit principalement des produits de
commodité (c'est-à-dire des produits ayant des dimensions et des propriétés standards).
Cependant, certains clients veulent également des produits présentant des caractéristiques
très spécifiques. Parce que le sciage implique une co-production (de nombreuses planches
de dimensions et de qualités différentes sont obtenues à partir d'un seul arbre), les scieries
ne savent pas comment l'introduction d'un nouveau produit sur mesure affectera les
quantités des autres produits également fabriqués. Nous proposons un cadre basé sur les
méthodes de simulation-optimisation pour aborder ce type de problèmes pour lequel les
techniques classiques ne peuvent être utilisées. Un simulateur de débitage de billes est
utilisé en combinaison avec un modèle de planification tactique afin de réaliser la
planification des ventes et des opérations (S&OP). Le plan permet au décideur d’évaluer
quelles demandes pour des produits sur mesure devraient être acceptées, quoi produire et
quand, ainsi que les paramètres de l'équipement à utiliser et la matière première à
acheter/consommer à chaque période. Au moyen d’une étude de cas fictive inspirée de la
réalité industrielle, nous montrons comment l’utilisation du cadre peut conduire à des gains
substantiels (ou à des économies).
39
Abstract
The North American lumber industry produces mostly commodity products (i.e. products
with standard dimensions and properties). However, some customers also want products
showing very specific characteristics. Because sawing involves co-production (many
different types of lumbers are obtained from a single tree), sawmills do not know how the
introduction of a new “speciality” product will affect quantities for the other products they
also produce. We propose a simulation-optimisation based framework to tackle the kinds of
problems such as these, where classical formulations cannot be used. A log breakdown
simulator is used in combination with a tactical planning model in order to realise sales and
operations planning. The plan gives the information to the decision maker about which
orders for speciality products should be accepted, what to produce and when, as well as the
equipment settings to use and the raw material to buy/consume at each period. Through an
industry-inspired case study, we show how the framework can lead to substantial benefits
(or savings).
4.1. Introduction
The North American softwood lumber industry produces mainly commodity products
having standard dimensions and characteristics (e.g. 2 inches x 3 inches x 8 feet, grade 3).
This means that products of any company are interchangeable with those of their
competitors. The market of each company is considered limitless, as every product made in
each sawmill can be sold on this huge market. However, prices change all year round.
Softwood lumber sawmills show another particularity. From a given unit of raw material
(log), it produces several different finished products (divergent process) at the same time
(co-production). Companies try to maximise profits by using hardware with embedded
software which optimises production value in real time without taking either orders into
account or human intervention. The equipment analyses each log and then cuts it
adequately in order to obtain the mix of products that will generate the highest possible
value, knowing they can all be sold on the spot market (make to stock policy).
In a particular situation where a sawmill receives a demand for a non-standard product
(dimensions and/or characteristics), settings of the machinery have to be modified in order
to “allow” the equipment to produce this customer’s specific request. However, it is unclear
40
for the company what quantity of that product will be obtained, given the fact that the
decisions of how to cut each log are made in real time by the hardware, based on the
expected value of each product, with no consideration for demand. It is then difficult to
predict how it will affect the rest of the production and subsequently the overall profit.
Additionally, if there are several potential demands for different speciality products, the
choice of the contract(s) to accept (i.e. demand to fulfil) becomes a complex combinatorial
problem. Moreover, as the commodity products’ prices change all year round, the company
strategy should differ for each period. Likewise, when the raw material supplied (e.g.
dimensions of consumed logs) changes, it is difficult to evaluate its consequences on the
mix of products obtained and on the profits.
This paper proposes a decision-making framework based on simulation-optimisation to
tackle these problems. It uses a sawing simulator to evaluate how the alternative
modifications to the equipment settings and new supplied raw material impact the mix of
products obtained. Simulation results feed a multi-period combinatorial Sales and
Operations Planning (S&OP) model. This model enables determining which orders should
be accepted, what to produce and when, as well as the equipment settings to use and the
raw material to buy/consume at each period.
4.2. Preliminary concepts
4.2.1. The lumber industry
In North America, the lumber supply chain is characterised by some specificities. Logs
(corresponding to felled trees that have been limbed and cut to length) are transferred from
the forest to a lumber mill log yard.
Logs are processed by the sawmill according to a “push” production system in order to
produce the range of products with the highest possible market value using a fully
automated process [83]. Each log generates many products at the same time (it is a
divergent process with co-production). At the physical level, when a log is processed by the
sawing unit, an optimiser4 decides which cutting pattern will be used in order to maximise
4 Software integrated to the hardware.
41
the profitability. The goal of the optimiser is to maximise the value of the log and minimise
the material losses. Since North American lumber products are normalised (they are
classified by dimensions, length and grades according to the NLGA5 standard grading
rules) there is a limited number of different products that can be produced. Each log is
automatically sawn following the recommendations of the optimiser. The decision
concerning the cutting pattern is done individually for each log. The decision is not
influenced by actual customer orders. For this reason, and because it is impossible to
produce a single particular product without getting some other products at the same time
(co-production), it is difficult to plan production according to customer orders [84].
However, logs in the yard are usually stored according to their “class”. Each class
corresponds to logs which have similar characteristics. Based on past production data,
sawmills are able to estimate the quantities of each product that a log class can produce
[85], as shown in Figure 12. By deciding which quantities of each log class will be sawn at
each period, we then have some control over the production quantities of the different
finished products we should obtain.
Figure 12 : Example of a production matrix, adapted from Gaudreault et al. [86]
5 NLGA stands for National Lumber Grades Authority and is the organisation responsible for
lumber grading rules and standards in Canada.
42
4.2.2. Tactical planning and optimisation models
In standard manufacturing situations, we consider that there are three different planning
levels [77]. Blackstone [79] names them strategic level (long-term decision making, e.g.
building a new plant), tactical level (mid-term decisions, e.g. Sales and Operations
Planning), and operational level (short-term production planning and scheduling).
Sales and Operations Planning (S&OP) joins together sales, marketing, procurement,
development, finance and production around plans [87]. S&OP process can be supported by
a mathematical model using linear programming. In the Canadian lumber industry, the
main objectives are to determine, in an integrated way: (1) the quantities of raw material to
use and which ones to buy, (2) the optimal mix of products to make, (3) the transformation
process to use, (4) the whole set of contracts/market opportunities that the sawmill should
take. S&OP planning horizon is generally one year (twelve one-month periods or 52 one-
week periods). Planning takes into account production lead time, transfer lead times
between sawmills and distribution centres, production capacities with the objective of
maximising profits. It allows sawmills to foresee the production of its different units, to
size resource capacities (humans/machines) if needed and inventories. S&OP replanning is
generally carried on once a month and gives the guiding lines and objectives of the
operational planning level.
In order to establish a tactical plan, the particularities/physical constraints of the plant must
be taken into account. For example, as decisions about how to cut the logs are made in real
time by the hardware, it would be illusory to suppose that this decision can be made by the
tactical planning model. However, the tactical planning model can be used to decide which
settings will be given to the hardware, and the quantities of each log class that will feed the
sawing unit at each period. In order to do this, we have to “feed” the tactical planning
model with data that allows predicting what the production will be for a given set of
hardware configurations (settings) and raw material. We can extract this data from the ERP
system of the company.
Among those authors who have worked on the specific problem of softwood lumber
production planning, Maness and Adams [88] have proposed a mixed programming model
43
that simultaneously determines the optimal bucking and sawing policies based on demand
and final product price (integration of stem bucking and log sawing). This model was later
modified to handle several periods [89]. These works focus on the identification of new
cutting patterns/policies.
Taking a more global view of the supply chain, Singer and Donoso [90] presented a model
for optimising planning decisions in the sawmill industry. The objective was to demonstrate
how collaboration can benefit the partners, by transferring timbers and using the
competitive advantages of each. Bajgiran et al. [91], Kong and Rönnqvist [92] use a Mixed
Integer Programming model to plan the whole supply chain from harvesting to the delivery.
Marier et al. [93] developed a mathematical model that allows making the Sales and
Operations Planning of one (or more) sawmills. They considered the three units of sawmills
(sawing, drying and wood finishing) and their capacity constraints. It considers yearly price
fluctuations of sawmills’ finished products and several raw material sources. The model is
able to modulate production and inventory levels and they show that this can significantly
increase sales revenue without changing the capacities.
For more details about other models and planning methods used in the forest products
industry, the reader could refer to D'Amours et al. [11], Rönnqvist [12], and Shahi and
Pulkki [13].
4.2.3. Current limits of tactical planning approaches
Even in the North American commodity products context, it happens a client expresses
needs for high volumes of a customised product (specific dimensions and/or grade). The
automated sawing hardware is then configured with settings allowing it to produce the new
product. The internal optimiser will still try to maximise the value it gets from each log.
Thus, it will produce both the new product and the other commodity products. Having no
historical data available concerning the “new” process, we do not know how it will affect
production for other co-products. Therefore, it is not possible to use a classic tactical
planning approach to decide if the new market opportunity should be captured, as we do not
have the production matrices (quantities of each product obtained if this equipment is set up
with some settings). This brings uncertainty regarding the profitability of the new product.
44
While at first it may seem very profitable to sell a product at a much higher price than
normal commodity lumber, the impact on other products quantities may bring an overall
loss of profits. In a similar way, if logs from a new supplier had never been processed by
the sawmill, it is difficult to know the mix of products given by this new “log class” as well
as the benefits and losses that it can bring. Consequently, it is nowadays quite a delicate
issue to change sawmill suppliers, to decide which log classes to buy, or even the way logs
are classified.
To summarise, it is very difficult for the company to comply with specific needs of a client
and it is even more difficult to know if it will be profitable. Most sawmills use expensive
trial and error approaches to find out if it is profitable to make a given speciality product.
However, it is also possible to use simulation or an approach combining simulation and
optimisation [13], as we detail in the next sections.
4.2.4. Log breakdown simulation
Simulation is usually employed when the reality is so complex that it is difficult to
represent it by an optimisation model. It is a means to mimic the reality and a technique
making it possible to proceed to experiments [15]. Regarding the wood industry, there are
several simulators specialised in log breakdown like SAWSIM, SIMSAW, Autosaw,
Optsaw, Saw2003, WoodCIM or Optitek.
They can simulate the sawing of a given log (represented by a 3D scan) by a plant modelled
in great detail (machines, configurations, etc.) [94, 95]. For example, the Optitek simulator
provides the amount of each finished product (mix of products) from the logs consumed in
the mill (Figure 13). It very precisely models the different machines of the mill and we can
modify the settings of the machines to see how it will affect the production.
45
Figure 13 : Example of a cutting pattern for a log after simulation using Optitek software
4.2.5. The use of simulation and optimisation in the forest products industry
Ladier et al. [37] identifies four different types of relationships between simulation and
optimisation: (1) integration of an optimisation model within a simulation model, (2) use of
a simulation model to generate data that will further be used by an optimisation model, (3)
use of simulation to evaluate precisely (and stochastically) the value of an optimisation
model output, (4) use of a simulation model integrated within an optimisation model.
In the forest-products industry, simulation is often used to obtain information which is then
used to feed decision-making models (2). Sinclair and Erasmus [43] use SIMSAW software
to get data about different trees/logs cutting patterns for operational planning purpose.
Wessels et al. [44] developed a package that combines linear and mixed-integer
programming techniques in order to make operational, tactical or strategic planning of
forest harvesting and sawmilling operations using SIMSAW simulation results. Arabi et al.
[45] do the tactical planning for harvesting, wood transportation and sawmilling at the same
time. They combined two software (FPInterface for simulation and Optitek for log
breakdown simulation) to an optimisation model.
Simulation can also be used to verify whether a plan given by an optimisation model is
adequate or not (3). For example, Jerbi et al. [38] first make a tactical plan using an
optimisation model for a complex lumber supply chain. They then use simulation to verify
46
the impacts of the tactical planning at the operational level. Similarly, Dumetz et al. [48]
use discrete event simulation to compare different planning strategies in the North
American softwood lumber industry context.
Simulation is an interesting tool for evaluating and comparing different scenarios (e.g. to
compare factory designs). When the number of possible scenarios is such that it could take
a year or more to simulate all the alternatives, i.e. the available computational time is not
sufficient to simulate all the possible scenarios, one generally falls back on a set of
techniques called simulation-optimisation where simulation is used inside an optimisation
model (4) [54].
4.2.6. Simulation-optimisation in classical context
A simulation-optimisation problem can be formalised as follows. It is an optimisation
problem for which one seeks to minimise (or maximise) an objective function f x X ,
where x is a vector representing the decision variables and X the space of possible
scenarios [56]:
( )x X
Max f x
However, f is not directly evaluable (because it implies a random phenomenon) but its
value can be estimated by simulation. The function f can thus be represented as the
expectation of a simulation result for an output random variable ,Y x , where ξ is the set
of random numbers of a simulation:
, f x YE x
In practice, we have a simulation function ( , )iS x which returns, for a given scenario x
and a realisation i of the random parameters, a vector of metrics used to evaluate this
realisation of the scenario. An objective function ( , )iF S x takes this simulation result
as an input and evaluates the value according to the criterion established by the decision
47
maker. Each scenario will be evaluated for n realisations of the random parameters. Each of
these simulations will constitute a replication. We will therefore assume that:
1
1( ) , ( , )
n
i
i
f x F S x F S xn
And we will seek to maximise this value:
,x X
Max F S x
For example, let us assume the problem of designing a plant. We are looking for the design
that will maximise the plant's performance F . For each possible configuration of the
system (i.e. each different design), we define a simulation scenario x X . Some processes
or even demand are not constant and have a random part. For each scenario x, we can
simulate the behaviour of the system several times (with different random numbers ξ for
each replication corresponding to different machine failure rates or delivery times). A
number of replications n is to be made in order to estimate the performance F .
Simulation-optimisation techniques are used to find the best possible scenario when
computational time is not long enough to simulate all scenarios. Figure 14 describes the
process in general. Basically, a replication of a scenario ix is first evaluated through
simulation. The simulation result ( , )i jS x is used to estimate the performance ( , )( )i j
S xF of
the scenario. This is the input of a search procedure that will identify the next scenario to
simulate, e.g. 1( , )i jx or 1( , )i jx . The most used techniques are: Ranking and Selection [19,
60], Response Surface Methodology, Stochastic Approximation, Sample Average
Approximation and Random Search Methods. Fu [56] reviews these techniques and the
reader can refer to it for further information.
48
Figure 14 : Operating principle of simulation-optimisation methods
4.3. Simulation-optimisation based framework for scenario
combinations selection
In this section we propose a framework that combines scenarios in order to find the best
solution. In classical simulation-optimisation, one looks for the scenario x X maximising
an objective function. However in this research, we rather seek the “combination” of
scenarios that jointly maximise an objective function. Let us imagine that instead of
designing one plant, we have to build several factories that will jointly generate the best
profits for the company. Rather than look for the best configuration of a system, we look
for a set X X of configurations for this system which, together, give the best
performance. Because of the combinatorial aspects of the supply chain and markets, the
plants to build are not necessarily the ones that would perform best if they were to be
exploited alone. Moreover, constraints like an upper bound over the size of X may exist
such as X .
If we had access to a simulator capable of simulating the full supply chain, the classical
formation described in the previous section would do the job (although each simulation run
would be huge).
However, evaluating how a set of plants would perform on a market can be computed
easily using a mathematical programming model g X , the model deciding which mill will
serve which customers, etc.
49
Moreover, when provided with more than configuration, this model can easily select the
ones that perform best together.
We represent this problem in the following way:
X X X
Max g X
With
( , )g X G S x x X
Where ( , )S x is the vector of the results of simulation ( , )iS x with 1, ,i n , X is the set
of sought scenarios and must maximally be of size ϴ, ( , )G S x x X is the function
that allows evaluating a set of scenarios. Figure 15 illustrates this approach.
Figure 15 : Operating principle of the proposed method
4.4. Application of the framework to the softwood lumber industry
The framework proposed in the previous section can be used for tactical Sales and
Operations Planning in a situation where transformation process data does not exist (either
because the plant never had the opportunity to transform a particular raw material or
because a specific finished product has never been made). This application to lumber mill
planning extends a case study presented in Wery et al. [96].
A sawmill simulation component is used to evaluate the impact of different plant
configurations associated with the production of new specialised products and new raw
50
material suppliers. An optimisation S&OP model determines which combination of
configurations should be used during each production period, as well as the raw material to
use, the quantities and type of raw material to consume, the quantities of finished products
to expect (that is, the optimal mix of products to make) and the contracts/market
opportunities that the sawmill should capture. Figure 16 details this process. It uses the
Optitek sawing simulator and the S&OP optimisation model from Marier et al. [93]. A
search procedure can be used in order to find the next scenario to simulate.
Figure 16 : Operating principle of the proposed framework when applied to the lumber
market tactical planning problem
In order to implement the principle described in Figure 16, information regarding inputs of
the optimisation model and a way of generating scenarios are needed. We first need to
prepare the simulation scenarios, i.e. model the plant within the simulator, the different
machine configurations that can be used, the different raw materials that the company could
buy and the specifications of the finished products that are possible to make. Simulation of
the scenarios enables us to get some information about transformation (i.e. characteristics
and quantity of finished products) as well as the time needed to transform each of the logs
into lumbers, for each valid scenario/combination of <plant configuration, raw material
provenance and mix of possible products to make> defined. For the configurations/raw
materials/mixes of products already tested in past operations of the plant, it is possible to
get similar data by extracting them from the manufacturing execution system of the
company. As for the search procedure, in our experiments, we used a very simple ad hoc
approach for the case instead of a complex feedback loop. An expert from the industry has
51
generated many different scenarios and sorted them according to their expected
“usefulness”.
The optimisation model (Figure 17) is able to establish, for each period, the configuration
of the plant to use, the raw material to use and the products that should be produced.
Figure 17 : Inputs and outputs of the optimisation model
Formally, input data for the planning model of Marier et al. [93] which are obtained from
the simulation results and from historical data (1) are the following: consumption (volume)
of each log class b which can be sawn in one time unit according to the sawing
configuration y (vcb,y), the volume vtp,b,y of product p that is expected when sawing one
volume unit of log class b using sawing configuration y, the volume vsp,z of product p
which can be dried in one time unit using kiln configuration z, the volume vrp,x of product p
which can be planed in one time unit using wood finishing configuration x, the volume vop,x
of product p obtained after wood finishing operation for the wood finishing configuration x.
52
In order to run the model, it is also necessary to have information (2) about the volumes
vab,t of log classes b available for replenishment at period t, as well as procurement costs
cab,t.
Further, tactical planning takes into account available capacity (3) for each period t at the
sawing unit (dtt), drying unit (dst) and wood finishing unit (drt). The maximal inventory ip,t
for each product p that can be stored at period t and the maximal inventory ib,t for each log
class b are also important for tactical planning.
It is necessary to obtain information about the market (4) in order to decide which products
should be sold, when and at what price. We use pvp,t, the expected selling price of product p
at period t, the minimum quantity qmp,t of product p to sell at period t corresponding to
agreements already signed and the maximum quantity qnp,t of product p which could be
sold at period t on the market (really important for new speciality products).
Thus, we can get the volume VTb,t of log class b sawn at period t, the volume VRp,t of
product p planed at period t, the volume VTp,t of product p obtained after sawing at period t,
the volume VSp,t of product p dried at period t, the volume VOp,t of product p obtained after
wood finishing at period t, the volume VVp,t of sales of product p at period t, inventory IFp,t
of product p at period t, inventory IFb,t of log b at period t, the sawing configuration y used
at period t, the kiln configuration z used at period t, the wood finishing configuration x used
at period t, the supply cost CAb,t for log class b at period t, the incomes Rp,t for sales of
product p at period t, as well as the total incomes Rt at period t.
The multi-period plan enables maximising global profit, i.e. incomes minus costs for the
entire planning horizon. Let T be the number of periods within the planning horizon, the
objective function to maximise is then:
))( ( +t t t t t
T
t
tR CT CSMax CR CI CA
53
With:
Rt, the global incomes at period t;
CTt, the sawing cost at period t;
CSt, the drying cost at period t;
CRt, the wood finishing costs at period t;
CIt, the inventory cost at period t;
CAt, the total supply cost at period t.
4.5. Industrial case study
4.5.1. Case study context description
In order to evaluate this framework in an industrial context, we developed a case study
together with our industrial partners. We use a lumber mill representative of the North
American softwood lumber industry which normally produces standard NLGA products
(commodity products).
We had access to about 1000 log scans representative of the softwood supply of two
different supply areas. The maximum quantities that can be supplied to the mill are
respectively 350 000 m3 for area 1 and 200 000 m3 for area 2. Wood drying and planing
(finishing) are not considered as we are focusing on sawmilling.
Some customers want products with specific characteristics that the mill has never
produced before. The lumber company would like to know if it would be profitable for
them to produce this particular product, as allowing the equipment to produce this product
(by giving them new configuration settings) will lead to unknown variations about the
quantity of other products which will be made at the same time. Moreover, when a contract
is accepted there are minimum and maximum quantities as well as a calendar to observe.
For this experiment, two non-NLGA speciality products are considered. The
product 1.25x6 (with nominal dimensions of 1.25 inches thick and 6 inches wide) which is
54
mainly used for building patios, and the 3x3 (3 inches thick and 3 inches wide) which is a
product that is sometimes made for export. Those are products only made if some orders
(contracts with a “sufficient” volume of products) are placed. A first customer would like to
be delivered a volume6 of 200 Mfbm of 1.25x6 during periods 10 to 15. The second would
also like 200 Mfbm of 1.25x6 but during periods 24 to 29. The last one would like
150 Mfbm of product 3x3 during periods 15 to 18. A three-week production stop is
mandatory on periods 29 to 31. Prices of the commodity products fluctuate throughout the
year according to lumber prices seasonality. Product prices used in the model are based on
data given by one of our industrial partners and are shown in Figure 18.
Figure 18 : Product prices forecasts for the planning horizon
For each period we have a maximal capacity of 70.9 worked hours for sawmilling (2 shifts
per week). The maximum stock level of the finished product corresponds to the volume
produced in about 5 production periods.
6 Board-foot is the unit of volume measurement used in North America; Mfbm = thousand foot
board measure.
55
We use Optitek in order to simulate the sawing of the logs under the alternative operating
settings in order to obtain information about the transformation process. In Optitek, the
plant has to be modelled as well as the products that the plant is allowed to make and the
raw material that is to be transformed. Once this done, it is possible to modify those
parameters in order to change the production output. For example, changing the
configuration of a machine in the plant will have an impact on the products to be made and
their quantities.
The sawmill has been configured in order to make four different sets of products:
Only the commodity products,
The commodity and the 1.25x6 products,
The commodity and the 3x3 products,
The commodity, the 1.25x6 and the 3x3 products.
About 100 different alternative machine configurations within the plant representative of
the main settings were chosen for the simulation. The simulation of the sawing with each
configuration to each possible set of products will lead to different quantities for each
finished product (with the same raw material).
For each tuple <plant configuration, log provenance, possible set of products>, a simulation
scenario is generated. Once all the possible combinations are simulated, the information
about the transformation process is used as inputs in the tactical planning model
(optimisation). An optimal 12-month (52 periods of one week) sales and production plan is
therefore created. The plan takes into account all the parameters and decision variables
shown in Section 4.4. It maximises the global benefits (and decides when to sell a product,
when to keep it in inventory, which raw material to use, when to use a particular machine
configuration, etc.). Consequently, the plan gives knowledge about which contract(s) (for
speciality products) would be financially relevant to accept.
56
4.5.2. Results and discussion
Figure 19 summarises the tactical plan obtained. It shows, for each period, the raw material
source to use, how the plant should be configured and when a speciality product should be
produced. Two configurations are mainly used. Configuration 02 is employed with raw
material from Area 2, configuration 56 with raw material from Area 1. This shows that it
can be valuable to change the machine configurations of the mill when changing the
supply. Moreover, the commodity products price seasonality makes the specialty
product 1.25x6 relevant to be produced and delivered in periods 24 to 28 but not in periods
10 to 14. The model never proposes to produce the 3x3. Indeed, it would not be financially
interesting for the company to sell the 3x3 products.
Figure 19 : Results of the tactical planning
For each period, the total volume produced is sensitively the same. However, the model
modulates sales in order to exploit the stocking capacity as well as price fluctuations.
Figure 20 shows when each commodity product is sold in order to maximise profit.
57
Figure 20 : Volume of products sold
One could ask what would happen if the company accepted all demands from customers for
all specialty products. For the purpose of analysis, several tactical plans were produced by
adding constraints into the model:
Plan A: Plan for the original plant configuration (the initial plant configuration is
used for each period without the possibility of producing any speciality products);
Plan B: Optimal plan, obtained using our framework;
Plan C: Plan without the possibility of producing any speciality products;
Plan D: Plan with all 1.25x6 demand mandatory fulfilled;
Plan E: Plan with all 3x3 demand mandatory fulfilled (1.25x6 were not to be
fulfilled);
Plan F: Plan with all 1.25x6 and 3x3 demand mandatory fulfilled (1.25x6 and 3x3
products had to be fulfilled by the model).
58
Figure 21 shows the improvement (or losses) associated to each plan when compared to the
base case (Plan A). Plan B is the optimal plan (555 000 $ improvement). Looking at Plan C
(no specialty products at all), we can see its performance is very close to Plan B (only
15 000 $ less than Plan B). This is the additional value we get by allowing the production
of specialty products. Plans D, E and F shows that not every demand for specialty products
should be accepted despite their great selling prices.
Figure 21 : Plan value improvement results for several demands compared to the initial
plant configuration plan value (Plan A)
4.6. Conclusion
The proposed simulation-optimisation framework allows finding the best combination of
scenarios. It makes use of simulation to learn the output of several individual scenarios, and
optimisation to find the best combination. It is intended for application to problems where
sets of alternatives should be evaluated and selected at the same time, but the available
simulation tool cannot do so. The relevance of the framework is demonstrated by solving a
tactical planning problem in the softwood lumber industry. A log breakdown simulator and
a tactical planning model are used in order to take into account new products opportunities
and raw material sources for Sales and Operations planning. Simulation enables finding the
new mix of products resulting from the integration of a speciality product to the normal
company mix of products, according to various plant and supply configurations. The
tactical planning model considers these new options to create a multi-period tactical plan.
59
The impact of accepting or refusing demand for new products could lead to significant
changes in benefits for the company. Our framework provides a tool for sawmills in order
to check whether accepting a mid-term contract for a specific product is profitable or not.
Our experiment highlights that adding a speciality product highly influences the changes in
the mix of products and the whole set of products available for sale at each period. A
speciality product made in a given period can lead to substantial value decrease but in
another period can lead to improvement. It could actually be really expensive for the
company to accept a demand for a particular product. The proposed tool makes it possible
to quantify the impact of fulfilling a given demand and settle both the right price for each
client and the raw material most suitable for production.
Lumber manufacturers are usually not comfortable with changing machines configurations.
Indeed, this can lead to problems such as not enough lumber for planing (wood finishing
operations), too much stock of a product at a given period in the year, etc. Using the
framework, one can determine which configurations to use and when, while being assured
of their effects. It also gives the ability to find the best configuration for a given raw
material source for each period.
The studied Lumber Sales and Operations Planning case is not the only possible usage of
the framework. It can also be used to solve other problems of the same type. For example,
the framework could be applied to the supply chain network design problem, where
simulation could be used to find out about individual plant designs performance, and
optimisation to find the best combination and location for them according to market. We
are now using it as well for hardwood flooring planning/scheduling problems. Simulation
helps anticipate mill output according to machine configuration and raw material used.
Optimisation specifies when to use each configuration according to demand plan.
60
5. Application du cadre au niveau opérationnel
L’article présenté dans ce chapitre a été soumis en septembre 2016 au journal Computers
in Industry. C’est la version étendue d’un article présenté lors de la Winter Simulation
Conférence (WinterSim) en 2015. Il fait état de l’application du cadre pour piloter un
système de découpe de bois de plancher.
Titre de l’article
Designing a hardwood cutting system integrating simulation-based learning and
optimization
Résumé
Les usines de plancher de bois franc transforment des planches en plusieurs lames de plus
petites dimensions. Pour chaque planche, les systèmes d'optimisation actuellement utilisés
par l'industrie sélectionnent le patron de découpe qui génère la plus grande valeur, en tenant
compte des caractéristiques de la matière première. Cependant, il est souvent nécessaire de
choisir des patrons de découpe moins rentables afin de respecter les contraintes du marché.
Cela réduit la valeur de production, mais c'est le prix à payer pour satisfaire le marché.
Nous proposons une nouvelle approche pour améliorer la valeur de la production. Nous
utilisons d'abord la simulation sur un ensemble d'entraînement contenant des images de
planches de productions antérieures. Nous simulons la découpe de ces planches pour
différents paramètres afin de générer une base de données contenant des milliers de
scénarios et la production attendue associée. Ensuite, nous utilisons un modèle
d'optimisation pour générer un horaire de production maximisant la valeur de la production
attendue tout en satisfaisant les contraintes de production. Le plan peut alors être exécuté.
Comme les planches utilisées pour la production réelle sont différentes de celles utilisées
lors de l’entraînement, certaines contraintes de production peuvent être violées. Par
conséquent, nous utilisons une approche hybride qui replanifie la production après un
certain intervalle de temps. L'approche a été évaluée à l'aide de données industrielles. Nous
montrons que l'approche proposée est beaucoup plus efficace que l'approche originale et
permet de récupérer jusqu'à 54% de la valeur perdue en utilisant les systèmes industriels
actuels.
61
Abstract
Hardwood flooring mills transform rough wood into several boards of smaller dimensions.
For each piece of raw material, traditional optimization systems (currently used by the
industry) select the cutting pattern that will generate the greatest value, taking into account
the characteristics of the raw material. However, it is often necessary to choose less
profitable cutting patterns in order to respect market constraints. This reduces production
value, but it is the price to pay in order to satisfy the market. We propose a novel approach
to improve production value. We first use simulation on a training set containing images of
boards from past production. We simulate different cutting parameters in order to generate
a database containing thousands of scenarios and the associated expected production.
Afterward, we use an optimization model to generate a production schedule maximizing the
expected production value while satisfying production constraints. The schedule can then
be executed for production. As the processed boards will be different than the ones used
during training, some production constraints may be violated. Therefore, we use a hybrid
approach that reschedules the production at some interval. The approach was evaluated
using industrial data. We show the approach is much more efficient than the original one
and allows recovering up to 54% of the value lost using current industrial systems.
5.1. Introduction
Manufacturing hardwood flooring is a constant challenge. It involves co-production with
alternative processes. Each piece of wood (board) is cut to produce many pieces at the same
time, and many different cutting patterns can be used. As each piece of raw material shows
different physical characteristics (wood is a natural product), we need to carefully scan the
shape and appearance of the raw material and select the cutting pattern that will be applied
to each piece of raw material in order to maximize production value.
In industrial practice, the boards enter the production line one by one. Each board is first
scanned by cameras and lasers. Once the shape and appearance of the board are known, an
online optimizer tries to find out which products (boards of smaller dimensions) should be
made (cut) from this board in order to maximize value. These cutting decisions are made in
real time, one piece of raw material at a time (this process will be detailed in Section 5.2.1).
However, other production constraints force the system to dynamically deactivate some
62
finished products when it detects that the quantities of a given product are too high or too
low. Therefore, current production systems used by the industry are said to be reactive
(they deactivate the possibility of making a given product once they detect a constraint has
been violated, but may reactivate it later during the production shift).
Past research (e.g. [97-99]) mainly focused on material yield optimization and value
optimization, developing computer vision systems and algorithms deciding which cutting
pattern to apply according to physical characteristics and defects.
In this research, we redesigned the control system in charge of activating/deactivating
cutting patterns in real time to avoid constraint violations. Instead of a reactive system, we
propose a more proactive system that plans in advance. However, we cannot carry out
classical operations planning/scheduling as we cannot scan the raw material in advance. We
rather create a schedule based on data learned during a training phase. We simulate
different cutting patterns that we apply to a somewhat representative set of board images
from past productions in order to learn what could happen. This information is used to
build a schedule that is expected to maximize production value while satisfying market
constraints. The schedule is then executed. As the processed boards will be different than
the ones used during training, some production constraints may however be violated.
Therefore, we reschedule at some interval during production.
The remainder of this paper is organized as follows. Section 5.2 introduces some basic
concepts concerning the hardwood flooring industry, planning and scheduling as well as the
use of simulation and optimization in the forest-products sector. Section 5.3 introduces our
proactive approach, the methodology and the optimization model developed to support it.
Then, we apply the methodology to a case study in order to show the relevance of our
approach (Section 5.4). Finally, we discuss how the proposed approach could be integrated
in a factory.
63
5.2. Preliminary concepts
5.2.1. Hardwood flooring transformation process
Hardwood flooring mill transforms each rough-wood board (raw material) into several
boards (finished products) of smaller dimensions with variable grades and lengths (it is a
co-production process with divergent product flow). The process is detailed in Figure 22.
For a given production shift, a batch of boards (1) showing similar characteristics (e.g.
specie, thickness) is processed. The bundle is unstacked (2) and each individual board (3) is
scanned using cameras and lasers to have an image of the appearance and the shape of the
raw material. Data is analyzed (4) in order to get a parametric description (quality,
measurement, position of the defects, etc.) of each board (5). Finally, the “optimizer”
selects (6) the best cutting pattern (8) among a list of needed products (7) that is provided
by the mill. In fact, the optimizer places several products on the board in order to maximize
the value. The board is then cut accordingly (9). Similar products are packed (10) together.
Figure 22 : Current hardwood cutting process
The system always selects the cutting pattern that will generate the greatest value, taking
into account the real dimensions of the boards as well as defects, their natures, their
positions, their dimensions or even the color seen on the board. However, in the hardwood
flooring industry, companies must respect different sets of constraints. As a simple
64
example, each box sold to a customer must contain boards showing an appropriate mix of
lengths. Similar constraints exist for color variations and other characteristics. Optimizing
only the value of each individual board would not satisfy market and packaging constraints.
Consequently, the “optimizer” is sometimes obliged to choose less profitable cutting
patterns in order to respect production constraints (12) (e.g. if until now X% of the products
are products A and it breaks a constraint, then product A needs to be deactivated for a
while). Therefore, the list of active products (7) is dynamically and continuously modified
(11) according to recent decisions statistics (8). The list (7) contains information about the
state (active or inactive) of each product that can be made in a given production. It is
updated as the production goes in order to reflect the actual product needs (according to the
constraints and the current production statistics).
In order to get the highest value of the raw material (boards) when it is necessary to fulfill
requirements for bills of materials (products needed), one approach known as the “least-
cost lumber grade mix problem” is frequently used. The principle is to find and use a mix
of different lumber grades in order to make the products with the least expensive raw
material cost [100]. However, producers of hardwood flooring we visited generally use
only one grade at a time according to the finished product mix they would like to have.
5.2.2. Drawbacks of the current industrial approach
Adjusting production in real time each time a constraint has been violated has a negative
impact on value/profits. One explanation is that the system is totally blind about what to
expect next.
Here is a simplified case to picture this. Let us suppose there are three different finished
products that can be produced: A (highly profitable), B (profitable) and C (less profitable).
Cutting patterns are defined such that for one given input board, we can produce either “A
and C,” “B and C” or “only C.” We also have some market constraints: there should be no
more than 20% of A and 50% of B in the overall production. Thus, the system starts
production trying to produce only “A and C” until the first constraint is violated (no more
than 20% of products A). As a consequence, the system will then start producing “B and
C” until the next constraint is violated (no more than 50% of product B). The system is
65
then obliged to produce “only C” until A or B is no longer constrained. However, knowing
how the raw material looks, it would have been much more profitable to produce a mix of
“A and C” and “B and C” from the beginning, rather than sometimes to have to produce
“only C.”
Formal information about the possible constraints is provided in Section 5.3.3.
5.2.3. Planning approaches
Operational planning is defined by the APICS dictionary as “the set of short-range plans
and schedules detailing specific actions” and the schedule as “a timetable for planned
occurrences” [79]. Classical planning is said to be predictive. It produces a plan or schedule
using data about raw material and processes that are expected to be exact [101]. With
proactive approaches, we try computing a plan or schedule for which the uncertainty
robustness has been taken into account [102].
Another way to take uncertainty into account is to use reactive approach (responding to
disruptions in real time) in order to redefine a schedule after an event or a combination of
proactive (or predictive) and reactive algorithms [103]. The right time to reschedule can
differ from applications. Three main rescheduling time frames are identified by Mehta
[104]: continuous rescheduling (rescheduling occurs when an event appears), periodic
rescheduling (rescheduling occurs at some interval of time) and event-driven rescheduling
(rescheduling decision is based on the state of the system when an event appears and a new
schedule is also done at some time intervals). However, according to Cardin et al. [105],
when the system is disturbed too often, reactive approach can contribute to a loss of overall
performance. The same authors also indicate that hybrid approaches combining the
advantages of reactive and predictive (or proactive) approaches while limiting their
disadvantages can be interesting. Among examples, Stuart and Kozan [106] developed a
hybrid approach for surgery scheduling.
The production system we want to improve currently applies a reactive approach. In order
to use a predictive approach, we would need in advance perfect knowledge of the raw
material to process. One could think of scanning the whole batch of boards in advance and
then the optimizer would make the decision about how to cut each of them at the same time
66
(instead of making the decision one board at a time). Thus, all the constraints would be
satisfied and the global profit would be maximized. However, the major obstacle for
implementing such technic is the lack of space (a new plant would be needed). A second
major obstacle is the flow disruption that would result. Indeed, each event that could result
in a flow speed reduction is laid aside in industrial practice [107, 108]. A simplified
approach would be to use smaller batches of boards which would need less space. A certain
number of boards would be scanned and buffered. Unfortunately, computation time needed
by the optimizer does not allow using this kind of approach. Improving the computation
time of the system or working with batches would lead to a major and global change in the
model of the optimizer, which is not realistic at this time.
Adopting a proactive approach is a more promising avenue. Instead of needing exact
information about future boards, we would only need a good guess about what could
happen.
We can get this knowledge by running offline simulations processing historical data
acquired in the normal production process [109].
5.2.4. Simulation approaches
In industrial practice, simulation may be used for different purposes. The most common use
is for the evaluation/comparison of alternative designs of a production system (e.g. [31]), or
to compare several operating policies (e.g. [40, 41]).
Simulation can be used to anticipate the behavior of a production system according to
possible operator decisions [28], or to evaluate the impact of different production schedules
[29, 30]. By connecting the simulation model to the optimization algorithm, we obtain a
simulation-optimization system that can lead to better and more robust solutions [56].
Many authors have addressed these issues in various fields [50-53].
Ladier et al. [37] identify two other possible relationships between simulation and
optimization: the optimization can be integrated into the simulation model (e.g. [48]), or the
simulation model can be used to generate the data needed for optimization which is the
specific case related to our problem (e.g. [42]).
67
This approach is often used by the forest products industry. Sinclair and Erasmus [43] used
simulation (SIMSAW) to get data about different trees/log-cutting patterns. Using this data
further helps operations planning. Wessels et al. [44] also used SIMSAW, but to make
detailed operational plan, aggregated tactical plans, as well as strategic planning for forest
harvesting and sawmilling operations. More recently, Wery et al. [96] proposed a decision-
making framework to decide if a customer demand for a new product should be accepted.
In their study, the OPTITEK log breakdown simulator [24, 110] is used to create
production data needed for optimization.
Some simulators were proposed specifically for the wood industry. Among them, ROMI
[111] was used to simulate the cutting of hardwood boards. Martin et al. [112] predict
geometrical defects which are going to appear on a piece that has never been made and
anticipate tooling errors.
To simulate the cutting of a board, it is also possible to use the real equipment of the mill
(such as the one described in Section 5.2.1) but to run it “offline”. Basically, one runs the
real software of the machine, but feeds it with virtual data instead of real data coming from
captors and cameras. The SAGE system developed by the CRIQ [113] is such a system and
its built-in optimizer can be used offline. The next section proposes to use SAGE in order
to generate the data needed for planning purposes.
5.3. Proposed approach based on simulation and optimization
We propose the use of simulation and an optimization model to develop a proactive
approach for hardwood-cutting decision making. Simulating the cutting decision-making
process by using the real system “offline” (this was made easy as the manufacturer of the
equipment — CRIQ, http://www.criq.qc.ca/en/ — gave us access to the source code of their
machine), we train our system in order to be able to foresee the impact of an activation or a
deactivation of some products (Training phase, Section 5.3.1). With this information in
hand, we then establish a production schedule (Exploiting phase, Section 5.3.2) using a
linear optimization model that is expected to process future boards in a manner that will
maximize production value while satisfying production constraints.
68
Obviously, the boards used in the training phase should have similar characteristics to the
ones on which the schedule will be applied. Boards should be of the same species, grade
and supplier to provide consistency, and the mill needs to be configured in the same way.
Therefore, the training process should be carried out for each type of raw material/plant
setup/production recipe that is possible.
5.3.1. Training phase
Figure 23 describes this simulation/training process. We assume we dispose of a database
of board images (17) previously processed within the real production system. Then, the real
system is used “offline” to process the boards of the database (the system has no idea it is
not processing real boards). Each board image (3) can be processed by the vision and
analysis (4) component of the system in order to get the parametrical description of the
board (5). Then, the system selects the best cutting pattern (6) by trying to place the
products maximizing the value inside the board. These products must be chosen from a list
of active products (19). A products database (7) referencing all products that could be made
is used in order to generate subsets of the database (18), i.e. lists of active products.
Furthermore, we can process the board database (17) again and again, each time allowing
the system to use a different set of active products (19). This makes possible measuring the
impact of deactivating some specific products (that is, the expected production to be
obtained when a given set of products is activated). These alternative expected productions
are recorded into a database (13).
Figure 23 : Using the system offline to create an expected production database
69
5.3.2. Exploiting phase
With the information learned on hand (13), we establish a production schedule that is
expected to process new boards in a manner that will maximize production value while
satisfying production constraints. This production schedule specifies, for a given
production shift, the percentage of production time during which each product should be
deactivated.
This process is illustrated in Figure 24. Before production starts, we solve a linear
optimization problem (14) that generates a production schedule (15) which maximizes the
expected production value according to the data from the expected production database
(13), while satisfying production constraints (12). This production schedule (15) considers
the production shift as a collection of time slots. For each time slot, the schedule specifies
the list of products that should be activated (7). At any time during production, the sub-
system (6) that selects the best cutting pattern (8) to apply to a given board is limited to
those producing only activated products (7). If the production constraints database (12) is
empty, the generated schedule will contain only one time slot for which all products are
activated at all times. If some production constraints need to be satisfied (actually, that is
always the case) the schedule specifies how much time we should produce with all products
activated, as well as the following products activation/deactivation temporal sequence.
A process (16) continuously monitors the execution of the schedule. Each time we reach a
new time slot, it updates the list of active products (7). However, as production goes on,
some production constraints may be violated. This is explained by the fact that the boards
processed are different than the ones used during training. Therefore, after a determinate
duration (a number of boards intervals), we need to run the linear program (14) again in
order to create a new schedule. Taking into account statistics (17) about the production
already made versus the global targets for this particular batch, we update the constraint
database (12) to represent what is expected for the rest of the production shift.
70
Figure 24 : Making and executing the production schedule established using information
learned during the training/simulation phase
The model (14) used to generate the schedule is presented in the next section.
71
5.3.3. Linear programming model
Sets:
P Set of products p P that can be produced
A Set of all the possible combinations a A of products that can be active at the
same time. Each a is a subset of P. The combination a P means the system
may at some time be allowed to produce any product. The combination
, ,a p p p means the system may at some time be allowed to produce only
those three products, etc.
C Set of constraints c C the schedule must satisfy
cP Subset of products cp P P to which constraint c applies
base
cP Subset of products base
cp P P that limits the number of units or the total
length of products cp P to which constraint c applies
unitC Constraints unitc C C limiting the total number of units of products
cp P
produced
lengthC Constraints lengthc C C limiting the total length of products
cp P produced
%unitC Constraints %unitc C C limiting the total number of units of products
cp P
being a certain percentage of the total production for products base
cp P
%lengthC Constraints %lengthc C C limiting the total length of products
cp P produced
being a certain percentage of the total length of production for products base
cp P
72
Parameters:
n Number of boards available as raw material input
pl Length of product p
pv Monetary value of product p
min
cg Minimal quantity to respect in constraint c
max
cg Maximal quantity to respect in constraint c
,p aq Average quantity of product p to be produced if one board of raw material is
processed while the system is only allowed to produce products in a
Decision variables:
Εa
Total number of boards of raw material that should be processed while the system
is allowed to produce only products p a A . The schedule is defined by the
collection of values E 0a , ordered by decreasing order of a
Objective function:
,Maximize Ea p a p
a A p P
q v
Constraints:
Raw material should be respected:
Ea
a A
n
For each group of products cP such as unitc C , the total number of units produced must be
between min
cg and max
cg :
min max
,Ec
unit
c a p a c
a A p P
g q g c C
73
For each group of products cP such as lengthc C , the total length of products produced
must be between min
cg and max
cg :
min max
,Ec
length
c a p a p c
a A p P
g q l g c C
For each group of products cP such as %unitc C , the total number of units produced must
be between min
cg multiplied by the total number of units produced for each product
base
cp P and max
cg multiplied by the total number of units produced for each product
base
cp P :
min max %
', , ',
' '
E E Ebase base
cc c
unit
c a p a a p a c a p a
a A a A p P a Ap P p P
g q q g q c C
For each group of products cP such as %lengthc C , the total number of units produced must
be between min
cg multiplied by the total length produced for each product base
cp P
produced and max
cg multiplied by the total length produced for each product base
cp P :
min max %
', ' , ', '
' '
E E Ebase base
cc c
length
c a p a p a p a p c a p a p
a A a A p P a Ap P p P
g q l q l g q l c C
5.4. Experiments
The experiments were conducted using data gathered at a Canadian flooring mill that uses
the SAGE system. We used a training set of 3340 boards and a testing set of 6680 boards.
All the boards came from the same supplier and had the same nominal length (8 feet, i.e.
about 2.44 meters) and were from the same species (yellow birch, one of the most
transformed specie in hardwood flooring mill in eastern Canada).
The training set was used to feed our simulation setup described in Section 5.3 and Figure
23. Each board of the training set was repetitively processed using 300 different sets of
active products (those represent 300 different states the system could be in at the moment
of processing this board). We did not try some improbable combinations of active products;
74
only the most common ones the system usually employs when in reactive mode. The output
was stored in the expected production database (see 13 on Figure 23). We used this
database to feed the mathematical programming model (solved using the CPLEX solver) in
order to generate a production schedule expected to meet production constraints of the
company while maximizing the expected production value. We then simulated the
execution of this schedule (see Figure 24) using different rescheduling policies: no
rescheduling at all, rescheduling in the middle of the batch (after 50%), after each 25% of
the batch, and after each 15% of the batch.
We compared this approach with two other scenarios (see Table 1). Scenario A corresponds
to the original reactive approach. This is our base case. In Scenario C, we process all the
boards without taking into account any of the production constraints. It can be seen as an
upper bound on profitability (although this bound is unrealistic as this production could not
be completely sold).
Table 1: Evaluated scenarios
Approach Rescheduling policy
Scenario A Original production system (reactive) -
Scenario B Proposed approach (proactive)
-
After 50% of the batch
Each 25% of the batch
Each 15% of the batch
Scenario C Not mandatory to meet production constraints -
For each scenario we simulated the execution of the schedule by using the real production
system, but “offline” (which allowed us to process the same 6680 boards of the test set
again and again). We perform 50 replications for each scenario, each time testing the
approach using different random ordering of the boards7.
Table 2 presents the average results and their confidence intervals (95% confidence level)
as well as the improvement in comparison with the base case (Scenario A). For
convenience, we present the added value by extrapolating the results of our test set to a full
7 The sequence in which the boards are processed can change the global production (it changes which
production constraints may be violated and when). The exception is Scenario C which is not affected by the
order of the boards. All the other scenarios were run using the same 50 randomly generated sequences
(common random number generations allows for variance reduction).
75
year of production (based on an annual capacity of 60 million linear feet, i.e. 18 288 000
linear meters, which is the average for this type of mill). The next subsections analyze those
results.
Table 2: Average results for 50 replications and improvement in comparison with
Scenario A (95% confidence level)
Production
Value Improvement
Production not meeting
constraints
Adjusted
production
value
Adjusted
improvement
($/year) ($/year) (%) ($/year) ($/year) ($/year)
Scenario A
Original production system
40 396 233 - 0.0051% 4 191
40 392 043 -
± 3 245 ± 2 702
Scenario B
Proposed
approach
(proactive)
No rescheduling
40 518 339 + 122 106 0.55% 152 152
40 366 187 - 25 856
± 2 189 ± 2 737 ± 7 196 ± 7 321
Rescheduling
after 50%
of the batch
40 525 476 + 129 243 0.31% 87 195
40 438 281 + 46 239
± 2 371 ± 2 704 ± 8 420 ± 8 944
Rescheduling each 25%
of the batch
40 527 048 + 130 815 0.18% 58 882
40 468 166 + 76 123
± 3 276 ± 3 232 ± 9 441 ± 9 777
Rescheduling
each 15% of the batch
40 523 409 + 127 175 0.08% 31 747
40 491 662 + 99 619
± 3 328 ± 3 256 ± 6 504 ± 6 840
Scenario C
Not mandatory to meet production constraints
40 581 170 + 184 936 1.11% 525 048 40 056 121 - 335 921
5.4.1. Production value
The proposed approach (Scenario B, with no rescheduling) improves the annual production
value by $ 122 845 ± 2 737 in comparison with the base case (Scenario A). The hybrid
approach (Scenario B with rescheduling) provides us with slightly better results
($ 127 175 ± 3 256).
The relative improvement can seem modest (0.3%) but one needs to consider that profit
margin in this industry may be quite small (less than 4%). Consequently, achieving such an
improvement without investment in new machines nor reorganization of the plant is
significant. Indeed, Scenario C (producing without having to respect production
76
constraints) provided us with an upper bound on the possible improvement of $ 187 208 per
year. This puts into perspective the performance of our proactive approach: it allows
capturing between 66% and 71% of the maximum theoretical improvement.
5.4.2. Constraints violations
The proactive approach (Scenario B) is more prone to constraints violations than the
reactive one (Scenario A). Table 2 reports the percentage of the global production (% of
boards) not respecting some constraints. For Scenario C (producing without taking the
constraints into account), 1.11% of the total production does not respect the constraints. For
the original system (Scenario A) it is down to 0.0051%. Finally, for the proactive approach,
it lies between 0.55% (without rescheduling) and 0.08% (rescheduling every 15% of the
batch size). Intermediate frequencies show that the more often the schedule is actualized,
the more the constraints are respected.
Looking at the production closely, we identified 4 pairs of constraints that, put together,
explain 97% of the constraints violations (See Table 3). Each pair of constraints states that
the relative quantities of two products A and B should not differ by more than , such as:
1 1A
B .
77
Table 3: Percentage of finished products that do not respect one of the pair of constraints
(average results, 95% confidence level)
Pair of constraints Total
1 2 3 4
Scenario A
Original production system (reactive)
0.0038% 0.0003% 0.0004% 0.0006% 0.0051%
±0.0020% ±0.0006% ±0.0009% ±0.0009%
Scenario B
Proposed
approach (proactive)
No rescheduling 0.06% 0.19% 0.06% 0.24%
0.55% ±0.01% ±0.01% ±0.01% ±0.01%
Rescheduling after 50%
of the batch
0.04% 0.09% 0.05% 0.14% 0.31%
±0.01% ±0.01% ±0.01% ±0.02%
Rescheduling each 25% of the batch
0.02% 0.04% 0.05% 0.07% 0.18%
±0.01% ±0.01% ±0.01% ±0.02%
Rescheduling each 15%
of the batch
0.01% 0.02% 0.02% 0.03% 0.08%
±0.00% ±0.01% ±0.01% ±0.01%
Scenario C
Not mandatory to meet production constraints
0.27% 0.04% 0.74% 0.07% 1.11%
The products involved in those constraints are all high-value products. Therefore, we
computed an “adjusted production value” that equals the production value minus the value
of the production violating a constraint8 (Table 2). That way, Scenario C leads to a loss of
$ 335 921 per year in comparison to the original reactive system (Scenario A). The
proactive approach (Scenario B) without rescheduling also leads to a loss ($ 25 856).
Rescheduling allows reaching an adjusted improvement of $ 99 619. Figure 25 synthesizes
this. It presents the improvement in comparison to the base case (Scenario A). The upper
bound shows the value we would get if it was not mandatory to meet production
constraints. The next two series (Scenario B) illustrate that rescheduling affects the
production value only slightly, but has a huge impact on the adjusted production value
(production value minus the value of the products not meeting production constraints).
8 This KPI is very pessimistic as those products still have a market value and/or some of them could be sold
later.
78
Figure 25 : Improvement of production value (in $/year) for each scenario according to the
rescheduling policy (95% confidence level). Scenario A is provided as a base case and
Scenario C is the maximum theoretical bound
5.5. Conclusion
In the hardwood flooring context, the inputs (raw material) are not fully known (we are
then not able to know in advance what the output of a batch would be). This is why we
cannot use conventional operations planning/scheduling. Cutting decisions are almost
always done in real time, one piece of raw material after another. However, some products
need to be activated/deactivated in real time to meet global market/production constraints.
This reduces production value, but it is the price the industry is willing to pay in order to
satisfy market/production constraints.
We bring the idea that simulation involving data from past productions makes it possible to
evaluate the impact of alternative cutting decisions on the overall production. Then we can
elaborate a schedule (using optimization) based on the knowledge given by those
simulations. The schedule is then dynamically updated during production. The results
shown allowed an average improvement of almost $ 100 000 per year for an average
hardwood flooring factory (without any investment in the plant). We also showed that the
79
more often the schedule is actualized, the less the constraints are violated. However, the
rescheduling frequency cannot be increased indefinitely due to other industrial and software
constraints.
Our work was conducted for a specific wood specie, supplier and nominal length. A
manufacturer that would like to implement our method should carry out the training phase
for each type of raw material processed by the mill. Moreover, for types of raw material
that correspond to a marginal part of annual production, the reactive system could be more
efficient (because the training set could not be representative enough of the overall
population). Finally, it would be really important to define at what frequency training
should run again. This was not part of our work presented and could be studied in future
research.
80
6. Résolution du problème en contexte de temps
manquant
L’article présenté dans ce chapitre est une version étendue de l’article présenté lors de la
conférence CIGI 2017. Les principaux changements concernent la revue de littérature sur
les méthodes utilisées en programmation par contraintes (PPC) qui a été bonifiée. Des
expérimentations supplémentaires ont aussi été réalisées. D’autres changements, dont
l’ajout d’une figure indiquant comment les méthodes issues de la programmation par
contraintes pourraient être utilisées à l’intérieur du cadre, ont été effectués. Comme le
cadre général n’était pas encore publié au moment de soumettre la version originale de
l’article, le cadre est expliqué à nouveau dans cet article. Cependant, la contribution de cet
article est la méthode de recherche permettant de définir l’ordre dans lequel les scénarios
devraient être évalués. La version présentée ici fera prochainement l’objet d’un document
de travail du CIRRELT et sera soumise à un journal.
Titre de l’article
Recherche de la meilleure combinaison de scénarios en simulation-optimisation
Résumé
Lorsque le temps est manquant, la simulation-optimisation est une méthode très utilisée
pour déterminer le « meilleur » scénario possible. Or, lorsque l’on recherche la meilleure
combinaison de scénarios et non le meilleur scénario, les méthodes classiques peuvent
difficilement s’appliquer. Les méthodes de simulation-optimisation classiques se basent
généralement sur le résultat des simulations précédentes pour déterminer le prochain
scénario à simuler. Dans le cas de la recherche de la meilleure combinaison de scénarios,
une fois le scénario simulé, il extrêmement difficile de déterminer, à partir des résultats de
simulation, le prochain scénario qui tendrait à améliorer la contribution combinatoire de
l’ensemble des scénarios. Nous proposons d'utiliser certaines méthodes de recherche dans
les arbres, issues de la programmation par contraintes pour résoudre ce problème. Pour
illustrer le problème et vérifier la pertinence de ces méthodes de résolution, la démarche est
appliquée pour déterminer la meilleure séquence de configuration d’un système de découpe
de bois de plancher. L’étude réalisée montre que les méthodes issues de la programmation
par contraintes pourraient se révéler efficaces pour résoudre ce type de problèmes. En effet,
81
la méthode Limited Discrepancy Search (LDS) obtient des résultats très semblables à une
heuristique spécialement élaborée pour le cas étudié. Or LDS est une méthode générique et
pourrait s’appliquer à d’autres cas.
6.1. Introduction
En industrie, la simulation est majoritairement utilisée pour comprendre le comportement
d’un système de production et connaître ses réactions vis-à-vis de certains facteurs (ou
stratégies) sans avoir à réaliser d’essais physiques (qui seraient souvent trop coûteux, voire
impossibles). Lorsque le temps imparti pour la simulation ne permet pas de simuler toutes
les possibilités, les méthodes dites de « simulation-optimisation » sont alors utilisées. Elles
permettent de déterminer dynamiquement les prochains scénarios (représentation d’un
système dans une configuration donnée dans un modèle de simulation) qui devraient être
simulés, le but étant de trouver la meilleure solution possible avec le temps de simulation
disponible. Les méthodes classiques de simulation-optimisation se basent sur les résultats
de simulations déjà effectuées pour guider la recherche, i.e. pour déterminer quel sera le
prochain scénario à évaluer. Cependant, il n’est pas toujours possible de les utiliser pour
résoudre des problèmes tels que le problème de la recherche de la meilleure combinaison de
scénarios. Dans ce cas, ce n’est pas le meilleur scénario qui est recherché, mais une
combinaison de scénarios donnant le meilleur résultat. On cherche un ensemble de
scénarios qui, conjointement, maximisent un ou plusieurs critères. Cette situation peut par
exemple se présenter lorsque le simulateur utilisé ne permet pas de simuler directement une
combinaison de scénarios. Certaines méthodes issues de la Programmation Par Contraintes
(PPC) pourraient être utilisées pour déterminer quels seraient les scénarios à évaluer en
priorité.
Nous proposons donc de vérifier si l’utilisation de méthodes issues de la PPC pourrait être
pertinente pour résoudre ce type de problèmes. En effet, certains algorithmes couramment
utilisés en PPC pourraient nous permettre de prioriser les scénarios qui devraient être
simulés. Nous pensons que leur application pour déterminer l’ordre dans lequel les
scénarios devraient être simulés peut permettre de trouver une bonne solution dans le temps
imparti.
82
Dans un premier temps, nous présentons la simulation-optimisation classique et les
différentes techniques associées (section 6.2). Ensuite, le problème de la recherche de la
meilleure combinaison de scénarios est introduit (section 6.3). Puis, pour illustrer ce
problème, un cas d’étude pour lequel il est nécessaire de trouver la meilleure combinaison
de configurations d’une machine de découpe de bois de plancher est présenté (section 6.4).
Ensuite, différentes méthodes issues de la PPC qui pourraient se révéler efficaces pour la
résolution d’un tel problème sont décrites (section 6.5). Enfin, l’approche retenue dans le
cadre de ce papier et le protocole expérimental sont expliqués et les résultats présentés et
discutés (section 6.6).
6.2. La simulation-optimisation en contexte classique
La combinaison de la simulation avec l’optimisation est une approche de plus en plus
utilisée. En effet, cette approche permet d’utiliser les points forts de chaque technique pour
obtenir un résultat qui serait très difficile à obtenir sans cela. Ladier et al. [37] identifient
quatre différents types de relations entre la simulation et l’optimisation : (1) l’optimisation
intégrée au modèle de simulation, (2) le modèle de simulation créant et transmettant des
données servant à l’optimisation, (3) la simulation intégrée au modèle d’optimisation, (4) la
simulation évaluant les résultats de l’optimisation. La simulation permet donc d’obtenir des
informations qui peuvent ensuite être utilisées dans les modèles d’optimisation comme
intrants.
Traditionnellement, lorsque le temps est limité ou lorsque le budget n’est pas suffisant pour
simuler tous les scénarios, on utilise des méthodes de simulation-optimisation. Dans la
littérature, on retrouve différentes variantes de cette approche. Carson et Maria [54]
définissent la simulation-optimisation comme étant le processus d’affectation des
meilleures valeurs possibles à des variables d’entrées sans avoir à évaluer explicitement
toutes les combinaisons possibles. On cherche bien sûr à trouver la meilleure solution
compte tenu du temps disponible. April et al. [50] la définissent plutôt comme le moyen de
trouver le modèle de simulation, parmi les différents modèles possibles, qui permettra
d’obtenir des performances optimales. Jian et Henderson [55] indiquent que si des
décisions peuvent être représentées comme des variables de décision dans un modèle de
simulation, alors il est possible de faire de la simulation-optimisation, i.e. de choisir les
83
variables de décision dans le but de maximiser ou minimiser des mesures de performances
estimées grâce à la simulation. Fu [56], dans l’introduction de son livre Handbook of
simulation optimization a sensiblement la même vision que ces derniers tout en faisant
remarquer que le terme est parfois utilisé pour parler du processus de recherche en lui-
même.
Dans les faits, la simulation-optimisation désigne tout simplement la résolution d’un
problème d’optimisation dans un contexte où l’évaluation de la fonction objectif nécessite
l’exécution d’un modèle de simulation. Or, puisque le nombre total de simulations à
réaliser est trop élevé pour se permettre d’évaluer toutes les alternatives possibles, une
procédure de recherche (globale ou locale) doit être utilisée pour décider quels scénarios
seront évalués et dans quel ordre (Figure 26).
Figure 26 : Principe de fonctionnement des méthodes de simulation-optimisation, adapté
de Fu [57]
6.2.1. Forme générale d’un problème de simulation-optimisation classique
La formulation générale d’un problème de simulation-optimisation telle qu’on la trouve
dans la littérature est la suivante. Il s’agit d’un problème d’optimisation dans lequel on
cherche à minimiser ou maximiser la valeur d’une fonction objectif f, où x est un vecteur
représentant les variables de décision et X l’espace des solutions [55, 56, 58] :
( )x X
Max f x
Performances estimées
Performances estimées
Performances estimées
Simulation
Procédure de recherche
Prochain scénario à évaluer
Performances estimées
84
Cependant, la fonction f n’est pas directement évaluable (car elle implique un phénomène
aléatoire), mais sa valeur peut être estimée grâce à la simulation. La fonction f peut donc
être représentée comme l’espérance d’un résultat de simulation (réponse) pour une variable
aléatoire de sortie ,Y x , où ξ est l’ensemble des nombres aléatoires d’une simulation :
, f x YE x
En pratique, nous disposons d’une fonction de simulation ( , )iS x qui retourne, pour un
scénario x et une réalisation ξi des paramètres aléatoires, un vecteur de métriques servant à
évaluer cette réalisation du scénario. ( , )iF S x prend en entrée ces résultats et en évalue la
valeur selon le critère établi par le décideur. Chaque scénario sera évalué pour n réalisations
des paramètres aléatoires. Chacune de ces simulations constituera une réplication. Nous
supposerons donc que
1
1( ) , ( , )
n
i
i
f x F S x F S xn
et nous chercherons à maximiser cette valeur :
,x X
Max F S x
Par exemple, supposons le problème de la conception d’une usine. Nous cherchons la
conception qui va maximiser la performance F de l’usine (Figure 27). Pour chaque
configuration du système possible (i.e. chaque conception différente, chaque combinaison
de différents paramètres sur lesquels on peut effectuer des changements d’états), nous
définirons un scénario de simulation x d’usine, x X . Pour chaque scénario x, nous
pouvons simuler le comportement du système (i.e. l’usine) plusieurs fois (avec des nombres
aléatoires ξ différents à chaque réplication). ( , )iS x est le résultat de la simulation d’un
scénario xi. Dans ceci, les différentes valeurs de ξ pourraient correspondre à des taux de
pannes de machines ou encore à des délais de livraison. Certains procédés ou même la
85
demande ne sont pas constants et ont une part aléatoire; on réalisera alors un nombre n de
réplications dans le but d’estimer la valeur de la réponse.
Conception 1
Conception 2
Conception 3
Conception 4
Simulation
Simulation
Simulation
Simulation
x1
x2
x3
x4
S(x1,ξ)
S(x2,ξ)
S(x3,ξ)
S(x4,ξ)
« Meilleure » conception
x1( , )F S x
... ...
Figure 27 : Méthode pour évaluer et déterminer la « meilleure » conception d’une usine
6.2.2. Techniques utilisées en simulation-optimisation classique
Lorsque le temps disponible ne permet pas de simuler toutes les réplications nécessaires
(pour chaque scénario, souvent appelé « alternative ») pour déterminer la « meilleure »
alternative (i.e. pour trouver le « meilleur » scénario), mais qu’il est tout de même possible
de réaliser un certain nombre de réplications pour estimer la performance de chaque
scénario, en simulation-optimisation, les techniques de classification et sélection [19, 60]
sont très utilisées. Elles permettent de déterminer dynamiquement le ou les scénario(s) pour
lesquels on doit augmenter le nombre de réplications. En effet, lorsque la simulation est
utilisée pour comparer différentes alternatives, il est courant d’augmenter le nombre de
réplications pour chaque scénario pour obtenir une variance de l’espérance d’un résultat de
simulation (réponse) suffisamment petite pour pouvoir déterminer le meilleur scénario.
L’approche la plus évidente est de choisir un nombre de réplications identiques pour
chaque scénario. Or, cette technique peut être relativement inefficace. En effet, si un
scénario a une faible variance, sa performance peut être estimée grâce à un petit nombre de
réplications. C’est le principe des techniques de classification et sélection. Deux approches
sont principalement utilisées, Optimal Computing Budget Allocation (OCBA) et Algorithm
and Expected Value of Information (EVI) [61].
86
Il existe également des techniques destinées aux situations dans lesquelles le budget de
simulation ne permet même pas de tester chaque scénario au moins une fois. Fu [56] traite
de ces différentes techniques. Les quatre grandes méthodes qui y sont traitées sont la
méthode de la surface de réponse, l’approximation stochastique, l’approximation moyenne
de l’échantillon et les méthodes de recherche aléatoire.
La méthode de la surface de réponse (en anglais, Response Surface Methodology, RSM)
utilise le modèle de simulation comme une boîte noire. Les entrées et sorties du modèle de
simulation sont les seules informations qui sont exploitées [62]. Elle se base sur les
résultats d’un plan d’expériences pour créer un métamodèle. Un métamodèle est une
relation mathématique qui approxime la relation entre l’entrée (i.e. scénario ou
combinaisons d’intrants du modèle de simulation) et la sortie (espérance du résultat de la
simulation), c’est-à-dire un modèle simplifié du modèle originel de simulation [33]. Dans le
cas de la méthode de la surface de réponse, les métamodèles sont des modèles de régression
linéaire élaborés à partir des résultats d’un plan d’expériences qui définit les scénarios à
simuler [36]. La méthode de la surface de réponse est considérée par Kleijnen [62] comme
une heuristique séquentielle, car elle utilise une séquence d’expérimentations locales pour
chercher à déterminer la combinaison optimale des intrants de la simulation. Elle va donc
permettre d’estimer la combinaison d’intrants (le scénario) qui minimise (ou maximise) la
fonction objectif. Cependant, cette méthode ne garantit pas de trouver l’optimalité [62].
L’utilisation d’un métamodèle permet de simplifier la résolution d’un problème de
simulation-optimisation. En effet, plutôt que d’être stochastique, la réponse du métamodèle
est déterministe, et son utilisation est beaucoup plus rapide que l’exécution du modèle de
simulation initial [63].
L’approximation stochastique (Stochastic Approximation, SA) est un algorithme de
recherche itératif basé sur le gradient. En utilisant des méthodes statistiques rigoureuses,
l’algorithme va en quelque sorte imiter l’algorithme du gradient (utilisé classiquement en
optimisation déterministe) pour prendre en compte les composantes stochastiques du
problème [57]. Deux méthodes classiques sont principalement utilisées : Robbins–Monro
(RM) [114] et Kiefer–Wolfowitz (KW) [115].
87
L’approximation moyenne de l’échantillon (en anglais Sample Average Approximation,
SAA, parfois trouvé sous le nom de Sample Path Optimization) est aussi basée sur le
gradient. Cependant, ce n’est pas vraiment un algorithme. C’est plutôt une « recette » à
utiliser pour faire face à des problèmes de simulation-optimisation. Cette technique se base
principalement sur le fait que la fonction ( )f x que l’on cherche à estimer par simulation
peut être approximée en faisant la moyenne des résultats de toutes les réplications pour
chaque scénario [55]. Cette estimation s’explique par la loi des grands nombres. En effet, si
l’on répète un nombre de fois suffisamment élevé une expérience (i.e. beaucoup de
réplications d’un même scénario avec des nombres aléatoires différents), on devrait se
rapprocher de la moyenne. De ce fait, l’optimisation qui en découle peut être réalisée en se
basant sur la moyenne trouvée [68]. Il est cependant très important d’utiliser des CRN
(Common Random Numbers), i.e. des nombres aléatoires « identiques » pour chaque
scénario différent [55]. Il faut aussi veiller à bien identifier la taille de l’échantillon (i.e. que
le nombre de réplications à effectuer soit suffisamment grand), pour être sûr que la solution
trouvée soit bien une solution optimale au problème initial [68]. Cependant, l’application de
l’approximation moyenne de l’échantillon montre que cette technique n’est pas aussi
efficace que l’approximation stochastique, mais que de récentes extensions à la méthode de
base peuvent permettre de rivaliser avec celle-ci [69].
Les méthodes de recherche aléatoire ont été développées pour résoudre des problèmes
d’optimisation déterministes. Elles ont été adaptées pour résoudre des problèmes de
simulation-optimisation pour lesquels la fonction objectif ne peut pas être évaluée de façon
déterministe [70, 71]. Les méthodes de recherche aléatoire peuvent être utilisées pour
résoudre la plupart des problèmes de simulation-optimisation (que le nombre de
combinaisons d’intrants du modèle de simulation soit fini ou pseudo-infini, i.e. non
comptable). Elles sont bien adaptées pour résoudre des problèmes dont la fonction objectif
a une structure peu connue et dont la procédure d’optimisation doit identifier de meilleures
solutions tout en étant guidée par la performance estimée des solutions déjà considérées
[73]. Elles convergent généralement vers des solutions optimales et peuvent mener à des
optimums locaux ou globaux suivant la méthode utilisée [70].
88
Les méthodes de recherche aléatoire permettent de se déplacer d’une solution candidate à
une autre dans l’espace de recherche, i.e. lorsqu’une combinaison d’intrants a été évaluée
par simulation, ces méthodes vont permettre de trouver une autre combinaison d’intrants
(possiblement meilleure) qui devrait être évaluée. Le déplacement vers l’autre solution
candidate va généralement se faire à l’aide de techniques statistiques [71].
Selon Fu et al. [71], l’algorithme de recherche doit avoir deux caractéristiques principales :
il doit définir comment la prochaine solution candidate est choisie et comment déterminer
quelle est la meilleure solution actuelle.
6.3. Le problème de recherche de la meilleure combinaison de
scénarios
En simulation-optimisation classique, on cherche le ou les scénarios maximisant une
fonction objectif. Dans le cadre de cet article, nous recherchons plutôt la « combinaison »
de scénarios qui maximisent conjointement une fonction objectif. Reprenons le cas de
conception d’usines et imaginons maintenant que nous devons construire plusieurs usines
qui permettront conjointement de générer les meilleurs profits pour la compagnie (plutôt
que de chercher la meilleure configuration d’un système, nous cherchons les m
configurations de ce système qui, ensemble, donnent le meilleur résultat). Dans ce cas
précis, il serait toujours possible de simuler directement chacune des combinaisons
possibles. Chaque ensemble qui serait un assemblage de sous-modèles de simulation
correspond alors à une alternative. Le nombre de combinaisons possibles étant très élevé, le
nombre de scénarios à simuler est très grand et la modélisation de chaque alternative peut
être complexe. Dans certains cas, il n’est pas envisageable de le faire, car cela serait trop
consommateur en temps de modélisation ou bien le simulateur utilisé n’est tout simplement
pas adapté pour le faire.
À notre connaissance, ce problème n’a pas été considéré dans la littérature. C’est pourquoi
nous proposons un cadre formel pour l’adresser. Nous proposons de représenter ce
problème de la manière suivante :
X X X
Max g X
89
avec ( , ) |g X G S x x X
où ( , )S x est le vecteur de taille n des résultats de simulation ( , )iS x , X est l’ensemble des
scénarios recherchés et doit être de taille maximale ϴ, ( , ) |G S x x X est la fonction
permettant d’évaluer un ensemble de scénarios.
La figure 28 illustre cette démarche dans un cas de conception d’usines dans un réseau.
Conception 1
Conception 2
Conception 3
Conception 4
Simulation
Simulation
Simulation
Simulation
x1
x2
x3
x4
S(x1,ξ)
S(x2,ξ)
S(x3,ξ)
S(x4,ξ)
Conception 1
Conception 3
Conception 3
« Meilleure » combinaison de
conceptions
x1
x3
x3
... ...
( , ) |X X X
Max G S x x X
Figure 28 : Recherche de la meilleure combinaison de scénarios pour la conception de
plusieurs usines dans un réseau
Les méthodes utilisées en simulation-optimisation sont difficilement applicables. En effet,
les méthodes de simulation-optimisation classique se basent généralement sur l’évaluation
du résultat (le « score ») des simulations précédentes (e.g. la performance d’une usine) pour
déterminer le prochain scénario à évaluer. Or, dans le cas présenté, ce sont des ensembles
de scénarios qui sont évalués et comparés par l’entremise de l’optimisation pour trouver le
meilleur d’entre eux. Nous ne sommes donc pas en mesure d’obtenir directement le score
associé à une simulation. Or, en simulation-optimisation classique, c’est à partir de ces
scores que les scénarios de simulation sont analysés pour déterminer la prochaine
alternative à évaluer. Cela est difficilement applicable pour la recherche de la meilleure
combinaison de scénarios, car le score des ensembles précédents ne nous guide en rien sur
l’amélioration des performances que permettrait l’ajout d’un scénario à cet ensemble.
90
6.4. Présentation du cas d’étude
La plupart des usines de bois de plancher utilisent des systèmes permettant de découper les
planches de bois fournies en entrée en produits de plus petites tailles afin de maximiser la
valeur produite. Ces systèmes scannent chaque planche et prennent une décision concernant
la découpe une planche à la fois.
Avant de lancer la production, on doit fournir à celui-ci la liste x des produits qu’il lui est
permis de fabriquer. Cette liste de produits dits « actifs » constitue la configuration du
système. On peut fournir au système une « configuration » qui sera active pour la totalité du
quart de travail, ou encore fragmenter le quart de travail en plusieurs périodes et utiliser une
configuration différente à chaque période. Le problème ( , ) |G S x x X que l’on
cherche à résoudre est justement de déterminer quelles configurations (i.e. liste de produits
actifs) devraient être utilisées pour chaque période de manière à maximiser la valeur totale
de la production tout en respectant des contraintes de marché (ex : pas plus de Z unités du
produit W doivent être fabriquées, autant de produits U que de V doivent être réalisés, etc.).
Or, nous ne savons pas, a priori, quelles sont les quantités de chaque produit que l’on peut
espérer fabriquer lorsqu’une configuration donnée xi est active. On doit donc utiliser la
simulation ( , )S x pour l’anticiper, mais il est impossible de simuler au préalable la totalité
des configurations possibles.
En effet, il est possible pour une entreprise d’avoir plus de 100 produits différents ce qui
implique d’avoir 2100 combinaisons de produits actifs/inactifs différentes (2100
configurations, donc). Il faudrait environ dix mille milliards de milliards d’années pour
simuler toutes les combinaisons possibles sur un ordinateur standard.
Il est donc nécessaire d’imaginer une procédure pour sélectionner les combinaisons à
simuler. Or, contrairement aux problèmes résolus par la simulation-optimisation classique,
la valeur de ( , ) |G S x x X ne dépend pas de xi seul, mais bien de tous les xi testés
jusqu’à maintenant puisque ( , ) |G S x x X est un problème d’optimisation
combinatoire. Il est donc apparemment très difficile d’imaginer comment se baser sur les
résultats de ( , ) |G S x x X pour déterminer les prochains xi à simuler.
91
Une alternative serait de tester au hasard (compte tenu du temps de simulation alloué) un
certain nombre (θ) de configurations. Cependant, on peut imaginer que certaines
configurations sont susceptibles d’être plus utiles que d’autres. Par exemple, la
configuration où tous les produits sont inactifs risque d’être fort inutile. Dans la section
suivante, nous montrons qu’il est possible de représenter formellement l’espace des
configurations possibles sous la forme d’un arbre pour lequel chaque feuille constitue une
configuration possible. Nous évaluerons par la suite différents algorithmes d’exploration de
cet arbre quant à leur propension à énumérer les feuilles en ordre décroissant d’utilité.
6.5. Représenter l’espace des configurations possibles sous la forme
d’un arbre
L’ensemble complet des configurations possibles (pour une machine de découpe de bois de
plancher) peut être représenté sous la forme d’un arbre où chaque nœud correspond à un
produit, chaque arc correspond à l’activation ou la désactivation de ce produit, et chaque
feuille de l’arbre correspond donc à un scénario qui pourrait être simulé (Figure 29).
21 3 4 65 7 8
Produit 1
Produit 2 Produit 2
Produit 3 Produit 3 Produit 3 Produit 3
Actif Inactif
Actif
Actif Actif Actif Actif
ActifInactif
Inactif Inactif Inactif Inactif
Inactif
Figure 29 : Arbre de recherche pour le problème de configuration d’usine de bois de
plancher
En programmation par contraintes, des méthodes ont été développées pour fouiller dans cet
arbre. Le parcours en profondeur (Depth First Search, ou DFS) de cet arbre permet
d’énumérer toutes les configurations possibles. Si le temps de simulation est limité, nous
visiterons donc les n configurations les plus à gauche. Or, de cette manière, les scénarios
simulés risquent d’être très semblables les uns par rapport aux autres. En effet, en contexte
de temps limité, il est fort probable que la majeure partie de l’arbre ne soit jamais visitée.
92
Or, les feuilles visitées de manière consécutive avec cet algorithme sont très semblables les
unes aux autres. Par exemple, la première et la deuxième configuration ne diffèrent que
d’une seule valeur l’une par rapport à l’autre. Les valeurs de certaines variables (e.g. l’état
« inactif » du « produit 1 » dans la figure 29) n’auront même jamais été testées si on a le
temps de visiter seulement le début de l’arbre.
Cependant, il existe des techniques d’exploration d’un arbre permettant, si le temps est
limité, d’explorer un échantillon beaucoup plus représentatif de l’ensemble des feuilles.
C’est le cas de l’algorithme LDS (Limited Discrepancy Search). Introduit par Harvey et
Ginsberg [116] (puis amélioré par Korf [117]), LDS est une stratégie de recherche dans les
arbres qui permet de visiter en un temps donné un ensemble de feuilles beaucoup plus
hétérogènes que ne le ferait DFS (Figure 30). LDS est un algorithme itératif. En effet, dans
une approche classique DFS, les solutions possibles auront tendance à se ressembler au
début de la recherche. Les nœuds sont classés dans un certain ordre grâce à un critère de
classement (e.g. un algorithme ou une heuristique). Si le classement est parfait, alors les
meilleures solutions se trouveront sur la gauche de l’arbre. Avec DFS, si de meilleures
solutions existent à l’autre bout de l’arbre, par manque de temps, elles ne seront jamais
découvertes. Avec LDS, dans une première itération, ce sont les feuilles de l’arbre qui n’ont
pas de déviations qui vont être visitées (soit seulement la feuille de la branche la plus à
gauche, dans notre exemple, celle pour laquelle tous les produits sont actifs). Une déviation
correspond à une branche dont la valeur n’est pas la « meilleure » choisie par l’heuristique
ou l’algorithme (critère de classement). Dans une seconde itération, ce sont les feuilles de
l’arbre qui n’ont qu’une seule déviation (ou moins) qui vont être visitées. Dans une
troisième itération, ce sont les feuilles de l’arbre qui ont deux déviations (ou moins) qui
vont être visitées et ainsi de suite. LDS est généralement utilisé avec un arbre binaire, mais
pas obligatoirement, car il est possible de voir n’importe quelle branche, à l’exception de la
branche la plus à gauche comme une déviation [117]. Selon Gaudreault et al. [118], ILOG
SOLVER est capable de transformer automatiquement un arbre qui n’est pas binaire en
arbre binaire. Par ailleurs, il est à noter que changer l’ordre dans lequel les produits sont
énumérés (i.e. quel est le premier produit placé au haut de l’arbre, le deuxième, etc.) change
la topologie de l’arbre et donc l’ordre dans lequel les solutions seront énumérées.
93
21 3 5
Produit 1
Produit 2 Produit 2
Produit 3 Produit 3
Actif Inactif
Actif
Actif Actif
Inactif
Inactif Inactif
1
Produit 4
Actif Inactif
2 3 6 8 124 7
21 3 5
Produit 3 Produit 3
Actif
Actif Actif
Inactif
Inactif Inactif
5
Actif Inactif
9 10 13 15 1611 14
Figure 30 : Ordre des feuilles visitées par LDS pour un arbre de profondeur 4
Actuellement, la version améliorée de LDS, Improved LDS [117] (ILDS) est implémenté
par la plupart des auteurs à la place de LDS bien qu’ils affirment utiliser LDS. LDS est en
effet souvent présenté plus comme un concept que comme un algorithme.
D’autres variantes de cette approche (ex : DDS, DBDFS, IDFS) ont ensuite été proposées
par différents auteurs. Elles sont recensées par Barták [119]. Tout d’abord, Depth-bounded
Discrepancy Search (DDS) introduit par Walsh [120] se veut être une combinaison de LDS
avec Iterative Deepening Search [121]. Il utilise donc une approche itérative qui prend en
compte la profondeur de l’arbre. Pour la première itération, seule la branche la plus à
gauche va être visitée. Lors de la seconde itération, c’est la branche n’ayant qu’une
déviation au niveau du sommet (1er nœud) qui sera visitée. Pour la troisième itération, ce
sont les deux branches ayant une déviation au niveau du second nœud de chaque branche
partant du sommet qui seront visitées et ainsi de suite.
Interleaved Depth-First Search (IDFS) introduit par Meseguer [122] permet de rechercher
en parallèle plusieurs sous-arbres à l’aide d’un seul processeur. Lorsqu’une feuille est
trouvée, l’algorithme va chercher dans un sous-arbre parallèle et ainsi de suite.
Discrepancy-Bounded Depth First Search connu sous l’abréviation DBDFS [123] permet
d’examiner les branches (en suivant l’algorithme DFS) avec des déviations appartenant à
un intervalle. À chaque itération i, toutes les feuilles des branches ayant des déviations
comprises entre (i-1)k et ik-1 inclus sont visitées, k est appelé « la largeur de la recherche ».
94
Selon Prcovic [124], « le but est de réduire la redondance au détriment de la qualité de
l’ordre de visite des branches ».
Beck et Perron [123] comparent DDS, LDS, DFS et DBDFS pour des problèmes
d’ordonnancement multi-gammes (job shop scheduling). Dans leur cas, LDS est plus
performant que DDS pour trouver de bonnes solutions. Au global, dans leur étude, DFS est
beaucoup moins performant que les autres algorithmes; les différences entre les trois autres
algorithmes sont beaucoup moins significatives.
D’autres techniques basées sur LDS ont vu le jour telles que RLDS (Reverse LDS) qui
visite les feuilles de l’arbre dans le sens inverse de LDS pour chaque itération [124] ou
encore YIELDS (Yet Improved LDS) proposé par Karoui et al. [125] qui, entre autres,
permet d’arrêter la recherche dans l’arbre lorsque le problème est impossible à résoudre
avant même d’avoir visité toutes les branches de l’arbre. Prosser et Unsworth [126]
conseillent d’utiliser LDS en combinaison avec la condition d’arrêt de YIELDS. Moisan et
al. [127] utilisent LDS pour faire du calcul parallèle.
Les méthodes de retours arrière peuvent donc être appliquées pour ordonner la liste des
scénarios possibles et trouver une bonne solution dans le temps imparti (Figure 31).
95
Scénario à évaluer
Simulation
OptimizationRésultat de l’optimisation
Choix du prochain scénario sur la liste
OuiTemps diponible?
Fin
Non
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste ordonnée des scénarios possibles
Application de LDS ou DFS pour ordonner les scénarios
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Liste des scénarios possibles
Base de données des résultats de
simulation
Figure 31 : Principe de fonctionnement du cadre avec l’utilisation de méthodes issues de la
programmation par contraintes
6.6. Application de la méthode
6.6.1. Expérimentation
Nous avons eu accès aux données d’une usine de bois de plancher utilisant un système de
découpe tel que décrit dans la section 6.4. Nous disposons des scans d’un lot de 3340
planches passées qui nous permettent de réaliser nos simulations d’entraînement. Nous
disposons de 100 heures pour réaliser nos simulations ce qui veut dire que nous n’avons le
droit que de tester 298 configurations. Par la suite, ( , ) |G S x x X est utilisée pour
produire un plan qui sera exécuté pour un lot de 6680 planches différentes de celles
utilisées à l’entraînement.
Puisque les planches sont différentes de celles utilisées à l’entraînement, les contraintes de
marché peuvent parfois ne pas être respectées. Étant donné que la production réelle diffère
de celle prévue par le plan, il est possible de rouler G à nouveau pendant l’exécution pour
96
rectifier cet écart. Deux méthodes d’application du plan différentes sont ainsi évaluées. La
première, le plan est simulé sur l’ensemble du lot, la seconde, le plan est réactualisé à
intervalles réguliers pour prendre en compte les éventuels écarts entre la production réelle
et la production prévue.
Pour plus de détails sur le fonctionnement du système de production de bois de plancher et
du simulateur utilisé, le lecteur pourra se référer à Wery et al. [128].
Dans l’expérimentation qui suit, nous allons comparer 4 approches pour choisir les
configurations à tester : ad hoc (1), DFS (2), LDS (3) et aléatoire (4). La première stratégie
a été spécialement élaborée pour ce cas. Elle est basée sur des résultats de précédentes
productions/simulations. Dans le cas de DFS (2) et LDS (3) nous comparerons également
l’impact de différentes heuristiques de choix de variables (appelées ici stratégies de choix
de produits, i.e. comment déterminer quels produits placer en haut de l’arbre). Nous
évaluerons les stratégies suivantes :
Produits disposés au hasard (Quelconque)
Produit le plus rentable en premier (Plus rentable)
Produit le moins rentable en premier (Moins rentable)
Produit le plus produit (par rapport à des productions passées) en premier
(Plus produit)
Produit le moins produit (par rapport à des productions passées) en premier
(Moins produit)
Nous disposons de 165 produits différents que l’usine peut produire. Tout d’abord, un
filtrage a été effectué pour ne pas évaluer des combinaisons de produits impossibles ou
improbables. Le filtrage nous permet donc de ne nous occuper que des produits pouvant
changer d’états. Ils sont au nombre de 24. Le nombre de combinaisons possibles passe alors
à 224.
97
Pour chaque couple stratégie de recherche/stratégie de choix des produits, nous obtenons
donc un « historique de production » associé. Cela nous permet de déterminer un plan grâce
au modèle de planification.
Chaque plan est ensuite appliqué sur l’ensemble de tests. Pour chaque scénario, 30
réplications sont effectuées. À chaque réplication, l’ordre des planches est modifié.
Néanmoins, la découpe des planches est simulée dans le même ordre pour chaque ième
réplication d’un scénario (i.e. pour chaque scénario, les planches sont découpées dans le
même ordre pour la ième réplication, ce qui satisfait à la condition des Common Random
Numbers).
Une heuristique ad hoc (3) est utilisée comme point de comparaison. Cette heuristique a été
élaborée spécialement pour trouver de « bonnes » configurations (listes de produits actifs)
pour le problème appliqué au bois de plancher. Elle se base sur des résultats de simulations
préalablement effectuées. Une fois ces listes déterminées, la méthode décrite précédemment
est utilisée pour les phases suivantes. Un second point de comparaison est utilisé (4). Cette
fois, les configurations à simuler sont déterminées aléatoirement (après filtrage des
combinaisons impossibles). Pour ce dernier cas, étant donné que plusieurs configurations
différentes peuvent être trouvées en répétant l’opération, nous avons réalisé 5 sets de 298
configurations différentes.
6.6.2. Résultats
Le tableau 1 présente la valeur monétaire moyenne obtenue en fonction de l’approche
utilisée ainsi que la demi-largeur de l’intervalle de confiance à 95% pour 30 réplications. À
noter qu’à des fins d’interprétation nous présentons la valeur annualisée de la production.
98
Tableau 1. Résultats des différentes optimisations/simulations pour chaque couple
Algorithme/Heuristique
Algorithme
Caractéristiques du
choix de combinaison
de produits
Replanification
Sans Avec
Valeur annuelle
en $
Valeur annuelle
en $
Ad hoc (1) 40 364 506 40 491 317
± 9 602 ± 8 731
DFS (2)
Quelconque - -
- -
Plus rentable - -
- -
Moins rentable - -
- -
Plus produit - -
- -
Moins produit - -
- -
LDS (3)
Quelconque 40 351 539 40 492 468
± 11 632 ± 7 098
Plus rentable 40 351 539 40 492 896
± 11 632 ± 6 856
Moins rentable 40 351 539 40 493 069
± 11 632 ± 6 863
Plus produit 40 351 539 40 493 332
± 11 632 ± 6 922
Moins produit 40 351 539 40 492 960
± 11 632 ± 7 159
Aléatoire (4)
Set 1 40 092 227 39 957 248
± 12 163 ± 41 983
Set 2 40 115 314 40 064 316
± 18 894 ± 21 116
Set 3 40 166 875 40 095 781
± 15 029 ± 27 219
Set 4 40 119 110 40 027 839
± 15 690 ± 27 374
Set 5 40 253 188 40 133 279
± 11 562 ± 25 006
Global (Moyenne
des 5 réplications) 40 149 219 40 055 693
99
Dans le cadre de l’algorithme LDS, nous trouvons de bonnes solutions, viables, et ceci dans
le temps imparti (100 heures). Sans replanification, l’algorithme ad hoc est un peu meilleur
(+0,032%) que LDS (Figure 32). Avec replanification, il n’y a pas de différences
significatives.
Concernant les différentes heuristiques de choix de variables, il n’est pas possible de
dénoter des différences significatives. Les résultats obtenus dans cette expérimentation ne
dépendent pas de la stratégie de choix des produits. En effet, pour environ 300
combinaisons (listes de produits actifs) différentes, l’arbre de recherche est à la fin de la
seconde déviation. De ce fait, les feuilles visitées se ressemblent énormément et seules
quelques feuilles sont différentes. Cela explique le fait que ce sont majoritairement toujours
les mêmes combinaisons de produits actifs/inactifs qui sont utilisées (avec LDS) et que
l’heuristique de choix de produits n’a pas (sans replanification) ou peu (avec
replanification) d’impacts sur le résultat. Cependant, si moins de combinaisons étaient
étudiées, l’impact des heuristiques pourrait être très fort.
Figure 32 : Valeur annualisée de la production en fonction des stratégies utilisées
L’utilisation de nombres aléatoires pour déterminer les combinaisons à simuler ne s’avère
pas intéressante. En effet, la perte de valeur par rapport à l’utilisation de LDS est en
moyenne de 0.5% sans replanification et de 2.3% avec.
LDS apparaît donc être une bonne approche, car les résultats obtenus sont semblables à
l’heuristique ad hoc pour le bois de plancher. Néanmoins, cette dernière ne peut fonctionner
100
dans le cas d’une conception d’un réseau d’usines alors que l’approche LDS peut s’y
appliquer. C’est donc une approche généralisable qui ne requiert pas de connaissances
particulièrement poussées du problème. Elle s’avère être rapide et simple
d’implémentation.
À l’inverse, pour DFS, l’heuristique de recherche a un impact très fort puisque ce sont
toutes les combinaisons autour d’une feuille qui vont être vérifiées. Nous aurons donc des
combinaisons plus similaires qui vont être testées pour une heuristique. De ce fait, il n’a pas
été possible de trouver une solution satisfaisant les contraintes du modèle. En effet, après
298 itérations de DFS (soit 298 combinaisons de produits actifs/inactifs différentes), sur les
24 produits, seuls neuf produits ont été au moins une fois inactivés. Les combinaisons ne
sont donc pas représentatives. Dans le cadre de notre étude, DFS est à proscrire.
6.7. Conclusion
Pour résoudre ce problème de la recherche de la meilleure combinaison de scénarios, des
algorithmes de fouille dans un arbre sont utilisés sur un cas d’étude appliqué à la découpe
du bois de plancher. Le but est de trouver le meilleur plan possible dans un contexte où le
temps nous manque. Il s’avère que l’algorithme DFS n’est pas adapté à notre contexte.
L’autre algorithme étudié, LDS, fourni de bien meilleurs résultats. Étant donné le nombre
élevé de combinaisons possibles et le nombre de combinaisons différentes relativement
petit, en comparaison, qu’il a été possible de simuler (environ 300 pour chaque couple
algorithme/stratégie de choix des produits), nous n’avons pas noté de différences
significatives entre les différentes stratégies de choix des produits.
Dans nos travaux futurs, il serait intéressant de comparer LDS avec d’autres algorithmes
tels que DDS ou des méthodes dynamiques. De plus, les heuristiques de choix de variables
avec LDS donnent des résultats identiques (ou similaires). En effet, le nombre de feuilles à
visiter durant le temps imparti était tel que les feuilles visitées étaient presque toujours les
mêmes. Il serait donc pertinent d’évaluer l’impact d’une augmentation (ou diminution) de
ce nombre sur les solutions pour déterminer l’importance du choix de cette heuristique.
101
7. Conclusion
Cette thèse propose un cadre pour résoudre le problème de la recherche de la meilleure
combinaison de scénarios. Plutôt que de rechercher le meilleur scénario comme dans la
plupart des cas classiques, c’est un ensemble de plusieurs scénarios maximisant
conjointement une fonction objectif qui est recherché. La principale contribution de cette
thèse est donc l’élaboration d’un cadre décisionnel permettant de trouver la meilleure
combinaison de scénarios selon des critères définis.
Ce cadre se base sur la simulation pour évaluer chaque scénario, et sur l’optimisation pour
en trouver la meilleure combinaison. La résolution de tout type de problèmes nécessitant de
déterminer la meilleure combinaison de scénarios (i.e. pour lesquels le simulateur ne
permet pas de simuler directement une combinaison de scénarios) pourrait tirer profit de
l’utilisation de la méthode proposée. Le concept présenté peut donc être employé pour
soutenir une variété de décisions. Déterminer la meilleure configuration de plusieurs usines
au sein d’un réseau dans une chaîne logistique en est un exemple. Dans le cadre de cette
thèse, nous avons appliqué ce cadre pour résoudre deux problèmes industriels de
planification et avons ainsi démontré son applicabilité et son potentiel.
7.1. Application du cadre
7.1.1. Prise en compte des produits sur mesure dans la planification tactique
des scieries de bois d’œuvre nord-américaines
Au chapitre 4, nous avons montré que cette méthode permettait d’intégrer à la planification
tactique la demande pour des produits spécifiques jamais fabriqués auparavant. Pour mettre
en place ce cadre, l’usine a été modélisée à l’aide du logiciel Optitek. La simulation permet
d’évaluer quel serait l’impact de différentes modifications des paramètres des équipements
ou de l’approvisionnement en matières premières sur le panier de produits fabriqués. Les
résultats de ces simulations alimentent un modèle de planification tactique qui tient compte
de la fluctuation (suivant une saisonnalité) des prix des différents produits de commodités.
Le modèle de planification tactique peut ainsi définir quelle est la combinaison de scénarios
la plus rentable – et de ce fait quels sont les produits les plus rentables à produire et à quels
moments les produire. Le décideur est alors en mesure de déterminer quels seraient les
102
commandes à accepter, les paramètres des équipements à utiliser et la matière première à
consommer à chaque période.
Pour appuyer cette démarche et en montrer la validité, des expérimentations ont été
conduites. Elles ont montré une réelle variation du panier de produits global lors de
l’introduction d’un produit sur mesure. En effet, l’introduction d’un nouveau produit
affecte entièrement l’ensemble du processus de production et les produits qui seront
disponibles à la vente. Accepter un contrat pour un produit sur mesure peut parfois
conduire à des pertes de revenus significatives. L’implémentation du cadre permet d’éviter
ces erreurs et de déterminer à quels moments l’acceptation d’un contrat peut être rentable
pour la compagnie. Enfin, ces expérimentations ont mis en lumière la pertinence de
l’application du cadre pour résoudre un problème concret de planification tactique.
7.1.2. Confection d’horaires pour améliorer le pilotage d’un système de
découpe de bois de plancher
Au chapitre 5, nous avons montré que le cadre pouvait être utilisé pour améliorer le
pilotage d’un système de découpe de bois de plancher. Dans ce cas, le système SAGE
(système réel) a été utilisé en mode « hors-ligne » pour réaliser les simulations. La
simulation permet ici de recréer des « historiques de production », i.e. de connaître la
production attendue dans une configuration donnée pour un ensemble de planches
d’entraînement. Une fois ces données connues, un horaire de production est réalisé à l’aide
d’un modèle de programmation mathématique. Ce dernier permet de maximiser la valeur
attendue de la production tout en respectant les contraintes de production. C’est ensuite cet
horaire qui va gérer les produits (et longueurs) que SAGE va pouvoir découper sur les
planches. L’horaire indique comment configurer le système de découpe tout au long de la
production. Par la suite, lors de l’application de ce plan en production, l’horaire doit être
actualisé à intervalles définis pour respecter de façon stricte les contraintes. En effet, les
planches d’entraînement utilisées pour générer les données nécessaires à l’optimisation ne
sont pas identiques aux planches qui seront découpées lors de l’application du plan. La
replanification permet de corriger les déviances pour respecter de manière adéquate les
contraintes de production. L’approche a été évaluée en utilisant des données industrielles.
Notre cas d’étude montre que cette approche peut mener à une amélioration (en valeur
103
produite) de l’ordre de 100 000 $ par an pour une usine de bois de plancher de taille
moyenne.
Ces deux cas d’application à des entreprises manufacturières du secteur des produits
forestiers montrent le potentiel de cette approche et les gains qui peuvent découler de son
utilisation. Nonobstant, dans chacun de ces cas, les temps de simulation extrêmement longs
et le nombre de scénarios infiniment grand, ne nous permettaient pas de simuler tous les
scénarios. Pour choisir les scénarios à simuler, des heuristiques ad hoc ont été utilisées. Or,
ces heuristiques supposaient une grande connaissance du domaine et du fonctionnement des
systèmes liés aux différents cas d’application. Nous avons donc proposé une méthode
applicable à d’autres cas.
7.2. Définition d’une méthode générique de choix de scénarios à
simuler
Au chapitre 6, nous avons introduit l’utilisation de techniques utilisées en programmation
par contraintes pour définir l’ordre dans lequel les scénarios devraient être simulés. En
effet, lorsque le cadre décisionnel développé dans le cadre de cette thèse est utilisé pour
chercher la meilleure combinaison de scénarios, une quantité très importante de simulations
est à réaliser pour être capable d’alimenter correctement le modèle mathématique. Si l’on
prend l’exemple du cas de la planification tactique pour les scieries, le nombre élevé de
sources d’approvisionnement, de différentes configurations-machines, de différentes
classes de billes à utiliser engendrent un nombre de scénarios possibles très élevé. Le temps
de simulation de chacun d’eux est si long qu’il n’est pas envisageable de procéder à
l’optimisation avec la totalité des scénarios possibles. Si l’ensemble de ces scénarios doit
être simulé avant de pouvoir lancer le modèle d’optimisation, le planificateur risque
d’obtenir un plan beaucoup trop tard (en particulier dans le cadre d’une opportunité dans un
marché). Seul un certain nombre de scénarios peut être simulé. Dans les chapitres 4 et 5,
une méthode spécialement élaborée pour chacun des cas a été utilisée dans le but de définir
quels scénarios devraient être simulés. Malheureusement, ces méthodes ne sont pas
applicables dans un contexte différent. Le chapitre 6 fournit une méthode générale et
relativement simple à implémenter pour ordonner les différents scénarios de simulation.
104
L’ensemble complet des scénarios peut être représenté sous la forme d’un arbre où chaque
nœud correspond à une entité comme une machine ou une source d’approvisionnement,
chaque branche de l’arbre correspond à une configuration d’une de ces entités (il peut donc
y avoir plusieurs configurations pour chaque entité) et chaque feuille de l’arbre correspond
à un scénario qui pourrait être simulé. Traditionnellement, dans un contexte où le temps
nous manque, on explorera seulement les n premières feuilles. Malheureusement, celles-ci
auront tendance à se ressembler (on devra explorer toutes les configurations de la dernière
machine avant de faire varier celles des autres). Cela revient à utiliser la stratégie de
recherche dans les arbres communément appelée DFS (Depth-First Search). Or, comme
nous l’avons vu précédemment, l’algorithme LDS (Limited Discrepancy Search) nous
permet de visiter des feuilles d’une plus grande hétérogénéité plus rapidement. Cela se
place bien dans notre contexte industriel où une réponse rapide est nécessaire. Pour le
vérifier, nous avons appliqué ces méthodes pour déterminer l’ordre dans lequel les
scénarios devaient être simulés pour notre cas « bois de plancher ». Nous avons donc
évalué l’impact de l’utilisation de ces algorithmes pour choisir les n premières feuilles à
simuler, plutôt que de choisir les n premières feuilles consécutives de l’arbre, ou de les
choisir aléatoirement. L’algorithme DFS n’est pas adapté à ce contexte. En revanche,
l’algorithme LDS est bien adapté étant donné qu’il donne des résultats similaires aux
résultats obtenus avec une stratégie ad hoc. Or, LDS est une stratégie générique et peut être
appliquée à d’autres cas pour établir l’ordre dans lequel les scénarios doivent être évalués
en contexte de temps manquant. L’utilisation d’une stratégie aléatoire, elle-aussi générique,
n’a pas donné de bons résultats et ne semble pas adaptée pour résoudre ce type de
problèmes.
7.3. Limites, perspectives et transferts aux industriels
L’applicabilité du cadre a été démontrée par son application à deux problèmes industriels
réels. L’implémentation du cadre pour résoudre d’autres problèmes industriels de recherche
de la meilleure combinaison de scénarios peut sembler relativement simple. En pratique, si
l’on ne dispose pas déjà d’un modèle de simulation et/ou d’un modèle d’optimisation, il
faudra les réaliser. Il est clair que l’une des forces du cadre est de pouvoir utiliser des outils
de simulation existants qui ne peuvent pas être utilisés ou modifiés facilement pour pouvoir
105
combiner directement différents scénarios (comme le système SAGE du CRIQ ou le
logiciel de simulation de débitage Optitek). Dans le cas d’Optitek par exemple, il n’est
actuellement pas possible de simuler plusieurs configurations d’usine lors d’une seule et
même simulation. Une seule configuration d’usine à la fois doit être simulée. L’un des
grands intérêts du cadre est donc de ne pas avoir à « remodéliser » le système de toute pièce
sous une autre forme. En revanche, si les outils (d’optimisation et de simulation) ont déjà
été élaborés, il est nécessaire de les « connecter » et de les ajuster (modification des bases
de données, définition des paramètres à évaluer, etc.). Cette thèse fournit un cadre
conceptuel et des exemples d’applications concrètes. Néanmoins, elle n’a pas vocation à
expliquer en détail comment implémenter ce cadre pour d’autres problèmes.
Lors de l’application du cadre, il est nécessaire, après avoir évalué les résultats des
précédentes simulations, de déterminer le prochain scénario à évaluer. Une procédure de
recherche (Figure 10) doit donc être utilisée. Nous n’avons pas trouvé d’approches
satisfaisantes se basant sur les résultats des scénarios déjà simulés. D’un point de vue
scientifique, il serait très intéressant d’approfondir dans cette direction. Toutefois,
l’utilisation d’une méthode générique, LDS, pour guider la recherche a donné de très bons
résultats. Il serait cependant possible d’introduire des techniques dynamiques qui vont
réordonner la liste de scénarios dynamiquement et choisir les paramètres de la prochaine
alternative à évaluer.
Pour résoudre les deux problèmes industriels présentés dans cette thèse, nous avons utilisé
un ensemble d’entraînement. Les simulations ont été réalisées sur la totalité de l’ensemble
des données disponibles (pour l’entraînement). Or, il serait possible de scinder cet ensemble
en plusieurs sous-ensembles. Des techniques statistiques pourraient ensuite être utilisées
pour combiner leurs résultats et réaliser un plan plus robuste.
Dans cette thèse, nous ne nous sommes pas attardés sur la robustesse des plans réalisés. Il
serait intéressant d’intégrer au cadre des méthodes complémentaires pour gérer cette notion.
Au moment d’écrire cette thèse, la validation de la mise en place de la méthode proposée
pour piloter le système SAGE développé par le Centre de Recherche Industrielle du Québec
(CRIQ) est cours. En effet, nous avons démontré que des gains substantiels pourraient être
106
réalisés en appliquant le cadre. Son intégration suppose néanmoins l’utilisation d’un
historique de planches. Or, il peut être parfois difficile de qualifier automatiquement la
matière première étant donné que les usines ne sont pas forcément équipées du matériel
adéquat. De même, la fréquence à laquelle il faut renouveler l’ensemble d’entraînement
ainsi que les tailles de lots devraient faire l’objet de vérifications complémentaires avant
l’intégration de cette méthode pour piloter le système SAGE.
Enfin, nous espérons que les résultats de ce projet contribueront au développement du
logiciel Optitek. Cela pourrait donner à Optitek une nouvelle dimension en le faisant
évoluer d’un outil exclusivement « flux poussé » en un outil gérant aussi le « flux tiré ». En
effet, Optitek serait capable de prédire la matière première disponible à la vente la plus
adéquate pour la scierie en connaissant le panier de produits voulus.
107
Références
1. Shim, Jung P., Merrill Warkentin, James F. Courtney, Daniel J. Power, Ramesh
Sharda et Christer Carlsson (2002). Past, present, and future of decision support
technology. Decision Support Systems, 33(2): p. 111-126.
2. Lundgren, Jan T., Mikael Rönnqvist, Peter Värbrand et Mathias Henningsson
(2010). Optimization. Lund, Suède: Studentlitteratur.
3. Pardalos, Panos M., Dingzhu Du et Ronald L. Graham (2013). Handbook of
Combinatorial Optimization. New York, NY: Springer New York.
4. Shapiro, Jeremy F. (1993), Mathematical programming models and methods for
production planning and scheduling, dans Handbooks in Operations Research and
Management Science. Elsevier. p. 371-443.
5. Meixell, Mary J. et Vidyaranya B. Gargeya (2005). Global supply chain design: A
literature review and critique. Transportation Research Part E: Logistics and
Transportation Review, 41(6): p. 531-550.
6. Beamon, Benita M. (1998). Supply chain design and analysis: Models and methods.
International Journal of Production Economics, 55(3): p. 281-294.
7. Melo, M. Teresa, Stefan Nickel et Francisco Saldanha-da-Gama (2009). Facility
location and supply chain management – A review. European Journal of
Operational Research, 196(2): p. 401-412.
8. Ahumada, Omar et J. Rene Villalobos (2009). Application of planning models in
the agri-food supply chain: A review. European Journal of Operational Research,
196(1): p. 1-20.
9. Cardoen, Brecht, Erik Demeulemeester et Jeroen Beliën (2010). Operating room
planning and scheduling: A literature review. European Journal of Operational
Research, 201(3): p. 921-932.
10. Papageorgiou, Lazaros G. (2009). Supply chain optimisation for the process
industries: Advances and opportunities. Computers & Chemical Engineering,
33(12): p. 1931-1938.
11. D'Amours, Sophie, Mikael Rönnqvist et Andres Weintraub (2008). Using
operational research for supply chain planning in the forest products industry.
INFOR, 46(4): p. 265-281.
108
12. Rönnqvist, Mikael (2003). Optimization in forestry. Mathematical Programming,
97(1-2): p. 267-284.
13. Shahi, Shashi et Reino Pulkki (2013). Supply Chain Network Optimization of the
Canadian Forest Products Industry: A Critical Review. American Journal of
Industrial and Business Management, 3(07): p. 631.
14. April, Jay, Marco Better, Fred W. Glover et James P. Kelly (2004). New advances
and applications for marrying simulation and optimization. The 2004 Winter
Simulation Conference.
15. Turban, Efraim, Ramesh Sharda et Dursun Delen (2011). Decision support and
business intelligence systems. 9th ed. Boston: Prentice Hall.
16. Shannon, Robert E. (1975). Systems simulation : the art and science. Englewood
Cliffs, N. J: Prentice-Hall.
17. Shannon, Robert E. (1998). Introduction to the art and science of simulation. The
1998 Winter Simulation Conference.
18. Cellier, François E. et Ernesto Kofman (2006). Continuous system simulation. New
York: Springer Science+Business Media.
19. Law, Averill M. (2007). Simulation modeling and analysis. 4th ed. Boston:
McGraw-Hill.
20. Banks, Jerry (1998). Handbook of simulation : principles, methodology, advances,
applications, and practice. New York: Wiley.
21. Sargent, Robert G. (2013). Verification and validation of simulation models.
Journal of Simulation, 7(1): p. 12-24.
22. Ingalls, Ricki G. (2001). Introduction to simulation. The 2001 Winter Simulation
Conference.
23. Seila, Andrew F. (2009). Spreadsheet simulation. IEEE Engineering Management
Review, 37(2): p. 46-54.
24. FPInnovations, (2014). Optitek 10 : User’s manual: Quebec.
25. Carson, John S. (2005). Introduction to modeling and simulation. The 2005 Winter
Simulation Conference.
109
26. Kleijnen, Jack P. C. (2005). Supply chain simulation tools and techniques: a survey.
International Journal of Simulation and Process Modelling, 1(1-2): p. 82-89.
27. Terzi, Sergio et Sergio Cavalieri (2004). Simulation in the supply chain context: a
survey. Computers in Industry, 53(1): p. 3-16.
28. Cardin, Olivier et Pierre Castagna (2011). Proactive production activity control by
online simulation. International Journal of Simulation and Process Modelling, 6(3):
p. 177-186.
29. Pfeiffer, András, Botond Kádár et László Monostori (2007). Stability-oriented
evaluation of rescheduling strategies, by using simulation. Computers in Industry,
58(7): p. 630-643.
30. Thomas, André et Patrick Charpentier (2005). Reducing simulation models for
scheduling manufacturing facilities. European Journal of Operational Research,
161(1): p. 111-125.
31. Zülch, Gert, Halil Ibrahim Koruca et Mikko Börkircher (2011). Simulation-
supported change process for product customization – A case study in a garment
company. Computers in Industry, 62(6): p. 568-577.
32. Fisher, Ronald A. (1935). The design of experiments. Edinburgh: Oliver and Boyd.
33. Kleijnen, Jack P. C., Susan M. Sanchez, Thomas W. Lucas et Thomas M. Cioppa
(2005). State-of-the-Art Review: A User’s Guide to the Brave New World of
Designing Simulation Experiments. INFORMS Journal on Computing, 17(3): p.
263-289.
34. Barton, Russell R. (2004). Designing simulation experiments. The 2004 Winter
Simulation Conference.
35. Sanchez, Susan M. et Hong Wan (2015). Work smarter, not harder: A tutorial on
designing and conducting simulation experiments. The 2015 Winter Simulation
Conference.
36. Kelton, W. David et Russell R. Barton (2003). Experimental design for simulation.
The 2003 Winter Simulation Conference.
37. Ladier, Anne-Laure, Allen G. Greenwood, Gülgün Alpan et Halston Hales, (2014).
Issues in the complementary use of simulation and optimization modeling, dans Les
Cahiers Leibniz.
110
38. Jerbi, Wassim, Jonathan Gaudreault, Sophie D'Amours, Mustapha Nourelfath,
Sebastien Lemieux, Philippe Marier et Mathieu Bouchard (2012).
Optimization/simulation-based framework for the evaluation of supply chain
management policies in the forest product industry. IEEE International Conference
on Systems, Man, and Cybernetics. Seoul, Korea.
39. Genin, Patrick, André Thomas et Samir Lamouri (2007). How to manage robust
tactical planning with an APS (Advanced Planning Systems). Journal of Intelligent
Manufacturing, 18(2): p. 209-221.
40. Marques, Alexandra F., Jorge P. de Sousa, Mikael Rönnqvist et Ricardo Jafe
(2013). Combining optimization and simulation tools for short-term planning of
forest operations. Scandinavian Journal of Forest Research, 29(sup1): p. 166-177.
41. Feng, Yan, Sophie D’Amours et Robert Beauregard (2010). Simulation and
performance evaluation of partially and fully integrated sales and operations
planning. International Journal of Production Research, 48(19): p. 5859-5883.
42. Liu, Yan et Soemon Takakuwa (2009). Simulation-based personnel planning for
materials handling at a cross-docking center under retail distribution environment.
The 2009 Winter Simulation Conference.
43. Sinclair, M. et S. Erasmus (1992). A microcomputer-based decision support system
for the management of lumber mill production. Computers & Industrial
Engineering, 22(4): p. 435-446.
44. Wessels, C. Brand, C. Sue Price, Philip Turner et Murray P. Dell (2006).
Integrating harvesting and sawmill operations using an optimized sawmill
production planning system. International Precision Forestry Symposium "Precision
Forestry in Plantations, Semi-natural and Natural Forests". Stellenbosch, South
Africa.
45. Arabi, Mohsen, Jonathan Gaudreault, Mustapha Nourelfath, Jean Favreau et
Maxime Morneau-Pereira (2012). Integrating Optimization and Simulation for
Supply Chain Tactical Planning in the Forest Products Industry. International
Conference on Information Systems, Logistics and Supply Chain (ILS). Québec,
Canada.
46. Arabi, Mohsen. 2013. An optimization and simulation framework for integrated
tactical planning of wood harvesting operations and lumber production. Thesis
(M.Sc.), Université Laval. Québec.
47. Arabi, Mohsen, Jonathan Gaudreault, Mustapha Nourelfath, Simon Hamel, Jean
Favreau, Sébastien Lacroix et Maxime Morneau-Pereira (2011). Intégration de la
111
simulation et de l’optimisation pour la planification tactique forêt-usines. Congrès
International de Génie Industriel. Saint-Sauveur, Québec, Canada.
48. Dumetz, Ludwig, Jonathan Gaudreault, André Thomas, Nadia Lehoux, Philippe
Marier et Hind El-Haouzi (2016). Evaluating order acceptance policies for
divergent production systems with co-production. International Journal of
Production Research, 55(13): p. 3631-3643.
49. Clausen, Uwe, Ina Goedicke, Larissa Mest et Sascha Wohlgemuth (2012).
Combining Simulation and Optimization to Improve LTL Traffic. Procedia - Social
and Behavioral Sciences, 48: p. 1993-2002.
50. April, Jay, Fred W. Glover, James P. Kelly et Manuel Laguna (2003). Practical
introduction to simulation optimization. The 2003 Winter Simulation Conference.
51. Fu, Michael C., Güzin Bayraksan, Shane G. Henderson, Barry L. Nelson, Warren B.
Powell, Ilya O. Ryzhov et Ben Thengvall (2014). Simulation optimization: A panel
on the state of the art in research and practice. The 2014 Winter Simulation
Conference.
52. Jalali, Hamed et Inneke Van Nieuwenhuyse (2015). Simulation optimization in
inventory replenishment: a classification. IIE Transactions, 47(11): p. 1217-1235.
53. Pasupathy, Raghu et Shane G. Henderson (2011). SimOpt: A library of simulation
optimization problems. The 2011 Winter Simulation Conference.
54. Carson, Yolanda et Anu Maria (1997). Simulation Optimization: Methods And
Applications. The 1997 Winter Simulation Conference.
55. Jian, Nanjing et Shane G. Henderson (2015). An introduction to simulation
optimization. The 2015 Winter Simulation Conference.
56. Fu, Michael C. (2015). Handbook of simulation optimization, ed. M.C. Fu. Vol.
216. Springer New York.
57. Fu, Michael C. (2002). Optimization for simulation: Theory vs. Practice. INFORMS
Journal on Computing, 14(3): p. 192-215.
58. Better, Marco, Fred W. Glover, Gary Kochenberger et Haibo Wang (2008).
Simulation optimization: Applications in risk management. International Journal of
Information Technology & Decision Making, 7(4): p. 571-587.
112
59. Amaran, Satyajith, Nikolaos V. Sahinidis, Bikram Sharda et Scott J. Bury (2016).
Simulation optimization: a review of algorithms and applications. Annals of
Operations Research, 240(1): p. 351-380.
60. Goldsman, David et Barry L. Nelson (1994). Ranking, selection and multiple
comparisons in computer simulation. The 1994 Winter Simulation Conference.
61. Chen, Chun-Hung, Stephen E. Chick, Loo Hay Lee et Nugroho A. Pujowidianto
(2015), Ranking and selection: Efficient simulation budget allocation, dans
Handbook of Simulation Optimization, M.C. Fu, Editor. Springer New York. p. 45-
80.
62. Kleijnen, Jack P. C. (2015), Response Surface Methodology, dans Handbook of
Simulation Optimization, M.C. Fu, Editor. Springer New York: New York, NY. p.
81-104.
63. Barton, Russell R. et Martin Meckesheimer (2006), Metamodel-Based Simulation
Optimization, dans Handbooks in Operations Research and Management Science,
G.H. Shane and L.N. Barry, Editors. Elsevier. p. 535-574.
64. Barton, Russell R. (2009). Simulation optimization using metamodels. The 2009
Winter Simulation Conference
65. Fu, Michael C. (2015), Stochastic Gradient Estimation, dans Handbook of
Simulation Optimization, M.C. Fu, Editor. Springer New York: New York, NY. p.
105-147.
66. Chau, Marie et Michael C. Fu (2015), An Overview of Stochastic Approximation,
dans Handbook of Simulation Optimization, M.C. Fu, Editor. Springer New York:
New York, NY. p. 149-178.
67. Chau, Marie, Michael C. Fu, Qu Huashuai et Ilya O. Ryzhov (2014). Simulation
optimization: A tutorial overview and recent developments in gradient-based
methods. The 2014 Winter Simulation Conference.
68. Shapiro, Alexander (2013), Sample Average Approximation, dans Encyclopedia of
Operations Research and Management Science, S.I. Gass and M.C. Fu, Editors.
Springer US: Boston, MA. p. 1350-1355.
69. Kim, Sujin, Raghu Pasupathy et Shane G. Henderson (2015), A Guide to Sample
Average Approximation, dans Handbook of Simulation Optimization, M.C. Fu,
Editor. Springer New York: New York, NY. p. 207-243.
113
70. Andradóttir, Sigrún (2006), An Overview of Simulation Optimization via Random
Search, dans Handbooks in Operations Research and Management Science, G.H.
Shane and L.N. Barry, Editors. Elsevier. p. 617-631.
71. Fu, Michael C., Fred W. Glover et Jay April (2005). Simulation optimization: a
review, new developments, and applications. The 2005 Winter Simulation
Conference.
72. Zabinsky, Zelda B. (2010), Random Search Algorithms, dans Wiley Encyclopedia
of Operations Research and Management Science. John Wiley & Sons, Inc.
73. Andradóttir, Sigrún (2015), A Review of Random Search Methods, dans Handbook
of Simulation Optimization, M.C. Fu, Editor. Springer New York: New York, NY.
p. 277-292.
74. Ólafsson, Sigurdur et Kim Jumi (2002). Simulation optimization. The 2002 Winter
Simulation Conference.
75. Gendreau, Michel et Jean-Yves Potvin (2010). Handbook of metaheuristics. New
York: Springer.
76. Ólafsson, Sigurdur (2006), Metaheuristics, dans Handbooks in Operations Research
and Management Science, G.H. Shane and L.N. Barry, Editors. Elsevier. p. 633-
654.
77. Anthony, Robert N. (1965). Planning and control systems : a framework for
analysis. Boston: Division of Research, Graduate School of Business
Administration, Harvard University.
78. Fleischmann, Bernhard, Herbert Meyr et Michael Wagner (2008), Advanced
Planning, dans Supply Chain Management and Advanced Planning, H. Stadtler and
C. Kilger, Editors. Springer Berlin Heidelberg. p. 81-106.
79. Blackstone, John H. (2008). APICS Dictionary. Twelfth ed.: APICS.
80. Amrani, Houssam, Alain Martel, Nicolas Zufferey et Polina Makeeva (2009). A
variable neighborhood search heuristic for the design of multicommodity
production–distribution networks with alternative facility configurations. OR
Spectrum, 33(4): p. 989-1007.
81. Bolduc, Marie-Claude, Marc-André Carle et Sophie D’Amours (2014). Impacts of
modeling decisions on the quality of supply chain network design solutions.
114
International Conference on Information Systems, Logistics and Supply Chain
(ILS). Breda, The Netherlands.
82. Martel, Alain et Walid Klibi (2016). Designing value-creating supply chain
networks. Cham: Springer.
83. Cid Yáñez, Fabian, Jean-Marc Frayret, François Léger et Alain Rousseau (2009).
Agent-based simulation and analysis of demand-driven production strategies in the
timber industry. International Journal of Production Research, 47(22): p. 6295-
6319.
84. Crama, Yves, Yves Pochet et Yannic Wera (2001). A Discussion of Production
Planning Approaches in the Process Industry. Core Discussion Paper. Liège,
Belgium.
85. Gaudreault, Jonathan. 2009. Algorithmes pour la prise de décision distribuée en
contexte hiérarchique. Thèse de Doctorat, Ecole Polytechnique de Montréal.
Montréal, Canada.
86. Gaudreault, Jonathan, Pascal Forget, Jean-Marc Frayret, Alain Rousseau, Sebastien
Lemieux et Sophie D'Amours (2010). Distributed operations planning in the
softwood lumber supply chain: Models and coordination. International Journal of
Industrial Engineering : Theory Applications and Practice, 17(3): p. 168-189.
87. Vollmann, Thomas E, William Lee Berry et David Clay Whybark (1984).
Manufacturing Planning and Control Systems. Irwin.
88. Maness, Thomas C. et Darius M. Adams (1991). The combined optimization of log
bucking and sawing strategies. Wood and Fiber Science, 23(2): p. 296-314.
89. Maness, Thomas C. et Scott E. Norton (2002). Multiple Period Combined
Optimization Approach to Forest Production Planning. Scandinavian Journal of
Forest Research, 17(5): p. 460-471.
90. Singer, Marcos et Patricio Donoso (2007). Internal supply chain management in the
Chilean sawmill industry. International Journal of Operations & Production
Management, 27(5): p. 524-541.
91. Bajgiran, Omid Sanei, Masoumeh Kazemi Zanjani et Mustapha Nourelfath (2014).
Integrated tactical planning in lumber supply chains. Industrial and Systems
Engineering Research Conference Montreal, Canada.
115
92. Kong, Jiehong et Mikael Rönnqvist (2014). Coordination between strategic forest
management and tactical logistic and production planning in the forestry supply
chain. International Transactions in Operational Research: p. 703-735.
93. Marier, Philippe, Stéphane Bolduc, Maha Ben Ali et Jonathan Gaudreault, (2014).
S&OP network model for commodity lumber products. CIRRELT: Québec,
Canada.
94. Sampson, Steve. 1990. Modélisation graphique du débitage du bois. Thèse (M.Sc.),
Université Laval.
95. Lindner, Berndt Gerald. 2014. Determining optimal primary sawing and ripping
machine settings in the wood manufacturing chain. Thesis (M.Sc.), University of
Stellenbosch. South Africa.
96. Wery, Jean, Philippe Marier, Jonathan Gaudreault et André Thomas (2014).
Decision-making framework for tactical planning taking into account market
opportunities (new products and new suppliers) in a co-production context. 10th
International Conference on Modeling, Optimization and SIMulation (MOSIM).
Nancy, France.
97. Klinkhachorn, P, JP Franklin, Charles W McMillin et HA Huber (1989). ALPS
yield optimization cutting program. Forest Products Journal, 39(3): p. 53-56.
98. Astrand, Erik et Mikael Rönnqvist (1994). Crosscut optimization of boards given
complete defect information. Forest Products Journal, 44(2): p. 15-24.
99. Jover, Jeremy, Vincent Bombardier et André Thomas (2013). Virtualisation de la
qualité esthétique de produits bois. 5e Journées Doctorales/Journées Nationales
MACS, JD-JN-MACS 2013.
100. Hanover, S. J., W. L. Hafley, A. G. Mullin et R. K. Perrin (1973). Linear
programming and sensitivity analysis for hardwood dimension production. Forest
Products Journal, 23(11): p. 47-50.
101. Cardin, Olivier et Pierre Castagna (2006). Handling uncertainty in production
activity control using proactive simulation. 12th IFAC Symposium on Information
Control Problems in Manufacturing (INCOM). Saint-Etienne, France.
102. Billaut, Jean-Charles, Aziz Moukrim et Eric Sanlaville (2010), Introduction to
flexibility and robustness in scheduling, dans Flexibility and Robustness in
Scheduling. ISTE. p. 15-33.
116
103. Aloulou, Mohamed Ali et Marie-Claude Portmann (2010), A flexible proactive-
reactive approach: The case of an assembly workshop, dans Flexibility and
Robustness in Scheduling. ISTE. p. 249-267.
104. Mehta, Sanjay V. (1999). Predictable scheduling of a single machine subject to
breakdowns. International Journal of Computer Integrated Manufacturing, 12(1):
p. 15-38.
105. Cardin, Olivier, Damien Trentesaux, André Thomas, Pierre Castagna, Thierry
Berger et Hind Bril El-Haouzi (2015). Coupling predictive scheduling and reactive
control in manufacturing hybrid control architectures: state of the art and future
challenges. Journal of Intelligent Manufacturing: p. 1-15.
106. Stuart, Kari et Erhan Kozan (2012). Reactive scheduling model for the operating
theatre. Flexible Services and Manufacturing Journal, 24(4): p. 400-421.
107. Shingo, Shigeo (1988). Non-stock production: the Shingo system of continuous
improvement. CRC Press.
108. Biteau, Raymond et Stéphanie Biteau (2003). La maîtrise des flux industriels.
Éditions d'Organisation.
109. Altaf, Mohammed Sadiq, Hexu Liu, Mohamed Al-Hussein et Haitao Yu (2015).
Online simulation modeling of prefabricated wall panel production using RFID
system. The 2015 Winter Simulation Conference.
110. Mongeau, Jean-Pierre et Marco Grondin (1992). Sawmill simulation, a new
approach using OOP. IUFRO. Nancy, France.
111. Grueneberg, Timo, R. Edward Thomas et Urs Buehlmann (2012). ROMI 4.0:
Updated Rough Mill Simulator. Forest Products Journal, 62(5): p. 373-377.
112. Martin, Patrick, Jean-Yves Dantan et Alain D'Acunto (2011). Virtual
manufacturing: prediction of work piece geometric quality by considering machine
and set-up accuracy. International Journal of Computer Integrated Manufacturing,
24(7): p. 610-626.
113. Lessard, Denis, (2013). Optical inspection apparatus and method, C.I.P. Office,
Editor: Canada.
114. Robbins, Herbert et Sutton Monro (1951). A Stochastic Approximation Method.
The annals of mathematical statistics: p. 400-407.
117
115. Kiefer, Jack et Jacob Wolfowitz (1952). Stochastic Estimation of the Maximum of a
Regression Function. The Annals of Mathematical Statistics: p. 462-466.
116. Harvey, William D. et Matthew L. Ginsberg (1995). Limited discrepancy search.
Proceedings of the Fourteenth International Joint Conference on Artificial
Intelligence (IJCAI). San Mateo.
117. Korf, Richard E (1996). Improved limited discrepancy search. Thirteenth National
Conference on Artificial Intelligence (AAAI). Portland, Oregon.
118. Gaudreault, Jonathan, Jean-Marc Frayret, Alain Rousseau et Sophie Damours
(2011). Combined planning and scheduling in a divergent production system with
co-production: A case study in the lumber industry. Computers and Operations
Research, 38(9): p. 1238-1250.
119. Barták, Roman (2004). Incomplete depth-first search techniques: A short survey.
Proceedings of the 6th Workshop on Constraint Programming for Decision and
Control, Ed. Figwer J.
120. Walsh, Toby (1997). Depth-bounded discrepancy search. International Joint
Conference on Artificial Intelligence (IJCAI). Nagoya, Japan.
121. Korf, Richard E (1985). Depth-first iterative-deepening: An optimal admissible tree
search. Artificial intelligence, 27(1): p. 97-109.
122. Meseguer, Pedro (1997). Interleaved depth-first search. International Joint
Conference on Artificial Intelligence (IJCAI). Nagoya, Japan.
123. Beck, J Christopher et Laurent Perron (2000). Discrepancy-bounded depth first
search. Proceedings of the Second International Workshop on Integration of AI and
OR Techniques in Constraint Programming for Combinatorial Optimization
Problems (CP-AI-OR).
124. Prcovic, Nicolas (2002). Quelques variantes de LDS. VIIIeme Journées Nationales
sur les Problèmes NP-Complets (JNPC). Nice.
125. Karoui, Wafa, Marie-José Huguet, Pierre Lopez et Wady Naanaa (2007), YIELDS:
A Yet Improved Limited Discrepancy Search for CSPs, dans Integration of AI and
OR Techniques in Constraint Programming for Combinatorial Optimization
Problems, P. Van Hentenryck and L. Wolsey, Editors. Springer Berlin Heidelberg.
p. 99-111.
118
126. Prosser, Patrick et Chris Unsworth (2011). Limited discrepancy search revisited.
Journal of Experimental Algorithmics, 16: p. 1-6.
127. Moisan, Thierry, Jonathan Gaudreault et Claude-Guy Quimper (2013). Parallel
Discrepancy-Based Search. 19th International Conference on Principles and
Practice of Constraint Programming. Berlin, Germany.
128. Wery, Jean, Philippe Marier, Jonathan Gaudreault, Corinne Chabot et André
Thomas (2015). Improving a hardwood flooring cutting system through simulation
and optimization. The 2015 Winter Simulation Conference.